☰
智能车竞赛PCB设计全流程:从原理图到打样避坑指南
2026/10/7 21:45:26 网站建设 项目流程

第一次参加大学生智能车竞赛,大部分人的状态都是“先跑起来再说”,对硬件的理解往往停留在“开发板+杜邦线+面包板”的阶段。直到有一天规则通知单上写着“自制电路板、禁止使用洞洞板大面积飞线”,才不得不面对一个绕不开的大山:PCB。我第一块板子就是从那时候开始画的,前后改了四版,烧了三块驱动芯片,才把原理图到实物的链路彻底跑通。这篇先讲硬件部分里最重的一环——原理图之后、打样之前的PCB设计全过程,记录一下从无到有的思路和踩过的坑。

这篇内容适合两类人:一是准备参赛但还没系统画过板子的大一大二同学,二是对AD20这类软件熟悉但没经历过完整投板流程、想知道竞赛场景下哪些地方最容易被忽视的新手。我会把规划思路、工具配置、布局布线规则、DRC检查、文件输出一步一步拆开讲,包含可以直接照抄的参数和经验,今天先更新第一块主板的内容,传感器板和驱动板后续再单独写。

1. 起步前的整体思路:竞赛硬件不是画完板子就完事

1.1 先读懂规则,再决定画什么

很多人的第一反应是打开AD20开始画图,这是最容易走弯路的地方。第二十一届智能车竞赛的规则里,对车模尺寸、电池电压、传感器类型、MCU平台都有明确限定,这些直接决定了你的PCB长什么样。比如规定底盘长度不超过多少厘米、电池必须用什么接口、电机驱动能不能用集成模块还是必须自己搭H桥,每一项都会影响板子的外形、接插件选型和功率走线区域。

我的建议是先把规则文档里与硬件相关的原话摘抄出来,列成一张核对表,再开始设计。比如“车模长度不超过30厘米”这类尺寸约束,看起来是机械的事,但主板如果设计得太大,加上电池仓和传感器支架后根本装不下,最后只能返工。还有电池电压范围决定电容耐压值,电机堵转电流决定MOS管余量和走线宽度,这些都是规则的“连锁反应”。

1.2 把整车拆成模块,再决定板子数量

一开始我想把所有功能塞进一块大板子里,觉得板子少线就少。后来发现这个思路在竞赛场景里不一定最优。智能车主板上通常至少包含电源管理、电机驱动接口、主控MCU、传感器接口、调试接口这几部分。如果全部集中在一块板,PCB面积会很大,四层板成本也高,布线时电源和信号还会相互干扰。

我最终采用了“一块主干板+若干小功能板”的方案:主干板放电源转换、MCU最小系统、电机驱动接口和排针引出;摄像头或电磁传感器单独做小板,直接用排针插到主板。这样每块板面积小、走线短,单面板或者双面板就能搞定,成本低且调试时能单独拆下来排查。更重要的是,规则每年可能微调,模块化设计让明年改版时只需要重画其中一块,不用推倒重来。

1.3 为什么第一版建议“双面板+手焊”

很多教程一上来就推四层板,理由是信号完整性好。但以竞赛初次的场景来说,双面板完全够用。智能车主板上的最高频信号无非是MCU的时钟(常见8M到几十M)、PWM和串口,双面板合理铺地之后,信号反射和串扰完全可控。四层板的优势主要体现在地平面连续性和电源层完整性上,但代价是打样贵、周期长,而且出了问题用万用表排查反而更麻烦。

我的选择是FR-4板材、1.6mm板厚、1oz铜箔,双面板,工艺选用最基础的绿油白丝印。这个组合在嘉立创打样五片不到几十块钱,周期两三天,非常适合频繁改版。焊接方式选择手焊的话,封装尽量不要全用0402这种极小尺寸,电阻电容首选0603,MCU引脚多的芯片选LQFP封装,留出足够的焊盘宽度,手焊成功率会大幅提升。

2. 工具选型与工程配置:AD20和嘉立创EDA怎么选

2.1 从零开始建工程,需要先设定哪些参数

工具方面,竞赛圈里最常用的是Altium Designer(AD)和嘉立创EDA。AD20功能全、教程多,适合后期要往复杂方向走的人;嘉立创EDA是国产软件,云端协作、封装库集成打样流程很方便,免费且上手快。我自己最早用的AD20,因为学校实验室的电脑装好了,学长给的工程文件也都是AD版本,学习成本低很多。

新建工程后第一件事不是画原理图,而是设置好单位、网格、层叠参数。单位建议用mil还是mm取决于习惯,但建库和连线时最好统一。AD20里按快捷键D->O->P进入Preferences,把Board Insight的显示单位设成Metric(毫米),走线网格设成0.254mm(10mil),这样画封装时坐标计算不容易出错。层叠默认是双面板,信号层Top/Bottom,不要随便加层,否则打样时要选更贵的工艺。

2.2 原理图库与封装库:坑最深也最值得先整理的部分

PCB设计里最大的坑往往不是走线难,而是封装不匹配。芯片的引脚间距、焊盘长度、丝印方向任何一个偏差,轻则焊接困难,重则装不上板子。我见过有人直接用了Altium自带的封装库,结果引脚排序和手册完全相反,板子回来后芯片只能飞线,调试了三天才发现问题是封装选错。

所以我会建议每个关键器件都从官方数据手册里查封装图,亲手建库,至少核对四点:引脚数量与编号顺序、焊盘宽度和长度、引脚间距、丝印外框尺寸。对于MCU这类引脚多的芯片,可以用AD自带的IPC封装向导,但是生成后也要打开Libraries里手动核一遍。还有一个容易被忽略的是位号(Designator)的字体大小,丝印字太小或方向混乱,贴片时机器识别不出来,手焊也容易看反。

2.3 连接器与结构件:画板前就要敲定的物理尺寸

PCB设计里最容易被当成“最后再定”的其实是连接器和开孔位置。这往往是返工率最高的原因。比如电池XT60接口的焊盘间距、电机线的2.54mm排针还是3.81mm端子、编码器接口的Pin间距,这些都要最早确定。

因为竞赛车有车身结构,主板安装孔的间距必须与车架上的铜柱位置一致。我的办法是先拿千分尺量好车架孔距,再用CAD画一个简单的安装孔位图,叠在PCB边框层里。如果直接用PCB编辑器里默认的方板尺寸,等板子回来后装不进车架就只能重新打样。另外,所有对外接口最好放在板子同一边,方便走线和排线固定,避免线束交叉。

3. PCB布局与布线实操:从规则到细节逐项拆解

3.1 布局优先级:电源接口、接插件、MCU、传感器

布局是整个PCB设计中最影响成败的一步。我习惯的顺序是先放结构件和接插件(电池座、电机端子、排针、安装孔),再放主控MCU,然后放电源转换部分,最后放传感器和辅助电路。

接插件的方向很重要。比如电池接口放在靠近板边、离电机驱动区远一点的位置,原因是电源正负极之间有大电流路径,接口太靠近信号区域会把开关噪声耦合进去。电机端子也要靠近板边,且连接到MOS管或驱动芯片的走线要短而粗。MCU放在板子中央偏上位置,周围留出尽可能多的布线通道,这样信号线能更均匀地引出。

有一个实测后觉得特别值得提醒的点:如果你用的摄像头传感器需要排针连接,建议把接收端排针周围额外留出2~3mm净空,不要铺铜也不要走线,因为排针和杜邦线比较粗,空间不够很容易在插拔时刮伤相邻走线。刚开始我就为了省面积把排针旁边塞满了细走线,结果每次插摄像头都要担心短路。

3.2 线宽与载流能力:0.3mm走线到底能过多少电流

这个题目几乎是每个竞赛群里都会出现的问题。0.3mm走线能过多少电流?答案不是固定值,要结合铜厚和温升来算。经验公式I = K * T^0.44 * A^0.725中,K约0.024(内层)到0.048(外层),T为温升摄氏度数,A为截面积(平方密耳)。

实际工程中不用记这么复杂的公式,直接按常用经验值来:1oz铜厚、10℃温升条件下,1mm线宽大约能过1A电流。反过来推,0.3mm线宽大概能过300~400mA,只适合信号线和弱电电源线,绝对不适合电机主电源。我的车模电机堵转电流能到3~5A,所以主电源线我直接铺铜宽度拉到了3mm,并且额外开窗加锡;即使如此,长时间堵转铜皮还是有点烫手,但不会烧断。

下面是竞赛主板常见线宽的取值参考:

走线用途建议线宽说明
电池正负极、电机回路2mm以上覆铜或加宽大电流路径,越短越粗越好
电源分支(5V/3.3V)0.5mm~1mm视负载电流而定,摄像头和舵机走1mm
信号线(UART/PWM/IO)0.2mm~0.3mm尽量短,远离电源线
晶振与时钟线0.3mm并包地走线尽量短,两侧加地线隔离
ADC采样线0.3mm并加滤波不要与电机线并行走线

3.3 电源与电机驱动区域的处理和铜皮挖空操作

电源区域是智能车PCB里最容易出问题的部分。我用的是7.2V镍氢电池或7.4V锂电池,主板上有5V和3.3V两路LDO,电机驱动用独立MOS管方案。这里有一个关键点:逻辑地和功率地在PCB上要物理分割,最后单点连接,否则电机启停时的地弹电压会干扰MCU的ADC采样。

具体做法是在AD20里用“线条铺铜边界”的方法先分区,再分别铺铜。在布线层面,把5V和3.3V的电源走线做成星形结构,每路负载的电源独立从LDO输出端引出,不要串接成菊花链。每个LDO输入输出端的滤波电容位置要好,电容的地引脚必须直接打过孔到地平面,不要绕路,否则高频纹波抑制效果大打折扣。

这里专门说一下热搜词里提到的“AD20中PCB板铜皮挖空”。我理解它的常见场景有两种:一种是在某个区域内不要让覆铜(GND铜皮)覆盖,比如天线下方或高压隔离区;另一种是需要在铜皮上开一个绝缘窗口避免爬电。操作方法很简单:选中需要挖空区域的外框,在“Place”菜单选择“Polygon Pour Cutout”,在覆铜区域内画一个闭合多边形,然后重新铺一遍覆铜,挖空区域就会自动保留。注意挖空边界要与周围走线、焊盘保持至少0.3mm的间距,防止板厂蚀刻时边缘毛刺。

3.4 晶振、ADC采样与信号线怎么布更稳

晶振布局这块,我第一次画板时直接放在MCU旁边,但走线绕了一圈,而且旁边有一条PWM线经过,结果程序里串口收发乱码,PWM频率也不稳定,后来用示波器才发现晶振波形上有明显的毛刺。正确的做法是晶振尽量贴近MCU的OSC引脚,两脚之间走线距离越短越好,晶振下方禁止铺铜、禁止走其他信号线,周围加一圈地线包裹。

ADC采样布局也很有讲究。智能车里需要用ADC采集电池电压、电位器或电磁传感器信号,这些信号通常只有几毫伏到几百毫伏,非常容易被电源干扰。ADC参考电压和采样电路的地要单独走,从MCU的地引脚单独拉一条线出来,不要汇入功率地。在采样点加RC低通滤波,比如1kΩ+100nF,可以滤掉大部分开关噪声。另外,ADC采样线尽量与电机电源线保持垂直布线,如果板子面积允许,最好隔一层地。

PWM信号驱动电机时,因为频率通常十几kHz,容易通过分布电容耦合到旁边信号线。我建议在MCU输出PWM到驱动芯片之间串联一个22Ω的电阻,既能限制驱动尖峰,又能吸收一部分反射,实测对电磁兼容改善非常明显。

3.5 覆铜、丝印、定位孔和其他容易忽略的小事

覆铜是在双面板中获得地平面的最经济方式。我的习惯是整板双面覆铜,底面覆铜连GND,顶层在信号稀疏区域也覆铜接GND,然后用过孔把顶层和底层的GND铜皮缝合起来,过孔间距不超过5mm。但要注意,覆铜和走线之间的间距至少要留0.3mm,否则DRC会报一堆间距错误。还有一个高频抱怨是“覆铜之后某些信号不正常了”,大概率是铜皮与信号线、焊盘连接形成了意外的环路,需要单独设网络规则,把保险丝位、晶振下方的铜皮挖空或用Keepout区域隔开。

丝印方面,我吃过两次亏。一次是板子回来后,电源接口旁边没写正负极,结果装机时反接烧了LDO;另一次是排针方向没有丝印标注,插反了导致舵机乱摆。现在我会在每个关键接插件旁边都加上丝印注释,标注VCC、GND、SIG这些名称,字高至少1mm。定位孔用M3,孔径3.2mm,并用Keepout画一个比孔径大一点的禁布区,防止铺铜时把螺丝孔封住。

4. DRC检查、Gerber输出与打样

4.1 跑DRC前先改好规则,否则全是噪音

很多新手把DRC当成“画完板再跑一遍”的流程,结果一跑出来几百条错误,根本不知道从哪里改起。正确做法是在画板之前就把规则配置好,特别是间距规则和线宽规则。AD20里按快捷键D->R进入规则设置,我对双面板常规配置是:最小间距0.254mm(10mil),最小线宽0.2mm,常用线宽0.3mm,最大线宽2mm,电源类网络单独设最大线宽3mm。

间距规则还可以对不同类型的网络差异化处理。比如GND网络和信号网络间距0.3mm,高压区域(如果有)间距放宽到1mm。注意一定要给“敷铜”单独设置间距规则,如果敷铜和所有网络的间距都设成0.2mm,容易导致板厂加工困难或蚀刻后铜皮起翘,一般敷铜间距放到0.4mm以上比较稳。

4.2 常见DRC报错及处理

画完板跑DRC时,报错主要分几类,不用看到红色就慌:

  • Clearance Constraint(间距错误):最常见,一般是走线或焊盘离得太近,用Message面板双击定位后,把线拉开或换层。
  • Short-Circuit(短路错误):在双面板里大概率是过孔穿层时碰到了无关网络,一般要把过孔移开。
  • Un-Routed(未连接):布线有断头或飞线没走完,按快捷键Ctrl+W继续走线。
  • Silk To Solder Mask:丝印压焊盘,会导致丝印刮伤或上锡不良,把丝印移开或调整位置。
  • Minimum Solder Mask Sliver:阻焊桥太窄,加工时绿油容易脱落,常见于细间距引脚间,可以开Solder Bridge检查并适当加大阻焊扩展。

我一般跑两遍DRC:第一遍用默认规则看全局,第二遍把间距规则改成板厂常用的“最小0.2mm”再跑一遍,确保投板后不会被工艺检查卡住。这样虽然偶尔会多出一些黄色提醒,但能避免最致命的加工问题。

4.3 生成Gerber和对接板厂:别漏了装配层和钻孔文件

当DRC清零后,就到了输出文件环节。竞赛打样最常见的坑是导出的Gerber文件不全,板厂打出来的板子和设计稿对不上。AD20里推荐用“File -> Fabrication Outputs -> Gerber Files”生成,关键设置是所有层都勾上:顶层信号层、底层信号层、丝印顶层底层、阻焊顶层底层、Keepout层、机械层。还要勾选“Drill Drawing”和“Drill Guide”,这两个是过孔和螺丝孔的钻孔信息,漏了钻孔文件的话板厂不知道哪里打孔。

如果使用嘉立创下单助手,更省事的方式是直接导出“Gerber+钻孔”压缩包,或者干脆把AD工程文件一起上传,让系统自动解析。但我还是建议自己生成Gerber后先用第三方工具如Gerbv拉出来看一眼,确认走线、挖空、定位孔都在,再点下单。别指望板厂帮你检查设计错误,他们只负责按文件加工。

4.4 交板前自检清单

投板前最后再对一遍,能省至少一次返工:

  • MCU、驱动芯片的电源引脚是不是都有去耦电容(建议每脚 0.1uF,电源输入再加10uF~100uF)
  • 复位按键和启动配置电阻是否正确上拉或下拉
  • 电源正负极方向是否有丝印标识,防反接二极管是否加上
  • 每个排针的网络名是否和原理图一致,特别是串口、SWD下载接口
  • 板框尺寸和安装孔是否与车架匹配
  • 晶振下方是否挖空或禁布,晶振到MCU走线是否最短
  • 电池、电机大电流走线是否足够宽,是否加开窗散热
  • DRC是否清零(或只剩可接受的非关键警告)

5. 打样之后到上车前的避坑实录

5.1 电源纹波、晶振不起振、倒车检测失灵……经典翻车现场

打样回来后就不是设计阶段了,而是焊接和调试阶段,但PCB的问题在这一刻才会真正暴露。我遇到第一个问题是电源芯片在上电瞬间冒烟——检查后发现是输入电容离LDO太远,上电时振荡直接把芯片击穿。后来又遇到晶振不起振,查了好久发现是晶振的负载电容焊盘参考地铜皮被覆铜隔断,地回路太长导致无法起振。

还有个典型问题是倒车检测失灵。我的车用编码器测速,信号线从车尾连到主板,中间经过电机驱动区,结果每次电机一转,速度读数就乱跳。后来改用带屏蔽的排线,并且把编码器信号线的包地走线只在一端接地,问题才消失。主板设计时如果提前把编码器接口放在远离电机的板角,就不会这么折腾。

5.2 手工焊接和技术工艺识别:哪些问题要怪自己

PCB板子焊接时,焊盘脱落是最让人崩溃的。60W以上的尖头烙铁长时间加热小焊盘,很容易把铜箔掀起。正确做法是温度控制在350℃左右,每个焊点停留不超过两三秒,必要时加助焊剂。还有一种问题是过孔不通,板子做好后过孔内部没镀透,万用表一量就断路。这种工艺问题肉眼不好发现,如果怀疑是过孔问题,可以焊接前用放大镜看孔口有没有金属光泽。

板厂的“绿油起泡”“字符模糊”这类问题也要会判断。轻微起泡不影响性能,但如果铜皮都露出来了就要联系板厂补做。竞赛周期紧的时候,与其和板厂扯皮,不如在BOM里多备几片关键芯片和电阻电容,因为手工焊接时的报废率远比想象中高。

5.3 版本管理、备份和BOM整理

画PCB改动频繁,版本管理真的很关键。我给每版文件命名时都会带上日期和版本号,比如“mainboard_20250313_v1.2”,并在原理图里加一个注释框记录改动内容。AD20的工程文件最好每改完一个阶段就压缩备份一次,放到网盘或Git仓库,因为软件崩溃或工程文件损坏不是小概率事件。

BOM表也不要偷懒。很多元件看丝印是一样的,但封装和参数完全不同。我在BOM里会标注“位号-型号-封装-数量-购买链接/替代型号”,并且按功能模块分组。这样做的好处是焊接时不用每颗料都去翻数据手册,补料时也能快速知道哪个位号缺少。

5.4 如果重新做这一版,我会怎么改

回头看这块主板,如果让我重新画,最先改的是把电源分区更彻底一点:不光是地分割,而是5V和3.3V的走线一开始就严格独立,避免共阻抗耦合。其次是在电机驱动输出端并联一个100nF的高频陶瓷电容和一个小阻值碳膜电阻吸收振铃,这能显著降低对控制信号的干扰。还有一个细节是把所有排针旁边加上测试点,调试时夹示波器探头不用再扒保护膜。

这些都是小改动,但对稳定性的提升是质变。比赛场上真正拼的不是谁画得好看,而是谁的车在最后跑圈的时候不抽风。

再分享一个个人体会:画PCB这件事,看十篇经验帖都不如自己完整走一遍投板流程。第一次打样回来,点上电没冒烟,比拿什么奖都开心。如果你现在正卡在原理图或封装阶段,别怕,硬着头皮往下画,画完交给板厂的那一夜你自然会明白很多事。下一期我准备写传感器小板和驱动板的布局要点,以及和主板之间的连接器怎么选型,有需要的可以先关注起来。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询