本文主要是介绍记一次用AD20制作STM32开发板的全流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
目录
一、了解制板厂商
二、原理图
1. 选择元器件
2. 放置端口和线
3. 标注
4. 分离模块
5. 将原理图更新到PCB中
三、PCB布局
1. 规则设置
2. 排版布局
3. 布线
4. 画板框
5. 过孔盖油
6. 滴泪
7. 铺铜
四、制板
1. 添加logo或图案
2. 发给厂商制板
3. SMT贴片
刚刚测试出人生中第一块板子所有功能正常,欣慰啊。本小白在制作PCB的过程中参考了不下20篇文章,很感谢那些前辈大佬们能把自己的经验分享出来,所以也想记录、汇总一下在设计PCB的时候要走的流程、遇到的问题。
说在前面:
1. 本文并非完全原创,而是糅合了各位大佬的文章、教程、讲解以及一些自己的理解,被作者厚着脸皮贴了原创的标签。引用的文章链接会尽量在引用段落后标出。如果构成了抄袭请联系作者,作者马上删掉。主要参考文章:
AD20画板基本流程_ad20画板步骤图文_qq_49641705的博客-CSDN博客
2. 从程序层面就要考虑好,哪个引脚对应哪个功能/模块。如果是开发以芯片为基础的项目,就要从一开始就规划好如何连线方便,而不是追求引脚统一。如果是以开发板为基础,也要尽量把模块所需的连线规划在同一边,哪怕导致引脚标号混乱难记。如果不这么做最后会发现在PCB布线的时候有几条线完完全全卡死了。请务必要在开始画原理图之前在keil等编程软件上简单构思、安排引脚的功能。绘制原理图是第一次让你意识到程序的缺陷(比如说引脚冲突)的机会。第二次则是布线阶段。
3. 同样,在放置元件的时候就要想好/标注这个元件在嘉立创哪里能买到,方便后续SMT贴片。有固定封装比如说0402电阻/0603LED这些可以忽视,但是器件一定要先在嘉立创选好型号。
一、了解制板厂商
本文写于2023年8月份,因为后续要用嘉立创制版所以孔径,线宽线距最好都要符合嘉立创的规则。以下为图,其中关键参数为孔径,线宽线距和字符大小。孔外径不得小于0.3mm(12mil),外径不得小于0.5mm(20mil)。作者采取的线宽与线距都为0.2mm(8mil)。字符高度必须大于1mm(40mil),粗细则大于0.15mm(6mil)
如果不得不把板子发给其他厂商,也一定要查明该厂商的技术能力(英文:Capabilities),比如能否做盲孔/埋孔,板框大小上限等等。。
记录几个国际制板厂:
日本旗胜 Nippon Mektron 中国語版トップ | 日本メクトロン株式会社 (mektron.co.jp)
台湾臻鼎 臻鼎科技集團 (zdtco.com)
美国迅达 TTM 关于我们 | TTM Technologies
台湾欣兴 Unimicron 欣興電子 | 首頁 (unimicron.com)
日本住友 Sumitomo Denko 住友电工 | Connect with Innovation (sumitomoelectric.com)
台湾华通 Compeq 華通電腦股份有限公司 (compeq.com.tw)
韩国永丰 Young Poong Youngpoong electronics co.,ltd (ypelec.co.kr)
此处厂商信息参考:几个稍大的PCB公司,罗列下来,请大家指正 (amobbs.com 阿莫电子论坛 - 东莞阿莫电子网站)
(实在不想找参数了,各位无必要还是支持嘉立创吧。。。)
二、原理图
原理图部分与布局部分大量参考、搬运AD20画板基本流程_ad20画板步骤图文_qq_49641705的博客-CSDN博客
1. 选择元器件
大部分时候AD自带的库里面没有我们想要的封装和元件,自己画又非常繁琐,于是从嘉立创直接摸封装能大大提升效率。作为初学者最好创建一个库,右键PrjPcb项目,分别建立schematic lib和PCB lib。注意!最好在这个阶段把嘉立创的物料编号(C开头的那个)添加到Description末尾,之后会用到。
然后,进入立创商城找到需要的元器件,此处以数码管为例,点击数据手册-立即打开(数据手册上面那个就是物料编号)
就会自动转到嘉立创EDA。如果没有显示如上图的原理图(左)和封装(右)的话,重启一下嘉立创吧。登录嘉立创之后,导出AD格式的封装
这样目标文件夹里就会多出一个pcbdoc文件。把它拖进AD自由文件里面,然后重点来了:打开这个文件,先框选封装,按下ctrl+c,此时鼠标会变成绿色十字,选中器件中心,然后双击刚刚创建的PCB lib,如果点不出来就点击右下角的panels-PCB Library。
然后点击这个区域,ctrl+v把封装黏贴进去。
之后再在schematics library里面add footprint把封装和原理图相关联就好了。
2. 放置端口和线
元器件放置完毕后,再就是放置GND和VCC等端口,
右击1所示的框框,就会出现第一幅图所示的情况,在选择所需的端口点击左键即可。
左击2所示的框框,是用来调用放置线的,放置线的作用一般是用来连接元器件和端口的,也可以用来放置网络端口。
一个模块的原理图画完后,基本就是这个样子,然后就是添加网络标签
如图所示,点击放置,再点击网络标签,即可拖出一个网络标签
如图所示,拖出了一个网络标签,放置再放置线上,注意网络标签的网络属性一定要放在放置线上,否者系统将无法识别,就会出现报错。网络属性如图所示,用红线圈出来了。
3. 标注
一般,我们画完原理图后,元器件的标注是没有标注的,你可以手动标注,也可以让系统自动进行标注。制动标注的方法如图:
点击工具,标注,原理图标注,即可出现如下界面
然后,点击更新更改列表,点击接受更改,再点击验证变更(可选),执行变更,即可对元器件进行自动标注。
参考:Altium AD20原理图元件自动编号,位号重新排序_ad原理图元件自动编号_Mark_md的博客-CSDN博客
4. 分离模块
原理图画完后,再用线将各个模块进行分割,便于识别。如图,点击放置,再点击绘图工具,点击线,或者快捷工具栏右键最右边的选项,选择线,再用线将原理图的各个模块进行分离即可。在这一步即可开始规划后续PCB布局的时候每个模块的位置,不一定要准确,但是最好有个大致思路。
5. 将原理图更新到PCB中
点击设计,再点击方框第一列 Update PCB Document PCB1.PcbDoc(得先创建好PcbDoc),import changes也是一样的,点哪个都行。
可以将最后一列的room表去掉,不然pcb板子里会多出一个红框然后报错。点击验证变更(可选),执行变更,
如果没有问题,就会直接更新到PCB板子上,如果有问题的画会报错,一般的错误会有:
1.元器件未封装
有的元器件虽然画了 可以用来画原理图,但是没有封装,这时候你需要给你所画的元器件进行封装,添加封装后就不会报错了。
2.网络标签的网络属性没有放在放置线上
Ps:AD20可能会出现一个bug,有的网络标签的网络属性虽然放在了放置线上,但没有放在放置线的端口上,这样也可能会报错,但很少,一般不会。
3.网络标签没有对应上
在画原理图的时候,你可能由于疏忽将网络标签标错,无法进行对应,所以软件将会报错。
三、PCB布局
执行完变更后,元器件就会出现在pcb的板子上
1. 规则设置
我们将元器件更新过来后,系统会报出许多错误,并且我们也希望板子能在嘉立创打,这时候就需要进行规则设置。
点击设计,规则,即可弹出规则设置方框。
如上图,点击所示选项Clearance,意为器件,走线,通孔等objects之间的合法距离。Hole的全部为0,其他的可以都改为8,这个看情况,多小都行,甚至可以暂时设置成0。如果为0,布线的时候不会报错,但是铺铜后就会报错,所以最小就是0.1即可,一般布线没有大问题。不过参考嘉立创的打板规则,单双层板最低为4mil,多层最低为3.5mil,而6mil是比较保险的工艺选择
第二个就是线宽,大致范围也应该在3.5mil-6mil这样,不过越宽越好,一般与上面设置的线距同步,作者上面设置的是8mil,那这里线宽也首选(preferred width) 8mil。最小是8mil,最大为电源线/地线准备20mil,可以设置顶层和底层的线,也可以单独设置其他的线,比如电源线,地线这个有需要可以自己研究,一般的话设置这些就够了。如果有特殊需求的画,可以根据自己的需求进行修改。
再就是过孔的孔径,注意:参考文章中将其定为了内径8mil,外径16mil,而在嘉立创只有多层板才能用二次打孔的方式打这么小的孔,单双层板的打孔,根据嘉立创的规定,内径不得小于0.3mm(12mil),外径则是不得小于0.5mm(20mil)。也有参考文章中将外径设置为0.6mm(24mil)的。多层板的限制则是0.15mm(6mil)和0.25mm(10mil)。
在制板后期一般要做一个叫过孔盖油的操作,但主要参考文章使用全局筛选过孔,然后勾选盖油属性的方式。这样在实际中有很多问题:例如后续新添加的过孔还是老样子,仍需画完PCB后统一过孔盖油,而如果最后出图时忘记了检查,很可能就把后添加的过孔盖油给忘了,导致出图错误。所以选择Mask - Solder Mask Expansion,再选择 Custom Query。
(如果是使用默认ALL,然后勾选两个盖油的对勾,会导致部分元件的焊盘也被阻焊油墨覆盖,造成严重错误。所以要用规则表达式,去约束选择的对象。仅选中过孔Via)(ALL这里不做演示,反正不能直接用ALL,会严重影响Solder层,影响Gerber)
选择自定义查询,然后选择 查询助手(query helper)
删除输入框中的All之后,在Object Type Checks中翻到底,双击IsVia,注意不要误触重复操作。最后把盖油(Tented)勾选上。
这样就杜绝了出错。
参考:Altium AD20过孔盖油,通过设计规则实现过孔盖油,简便实用不会造成遗漏出错_ad20过孔盖油设置_Mark_md的博客-CSDN博客
这个是对连接方式的规则设置。AD默认为 热焊盘 Relief Connect 的焊盘样式,无特殊情况下,请更改为 直接连接 Direct Connect。(这里说的平面层不是表层和底层,而是中间层,默认为负片显示)热焊盘只是为了减小焊接时向周围热量的传导、方便手动焊接。而正常生产都是回流焊,不必考虑手动焊接的便捷性,直接实铜连接最为可靠。
如上图,这个是对丝印的设置,设置为0即可
如上图,这个是对元器件间距的设置,一般都设置为0即可
如图,这个是对阻焊的设置。
如上图,是对孔间距的设置。
如上图,是对丝印到元器件的设置。
Ps:AD20的规则很复杂,一般初学者对规则改动就这些就可以了。有的人选择直接将规则屏蔽,但是不建议这样,因为这样以后出现错误也不容易查找。
2. 排版布局
首先,右击上方的PCB选项框,点击垂直分割,即可出现下图所示界面
再点击工具栏,选择交叉选择模式(Cross Select Mode)(一定要选择这个选项,否者PCB板框于原理图无法联系起来),然后框选中原理图的任意模块,再在PCB的界面中点击工具,器件摆放,在矩形区域排列(快捷键:T-O-L),即可将该模块的元器件分离出来.
如图所示,就是将框选的模块分离出来了。
将元器件模块分离后就是对元器件的排版,一般的话,就是一个模块一个模块的先进行排版,尽量让飞线(ratnet)少进行交叉,让线条较为顺畅即可。如果想把元器件放在板子背面,可以按住该元器件,当可以拖动的时候,按L把它翻到背面(英文输入法模式下)。但也不是一定不能有交叉,一些交叉是无法避免的不必过于深究。大的模块排完后就是对模块内的元器件进行排列,拖动元器件,按空格键进行旋转找出最适合的角度与位置进行布局。一般来说,像排针,USB接口这些都是放在板块边缘的,然后芯片一般放在板子的中间,晶振是放在芯片的旁边,与晶振一同的电容最好放在一侧,而用于给芯片滤波/稳压的电容则环绕在芯片四周。如果发现有些飞线实在是太拧巴了,那就要提前考虑重新分配引脚的事情了。
3. 布线
布线方面就比较耗费精力,越是复杂的电路板越不好连线。连线方面,由于本小白这次做的是二层板,可以在两层电路板上走线,稍微比单层板简单一点,不过貌似四层板走得更舒服。
首先,同一层的电路板走的线不能交叉,而且规则设置有线间距一般只要不重合基本不会报错。其次,顶层板上走线可以与任何元器件进行连接,底层板的上走线只能与排针和焊盘走线。因为排针与焊盘是将顶层与底层打通了,所以可以走线,其他的均不可。底层的线与顶层的线可以交叉没有影响。如果遇到无法连接的,可以对电路板进行打孔,打完孔后,这个打孔的地方,底层电路线可以与顶层电路线进行连接,除此之外,不可连接。布顶层线就是在top layer中按ctrl+w,底层线就是bottom layer,直接在这里选择。
(快捷键P-T 是放置过孔,就是对电路板打孔,P-V是走线。GND上的线可以不用连接,等到铺铜的时候,将铜的属性调为GND就自动连接到地了。)
然后就是注意一下,走线的时候尽量不要出现锐角,少出现直角,一般以钝角为宜,圆角(arc)最佳,这涉及到阻抗匹配的问题,如果阻抗不匹配,信号会出现抖动。三线以上交叉的时候走直角就无所谓了。另外,走线的时候,因为USB是给芯片供电的,所以它上面走线要走宽线,一般是20mil,而普通的IO口走线一般走8mil即可。最后晶振上面尽量不要走线。
当然,科技的发展让小白有了逃避布线折磨的机会,那就是自动布线。这是一个非常省时间且NB的AD功能,貌似没在其他家(嘉立创和Allegro)看到。不过,想要用自动布线画出漂亮的板子难如登天。AI一不小心就会整出直角走线,过孔重叠,板边走线等逆天操作,很多时候明明能走直线的地方非要拐几个弯,能打孔的地方非要绕一大圈路,最后一看布不下去了直接开摆也很常见。所以,如果选择采用自动布线,一定要在启用该功能之前设置好规则,做好准备工作。绘制禁止布线区域(Keepout)相当有用,可以完全避免板边走线。
选择后单击左键开始,再次单击左键结束,会在当前所选择的层,此处例为bottom(蓝色),创建一个禁止布线、铺铜的区域。
在板子四周,每个需要布线的层上都放上一圈,自动布线就不会搞极限操作了。
还可以在规则设置里选只布单独一层、路径策略(比如说尽量水平/垂直布线),甚至单独规定某一个网络的线怎么布,但是那样对于小白级别的双层板子就失去了自动布线的意义...在准备工作完成之后,就可以开始愉快的自动布线了!
最粗暴的办法就是选择全部布线。熟悉了之后可以选择只布某个网络,或者建立一个网络分类来避开某个网络,或者只布某一区域。
点击All之后会出现这个界面,直接点右下角的Route All即可开始布线。自动布线卡死意味着布不下去了,可以手动停止。出现这种情况要么重新排列一下元器件,要么手动把剩下的线布好。AI很多走线非常多此一举,经过人工修改很有可能就布好了。如果有必要,可以先把地线全部删除
选择Net,然后选中随便一个联通GND的焊盘或者线,即可删除GND网络。
布线完后,对布线进行检查,点击工具,设计规则检查(Design Rule Check)。
然后点击 运行DRC检查走线是否出错。
这会生成并自动跳出一个报告,储存在项目文件夹Porject output里。如上图所示,这些对这些错误进行双击,就可以定位错误。如果是显示GND未连接,则暂时不需要进行修改,因为铺铜后大部分GND会自动连接。
如果GND铺铜之后没有全部连接再考虑用走线的方式连接。
4. 画板框
我们需要画一个大小适中的板框,如上图点击红圈圈住的线条,点击后在Mechanical 1这一层画一个大小适中的板框,画好之后选中其中一根,按下Tab全选,再按下D-S-D或者如下图操作,即可规划出自己的板框。
5. 过孔盖油
以防万一再做一次。随机选中一个过孔,右击,查找相似对象,会出现下图所示情景。
然后,再Layer这一列的最后一个方框中选择same,如上图所示,再点击确认,会出现如下的界面
选中Manual选项,将图中所圈的方框进行勾选,再按回车键,即可完成盖油。
6. 滴泪
在PCB界面按下快捷键T-E或在工具栏里Tools-Teardrop直接确认滴泪。很方便。
直接点击确认即可,就可以完成滴泪操作。
7. 铺铜
在PCB界面按下快捷键T-G-M或在工具栏里Tools-Polygon Pours-Polygon Manager采用自动铺铜。
然后点击New Polygon from - Board Outline。右侧网络(Net)处选择GND,Layer处选择顶层(Top Layer)。为了少一点孤岛(Island),作者选择了去除面积小于12500平方mil的铺铜,最后再选择Pour Over All Same Net Object,勾选去除死铜。
点击OK,顶层就铺好了。把Layer改成其他,重复上述步骤即可铺好整个板子。
流程参考:AD铺铜中用铺铜管理器进行铺地_ad铺地_soumns丶涛的博客-CSDN博客
孤岛/孤铜/死区是什么?:立创eda学习笔记十八:铺铜死区?孤岛?死铜?_立创eda铺铜不完整_Gutie_bartholomew的博客-CSDN博客
四、制板
1. 添加logo或图案
在板子上添加logo或图案,脚本是D:\Altium\Plugins\PCB Logo Creator,图片须通过windows自带画图转换为bmp格式。插件要额外下载,可以通过下方链接去原文(记得点赞)。注意,如果用的是盗版AD请注意版权问题,不要随随便便把公司/学校logo印上去。
参考:AD 2020中添加LOGO的方法_ad20添加logo_biegaowoa的博客-CSDN博客
2. 发给厂商制板
首先强烈建议下载一个嘉立创下单助手,比网页版好用。如果储存空间不够就只能用网页版了。
点开嘉立创下单助手中PCB-FPC下单会显示让我们上传Gerber/PCB文件,gerber文件一来可以避免PCB工厂转换的不合我意,比如说有些参数不用写在板子上,二来可以避免PCB源文件被拿去修改另作他用。工厂那边也会怕他们转换出问题了你去追责,所以对gerber文件有了解的话最好能自己来。AD中导出gerber文件和NC打孔文件(NC Drill file)不难。在PCB界面点击左上角File - Fabrication output - Gerber Files就会出现如下界面
在‘概要’项中,单位选择英寸,厂商建议格式选择2:5最高精度。其中,2:3,2:4,2:5代表文件使用的精度数据;2:3分辨率为1mil;2:4分辨率为0.1mil;2:5分辨率为0.01mil。
而在层设置中,画线层奢侈一点可以全选,节约一点就选所有使用的(Used On)。再点一下映射层(Mirror Layers)选择All off,否则会生成一个镜像的板子。同样,奢侈一点可以勾选包含未连接的中间层焊盘。作者的配置是Used On - All off - 勾选。
打孔设置则是勾选左边两个。这个貌似有争议,有人选择勾有人选择不勾,原因不明。作者猜测是因为这个操作与后续打孔文件重复了。保险起见勾选吧。
然后确认一下后面两个设置无误(一般就是默认设置),就可以点击OK了。
生成gerber文件了还不算完,还有NC Drill文件。
此时左边栏里会出现两个未保存的CAM文件,不用管它们也不用保存,文件都在这里了
把这个文件夹压缩打包上传嘉立创就可以进行下一步打板了。
一般选择FR-4板材,便宜经典好用。软板类似于排线,不是史莱姆那样真的QQ弹弹的软板,不能用于医疗植入物什么的。铝基板则是在FR-4的基础上加强了散热,同样,铜基板也有更好的散热能力,附带稍好的导电性和信号传输能力。不过一般这俩只能做单层板,而且很贵,不推荐选择。罗杰斯高频板和铁氟龙高频板适用于高频信号,罗杰斯材料是由聚氨酯制成的,而铁氟龙材料则是由聚四氟乙烯制成的。罗杰斯材料拥有更高的弹性,而铁氟龙材料则拥有更高的硬度。此外,罗杰斯材料的抗紫外线性能优于铁氟龙材料,而铁氟龙材料的耐腐蚀性优于罗杰斯材料。最后,罗杰斯材料较为便宜,而铁氟龙材料的抗冲击性更优。
3. SMT贴片
如果奢侈一点要做SMT贴片呢,预计价格可就不是20块钱是800块钱了,因为要收300块钱加工费。不过有时候不得不这么做来节约时间,尤其是由公司报销的时候(顺便一提,开公司发票所需的手续费可高达总费用的12%,不要随便尝试)。
还记得之前说过的在Description里面记录的嘉立创物料编号吗?这时候就要派上用场了。SMT贴片需要一份物料清单(BOM,bill of material),那些直插式的元件,比如说排针,也需要一份物料清单。为了厂商方便,我们还需要导出一份SMT贴片位置表格,那我们先导出这个贴片定位表格
然后csv文和txt件就会出现在Project output文件夹里。
导出BOM
把那些没必要SMT贴片的,比如说排针,或者那些直插式的元件,搬到另一个表格去。把这个命名为(项目名称)SMT清单,把另一个命名为(项目名称)直插清单。
直插清单长这样:绿色的是采购和财务那边愿意看的型号,红色太长了。
然后回到嘉立创下单助手,选择SMT下单。
上传我们刚刚准备好的文件。如果物料在嘉立创仓库有货的话可以直接选择,没货就要换一下货源,或者自己在其他渠道(某宝)买好,寄到嘉立创仓库。通常嘉立创更有品质保障,某宝则更便宜。最后点击右侧下一步就可以下单了!
写在后面:
这篇文章拼拼凑凑,也许漏洞百出,如果有大佬耐心阅读下来并发现了错误,非常欢迎您在评论区指点。如果有未来的大佬看了这篇文章并觉得有帮助,可以点一点大拇指鼓励一下作者,但最重要的是将分享知识、分享经验的精神传递下去。作者在写这个总结的时候复习了那些参考过的文章,真的很感谢大佬们以简洁明了轻松诙谐的方式带作者入坑PCB制作。最后附一句作者一直都很喜欢的话,也印在了作者的第一块PCB上:
这篇关于记一次用AD20制作STM32开发板的全流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!