尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

Altium Designer智能车竞赛电路板设计全流程:从封装库到打板

Altium Designer智能车竞赛电路板设计全流程:从封装库到打板 1. 项目概述1.1 这个项目到底在做什么如果你参加或关注过智能车竞赛应该知道疯狂电路组或者叫电路设计组、硬件组是其中最硬核的赛道之一——不只是写代码调算法从零开始设计一块能跑、能抗扰、能在赛道上稳定工作几十圈的电路板才是真正的门槛。这块板子要管电机驱动、电源变换、传感器采集、主控最小系统随便哪一路出问题车就直接趴窝。我这次要分享的就是用Altium Designer从零设计一套智能车竞赛疯狂电路组的完整流程包括原理图绘制、PCB布局布线、DRC检查、生产文件输出还有一套我实际在用的封装库。这套封装库不是网上随便down下来的是我在连续两年带竞赛队伍的过程中反复核对数据手册、返工改版后沉淀下来的里面包含了电机驱动芯片、电源芯片、编码器接口、摄像头排线座等竞赛车上最常用的元件封装。如果你正准备打板直接用这套库能省掉大量确认封装的时间。在开始之前先交代一下我用的环境Altium Designer 22系统是Windows 11。后文所有操作截图和菜单位置都基于这个版本但核心操作思路在AD 16到AD 24之间基本通用老版本用户也不用担心跟不上。1.2 这套思路适合谁参考这个项目的完整设计流程适合以下几类人准备参加智能车竞赛、电子设计竞赛需要自己画板子的在校生刚入职硬件岗位、第一次用AD做完整项目的应届工程师想把手头零散的元件库整理成体系化封装库的硬件爱好者。如果你只是想把AD装好、随便画个流水灯板子这篇文章可能偏深了但只要你面对的是一个“多路电源大电流驱动高速信号”的复杂系统这篇文章里的很多经验就能直接省下你的打板返工钱。2. 整体设计与思路拆解2.1 为什么用Altium Designer而不是其他EDA工具电赛、智能车圈子里AD的使用率其实一直很高。学生接触最多的是立创EDA因为免费、上手快、元件库直接在线搜但一旦进入真正的竞赛场景AD的优势就体现出来了工程管理结构成熟原理图和PCB之间的双向标注很顺手差分对布线、等长布线、阻抗控制这些功能一应俱全而且网上能查到的竞赛教程和参考设计绝大多数都是AD格式直接打开就能参考。另外还有一个很现实的问题竞赛车的电路板通常要兼顾高速数字信号摄像头、编码器和大电流驱动电机、舵机这属于典型的混合信号PCB。AD在混合信号板设计上虽然算不上顶级工具但它的规则引擎和DRC检查足够可靠配合合理的布局布线和铺铜策略完全能搞定这类板子。相比而言立创EDA在低成本小板上很爽但做四层板、做差分对、做阻抗控制时就会感觉束手束脚。我个人在大量项目中的体感是选EDA工具不要追求“最强”要追求“团队里大多数人会用、网上资料最多、出了问题有人能问”。AD是目前竞赛圈里最符合这三个条件的工具。注意本文不会讨论任何关于软件破解、注册、激活相关的内容只讨论正常安装后的使用流程。安装包请从官方渠道获取学校实验室一般都有正版授权。2.2 疯狂电路组的板子到底需要哪些功能模块在设计开始之前先把需求理清楚。一套典型的智能车竞赛疯狂电路组硬件系统至少包含以下几个模块主控最小系统竞赛常用的主控有STM32F4系列、i.MX RT系列等需要晶振、复位电路、Boot配置、SWD调试接口、电源去耦电源系统输入一般是7.2V或11.1V电池需要降压到5V给传感器和逻辑电路降压到3.3V给主控同时还要考虑电机驱动的大电流瞬态对电源的冲击电机驱动全桥驱动芯片或半桥驱动加MOS管要求过流能力强、散热好、逻辑电平兼容传感器接口摄像头排线座、编码器接口、陀螺仪/加速度计I2C接口、电磁传感器运放电路等人机交互按键、拨码开关、LED指示灯、OLED屏幕接口、无线转串口模块接口保护电路输入反接保护、TVS管、保险丝。听着模块好像不多但真正画起来你会发现每一路电源的去耦、每一个接口的ESD保护、每一对大电流走线的宽度计算都要花时间。这也是我说“用现成封装库能省大量时间”的原因——真正的设计时间都花在系统的权衡上而不是花在“查这个芯片的焊盘间距是多少”上。2.3 为什么封装库是这套流程的核心资产我见过太多竞赛队伍画原理图的时候挺顺利一到PCB阶段就翻车——不是这个元件焊盘对不上就是那个元件的丝印方向反了。这些问题九成以上都出在封装库上。你在原理图里放了一个STM32F407VET6PCB里对应的封装居然是STM32F407ZET6两者引脚数不一样但引脚间距相同结果就是原理图能DRC通过焊板子的时候元件放不上去。封装库的本质是“元件在物理世界中的真实映射”。画PCB不是在画抽象的电路是在画一块真实的、会被焊接、会被震动、会被发热的电路板。所以封装库必须严谨对待每个尺寸都要对着数据手册的量每个焊盘命名都要和原理图引脚对应每条丝印都要标清楚极性。这不是小题大做这是在为后面几周的调试省命。3. 封装库搭建从零开始建立你的元件体系3.1 封装库的组织结构设计很多人建封装库都是用一个库文件堆几百个元件要用的时候搜名字。这种方式在小项目里没问题但在竞赛项目中元件数量几十上百而且同一个芯片可能有不同的封装变体这样堆在一起就会很痛苦。我建议的库结构是分三层的体系原理图符号库SchLib按功能分类比如MCU.SchLib、Power.SchLib、Motor.SchLib、Sensor.SchLibPCB封装库PcbLib按封装类型分类比如QFP.PcbLib、SOP.PcbLib、DIP.PcbLib、Connector.PcbLib集成库IntLib在AD里把原理图符号和PCB封装一一关联生成集成库直接调用。这样分的原因有三个第一原理图符号按功能分画原理图的时候在对应库里找元件很快第二PCB封装按封装类型分因为很多不同功能芯片的封装可能是相同的比如SOT-23-5的稳压芯片和运放芯片是同一个封装放在一个封装库里可以避免重复建立第三生成集成库之后元件库里所有信息都打包了发给队友或者换电脑都不怕丢链接。3.2 常用竞赛元件的封装参数详解这里挑几个竞赛车板上最关键的元件把封装参数和注意事项说透。QFP-100STM32F407ZET6引脚间距0.5mm引脚宽度0.22mm本体尺寸14x14mm。这是一个典型的细间距封装焊接时对焊盘精度要求很高。在AD里建封装时焊盘尺寸建议设为1.2mm x 0.3mm左右焊盘中心到本体边缘的距离按数据手册的“脚趾到脚趾”尺寸换算不要想当然。SOP-8电机驱动芯片如DRV8870、TB6612间距1.27mm这是最常规的贴片封装。但注意TB6612和DRV8870虽然是同一种封装外形但引脚定义完全不同。封装本身可以放在同一个库文件里但命名必须带芯片型号否则画板时容易放错。SOT-23-5LDO稳压芯片如AMS1117-3.3、RT9013引脚间距0.95mm本体很小。这类封装最坑的点是不同厂家芯片的引脚排列不一样AMS1117是“输出电压-地-输入电压”而RT9013的引脚顺序完全不同。建库时务必以你实际买的料的数据手册为准。2.54mm排针/排母这个不算难但数量多。建议直接做成多pin封装用AD的矩阵粘贴功能一次生成20pin、16pin等常用规格不要一个一个画。拨码开关4位贴片很多竞赛板子喜欢用微型的贴片拨码开关这类开关的焊盘间距每家厂商都不太一样有的脚间距1.27mm有的是2.0mm买哪家的就用哪家的封装别混用。3.3 建库实操从数据手册到AD封装以一个SOP-8封装的电机驱动芯片为例说说完整的建库流程。先找到芯片的数据手册Datasheet找到“Package Dimensions”那一页确认三组关键数据引脚宽度Lead Width、引脚间距Lead Pitch、焊盘区域尺寸Pad Area。然后用AD的PCB Library编辑器按以下步骤操作新建一个PCB库文件在菜单栏选择 Tools - New Blank Component设置原点位置和单位View - Toggle Units确认是公制mm单位放置焊盘按快捷键PP放置第一个焊盘到原点旁边然后按Tab键设置焊盘属性标号填1层选Top Layer形状选Rectangle尺寸输入从数据手册查到的引脚宽度和长度用矩阵粘贴生成其余7个焊盘选中焊盘1按CtrlC复制然后Edit - Paste Special勾选Paste Array设置X方向间距为1.27mm增量为1数量4个生成第2到第4脚再用类似方式生成第5到第8脚画丝印边框切换到Top Overlay层用PL放置线画一个矩形代表本体轮廓在1脚位置画一个圆点或小斜角作为方向标记设置引脚1标记在封装属性对话框中检查Pad 1的Designator是否为1同时确保其他焊盘编号顺序正确设置元件原点Edit - Set Reference - Pin 1把原点放到1脚中心方便后续放置时精确定位。这里有个AD的操作习惯要养成每次放置元件前先按Tab设置属性再点放置这样不会出现“放完了才发现焊盘尺寸不对”的返工。放置过程中按空格键可以旋转元件方向按X或Y键可以水平或垂直镜像很好用。提示判断焊盘尺寸是否合理最简单的办法是把封装放到PCB上用3D视图看一眼对比元件实物的占位感觉。更严格的方法是把封装导出为STEP格式在机械软件里和3D模型做间距检查。3.4 原理图符号库的命名规范和管脚映射原理图符号的重点是逻辑清晰、引脚名称准确。我习惯的命名规则是原理图符号用“厂商型号_芯片系列”命名比如“TI_TPS54531_DCDC”。如果同型号有多个封装变体在原理图库里就建多个符号每个符号后缀标明封装比如“STM32F407ZET6_LQFP100”。在AD的原理图库编辑器中放置引脚用快捷键PP每个引脚设置名称Display Name和标号Designator。这两个概念容易混淆名称是引脚的物理功能名比如VCC、GND、PA0标号是引脚在网络表中的唯一编号比如1、2、3。在原理图中连线时网络表引用的是标号。所以标号必须和PCB封装焊盘的编号一一对应。很多新手建原理图符号时喜欢把引脚排得很紧凑结果画原理图时连线像蜘蛛网。我的经验是引脚间距拉大一点每个引脚放2.54mm100mil间隔引脚属性里的电气类型Electrical Type也要设置好——电源引脚设Power输入引脚设Input输出引脚设Output。这样画原理图时AD能自动检查引脚连接是否违反电气规则比如两个输出引脚短接会报错这个功能对排查连错线特别有用。4. 原理图设计架构先行连线在后4.1 原理图页面的规划与层次设计智能车竞赛板子的原理图如果全画在一页上多半会乱成一团。我的习惯是采用多页图纸结构按功能模块拆分成独立的子页面然后用网络标签Net Label和端口Port在不同页面之间传递信号。推荐的分页方案是第一页电源系统包括输入保护、电池接口、5V降压、3.3V降压、电源指示灯第二页主控最小系统包括MCU、晶振、复位、SWD调试口、Boot配置第三页电机驱动与电源输出包括驱动芯片、电机接口、续流二极管、电流采样电阻第四页传感器与通信接口包括摄像头排线座、编码器接口、I2C传感器接口、串口、OLED、按键。这样拆分的好处是第一每页图纸的元件数量控制在合理范围阅读和检查都方便第二任何一个模块出错只需要修改对应的图纸页其他页面不受影响第三多人协作时每个人负责一页图纸用SVN或Git管理工程文件冲突很少。在AD里创建多页图纸很简单在原理图工程的“Source Documents”上右键选择“添加已有文档到工程”或新建原理图然后在AD菜单栏的Design - Netlist - Configure Physical Nets里检查跨页的网络连接是否正确。关键是把跨页网络的名称保持一致比如电源网络的名称在每一页都叫“VCC_5V”不要这一页叫“5V”下一页叫“VCC5”那样DRC会报一堆无谓的错误。4.2 电源架构设计怎么分配电压轨和电流电源是整个系统的命脉也最容易翻车。竞赛车的输入是电池电压通常为2S锂电7.4V或3S锂电11.1V。系统内部需要的电压轨大概是5V给编码器、摄像头、OLED、无线模块等外设供电电流可能到1A以上3.3V给主控MCU、陀螺仪、SD卡等供电电流一般在500mA以内电池电压直供给电机驱动桥供电这个电流最大瞬间可以到2A甚至更高。设计时我的原则是“大电流走开关电源小电流走LDO”。5V用同步降压DCDC芯片比如TPS563201、MP2315效率高、发热小3.3V在5V之后用LDO如AMS1117或RT9013因为MCU电流小LDO的压差损耗可以接受。不要一上来就用LDO从7.4V降到3.3V那意味着LDO上要承担约4V的压差电流一大芯片直接烫到不敢碰。选DCDC芯片时看两个参数最大输出电流和开关频率。输出电流建议留30%以上的余量比如系统总电流约1.2A选2A的降压芯片开关频率高一点1MHz以上电感和电容的体积可以小一些对板子面积紧张的情况很友好。有一点特别提醒DCDC的反馈电阻分压网络要靠近芯片的FB引脚布线电感要靠近SW引脚放置输入输出电容都要尽量靠近芯片引脚。这些在原理图阶段就要规划好不然PCB阶段会很痛苦。4.3 关键网络的标注与检查原理图画完不等于设计完成还要做系统性的网络检查。我最常用的方法是在原理图中按快捷键ShiftN高亮网络然后逐个模块查看关键网络连接是否正确。需要重点检查的网络包括电源网络VCC_5V是否只连接了应该连接的元件GND网络是否有孤岛模拟地和数字地是用0欧电阻还是磁珠连接复位网络MCU的NRST引脚是否有上拉电阻复位电容的容值是否与MCU数据手册推荐的匹配晶振网络晶振两侧的负载电容是否按晶振数据手册的负载电容值配置走线是否靠近MCU引脚电机驱动逻辑输入PWM引脚和方向引脚是否与MCU的定时器输出引脚正确连接传感器接口I2C的上拉电阻是否在原理图中已经放置地址选择引脚是否用排针或拨码开关引出。DRC检查是在原理图阶段就要做的第一轮检查。AD菜单栏的Project - Compile PCB Project编译后会弹出Messages面板里面会列出所有警告和错误。我建议把“Component with duplicate designators”“Floating net label”“Power pin with no driving source”这类错误全部清零不要有“反正是警告就不用管”的心态。5. PCB设计实战把原理图变成一块能用的板子5.1 板框规划与层叠设置PCB设计的第一步是定义板框。竞赛车对板子形状和尺寸有明确限制不同赛项规则不同以组委会当年发布的规则为准一般要求板子面积不能超过某个值有的还要求不能超出车模底盘边缘。所以在设计之前一定要先去官网下载当年的规则文件把机械尺寸要求、安装孔位置、接插件朝向限制这些都列出来。在AD中画板框的方式切换到Mechanical 1层用PL画一个闭合的矩形或多边形轮廓然后选中闭合线在Design - Board Shape - Define Board Shape from Selected Objects里定义板框。尺寸用DP调出板子信息面板查看或者用Reports - Board Information查看。层叠设置上竞赛车板子我用得最多的是两层板。两层板工艺成熟、成本低、焊接调试方便而且对大多数智能车应用已经够用。只有在遇到以下情况时我才会考虑四层板板子面积特别紧张两层板无法满足走线空间主控是BGA封装或引脚密集的LQFP100以上的芯片两层板实在扇出困难有大功率开关电源需要完整的参考地平面来控制噪声。四层板建议的层叠是Top Layer信号、GND内层、Power内层、Bottom Layer信号厚度控制在1.6mm或1.2mm。注意板材和厚度的选择会影响阻抗控制如果是高速信号摄像头MIPI接口或以太网需要按阻抗要求计算线宽线距这个已经超出竞赛需求了我不过多展开。5.2 布局的原则与技巧布局是整个PCB设计中最耗精力的环节。一个合理的布局能让你后面布线顺畅一个混乱的布局会让布线变成灾难。我的布局流程是这样的在PCB中导入原理图网络表Design - Import Changes from先把所有元件都松散地放到板框旁边用AD的Cross Select Mode工具-交叉选择模式在原理图中选中一个功能模块的所有元件PCB中对应的元件就会高亮把这些元件一个个拖到板框内规划好的区域分区域布置电源模块集中放在输入接口附近主控最小系统在板子中央或靠近接插件电机驱动和功率部分放边缘且远离敏感信号区域传感器接口放在板子边缘方便接排线调整元件方向让信号流向尽量直线减少交叉先固定安装孔、接插件、拨码开关等需要对准外壳或面板的元件再布其他元件。布局时最重要的原则是“主控要靠近传感器接口而不是靠近电源”。曾见过一个队伍把STM32放到了板子正中央摄像头排线座放左下角编码器接口放右上角结果走线绕了整个板子一圈干扰大、还增加布线难度。正确的做法是分析信号的流向摄像头信号是高速信号编码器信号是脉冲信号它们对噪声比较敏感所以应该让主控离这些接口近一点而电源模块本身是噪声源要远离这些敏感区域。心得布局阶段花30分钟调整元件相对位置后面布线能省2小时。不要嫌麻烦挪元件比重新拉线轻松太多了。5.3 布线规则设置与走线实战布线之前先要把规则设置好这是保证后续DRC一键通过的前提。进入Design - Rules重点设置以下几类间距规则Clearance默认间距设为0.2mm约8mil。如果是两层板电源网络和地网络间距可以适当放宽到0.3mm减少短路风险。注意在规则里用“Where The First Object Matches”设置网络范围可以为不同网络单独设置间距。线宽规则Width默认线宽0.25mm电源网络和地网络最小0.5mm首选1mm电机驱动的大电流网络电机A相、B相最小1mm首选1.5mm以上。大电流走线怎么算宽度经验公式是1oz铜厚下1mm线宽大约能过1A电流温升约10°C。电机瞬态电流可能到2A以上所以至少用2mm线宽必要时直接铺铜。过孔规则Routing Via Style默认过孔外径1.0mm、孔径0.5mm这类过孔工艺稳定、成本低。如果是细间距芯片扇出可以用0.6mm外径、0.3mm孔径的过孔但生产前一定要确认加工厂的最小过孔能力。覆铜连接规则Plane Connect如果是两层板地网络通过过孔连接到地平面时连接方式建议用Direct Connect直接连接减少热阻如果是多层板内层电源/地平面用Relief Connect花焊盘连接方便手工焊接。设置好规则后就开始拉线AD的交互式布线快捷键是PT按ShiftW可以切换预设线宽。拉线时优先走关键信号电源、地、PWM、I2C、UART这些然后走普通信号。两层板布线时一个重要的经验是“顶层走横线底层走竖线”这样能减少上下层走线的平行长度降低层间串扰。5.4 大电流走线与散热设计电机驱动部分是整个板子上电流最大的地方也是PCB设计最需要动脑筋的地方。大电流走线除了要宽还要尽量短、尽量直路径中不要出现细颈。细颈的概念很重要你画了一条2mm宽的线结果中间为了绕一个过孔做成了0.5mm宽的连接那么在这段细颈上电阻会急剧增大大电流通过时这里就成了发热点严重时铜箔都会烧断。对于电机驱动的大电流路径我推荐的做法是直接用铺铜区域而不是走线。在电机驱动芯片的输出引脚到大电流接口之间用多边形覆铜快捷键PG铺一块大铜区然后用多个过孔连接顶层和底层的铜区。过孔数量不要省按经验一个0.5mm孔径的过孔大约能过1A电流2A电流至少放3个以上过孔而且要分散布置不要扎堆。芯片散热也不能忽略。如果驱动芯片带有散热焊盘比如PowerPAD一定要在PCB上对应位置放一个散热焊盘并在芯片背面的铜区放置矩阵过孔把热量导到另一层的铜平面。这个散热焊盘要连接到芯片数据手册指定的网络通常是GND不要悬空悬空会导致芯片瞬间过热保护。5.5 关键信号布线的细节处理竞赛车上的传感器信号主要有三类编码器脉冲信号、I2C信号、摄像头信号。这三类的布线细节各不相同。编码器信号通常是ABZ三相脉冲频率从几kHz到几十kHz不等不算高速但容易被电机的大电流干扰。布线的要点是编码器信号线要尽量远离电机驱动的大电流走线如果空间允许在两类线之间走一条地线做隔离或者用地平面包裹信号线。注意编码器的上拉电阻要靠近MCU引脚放置不要靠近编码器接口。I2C信号是双向传输的对毛刺比较敏感。布线的关键是要保证SCL和SDA两根线的走线长度尽量一致避免在上升沿产生时序偏差。更重要的是一点I2C的上拉电阻一定要接在正确的电源电压上如果传感器是5V供电而MCU是3.3V不能用同一个上拉电阻接两个电源这个时候需要加电平转换芯片。摄像头信号如果用的是模拟摄像头输出的是CVBS信号走线要求不高但要做好屏蔽建议上下左右都用GND铜箔包裹如果是数字摄像头DVP接口或MIPI接口数据线和时钟线就要注意等长和阻抗。DVP接口在竞赛车上很常见8位数据线加PCLK、VSYNC、HSYNC这些线的长度差尽量控制在500mil以内PCLK两边不要有走线穿越减少时钟信号对其他数据线的干扰。5.6 覆铜与地平面处理覆铜是PCB设计中绕不开的环节。两层板覆铜的主要目的有两个提供低阻抗的地回路以及减少信号间的串扰。覆铜的常见做法是在底层大面积覆铜接地顶层在空白区域也覆铜接地。覆铜时要注意几个问题第一铜区不要出现“孤岛”——被走线分隔开的、没有任何过孔连接到地平面的孤立铜区。这种孤岛不但没有接地作用还会成为天线接收噪声干扰信号。AD里可以通过Tools - DRC Check勾选“Un-Routed Net”和“Isolated Copper”来检查更常用的方法是覆铜后在Tools - Polygon Pour Manager里用“Slice Polygon Pour”功能手动修剪那些细长的、孤立的铜区。第二铜区与走线之间的间距设置。默认的覆铜间距如果用0.2mm没问题但如果板子上有高压网络比如电池直接输入的电压安全间距要按标准放宽这个根据竞赛规则和电池电压来定一般12V以内的系统0.3mm间距足够。第三信号线的过孔不要全部打成连接地平面的过孔要区分“信号过孔”和“接地过孔”。如果信号线换层过孔只承担电气连接功能如果是地网络要连接到地平面可以用多个过孔。接地过孔可以打得多一点密集一点它们在高速信号设计中能有效减小地回路的阻抗但在竞赛车这种低速混合信号系统里保持地平面完整比打几百个地过孔更重要。5.7 DRC检查PCB做完别急着下单先自查一遍PCB布局布线完成后不要急着生成Gerber文件下单打样先运行一遍完整的DRC检查。AD的DRC入口在Design - Rules Check快捷键是TDR。DRC检查分两大类Electrical电气规则和Routing布线规则。电气规则主要包括未连接的网络Un-Routed Net、引脚间短路Short Circuit、元件重叠Component Clearance Constraint等布线规则主要包括线宽、间距、过孔尺寸超标等。竞赛车板DRC检查的重点项所有网络是否都连接完成Un-Routed Net为0是否存在短路的网络对Short-Circuit为0走线间距是否满足设置的最小间距规则钻孔尺寸是否都在工厂的加工能力范围内丝印是否覆盖到焊盘上——这个也是DRC能查出来的如果丝印压焊盘贴片焊接时丝印油墨会导致虚焊。DRC报出的错误不要用“忽略”心态对待除了那些确实不影响功能的提示比如“Silk to Solder Mask Clearance”在某些特殊元件附近其余全部清零。我见过不少队伍DRC报了几十个错误还硬着头皮下单回来之后板子焊好了一上电某个引脚直接短路排查了三天最后发现是底层某两根铜线间距不够生产时桥接了。这种错误在DRC里本来是亮红加粗显示的就是因为他们没看。5.8 生产文件输出Gerber、钻孔、BOM、坐标文件PCB设计完成后输出生产文件是整个流程的出口。很多新手在AD里点了“Fabrication Outputs - Gerber Files”就以为万事大吉结果工厂说缺钻孔文件、缺BOM、缺坐标文件来回折腾。标准的打板文件清单是Gerber文件板厂加工的核心文件。AD中设置时层选Include all used layers格式RS-274-X4:5精度钻孔文件NC DrillAD菜单File - Fabrication Outputs - NC Drill Files格式选Excelon单位公制装配图Pick and Place文件记录每个元件的位置和旋转角度贴片机用。AD菜单File - Assembly Outputs - Generates pick and place files输出格式选CSVBOM表器件清单工厂做采购和你自己买料都需要。AD菜单Reports - Bill of Materials输出格式选Excel。输出之前要检查一下板子的原点位置。Altium的Gerber文件会按原点坐标输出如果原点设在一个比较尴尬的位置板厂做拼板时可能对不准。建议在Edit - Origin - Set里把原点设在板框左下角这样所有文件的辅助坐标都一致。另外多提一嘴Gerber文件生成后用AD自带的CAM编辑器File - Import - Gerber验证一遍看看每一层是否正确导出了尤其是丝印层和助焊层是否有缺失。这个习惯能避免“板子做出来没有丝印”“焊盘上被绿油盖住”这种低级但后果严重的问题。6. 常见问题与排查技巧实录6.1 AD清理缓存为什么PCB一卡一卡越画越慢AD用久了尤其是一个项目反复修改、反复跑DRC之后工程文件会越来越大打开和操作越来越卡。这不是电脑不行多半是AD的缓存和临时文件堆积导致的。AD的缓存主要分成两类一类是工程目录下的History文件夹和__Previews文件夹里面存放了工程的历史备份和预览图另一类是软件自身的临时文件目录在“C:\Users\你的用户名\AppData\Local\Altium\”下的Cache和Temp文件夹。清理的方法很简单关闭AD软件在工程文件夹里删除History和__Previews文件夹注意这不是源文件删了不影响工程删除“AppData\Local\Altium\”下的Cache和Temp目录里的所有文件重新打开AD和工程。实测下来一个卡顿严重的工程经过清理会流畅不少。可以把这个操作当作每周固定动作。如果你的工程文件已经膨胀到几百兆还可以检查一下工程里是否误存了大的内存文件比如导入的3D模型按需移除。6.2 原理图编译报错最常见的那几个错误都是什么原理图编译后Messages面板里经常报错新手看到红色报错就慌其实很多错误都很好排查Duplicate Designators元件编号重复原理图里有多个元件用了同一个编号比如两个R1、两个C2。排查方法是在Messages面板双击错误信息AD会自动跳转到冲突元件改成R2、R3就行。Floating Net Label悬空网络标签某根网络标签没有连到任何引脚。多半是画图时标错位置或连线没连上跳转过去重新连线即可。Pin to Pin Short引脚间短路两个引脚直接用线连在一起但它们的电气类型都是Output或一个Output一个Power且这两个引脚本质上不应该相连。这种情况要仔细看是不是连错了引脚。Net has no driving source网络没有驱动源某个电源网络或信号网络没有连接到任何输出引脚检查一下是漏连了电源还是漏连了MCU引脚。Off Grid Component元件离网格原理图元件的引脚位置不在对齐网格上导致连线时无法对齐。解决办法是选中器件按快捷键AIAlign To Grid对齐网格或者把全局网格设置小一点。6.3 封装不匹配的经典翻车案例说一个我带队时真实遇到的封装翻车案例希望能帮大家避开。有一年我们做一个带无线图传的竞赛车无线模块用的是某品牌的5.8G图传芯片模块很小型号是极常见的“AT7456”类似形态的芯片很多。原理图画好PCB也打样回来了焊板子的时候发现芯片的焊盘间距和PCB封装差了0.1mm芯片放不进焊盘里。原因是当时我们从网上下载了一个“同型号”封装库但没有对照原厂数据手册确认尺寸那份库文件是别人根据类似封装瞎画的。最后只能用飞线热熔胶的方式救急勉强让车跑完了比赛但信号的稳定性确实打了折扣。从那以后我立了一条规矩进封装库的每一个元件都由当天负责画板的人对着数据手册的封装尺寸页逐项核对。这个工作很枯燥但能挡掉九成以上的打板返工。核对封装时重点看三个尺寸元件本体的长宽、焊盘中心距Pitch、焊盘宽度。用AD的量测工具CtrlM在PCB封装上量一下距离和数据手册的数据对比没问题才入库。6.4 电机噪声导致传感器数据异常怎么排查这是竞赛车调试里非常多发的问题电机一转编码器读数跳变、摄像头画面出现雪花纹。这种问题往往是PCB地回路处理不当导致的。排查思路是这样的先用示波器看电机驱动芯片的电源引脚和GND引脚上的噪声波形。如果电机启动瞬间电源波形有明显毛刺或大幅跌落说明电源去耦不足对策是在电机驱动芯片的电源引脚附近增加一个100uF的电解电容和一个0.1uF的陶瓷电容并确保它们尽量靠近芯片。如果电源波形正常传感器数据还是异常那重点检查编码器信号走线和电机驱动大电流走线之间的距离。如果两者在PCB上平行走了比较长的一段距离噪声会通过寄生电容耦合到信号线上。对策是把编码器信号线重新拉线拉开与电机走线的距离并在信号线两侧加GND包地走线。还有一个常见的坑编码器接口的GND引脚没有连接到PCB的主GND而是悬空了。这种时候编码器信号根本没有地回路容易产生共模噪声。检查方法很简单拿万用表蜂鸣档量一下编码器接口GND和电池负极之间是否有导通如果开路就是地线漏接了。6.5 元件买不到或者太贵怎么办替代料的注意事项竞赛季经常遇到一个问题芯片数据手册上写的是某个型号但市场上这个型号全网缺货、或者价格被炒到离谱。这时候就需要替代料。替代料不是随便换要注意以下几点第一引脚兼容性。这是最关键的新的芯片必须和原芯片封装一致、引脚定义一致至少要做到“Pin to Pin兼容”。可以在芯片厂商官网的产品页找到“Alternate”或“Cross Reference”推荐或者在AD库里搜索同封装同功能的芯片来比较。第二电气参数不能差太远。比如DCDC降压芯片输入电压范围要覆盖你电池的电压变化范围输出电流不能小于原芯片开关频率不能导致EMI问题不可控。换料后要重新仿真或实测确认。第三焊接温度耐受性。有些低价替代料的封装材料耐温等级偏低过回流焊时容易变形。批量打样前先手工焊一两块板子测试确认没问题再大规模使用。第四就是围板子调试时的心态问题。换了替代料性能可能有细微差别比如LDO的压差大一点、静态电流高一点这些在实验室环境下可能不明显但在比赛的稳定性和续航测试中就会暴露。所以替代料确认后至少跑一次完整的赛道测试再定稿。7. 工程管理与协作经验7.1 AD工程的文件管理与版本控制竞赛队伍通常三五个人共同做一个硬件项目如果管理混乱改完的原理图盖掉了队友的修改或者PCB和原理图版本对不上都是很痛的事。我的建议是给AD工程引入类似软件开发的管理习惯。首先工程目录要结构化建议这样组织Project/ ├── Documents/ # 原理图和PCB源文件 ├── Libraries/ # 所有封装库和符号库 ├── Outputs/ # Gerber、BOM、坐标文件等生产文件 ├── Datasheets/ # 各芯片的数据手册 └── Mechanical/ # 结构图、板框尺寸图其次用版本控制工具管理源文件。AD的工程文件本质上是文本格式.SchDoc和.PcbDoc内部是二进制或ASCII存储可以纳入Git管理。AD自带的“DXP - Preferences - System - Design Insight”里也有工程版本管理功能但更推荐直接用Git因为整个队伍对Git更熟悉。每次有大的修改节点比如“原理图评审通过”“PCB布局完成”“准备打样”就打一个tag这样随时可以回退到之前的版本。7.2 多人协作时的图纸分工与检查流程多人协作画一块板子最怕的是画到一半发现大家的元件编号冲突。AD在多人协作上的原生支持不算强但可以通过“先分好原理图页面、再合并到同一工程”的方式避免冲突。流程是由项目负责人先创建工程把板框、固定孔、接插件布局都定好划分任务一个人画电源、一个人画主控、一个人画电机驱动、一个人画传感器接口各自在自己的原理图文件里画画完后通过AD的“Design - Make Project”汇总到统一工程中合并完成后统一编译工程处理跨页网络冲突和元件编号重复。合并完成后安排一个不参与画图的人做交叉检查。这一步特别有价值画图的人会对自己犯的错误“视而不见”而一个完全陌生的视角更容易发现问题。交叉检查的重点是所有网络标签是否拼写一致、每个芯片的电源引脚是否都接上了正确的电源网络、每个旁路电容是否都连到了正确的芯片引脚、丝印方向是否统一。8. 写在最后一些实际操作的体会这套流程从封装库搭建到PCB设计再到生产文件输出是我在连续几年带队参加智能车竞赛的过程中反复打磨出来的。每一次打样回来焊板、上电、调车的过程中总会发现一些之前没想到的问题然后又回到设计阶段去改。这个过程虽然耗时但每一次迭代之后下一版板子的稳定性和可靠性都会上一个台阶。我个人最大的体会是不要把“画板子”和“做产品”割裂开。竞赛车板子虽然量少但它同样要考虑可制造性、可测试性、可维护性。比如在板子上留几个测试点、把主要的电源网络用跳帽引出、在丝印上标注清楚每个测试点的作用这些看起来不起眼的小设计在调试时能省下大量时间。最后再分享一个小技巧在PCB设计全部完成、准备下单之前把设计文件发给板厂前先用AD打开3D视图快捷键3从各个角度看一眼整块板子。这个操作能直观地发现一些2D视图里看不出来的问题比如元件高度冲突排针和电容碰在一起、接插件朝向不对、散热片位置不合理等。3D视图虽然不能代替DRC但它提供了一个“人眼直觉检查”的机会很多时候能救回一块本来要报废的板子。希望这份实战分享能让你在下一块竞赛板的路上少踩几个坑。去画板子吧你的小车还在等它的大脑呢。
返回列表