如何摆放PCB元器件?(建议收藏)

2023-05-16

PCB设计,既是科学也是艺术。其中有非常多关于布线线宽、布线叠层、原理图等等相关的技术规范,但当你涉及到PCB设计中具有艺术特质元器件布局问题时,问题就变得有趣起来了。

事实上,关于元器件摆放限制很少,也没有“绝对正确”的规范要求,这也使得初学者电子工程师在摆布电路板上元器件时,就像个十足的“中二”,向往着个人抱负和创造性,如何摆放完全依赖于你和设计思路。

但这并不意味着你可以为所欲为,计算机中的设计最终还是需要降落凡尘,形成具体可用之物,因此下面十条PCB元器件摆放小建议可以指导电子初学者完成平稳走过电子设计初始阶段。

411cc9884eab9151874714c29dde5435.png

▌为什么元器件摆放那么重要?

有一句老话(不知谁说的)PCB设计90%在器件布局,10%在布线,这的确是一句大实话。开始费尽心思精细摆放器件可以起到事半功倍的效果,也可以提高PCB的电气特性。如果你只是将元器件随意任性在电路板上胡乱摆放,那会发生什么?

  • 时间被打水漂:很大可能性你在布线的过程中就发现有些地方根本没有足够空间走线,甚至整个布线需要推倒重来。

  • 电路板不工作:你本以为将器件放置好,并将所有的引线布完就万事大吉了。将设计文件发送给电路板制造商,等几天接到崭新的电路板。正准备兴高采烈焊接电路的时候就被现实猛烈打脸,发现有些器件根本无法焊接(要么封装不对,要么相互有冲突)。

  • 美学碎了一地:我们必须承认,即使我们只是谦卑的工程师,在对美学的追求上还是认同对称细致。那种一开始被缺少爱和不走心的人进行元器件摆放的电路板,在后期焊接和调试过程会给让人感到更加的堵心,涌入眼帘的只有葛优瘫

如果你碰上一个杠精,会跟你辩论,元器件的摆放哪里什么条条框框,同一个电路图,100个电子工程师会有1000种布线方案。这也就是为什么说设计电路板更多被看成是艺术创作过程。

a84ac8e6c675afc2eaf7f93c8cb9ed9c.png
▲ 一个优雅、充满艺术气息,被用心设计的电路板很容易吸引眼球。对称、整洁,器件摆放那么美好!

如果你遇事总想弄清,下面倒是有一个小技巧帮你判断是否你的电路板元器件摆放是否合适。在器件摆放完之后,使用电路板设计软件中的自动布线(比如 Autodesk  EAGLE中提供的)进行布线,如果最终电路不通率低于85%,这就说明你需要多花些时间优化元器件的摆放了。

下面就让我们少“逼逼”,多说些关于器件摆放的干货吧。

▌技巧1:弄清电路板物理限制

摆放元器件之前,首先需要确切知道电路板的安装孔、边缘接插件的位置以及电路板的机械尺寸限制。

为啥呀?

因为这些因素影响你的电路板的尺寸和外形。曾见过某位设计的电路板无法装进电路板固定区域,只好重新设计。

为了避免犯傻,可以有意对那些机械限制(安装孔、电路外轮廓)设置一个清空区,这样你就可以放心在允许范围内进行创作了。

2be1868d7dacbf58262bfd2e23e7b339.png
▲ 四旋翼,或者其他柔性可穿戴电路往往需要电路板具有有趣的外观。这就是一个用于迷你四旋翼上的信号接收电路的外观设计

▌技巧2:弄清电路板制作工艺

同样,在放置电路元器件之前,你最好从电路生产商那儿弄清几个关键信息:

  • 电路的组装工艺和测试流程;

  • 是否需要对PCB V型切槽预留空间;

  • 元器件焊接工艺:是波峰焊、分区焊接还是手工焊接?

咋的啦?

电路板制作工艺将会影响元器件之间空隙大小需求。还有,如果你的电路板将来会在流水线上被焊接,你就需要在电路板边缘额外留出空间(大于20mil)用于电路板固定在传送带上。电路板上额外的固定板,它在电路板焊接完之后被掰掉

4223d6c545f11d2c45902c4daf4361be.png

▌技巧3:给集成芯片留下喘气空间

注意,这里所说的“喘气”不是空气,至于是什么,看完下面你就清楚了 。

在布置任何元器件的时候,都需要尽可能在它们之间留下至少350mil的距离,对于引脚多的芯片,留的空间需要更大。

为何?

现在的芯片引脚原来越多,越来越密。如果集成芯片相距过于亲密,就会有很大可能无法将它们的引线轻松的引出布线。往往是越到后来布线越难,有的时候费心布通一根线就要消耗掉你100根头发,甚至到了叫天天不应,叫地地不灵的困境。(早知如此,何必当初)

2d60e6c80478a2396c82c06dd6b215fe.png
▲ 看到了吧,这种BGA封装的芯片,引脚那么密集。如果在它周围不预留下足够的空间,在布线的时候有你好看的

▌技巧4:相同器件方向一致

对于相同的器件尽可能让他们排好队,保持一致的队形。

你有强迫症?

这样做主要为了便于后期电路板的组装、检查和测试,尤其对表面封装的器件在波峰焊接过程中,电路板匀速经过融化焊锡波峰。均匀摆放的器件加热过程均匀,可以保证焊点一致性高。

下面这个例子显示了均匀摆放器件适合匀速波峰焊接工艺。

6de01d0de5808dafbd61f12e55c07d63.png
▲ 元器件摆放均匀的例子,器件方向一致适合匀速波峰焊过程

如果按照下面这样凌乱的摆放,波峰焊接对于不同器件的焊盘质量会有差异,特别当有些小型器件恰好位于大型器件之间时,就会形成“阴影”效应,小器件可能就会焊接不良。

d624ca6d78841596a97ab7261f1b6863.png
▲ 凌乱摆放元器件的例子:方向不同的器件在波峰焊接时候会容易形成不良焊点

▌技巧5:减少引线交叉

通过调整器件位置和方向,减少引线交叉。

咋弄?

现在很多PCB设计软件都会提供一种功能,显示没有布通管脚对之间的连接关系。比如下图就显示了原理图中所有器件管脚之间的连接关系,通过图中细的灰色直线表示(这种线被称为ratsnest:y飞线,预拉线)。

f6c9382d341a9a95c9cc6c8daa95335e.png
▲ 显示飞线的PCB界面

通过改变器件的位置和方向,尽量减少器件之间引线交叉,可以为后面布线节省大量的精力。

▌技巧6:先摆放电路边缘器件

对于因受机械限制而无法任意移动的器件要先进行摆放,比如电路板上的外部接插件、开关、USB端口等等。

为什么?

这些器件往往是有系统整体机械设计时就确定下的位置,不容更改。在摆放完这些器件之后,也就使得你在后面器件安排有了一个光荣的起点。搞定电路板边缘器件,剩下就是你发挥自己想象力和创造力的高光时刻了。

1067a7aec55d46d2c168d6b763feec62.png

▲ 计算机主板上的外围接口器件位置是与机箱设计紧密相关的,它们的位置需要预先确定下来

▌技巧7:避免器件之间冲突

绝对避免为了在小的电路板中布线而将器件的焊盘重叠共用,或使得器件边缘重叠。最好在所有器件之间保持40mil(1mm)的距离。

你有密集恐惧症?

最重要原因是为了避免在之后电路制作过程中在焊盘之间产生短路故障。别忘了,紧密摆放也会使得布线变得更加的困难。

同样,在放置过孔的时候也要避免过于密集。这些小圆孔将来也可能裸露出铜皮,造成电路的短路。

▌技巧8:将器件尽量放在同一面

如果你设计两层电路板,最常见的建议就是将器件摆放在同一面。

为什么呀?

如果不将器件放在电路板的同一面,就会使得后期电路板制作费事费力。下面告诉你原因,通常情况下,电路板上的器件是通过自动器件摆放机器完成,器件只在一面,生产PCB过程只需要一遍即可。否则,就需要两次器件摆放。浪费了生产时间,就是浪费金钱和生命。

▌技巧9:保持芯片管脚和器件极性一致

每个集成芯片都有标志给出管脚1的起始位置。对于芯片的管脚1所在的方位,或者有极性的器件(电机电容、二极管、三极管、LED等等)方向保持一致,也会给电路板制作带来方便。

有这必要吗?

如果你亲自焊接或者调试过电路板,你就不会怀疑这一点。想想看,当你焊接电路板上的元器件的极性和方向非常凌乱,是不是对于成功焊接电路板你心里也没有底?

e4eac77c74081b546cfb5a43e3eb04d4.png
▲ 通常集成芯片封装上会有小点表示管脚1的位置。保持所有芯片的方向一致便于你焊接和检查

▌技巧10:器件位置与原理图上相似

在摆放元器件时,脑子里按照你的原理图上的位置关系进行摆放。

原因何在?

实际上,你在设计原理图的时候就已经优化了器件之间的位置关系(连线最短、交叉最少),所以呢,按照原理图上器件位置来直到PCB器件的摆放有天然的合理性。特别是,在后期手工布线的时候,脑子里的原理图也会暗地里帮你选择合理的短路径来布线。

0047bb800ec11979ab2f7358f23bf89a.png

▌约束下的创作

最好的PCB设计起源于器件非凡的布局,不要轻易糊弄过去。你要一直坚持把精力放在器件的合理摆放,这个过程所有的努力都是值得的,这也许是你在PCB设计中最值得全力以赴的过程。当你看到设计PCB变成电路板成品时,将是品尝劳动果实的幸福时光。

af7a2e741ef4fd4c58959e8a1c05fd59.png

参考资料

[1]

The Top 10 PCB Component Placement Tips for the PCB Beginner: https://www.autodesk.com/products/eagle/blog/top-10-pcb-component-placement-tips-pcb-beginner/

-END-


往期推荐:点击图片即可跳转阅读

b02faea868388b138efaee24b82fb845.png

收藏备用 | 常用电子接口大全

0b6fb6c4a02835fbed37ff3dcd71fb02.png

普通二本,学习一般,出路在哪?

13605ebb704b45252fa6d621fbdecfba.png

嵌入式行业真的没前途吗?听听大佬怎么说!

9b7fecc548c6a4d6d7baf810fbf9bb9b.png

给学生开了一场班会。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何摆放PCB元器件?(建议收藏) 的相关文章

  • CURL 是什么

    cURL是一个利用URL语法在命令行下工作的文件传输工具 xff0c 1997年首次发行 它支持文件上传和下载 xff0c 所以是综合传输工具 xff0c 但按传统 xff0c 习惯称cURL为下载工具 cURL还包含了用于程序开发的lib
  • STM32F103C8T6 gps串口数据处理

    基于stm32f10x系列单片机demo程序修改 配置串口 void USART1 Config void GPIO InitTypeDef GPIO InitStructure USART InitTypeDef USART InitSt
  • RS-485总线布线规则及方法

    摘要 xff1a 本文阐述了RS 485双向串行总线的特点 RS 485总线在实际应用中的布线规则 拓扑结构和匹配电阻的连接方法 可供有关技术人员在RS 485总线设计和施工时做参考 关键词 xff1a RS 485 总线 规则 方法 前言
  • jetson nano 基础设置

    关闭图像界面 span class token function sudo span systemctl set default multi user target 开启图像界面 span class token function sudo
  • Android JNI Java/C++互相调用

    一 xff0c Java 调用 C 1 xff0c 首先我们创建一个文件名字叫做 xff0c JNI 其实你不创建也行 看自己 public class JNI 加载本地C语言文件库 库名字为你写的C语言文件名 static System
  • STM32串口空闲中断,中断标志位无法清除

    本节目录 今天想使用STM32的串口空闲中断作接收 xff0c 调了1个小时 xff0c 发现串口空闲中断无法被清除 xff0c 网上搜索半天发现 xff0c 能用清除的库函数清除该中断 我又回头看了一下手册 果真如此 xff0c 问题已解
  • CMake系列(八) CMake 多级目录

    CMake系列 xff08 八 xff09 CMake 多级目录 文章目录 CMake系列 xff08 八 xff09 CMake 多级目录目录结构结构说明调用关系 源文件CMakeLists txt最外层CMakeListsmain的CM
  • 【全国一等奖】F题:智能送药小车,2021年全国大学生电子设竞赛

    01 前 言 大家好 xff0c 我是张巧龙 xff0c 今天给大家带来关于21年F题的分享 xff1a 智能送药小车 xff0c 出了这个题目之后 xff0c 咋一看 xff0c 好像比较简单 不过大家慢慢做 xff0c 越往后做越发现
  • ZYNQ系列(十二)linux的DMA使用

    ZYNQ系列 xff08 十二 xff09 linux的DMA使用 文章目录 ZYNQ系列 xff08 十二 xff09 linux的DMA使用前言开发环境准备工作petalinux工程建立建立工程配置内核1 配置DMA2 配置CMA 修改
  • gtest学习笔记(四)gtest自带的sample3---Test Fixture减少测试冗余

    文章目录 前言源码学习utest语法运行 前言 第一章中已经编译出自带的sample例子 xff0c 在build googletest目录下可以看到sample的各种例子的可执行程序 Google Test 附带了10个单元测试用例 xf
  • VSCODE 系列(六)使用Plantuml插件制作UML类图

    文章目录 前言下载和安装支持文件格式支持绘制类型导出 语法申报要素UML类图关系参考例子参考 前言 软件设计中 xff0c 有好几种图需要画 xff0c 比如流程图 类图 组件图等 xff0c 我知道大部分人画流程图一般都会用微软的visi
  • MDK配色方案更改

    文章目录 WIN10更改护眼背景MDK软件配色方案更改 设置常用关键字参考 WIN10更改护眼背景 按windows 43 R快捷键 xff0c xff0c 打开运行 xff0c 在弹出来的输入框中写上regedit xff0c 点确定或回
  • VSCODE 系列(七)格式化工具clang-format

    文章目录 一 VS Code中使用生成 clang format文件VS Code设置 参考 一 VS Code中使用 VS Code 中自带clang format exe 生成 clang format文件 使用命令 span clas
  • MDK的格式化代码工具及添加快捷方式

    文章目录 Astyle介绍插件安装参数设置格式化整个工程参数说明快捷键设置参考 Astyle介绍 Astyle 即Artistic Style xff0c 是一个可用于C C 43 43 C 43 43 CLI Objective C C
  • cURL命令详解

    cURL是什么 cURL是用于数据传输的命令行工具 xff0c 支持多种传输协议 xff0c 包括HTTP HTTPS SCP FTP SFTP TELNET FILE SMTP POP3等等 可以使用cURL进行HTTP HTTPS请求
  • 关于单片机栈空间的总结

    1 如果定义成全局数组 xff0c 则此数组就会自动初始化为0 但如果定义成局部数组 xff0c 则必须要先初始化 2 局部变量一定要初始化 局部变量初始化 是指在使用这个局部变量前 xff0c 要对其进行初始化 这是因为局部变量是从内存堆
  • rplidar使用

    rplidar的使用 新上手的激光雷达 xff0c 第一次使用 根据网上的教程 xff0c 先搭建环境跑起来 安装rviz sudo apt get install ros kinetic rviz 通过apt get安装rviz xff0
  • 全国一等奖,H题:用电器分析识别装置

    大家好 xff0c 我是张巧龙 xff0c 今天继续给大家带来电赛题目 xff1a 用电器分析识别装置 01 视频展示 全国一等奖 21年电赛H题 xff1a 用电器分析识别装置 02 方案设计 2 1 系统总体方案 通过对赛题的仔细分析研
  • jetson-tx2-nx用户空间无法导出gpio

    1 想要导出gpio xff0c 结果如下 xff0c 导出失败 xff0c 显示gpio忙 2 查看占用状态 xff0c 发现这个脚被用成了其他功能 3 如果没有第二步的那个目录 xff0c 则执行以下语句 xff0c mount t d
  • cmake添加已编译的.a静态库

    在main下新建一个lib文件夹 将编译好的xxx a放入lib文件夹 打开main下的CMakeLists txt 添加下面两条代码 add prebuilt library prebuilt 34 lib xxx a 34 libm t

随机推荐

  • Android设备上直接运行C/C++程序,无需ROOT!!!

    在Android开发过程中难免和JNI NDK打交道做混合开发 xff0c 按一般方式当交叉编译完成得到so库后 xff0c 我们将so库集成到Android项目里 xff0c 打包成apk安装到手机上验证运行效果 但当我们想快速在手机上验
  • ecplice在导入现有工程时提示:某些项目因位于工作空间目录中而被隐藏

    无论是写java还是Android xff0c ecplice都是很不错的选择 xff0c 但是有时在导入工程时提示 xff1a 某些项目因位于工作空间目录中而被隐藏 xff0c 项目 和 下一步 为不可选 此类原因无非有二 xff08 1
  • CAN扩展帧过滤器设置

    纪要 CAN xff08 Controller Area Network xff09 总线是一种广泛应用于工业控制和汽车电子领域的串行通信协议 在CAN总线中 xff0c 节点间通过CAN总线发送和接收消息 每个CAN帧包含一个标准或扩展标
  • error while loading shared libraries: libQtGui.so.4: cannot open shared object file:

    qt4编写的界面在mini6410上运行失败 xff0c 总是提示错误 xff1a error while loading shared libraries libQtGui so 4 cannot open shared object f
  • 第十一课:树莓派L298N电机实验

    第一课 什么是树莓派 第二课 基于树莓派的10个经典项目 第三课 购买您的第一个树莓派 第四课 如何安装树莓派系统 第五课 树莓派C语言编程手册 第六课 树莓派led控制 第七课 树莓派按键控制 第八课 树莓派PWM 脉宽调制
  • 从旋转矩阵计算欧拉角

    旋转矩阵和欧拉角之间的正向转换关系比较好推理 xff0c 而逆向变换就显得不是那么容易了 这篇博客介绍由旋转矩阵计算欧拉角的方法 xff0c 参考了一篇Paper xff1a Computing Euler angles from a ro
  • aiohttp 异步http请求-1.快速入门 get 请求示例

    前言 在 python 的众多 http 请求库中 xff0c 大家最熟悉的就是 requests 库了 xff0c requests 库上手非常容易 xff0c 适合入门学习 如果平常工作中对发请求不追求效率和并发的情况下 xff0c r
  • Flask 学习-67.钩子函数before_request 和 before_first_request 的使用

    前言 学过pytest框架的肯定知道什么叫钩子 xff08 hook xff09 函数 钩子函数的作用是在程序运行的过程中插入一段代码做一些事情 四个钩子 请求钩子是通过装饰器的形式实现 xff0c Flask支持如下四种请求钩子 xff1
  • 30岁自学嵌入式找工作,可行吗?前景怎么样?

    大家好 xff0c 我是张巧龙 xff0c 在知乎上看到一个问题 xff1a 30岁自学嵌入式找工作 xff0c 可行吗 xff1f 看看一个高赞回答 xff1a 注 xff1a 以下内容不代表本公众号观点 xff0c 仅供参考 不可行 嵌
  • 0基础在ROS系统中实现RRT算法(四)URDF集成gazebo并搭建gazebo仿真环境

    小白一枚 xff0c 毕设突发奇想加入了ROS的内容 xff0c 不知道自己还能不能毕业 以下均为通过看视频 xff0c 翻博客等整理而成的笔记 xff0c 并非我的原创 可能会出现一些报错的修改或者简单的代码是我自己做的 哈哈 Gazeb
  • 如何在vscode中优雅的编写C语言

    如何在vscode中优雅的编写C语言 各位好 xff0c 我认为vscode编辑器在windows环境下除了Pycharm外是最方便的IDE了 xff0c 但在初学C语言时很少有人的第一个C语言软件使用的是vscode来编译与运行 xff0
  • Unity 使用RVO2(orca)算法

    RVO算法官方下载 https github com snape RVO2 CS git 官方版本的RVO只支持增加移动代理和障碍物 xff0c 不支持删除移动代理和障碍物 不太符合实际应用 我拓展了删除移动代理与障碍物的方法 示例项目 x
  • 51单片机串口通讯UART

    1 串行通信的的基本知识 在实际的工业生产 xff0c 或者生活中 xff0c 计算机的CPU要与外部的设备之间进行信息的交流 xff0c 数据的交换 xff0c 所有的这些信息交换均可称为通信 通信的方式有两种 xff0c 分别为串行通信
  • 库函数开发与寄存器开发

    在以前 8 位机时代的程序开发中 xff0c 一般直接配置芯片的寄存器 xff0c 控制芯片的工作方式 xff0c 如中断 xff0c 定时器等 配置的时候 xff0c 常常要查阅寄存器表 xff0c 看用到哪些配置位 xff0c 为了配置
  • Arduino修改Serial接收缓冲区大小

    看到网上有资料说 xff0c 直接添加以下宏定义就可以了 xff1a span class token macro property span class token directive keyword define span SERIAL
  • RT-Thread nmealib库WH-GN100模块设置仅支持北斗

    RT Thread nmealib库主页 在nmea thread init函数的末尾 xff0c 添加以下代码块 xff0c 发送配置指令 xff0c 仅使用北斗卫星 xff0c 即可配置成仅GPS卫星工作模式 span class to
  • C#中字符串判断为空或者空格

    最近遇到这个问题 xff0c 来大概说一下C 中字符串判断为空或者空格这个问题 xff08 1 xff09 字符串为空null xff0c 怎么讲就是内存中没有放东西 xff0c 比如新创建的字符串就为空null xff0c string
  • 【冷知识】火车票座位分布知识点

    最近到了每年过年 xff0c 春运火车高峰期的时候了 xff0c 有的人想知道自己具体的位置在哪里 xff08 比如硬座是不是靠窗的 xff0c 座位的大小号排序等 xff09 xff0c 现在来讲讲这方面的知识点 xff0c 个人整理 列
  • QT中的自定义信号以及自定义函数

    信号与槽函数是QT的一大创新 xff0c 通过自定义信号与槽函数可以实现自己想实现的功能 标准的信号与槽写法如下 xff1a connect amp button amp QPushButton clicked this amp QWidg
  • 如何摆放PCB元器件?(建议收藏)

    PCB设计 xff0c 既是科学也是艺术 其中有非常多关于布线线宽 布线叠层 原理图等等相关的技术规范 xff0c 但当你涉及到PCB设计中具有艺术特质元器件布局问题时 xff0c 问题就变得有趣起来了 事实上 xff0c 关于元器件摆放限