ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

智能车四层板PCB设计实战:从叠层设置到生产文件输出

智能车四层板PCB设计实战:从叠层设置到生产文件输出 第一次给智能车板子选层数的时候我根本没把这事当回事。当时想法很简单两层板画起来快打样便宜学校的报销也方便。直到车队里电磁组的数据在赛场上被旁边赛道干扰到判不了元素回来换四层板重画一遍整车的稳定性直接上了两个档次才明白这块板子才是智能车的地基。如果你也在准备智能车竞赛或者手上正有一块调不明白的板子那这篇用Altium Designer 20做四层板智能车PCB设计的完整记录应该能帮你少走不少弯路。这篇文章不只是讲“点哪里拉线”的操作步骤更多是讲清楚为什么智能车要做四层板、四层板的每一层到底在干什么、布局布线的时候脑子里要想哪些事。从叠层设置到内电层处理从电源完整性到不同组别电磁、摄像头、平衡、视觉的设计侧重再到打样和生产文件输出的完整闭环我都会按实际做项目的顺序捋一遍。无论你是第一次画四层板的新手还是想优化现有板子性能的老队员都能找到可以直接复用的东西。1. 为什么智能车PCB要选择四层板1.1 两层板和四层板到底差在哪里很多人一上来就问“四层板是不是只是多两层走线空间”如果你也这么想后面设计大概率会吃亏。两层板和四层板之间不只是“能走更多线”的差别而是整个电磁环境、电源质量和信号回流的本质差别。两层板的典型结构是顶层走信号和电源底层走信号和地最后用大面积铺铜来凑合。问题是你永远无法提供一个完整的参考平面。信号走顶层底下那层地铜皮可能是被各种走线切成碎块的“瑞士奶酪”信号的回流电流只能绕着走形成一个很大的环路。这个环路面积一大对外辐射和对内干扰都会急剧增加。智能车上的电机、舵机、大电流开关器件全都是干扰源这种环境下两层板的先天短板很容易暴露出来。四层板的典型结构就完全不一样了。中间两层专门做内电层一层地、一层电源信号走顶层和底层。这带来一个很多人没注意到的优势每一根走线的下方都有一块完整的地平面接着。信号的回流电流可以就近从地平面直接返回驱动端环路面积被压缩到最小。这就像同样是送快递一个是从巷子里绕七八个弯一个是直接上高架效率、安全性和稳定性都完全不同。成本和周期上四层板确实比两层板贵。同一个尺寸的板子两层板打样可能几十块四层板通常要到一百多甚至更高生产周期也多一到两天。但对竞赛车来说这块投入换来的是调试阶段节省的几个通宵以及赛场上更稳定的发挥这笔账算下来非常划算。1.2 智能车场景对PCB的硬性需求智能车不是普通嵌入式开发板它的工作环境很极端电机堵转时瞬间电流能到好几安培换向时产生的反电动势尖峰能让电源纹波剧烈抖动电刷和H桥的开关噪声更是高频干扰的主要来源。如果板子本身不够“硬”传感器采集的数据稍微抖一抖算法再强也救不回来。以电磁组为例采样前端处理的信号非常微弱通常是毫伏级到几十毫伏级的感应电压而电机驱动就在旁边几厘米的地方。如果没有完整的地平面去屏蔽和吸收干扰采样数据随电机转速波动而漂移你调了一周的PID可能根本没法收敛。摄像头组也有自己的痛点DVP并口并行信号线多、频率高时钟和数据的等长关系必须处理好两层板在布线空间上非常吃紧而且信号线之间容易串扰。另外智能车是一个反复拆装调试的系统。板子要跟着车模跑也要经常插拔排线、更换传感器模块对机械强度和接口可靠性的要求也不低。四层板的整体结构更稳板子不容易变形接口位置的抗撕裂能力也强一些。这些都是从实际使用里总结出来的硬性需求不是单纯“越高层数越好”的玄学。1.3 什么时候两层板也够用说实话我并不是说所有智能车都无脑上四层板。如果你刚开始接触PCB设计、想先把最小系统跑起来或者学校报销额度有限、做的又是对信号质量要求不高的演示级车模两层板依然是一个合适的起点。两层板方案在21届之前的很多老车模上都有大量案例而且开源资料多照着画不容易踩坑。但这里有一个判断标准你的传感器信号是模拟小信号还是高速数字信号板子上有没有大电流功率回路和敏感采样回路共存的场景。只要满足其中两条我都建议尽量上四层板。尤其是电磁组的模拟采样和电机驱动的隔离四层板的完整地平面带来的改善是你在两层板上用再多铺地技巧都很难追回来的。2. AD20环境配置与四层板前置工作2.1 新建工程与层叠管理器设置在Altium Designer 20里做四层板第一步不是急着画框而是先把工程结构建清楚。我的习惯是一个车模项目一个PCB工程原理图按电源、最小系统、驱动、传感器分页工程名和文件名里带上日期或者版本号比如“CarBoard_V2_20240601”。这个习惯在后期迭代时特别有用回滚版本时一眼就能找到对应文件。新建PCB文件之后打开Layer Stack Manager快捷键DK默认是两层板结构。我们需要把它改成四层。在AD20里可以直接选择系统预设的Four Layer类型它会自动生成Top Layer、GND内电层1、Power内电层2、Bottom Layer这样的标准叠层。名称可以自己改但为了后续设计清晰建议直接叫GND和PWR不要用Internal Plane 1这种默认名。然后设置叠层参数。板材厚度方面智能车一般用1.2mm或1.6mm1.6mm更结实1.2mm更轻也更适合空间受限的车模。我通常选1.6mm因为这个厚度下板厂的加工良率更高过孔也更可靠。铜厚方面外层用1oz35um内层用0.5oz就够用电源和地平面主要是靠面积而不是靠铜厚来减小阻抗的。注意介质厚度和阻抗参数要和板厂确认AD里的数值先按默认算但真正下单前要跟打样厂家核对。2.2 规则系统一次设到位后面不返工AD20的规则系统是很多人嫌麻烦不设、后面又猛吃后悔药的地方。做四层板之前我强烈建议把下面这几类规则先定好。线宽规则怎么设我的做法是新建几个网络类把GND和所有电源网络分到Power类摄像头时钟和数据线分到HighSpeed类其余的一般信号归Default类。然后给每个类指定不同的线宽优先级。默认信号线宽度设为8到10mil电源线最低做到20mil大电流的电机驱动线做到40mil以上。这样在布线的时候关系到安全的地方自动加粗不用手动一条条改。间距规则我习惯用6mil。加工能力强一点的板厂能做到4mil但竞赛板没必要追求极限6mil的良率高、成本也稳定。还有一个关键是过孔设置。智能车板的过孔我一般用外径0.6mm、内径0.3mm电源路径上可以用0.8mm外径的过孔增加通流能力。过孔盖油还是开窗我建议信号过孔盖油避免焊接时锡膏钻进去短路需要测信号的测试点单独开窗。在AD20里所有规则都在Design → Rules面板中配置。配置完成后跑一次Design Rule Check快捷键TD能看到当前板子的规则违规情况。这个动作要养成习惯每完成一个阶段的布局布线就检查一次别等到最后一次性面对几百个错误。2.3 面板显示和快捷键先把效率提上来我不赞成直接用默认设置画板效率低而且容易瞎。AD20里我常用的几个设置单位随时用Q键切换mm和mil网格用G键循环切换布线时推荐用5mil网格精密调整时用1mil层颜色在View Configuration面板里调把GND层设成深绿色、PWR层设成红色一眼就能认出当前在哪一层。还有一个特别提升效率的操作在原理图里选中一个元件或网络在PCB界面用交叉选择Cross Select Mode会让对应对象同步高亮。做智能车这种几十个元件的板子这套联动操作能帮你快速定位每个模块的元件在Room模式下分区摆放的效率尤其高。另外ShiftS单层显示、Ctrl中键旋转视图、CtrlD显示设置这些快捷键在布线阶段能节省非常多的时间。3. 四层板布局布线的核心实战3.1 模块化布局没有规划就是返工的开始智能车主板的元件数量不算很多但麻雀虽小五脏俱全。我习惯先把原理图按功能模块拆好在PCB布局阶段直接按“模块块”摆。典型的分区方式是这样的单片机最小系统晶振、复位、启动配置、SWD调试口放在板子中央偏上电源模块和总开关放在一侧板边电机驱动和电机接口放在功率回路集中的另一侧板边传感器接口根据车模安装位置靠近对应板边按键、拨码开关、LED状态灯放在便于操作和观察的位置。这样做的好处是信号从传感器进入后可以沿着清晰的方向流到MCU再输出到驱动不会在板子上穿来穿去。在AD20里从原理图Tools菜单选择Cross Select Mode和Create Room可以按原理图页自动生成Room区域然后把元件导入PCB后按Room打散排列。这里有一个细节Room区域不要只是把元件丢进去还要根据结构尺寸调整Room的位置和形状让各个模块之间的接口方向一致。比如电池接口朝车尾、电机接口朝车尾侧面、传感器接口朝车前这样装车走线的时候不会交叉打架。3.2 布线顺序先画命脉再画静脉很多人拿到板子就是从头到尾一片地毯式布线出来的板子性能好不好全看运气。我更推荐按照下面的顺序来第一优先级是“命脉线”晶振到单片机引脚的连线、复位线、摄像头的时钟和数据线、电磁采样前端到运放的连线。这些线必须短、直、少打过孔走线时尽量让它们靠近地平面且周围用地包住。第二优先级是电源主干电池输入到总开关、开关到稳压器、稳压器到各个电源引脚。电源线要宽过孔要多打几个尤其注意大电流通路上不要只有单个过孔连接因为过孔是电流的瓶颈。第三优先级才是一般信号线和控制线编码器信号、舵机PWM、按键、LED、调试接口等这些线对噪声要求没那么苛刻可以走底层作为补充。这里要特别强调绝对不要在地平面上乱切缝。很多人为了走一根信号线就直接在GND内电层上挖一条槽这等于把完整的参考平面撕开了一个口子信号的回流路径被迫绕远整块四层板的优势瞬间就被毁掉了。如果信号必须穿过某个区域优先走顶层或底层用普通的信号过孔换层而不要动内电层的完整性。3.3 内电层要这样用才不白花四层板的钱四层板的价值完全体现在内电层怎么用。GND层的原则是保持完整尽量不分割。除非有特殊隔离需求否则整层就是一张完整的铜皮不做任何修改。PWR层可以根据需要做适当分割比如3.3V区域、5V区域、VBAT区域但分割线要尽量短避免形成细长的“孤岛”。还有一种更推荐的做法如果板子上电压种类不多PWR层也可以做一整片3.3V电源平面5V和VBAT用顶层和底层的宽走线来带。这样做的好处是电源层不用开槽完整性更好。我的实际体验是对参赛车来说一块完整的3.3V平面够用而且效果更好因为MCU和传感器基本都在3.3V域。过孔连接到内电层的处理也很有讲究。芯片的电源引脚旁边一定要打一个电源过孔和一个地过孔这个“成对过孔”能让去耦路径最短。很多人只在芯片旁边放了一排滤波电容但电容到芯片引脚的走线却绕了很远这样高频去耦效果会大打折扣。正确的做法是0.1uF电容的其中一个焊盘直接打过孔下到电源平面另一个焊盘打过孔下到地平面电容本身放在芯片电源引脚旁边走线控制在最短。4. 电源系统与信号完整性设计四层板的核心收益4.1 先算电流再画线电源树是基本盘拿到一张智能车原理图第一件该干的事是理清电源树。以常见的7.2V动力电源输入为例电池进来经过总开关然后分三路走第一路直接给电机驱动芯片的VM端第二路经过降压稳压器转成5V给舵机和编码器第三路再进一步转成3.3V给MCU和传感器。每一路有多大的电流决定了你需要多宽的走线和多少个过孔。我一般用经验值估算1oz铜厚下温度升高约10℃时1mm宽走线大约能通过1A电流但实际设计中我会留一倍以上余量。比如电机连续工作电流如果是2A那功率线上我会直接用2mm以上的走线再配合大面积铺铜。大电流路径上的过孔数量也不是随意放的一个0.6/0.3mm的过孔通流能力大约是0.5到1A2A的电流我至少打4个以上的并联过孔而且分布均匀。这里还要注意一个非常容易踩的坑稳压器的散热。很多人用的低压差线性稳压器输入7.2V输出3.3V压差接近4V如果电流到200mA以上发热就非常可观。在布局时稳压器下面要打一排过孔到底层铺铜辅助散热周围的铜皮尽量做宽。否则调试时芯片发烫严重可能不是负载有问题纯粹是散热没做好。4.2 去耦电容的位置比数量更重要去耦电容是每个电源引脚旁边那个0.1uF小电容很多人知道要放但位置放不对等于白放。电容只有在尽量靠近芯片电源引脚的时候才能有效旁路高频噪声。我的标准是电容焊盘到芯片电源引脚的走线不超过100mil而且电容的电源端和接地端分别用短的走线接到对应过孔不要让电源走线先从电容下面绕一大圈再到芯片。电源入口的大电解电容则是另一件事。在电池接入端、电机驱动电源端、稳压器输入输出端都要放一个大容量电解电容。电机驱动电源端的100uF以上电解电容尤其关键它能吸收电机堵转和换向时产生的电流尖峰。我见过不少一开始电解电容放得离电机驱动芯片很远、用细线走过去的板子电机一启动电压就开始跌落MCU直接复位后来把电容焊到驱动芯片旁边才好。4.3 功率地和信号地的处理方式智能车板上最高频的一个争议话题就是“要不要把功率地和信号地分开”。我的结论是在四层板上GND层尽量保持完整不要为了隔离而把地平面切开。功率回路的噪声确实要管但更好的方式不是割地而是控制功率回路的面积和位置。具体做法是电机驱动芯片、电机接口、大电解电容的GND走线和铜皮集中在板子的一个区域让大电流从电池接口进入驱动芯片后能直接通过这个区域回到电池负极。信号地则通过较细的走线和过孔连接到完整的GND平面。如果实在担心模拟采样前端受干扰可以在模拟传感器电源入口处加一颗磁珠或0欧电阻把模拟电源单独隔离出来但地平面仍然保持完整。这种“电源分割、地不分割”做法我在电磁组的板子上验证过很多次采样稳定性明显好于以前两层板时代“模拟地、数字地、功率地各割一块”的方案。你可以把GND平面想象成一个巨大的湖所有噪声都倒进去会被快速稀释但如果你把湖底隔离成几个小潭子噪声就只能在局部来回震荡了。5. 不同组别的四层板设计侧重5.1 电磁组采样前端和运放电路是命脉电磁组的传感器信号是整个控制回路的眼睛前端板子做得好不好直接决定你上赛道后能不能稳定过十字和环岛。设计重点放在传感器接口到运放这段链路上。首先是传感器线圈或罗氏线圈的接口位置。如果传感器采用排针和独立小板方式主板的接口就要安排在最靠近车模前轮的位置接口到主板的排线尽量短最好是主板边缘“朝着车前进方向”的那一侧。因为微弱感应信号的幅度很小排线越长越容易被车身电机辐射干扰。运放布局更要精打细算。每个通道的运放尽量放在对应接口附近输入走线宽一些、短一些并且两侧用地线包住。运放的反馈电阻要选温漂小的类型并且紧贴运放引脚减少寄生电容对增益的影响。还有一个容易被忽略的细节运放的供电去耦非常重要因为运放对电源纹波极其敏感电源脚旁边那个0.1uF电容不要省而且必须放在运放旁边。5.2 摄像头组高速信号和机械结构要同时考虑摄像头组相比电磁组多了图像数据信号的处理任务对布线的时序要求更高。如果是DVP并口摄像头数据线D0到D7、PCLK、VSYNC、HSYNC这些线要尽量保证等长尤其PCLK时钟线的走线长度不要比数据线长太多否则采样时钟沿和数据稳定区错位会出现花屏或者丢帧。在四层板上这些并口信号最好都走在同一层并且底层有完整的地平面垫着。摄像头排线接口和MCU的DVP引脚之间不要穿插其他大电流走线。如果用了时钟频率较高的摄像头模块可以在时钟线靠近源端的位置串联一个22到33欧姆的匹配电阻减小反射这个电阻在调不通的时候加上去经常有奇效。机械结构方面也要提前想。摄像头的安装高度和角度是由车模前部支架决定的主板上的接口方位要配合支架走线路径。我见过有人板子画得很漂亮最后装车时发现摄像头排线得从电机正上方绕过去干扰大增只能重新做板。这种问题在布局阶段就应该和机械组的队员反复沟通确认。5.3 平衡/单车组IMU朝向和重心位置优先平衡小车和单车组对IMU的安装位置极其敏感。陀螺仪和加速度计的读数反映的是车模姿态的变化如果IMU不在车模的物理重心附近加减速时产生的惯性力会换算成假的倾斜角导致控制量抖动甚至失控。所以主板上IMU的位置要尽量对应到车模物理结构的中心区域如果结构上做不到就应该考虑用排针把IMU小模块独立引出安装在结构重心处。IMU区域下方的PCB走线也要特别注意。不要在IMU正下方走电机驱动的PWM线或大电流电源线这些线的高频开关噪声会通过极间耦合干扰IMU的采样尤其在车模剧烈加减速的时候干扰往往会被误判成姿态变化。AD20里可以用禁止布线区域Keepout把IMU下方清空强制自己不在这个区域走线。5.4 视觉组模块化接口就是你的扩展空间视觉组一般会在主板上跑OpenMV或其他视觉模块核心主力是MCU本身同时还要处理识别、串口通信、舵机控制等多个任务。我建议主板提前把常用的扩展接口都预留出来至少两组UART、一组SPI、两组PWM接口、两路ADC输入再加上SWD调试接口和串口打印接口。这些接口统一做成2.54mm排针或GH1.25接口并且标注清晰丝印。你可能当时觉得用不上但调试到后期突然想加个编码器、加个无线模块或者外接一个传感器时提前预留的接口能省去飞线的痛苦。视觉组的板子还建议预留一个独立的5V/1A输出口给视觉模块供电防止它和舵机共用一个电源时互相干扰。6. 输出生产文件与焊接调试的完整闭环6.1 AD20导出Gerber和钻孔文件别漏关键层画完板子并不代表设计结束输出生产文件这一步做不好到了板厂那边轻则返工重则直接做废。在AD20里我一般用File → Fabrication Outputs → Gerber Files导出Gerber层设置里勾选Top Layer、Bottom Layer、GND、PWR顶层丝印和阻焊层单位选英寸、精度2:5。钻孔文件用NC Drill Files导出注意选择毫米单位和与Gerber一致的坐标原点。这里有一个很多新手容易漏掉的细节坐标原点在发板前一定要重新设定。我的习惯是把原点放到板子左下角的机械安装孔中心这样板厂拼板和生产时定位更准确。如果原点留在原理图里的某个元件引脚上打样出来可能板子边缘出现奇怪的偏移。发板之后还要做一步检查用AD自带的CAM预览功能打开导出的Gerber文件逐层确认没有缺层、没有多余的轮廓线、丝印没有被压到焊盘上。或者用第三方CAM查看器再检查一遍防止AD导出时某个层的显示和实际文件不一致。这一步最多花十分钟却能在打样前发现大部分低级错误。6.2 新板焊接和上电检查流程拿到打样的板子不要急着把全部元件焊上去。我自己的流程是先目测检查板和文件是否一致板厚对不对、过孔是否塞孔、丝印是否清晰、尺寸对不对得上车模安装孔。然后先用放大镜或者微距镜头检查焊盘和过孔有没有明显问题比如过孔堵死、铜皮翘起。焊接顺序也很有讲究先焊电源部分的所有元件插上电池测量各路输出电压是否正常。如果电源输出没对上先不要动别的模块集中排查电源因为电源错了后级电路都会跟着出问题。电源正常后再焊MCU最小系统刷一个LED闪烁的裸机程序验证最小系统跑通接着再焊传感器、通信、驱动模块。最后才把完整程序烧进去。上电检查时有一个很实用的技巧在电源输入串联一个可调限流电源或者一个万用表电流档先把电流限制到几百毫安。如果通电时电流突然飙到一两安培说明板子有短路这时赶紧断电检查比你直接插电池炸板强得多。这个习惯帮我挡住了至少三次因为焊桥连锡导致的问题。6.3 常见问题速查表调试过程中我整理了一个速查表遇到问题先对着表排查一轮比没有头绪地乱测要快很多。症状可能原因排查和解决思路上电后电流很大板子发热电源网络有短路焊膏桥连元器件焊反断开所有负载逐段测量电源对地阻值热成像仪或手指摸发热点电机一转MCU就复位电机电源跌落严重地弹干扰复位电路在电机驱动电源端加大电解电容检查驱动大电流回流路径复位引脚加去耦电容电磁采样值随电机转速波动采样回路受功率回路干扰参考地被切检查线圈到运放走线是否远离电机驱动确认GND层没有走线切缝在采样电源处加磁珠摄像头花屏或丢帧时钟和数据线不等长排线受到干扰检查PCLK和数据线的长度差尽量让信号线同层并排走信号线中间加地线屏蔽稳压器发烫严重压差过大散热不足或负载过流增大稳压器下方过孔散热阵列考虑换用DCDC降压检查后级是否有短路板子轻微变形翘曲铜皮分布不均板厚太薄下单时选择1.6mm板厚铺地尽量均匀避免某一层某一大面积无铜区这只是一个起点你在实际调试中还会遇到更多组合问题但绝大多数定位到最后都逃不出“电源的地弹”和“信号回流路径被破坏”这两类根源。7. 最后分享几个值得保留的板级习惯做智能车PCB这么多年最大的体会就是“板子越到后面越不是画出来的而是查出来和改出来的”。有几件事我会在每次画板时都强制执行分享给大家参考。第一个习惯是规则先行。新建PCB文件之后先花10分钟把线宽、间距、过孔、电源类这些规则设好再动一根线。等画到一半再去设规则很容易产生大量风格混乱的走线改起来比重画还难受。第二个习惯是频繁DR跑检查。每布局好一个模块、每完成一个阶段布线就跑一次DRC不要等整板完成才查。错误越早发现越容易改积到最后就变成了“这片子只能重画”。第三个习惯是版本管理。每次重大修改前另存一个新文件名不要只在原文件上覆盖。比赛季冲进度的时候经常会出现“上午改的布局下午发现还是昨天那版好用”的情况有备份就不慌。我还会用AD20的Project Packager功能打包整个工程连同参考文档一起存到网盘这样就算电脑出问题也不至于几个月心血全丢。最后一个建议是多去看开源方案但一定要亲手重新画一遍。别人的工程文件可以直接拿来学习叠层设置、规则参数和布局思路但不要直接拿去做比赛车。只有自己把每一个过孔、每一条走线都操作过一遍你才真正理解了“为什么这里要这样处理”。这块四层板做完之后你会发现它不只是智能车的一块电路载体更是你从“会画板”走向“会设计板子”的一道坎。
返回列表