ARTICLE DETAIL

资讯详情

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

智能车竞赛电路设计实战:从AD工程搭建到赛道计分策略

智能车竞赛电路设计实战:从AD工程搭建到赛道计分策略 智能车竞赛圈里一直有个说法在一辆车的四大块里机械决定了上限算法决定了下限而电路板是整个系统的心脏。参加第二十一届、第二十二届全国大学生智能车竞赛这几年我们“疯狂电路组”在Altium Designer上踩过不少坑也积累了一套从原理图设计到赛道计分的完整打法。这篇文章想把我们从元器件选型、AD工程搭建、赛道识别小车电路设计到针对竞赛规则的计分策略全部掰开揉碎讲一遍适合今年准备参赛的新队伍也适合已经被板子卡到凌晨三点的老玩家参考。先说清楚这套体系的定位我们所有主控板和驱动板都用Altium Designer完成版本从AD20一路用到AD22赛道元素我们主攻电磁和摄像头两条识别路线计分策略上不是单纯追求“跑得快”而是把电路可靠性、容错率和规则加分项摆在同等权重。这篇文章不聊虚的直接按工程化的思路走。1. 内容整体设计与思路拆解从赛道需求反推电路方案1.1 竞赛到底考的是“画板子”还是“做系统”很多第一次参赛的队伍以为智能车竞赛是纯算法比赛真正上手之后才会意识到赛道识别小车电路识别设计的质量直接决定了算法能不能跑起来、跑得稳不稳。第二十一届智能车竞赛的规则大家都能查到但规则里很多隐性要求比如车模尺寸限制、传感器数量限制、供电电压区间这些全部要靠电路设计去兼容。我们队伍的做法一句话概括先锁赛道再定传感器最后才开Altium Designer画图。赛道设计的核心是“识别链路”的确认。比如电磁组用的工字电感加运放调理电路前置放大器的增益、滤波器的截止频率都要根据赛道上的导线电流频率来定。摄像头组的核心则是图像传感器与主控之间的数据传输带宽和接口电平匹配。我们这一届大部分组别用的是缩微光电和电磁混合方案成本低、可复制性强完整方案在开源社区能找到但直接拿别人工程文件去打板的人基本都吃了亏——元器件封装修正、供电噪声、排针定义不匹配这些坑只有自己重新在AD里整理一遍才能避开。这个阶段我建议队伍里至少要有一个人对整车的功率预算有数。驱动电机瞬时电流可以达到好几安培舵机在打角瞬间也会有尖峰电流如果电源网络在原理图阶段没有做扇出规划PCB打样回来后就会发现一块板子上几十个电容全在乱飞纹波压不住最后连单片机都复位。所以在AD里编辑原理图时就要把电源树画出来主电源进来之后分几路、每一路负荷电流大概多少、在哪个位置放储能电容。1.2 为什么选Altium Designer而不是其他EDA工具这个问题的答案其实很现实队友中大概率有新手AD的学习曲线相对平缓网上的元器件库、教学视频、竞赛开源工程绝大多数都是AD格式降低了沟通成本。AD的交互式布线、规则检查、3D视图在评估板级电磁兼容问题时非常好用尤其是一块板同时包含模拟小信号和数字控制电路的时候可以直观地在3D界面里看布局提前发现传感器插头被外壳挡住这种低级问题。另外Altium Designer在最新版本里加入了一些AI辅助功能比如根据自然语言生成原理图和PCB框架。我们队伍实测下来AI生成的原理图对于标准电源模块、最小系统这类成熟节点是有参考价值的但涉及运放参数、传感器接口适配时建议还是按自己计算出来的值手工搭。AI可以给你一个起点不能给你一个能直接跑赛道的板子。还有一点是版本管理的习惯。我们用AD22做工程但给队友交付源文件时会另存一份兼容版本避免有人装了AD20打不开工程。工程内的命名规范也提前统一原理图按模块划分SheetPCB按功能区域分组元器件位号以模块缩写开头。这些小习惯在后期Debug时能省出大量时间。2. 核心细节解析与实操要点AD工程准备与元器件库建设2.1 安装与初期设置别让环境问题拖慢进度每年赛前都有队伍卡在Altium Designer安装上尤其是第一次接触的同学容易在License激活、插件下载、缓存路径这几个环节出问题。安装AD20或AD22时如果碰到“Stream write error”这类报错基本是安装包存放路径权限不足或者杀毒软件拦截了缓存写入解决办法是右键以管理员身份运行安装程序并把安装目录和缓存目录设置到空间充足的本地磁盘。装好之后第一件事不是画原理图而是把系统的缓存策略改掉。AD工程越做越大尤其是PCB文件保存时会自动生成一堆临时历史文件工程打开变慢、软件卡顿、自动保存卡死多数和缓存目录膨胀有关。Altium Designer如何清理缓存这个问题其实很简单在Preferences里找到Data Management把备份文件保存位置切到独立文件夹并设定清理周期或者定期手动删除临时目录里超过一个月的Backup文件。实测下来工程打开速度能提升一半以上。还要提醒一点引脚编号和封装映射问题。网上找的元器件库经常出现原理图符号引脚与PCB封装焊盘编号不一致的情况比如三极管的引脚在原理图里是B、C、E而封装里是1、2、3映射做错打样回来直接冒烟。检查方法很简单在AD中执行“Tools - Footprint Manager”批量核对每个元件的引脚映射这一步30分钟做完能避免烧掉一块几百块的主控板。2.2 元器件库建设开源库可以抄但一定要改智能车竞赛涉及的器件类型非常多MCU最小系统、电源芯片、驱动芯片、运放、编码器接插件、摄像头排针、无线模块、按键LED等等。初期我们直接用了AD自带的库和自己下载的开源库发现最大的问题是封装风格统一不了有的器件的焊盘偏大有的丝印信息缺失拼到同一块板上后贴片机不适用无所谓但手工焊接时容易焊歪。后来我们定了一个规矩所有关键器件主控、电机驱动、DC-DC、运放必须自己重新建库数据手册上的封装尺寸逐项核对。比如我们用的电机驱动芯片官方数据手册里散热焊盘的尺寸和引脚间距在AD默认库里是不带散热孔的必须手动修改铺铜区域和过孔阵列否则大电流连续跑几分钟后片子就过热保护。封装库建设的前期投入时间很可观但一次投入后续主力板卡复用率很高。元器件库建设还有一个容易忽略的点元件供应商和PCB生产工艺决定了封装能不能落地。我们打板基本选2层或4层、最小线宽6mil、最小过孔0.3mm的常规工艺所以封装设计里不会出现5mil线宽、0.2mm过孔的极端值。在AD规则设置里把最小间距设成6mil布局布线时就会自动避坑而不是等出Gerber后才发现工艺达不到。2.3 工程模板与设计规则把经验固化成文件比赛周的改板速度往往能决定成绩。我们积累下来的重要经验是一定要花时间建立一个队伍专用的AD工程模板。模板里包括了图纸大小、标题栏、常用规则线宽优先级、间距、过孔规格、板框尺寸、丝印字高、阻焊颜色等所有反复要用到的设置。新队员拿到模板后只改电路拓扑和个别参数就不用每次从头设置一遍减少低级错误出现的概率。设计规则方面我特别强调电源和地线网络的规则等级。在PCB Rules and Constraints Editor里把电源网络和地网络单独建一个线宽规则要求比信号线粗2-3倍。信号线一般走6-8mil电源线至少走20mil地线能铺铜就铺铜。智能车赛道识别电路的模拟部分对噪声很敏感如果地线处理不好运放输出端会叠加毛刺导致电感采集的赛道信号抖动程序怎么滤波都救不回来。3. 实操过程与核心环节实现从原理图到可跑赛道的板卡3.1 赛道识别小车电路识别设计的整体模块划分以我们上一届电磁摄像头融合方案的主控板为例整块板子按功能分成五个区域核心最小系统、电源管理、赛道感知、电机驱动、调试接口。在Altium Designer里用Room功能把每个区域框出来布局时按区域摆放器件走线时信号自然就短避免出现“飞线横跨全板”的局面。核心最小系统区域放MCU主控、晶振、复位电路、SWD调试插座。赛道感知区域集中布置电磁调理电路电感接口、谐振电容、运放、比较器和摄像头接口排针。电源管理区域是整块板子的命脉我们用的方案是5V输入后先经过一级低功耗LDO给MCU供电再经过DC-DC降压比如3.3V给传感器和编码器供电最后单独预留电机电源接口。这样数字电源和模拟电源在物理上分开能显著减少信号干扰。在原理图设计阶段有一个细节非常推荐大家做在每个功能模块的电源入口都放上一颗10uF电容加一颗100nF电容并联模拟电源部分再加一个LC滤波。这在AD里操作很简单但收益非常明显——赛道现场干扰源多稍有不慎摄像头画面就会出现条纹。3.2 参数计算实例电磁赛道识别的运放电路设计电磁组赛道识别的基本原理是工字电感感应赛道下方导线产生的交变磁场但这个信号的幅度非常小必须经过放大和整形后才能送进MCU的ADC。我们的电路是这样的电感与谐振电容并联在20kHz左右的频点上输出到一级同相放大运放放大倍数按需要调整。具体参数计算过程是这样的工字电感的值是10mH要和电容谐振在20kHz根据公式 f 1 / (2π√(LC))算出谐振电容约为6.3nF实际取值6.8nF中心频率会稍稍偏移但可接受。运放选用宽带宽低噪声运放供电电压3.3V放大倍数我们采用10倍左右输出范围刚好映射到ADC的量程0-3.3V既能覆盖实际信号变化又不会发生削波。这个计算过程全部记录在AD工程的Notes里方便新队员接手时理解。还有一个实操要点谐振电容的精度尽量选温漂小的材质比如C0G或NP0。我们第一版用的是X7R电容开赛后试车发现随着赛道温度升高信号幅度有明显漂移后来统一换成C0G电容信号稳定很多。3.3 PCB布局布线实战混合信号板的处理细节PCB布局阶段我们的顺序是先固定所有接插件排针、电源插座、调试口到板边再摆主控和电源芯片再摆传感器前端。接插件的位置会直接决定整车的走线路径。比如摄像头接口放在板子一侧摄像头排线就可以直接引出不用绕个大圈可以减少信号在长线缆中的损耗和噪声引入。布线时遵守一个原则不同模块的地先分开走在电源入口处单点汇合。模拟地、数字地、功率地分开避免大电流回路影响模拟小信号。MCU的晶振走线要短而粗尽量靠近引脚周围不要走高频信号线。电机驱动部分的大电流路径上走线不够粗就会发热严重我们为了让线路更粗直接在AD里用铺铜填充大电流路径再打一排过孔连接到另一层地/电源进一步降低回路阻抗。关于AD的AI功能我们第二版主控板尝试过让AI辅助生成一个电源模块的PCB布局。AI给出的布局基本合理但散热焊盘的过孔数量不足而且反馈电阻离电源芯片引脚的环路偏大会增大输出电压纹波。所以AI生成的PCB我只会作为初稿参考最终还是要人工检查关键网络。3.4 加工与贴装打样回来之后的第一件事首版PCB打样回来不要急着焊接第一步是在AD里打开Gerber文件和实物板子逐项核对确认孔位、板框、丝印一致。特别是板子开孔的位置如果和车模底盘上的支柱对不上那就白花钱了。焊接顺序上先焊电源模块并上电测试确认各路电压正常后再焊核心板和传感器。我们吃过一次亏全套板子一次性焊好再上电结果电源短路排查了一下午才发现是贴片电容被焊反方向导致击穿。后来改成模块化焊接每一步都能验证排查容易多了。调试期间把SWD调试口、串口打印、LED指示灯全部引出来这在硬件调试阶段几乎等于救命工具。程序跑飞时通过串口打印看传感器原始值很快就能定位是电路问题还是程序问题。4. 常见问题与排查技巧实录4.1 AD软件与工程文件问题速查这里把我们在Altium Designer使用过程中遇到的高频问题做一个汇总可以当成一份自查清单用现象可能原因解决建议工程打开很慢或卡顿缓存和临时文件过多清理Backup和History目录减少不必要的自动保存次数Stream write error安装目录权限不足或杀毒软件拦截右键管理员运行安装程序元器件引脚映射错误原理图符号和封装不一致在Footprint Manager中核对映射项原理图编译报错重复位号或悬空引脚用Project - Compile显示Messages列表定位布线推挤卡死规则过于严格临时调大间距规则后再调整铺铜显示不完整Keepout层或板框有断开检查板框闭合性并重新铺铜再说一个我们常用的技巧AD里定位到某个器件时很多新手习惯用放大镜一点一点找其实在PCB界面按ShiftF或使用List面板输入器件位号就能瞬间跳转改起来效率很高。还有一个关乎竞赛的要点比赛前一周任何原理图和PCB改动都必须通过全队评审不能一个人偷偷改。我们有一次临近比赛改了一颗去耦电容的封装结果焊盘间距不匹配导致整块板子全部返工。后来定下规矩工程文件改动必须提交修改说明至少在队伍里同步一次。4.2 硬件调试中的“瞬间冒烟”和“怪毛病”智能车竞赛的硬件调试最怕的就是“冒烟”。常见的冒烟原因有电源极性接反、电机堵转电流过大、DC-DC输出超压。我们的保护措施是电源入口串联自恢复保险丝在DC-DC输出端再用一个TVS管吸收尖峰。这个电路在AD里就是两个器件的事但能避免绝大多数学费。有些“怪毛病”排查起来非常费神这里分享一个我们查过很久的案例某天摄像头画面突然出现黑条纹无论怎么调程序都一样。用示波器测电源纹波发现3.3V网络上有20kHz左右的周期性毛刺。最终定位到是电机驱动芯片的PWM信号线与3.3V电源线在PCB上长距离平行走线产生了耦合干扰。解决办法不是换板子而是在AD里把PWM信号线改到另一层并两侧包地同时在电机驱动电源输入端补了一颗铝电解电容。这个案例给我们的教训是混合信号板里信号线的走向和电源层的完整性比单纯增加电容数量更重要。排查问题的时候建议参考下面的顺序先看电源电压是否正常再看时钟是否起振再看传感器输出波形和寄存器数据最后看通信总线信号质量。按这个顺序能快速缩小范围不然很容易陷入“越改越乱”的局面。5. 计分策略在规则边界内做正确的设计取舍5.1 理解竞赛的“隐性计分项”每届智能车竞赛都分为预赛和决赛跑赛道的用时是核心计分项但实际拿名次远不只是看谁跑得快。以第二十一届和第二十二届全国大学生智能车竞赛的经验来看规则里还包括正跑与反跑、补跑机制、发车位置的合理性要求等。在很多分赛区的比赛中一次有效的完赛成绩比无数次练习赛的极限成绩更值钱。我们队伍的计分策略核心是“稳定完赛优先再谈刷新成绩”。这里有一个很实际的经验电路板上的每一个排针松动、每一路电压纹波、每一帧图像干扰都会导致最终“冲出赛道”或者“罚时”。所以我们在计分策略上的第一原则是在预算允许的情况下优先保证传感器电源的纯净度和结构的稳固性而不是无脑堆性能。第二原则是赛前一晚全面备份代码和工程并把板子的关键参数比如运放增益、电容容值选择记录下来以防现场调试需要对比。5.2 根据赛道元素调整赛道识别电路赛道设计在不同组别略有差异比如有些组别赛道有十字交叉、环岛、坡道、断路等。电路设计时就要提前留好扩展接口比如电磁组在赛道元素增多的情况下可以在板上预留3-5路电感接口即使当下只装了三个电感后期也方便加装。摄像头组在不同赛道光照条件下可能图像亮度差异很大可以在板上预留拨码开关或电位器现场微调摄像头参数而不是回酒店重新烧录程序。另外比赛现场的赛道表面材质可能和平时训练的地面材质差异很大会直接影响电磁传感器的灵敏度或者摄像头的反光表现。我们的做法是车上预留一个小的模拟输出测试点用万用表或者示波器快速检测传感器信号强度如果信号明显偏弱就通过电位器调节运放增益或调整传感器的高度和角度。这个“现场可调”的设计在计分时非常实用因为你不能指望赛前一天还大规模改板。5.3 团队协作和版本管理也是计分项有人可能觉得计分策略纯粹就是车跑得好不好但实际比赛中团队协作和效率直接决定了你还有多少时间可以调车。我们的分工方式是一人负责AD工程与硬件焊接一人负责嵌入式驱动与调试一人负责机械结构与整车集成遇到问题随时交叉验证。工程文件通过固定的共享盘同步每天结束时提交变更说明在AD中导出一份PDF原理图放到共享目录方便所有队员在手机或者平板上查阅。版本管理上除了给工程文件加版本号还要保存“已验证可跑”的版本索引。很多时候我们赛前试车发现新改的后轮固定片有干涉花了一晚上解决结果反而整车性能下降最后只能恢复历史版本。如果一开始就保留好干净的已验证版本遇到时间紧张的情况就可以快速后退而不是在现场慌神。6. 最后再分享一点实操心得从AD工程搭建到赛道识别电路设计从PCB打样到现场比赛计分这一整套流程走下来我最深的体会是智能车竞赛考验的从来不是某一个电感的摆放位置或者某一颗电容的容值而是整个系统在极端条件下的稳定性和团队在压力下的决策效率。画原理图时多留一个测试点、布板时多花半小时把电源和地处理好、比赛前多备份一次工程文件这些细节积累起来远远比“理论跑分最高”重要得多。如果你今年准备参赛我的建议很简单前期把时间花在AD工程模板和元器件库的规范化上中期做板子时严格按“电源-核心-传感器-驱动”的分模块调试顺序来后期计分阶段把稳定完赛放第一位。最后再提一个小技巧主控板上多预留两个备用IO口和一组电源插座比赛现场经常会临时加装传感器或者调试设备有备用的接口能省掉很多事。祝你们的车能够在赛道上稳稳跑完全程。
返回列表