1. 赛车的功能需求怎么拆成一张硬件清单
1.1 先列功能,再谈芯片,最后选模块
很多新人拿到一块主控板原理图就开始对着引脚焊线,这个顺序其实反了。正确做法是先想清楚这辆车在场地上要完成哪些动作,每个动作由哪个机构来执行,机构内部是电机还是舵机还是气动件,最后才落到主控的哪一个引脚上。
拿一台典型步兵车来看,核心动作不算多:全向移动、云台旋转、弹丸发射。全向移动要求四个轮子独立调速,于是需要四套带编码器的轮毂电机或者四个直流减速电机;云台旋转包含yaw和pitch两个自由度,各需要一个带闭环反馈的电机;发射机构需要两个摩擦轮电机加一个拨弹电机。把这些动作逐项列出来,再对应到具体部件,一张硬件清单就自然成型了。
这个阶段最常见的错误是盲目堆料。我见过某队伍为了显得方案先进,同时装了四路摄像头、两块IMU和激光测距模块,结果主控引脚全占满,电源余量不足,比赛前三天被迫拆了一半。硬件清单的克制程度,基本决定了后期调试的轻松程度,这句话我在讲义第一页就写了。
1.2 一张步兵车的硬件物料与接口对照表
给新队员做培训时,我最常用的工具就是下面这张表。它不一定是标准答案,但足够让一个零基础的同学理解“功能到硬件到接口”的对应关系。
| 功能需求 | 常用部件 | 驱动/接口 | 主控侧资源 |
|---|---|---|---|
| 全向移动 | 麦克纳姆轮+减速电机 | 驱动板PWM+方向 | 4路PWM+4路编码器接口 |
| 云台旋转 | 带编码器云台电机 | 电调/CAN或串口 | 1路CAN或2路串口 |
| 弹丸发射 | 摩擦轮电机+拨弹电机 | 电调/PWM | 2路PWM+1路编码器 |
| 弹仓开合 | 舵机 | PWM信号 | 1路PWM |
| 姿态感知 | 六轴IMU | I2C/SPI | 1组I2C或SPI |
| 底盘测速反馈 | 霍尔/磁编码器 | 正交解码 | 4路编码器计数 |
这张表的核心意义是让你提前知道每个模块会吃掉哪些主控资源。把表填完以后再拿起手里的主控板对照引脚排布,能不能覆盖全部需求就一目了然了。如果发现资源不够,早点换主控或者外扩芯片,比装完再飞线靠谱得多。
1.3 其他车型的硬件差异与通用性
除了步兵车,RoboMaster其他车型在硬件上也遵循同一个拆解思路,只是侧重点不同。
工程机器人重点在抓取和抬升机构,执行器多,所以主控的PWM通道数和电源裕量要预留更多;哨兵机器人要长时间自主巡线,感知模块堆得厚,主控算力和传感器接口需求更高;英雄机器人的发射机构对功率要求高,电源链路的设计压力最大。把步兵车的需求拆解流程跑通之后,再套用到其他车型上,只需要替换功能模块那一层,后面的电源、主控、通信规划逻辑是完全一致的。
这也是我在讲义里强调“先方法、后参数”的原因。硬件的东西更新迭代极快,今年用的电机明年可能停产,但“功能倒推硬件、接口对照资源、电源按峰值预算”这套方法不会过时。新队员能掌握方法,比背下一套具体型号的价值大得多。
2. 电机驱动系统:动力选型与接线里的三个隐性坑
2.1 从转速和力矩需求反推电机型号
电机选型不是越贵越好,而是“够用且可控”。标准动作是先算负载再选电机,拿底盘举例,假设最高车速要求3m/s,轮子直径60mm,轮转速大约就是3除以轮周长再乘以60,算下来接近955转每分。再结合整车重量和加速时间估算轮端扭矩,给1.5倍左右的启动裕量,基本就能锁定电机功率和减速比范围。
这里必须提醒新人,选电机不要只看额定功率,要同时看额定转速、额定扭矩、减速比和编码器分辨率。同样标称30W的电机,高转速低扭矩和低转速高扭矩的方案完全不同,选错最典型的表现就是车能跑但冲不上坡,或者启动就原地打滑。把四个参数写在纸上再去选型,比嘴上说要稳得多。
2.2 驱动板接线规范:电源线、信号线、地线绝不能含糊
驱动板接线是翻车重灾区,排名前二的坑分别是信号线不共地和电源线线径偏细。
所谓共地,就是所有逻辑信号的参考地最终要汇到同一个电位点。如果主控板输出3.3V信号给驱动板,而驱动板的逻辑电源地跟电池负极没有直接连通,就会出现一种极为诡异的现象:程序看起来正常,信号也量得到,但电机就是不动,偶尔碰一下地线又突然动了。解决办法不复杂,把主控板的地、驱动板的逻辑地、电池负极的功率地统一在一颗螺丝上压接,作为全车唯一参考地即可。
电源线线径的账也不能省。持续电流10A以上的回路,线径建议不低于16AWG;峰值20A以上的,至少用14AWG。很多整车断电的故障,查到最后不是电池不行,而是某段细电线压降太大,让驱动器欠压停机。信号线不载大电流,但要尽量双绞,降低长距离传输时对外辐射和受到的干扰。
提示:信号线不共地是“电机偶尔转、偶尔不转”的头号原因。接线前先用万用表蜂鸣档确认驱动板逻辑地与主控板地之间是通的,再谈其他。
2.3 电流采样与限流保护:等电机冒烟再后悔就晚了
电机堵转时电流会瞬间冲到正常工作电流的好几倍。如果驱动板支持电流采样,一定要把采样引脚接到主控,实时读电流值,程序里一旦检测到某路电流超过阈值,立刻封锁对应PWM输出并上报状态。这套软件保护能防住大部分堵转和卡弹。
但软件总有失效的时候,所以硬件上还要加两道保险。第一道,在每个驱动板的电机输出端串一个可恢复保险丝,堵转过热断开,冷却后自动复位,不用人工更换。第二道,在整机电源入口装一块电压电流显示模块,调试时肉眼能看到整车实时电流,电流数字异常偏高就马上断电。这两道硬保险的成本都不高,但作用是在程序出现意外bug时兜住底线,值得每一台车都加。
3. 电源链路设计:让全车电流预算做到心里有数
3.1 电压体系与稳压方案怎么选
整车供电的第一步是确定电压体系。常规做法是电池高压直接供给电调和功率级电机,再用一级降压模块把电压降到5V或者3.3V供给主控和传感器。这个“功率级直供、控制级降压”的两级结构,能让电机启停造成的电压波动尽量不影响主控,稳压模块的负担也小很多。
低压侧的原则是能少一级就少一级。没必要的地方不要为了“看起来规整”专门加一个12V中间母线,每多一级降压就多一个发热点和一个故障点。但如果确实有12V额定电机,那就要单独拉一组12V供电,绝不能让5V模块去扛电机的启动电流。降压模块选型时看两个指标:持续输出电流至少是负载峰值的1.5倍,输入压差范围要覆盖电池最低电压,否则电量低时稳压模块会提前退出工作,车子就会突然断电。
3.2 电流预算计算的实操模板
我要求每个队员在装机前先填一遍电流预算表,表格长这样:
| 用电设备 | 供电电压 | 工作电流 | 峰值电流 | 供电来源 |
|---|---|---|---|---|
| 底盘电机×4 | 24V | 4×2A | 4×8A | 电池直供 |
| 云台电机×2 | 24V | 2×1.5A | 2×4A | 电池直供 |
| 摩擦轮电机×2 | 24V | 2×3A | 2×6A | 电池直供 |
| 主控+传感器 | 5V | 约1A | 约2A | 5V降压模块 |
| 舵机×2 | 5V | 0.5A | 2A | 5V降压模块 |
把峰值电流全部加起来,再对应到电池的放电能力,就能判断电池够不够用。比如上面算出来峰值接近40A,电池就需要支持持续40A以上放电,最好再留20%左右的余量。如果电池满足不了,要么换高倍率电池,要么砍设备,没有第三条路。这张表同时也是后续排查电源故障的基础数据,电流异常时一对比就知道是哪一路出了问题。
3.3 上电顺序和滤波电容在压力测试中的角色
上电顺序对整车的稳定性影响很大,很多新人不知道这一点。理想顺序是:先接电池让功率级的电调完成初始化,再给主控板上电,最后通过主控输出的使能信号去控制驱动器。如果反向操作,主控先启动,会被随后接入的大功率设备的浪涌电流反复复位,表现出来就是上电瞬间屏幕乱闪、电机乱抖。
滤波电容也不要忽略。在每个驱动器电源输入端就近并联一个大容值电解电容和一个小容值陶瓷电容,电解电容吸收低频纹波,陶瓷电容滤高频噪声。两个电容离驱动器电源引脚越近越好,而不是全部汇总在电池端。我在测试时见过一个现象:同一台车,电容加在驱动器旁边,电机电流波形干净很多,整机也不会因为功率波动把传感器数据带偏。
4. 主控与外设资源规划:引脚和总线不是想接就能接
4.1 选主控先数外设,而不是先看算力
很多队长一上来就问“用什么主控跑视觉比较合适”,这个问题放到硬件规划阶段是次要的。真正该做的是把手头外设列出来,数一数需要几路PWM、几路串口、几路CAN、几路I2C、几路编码器接口。资源不够,算力再强也只能干瞪眼。
举个例子,四路电机测速就需要四路编码器接口,如果主控只有两路,就得外扩芯片或者换方案。我常用的规矩是主控资源留有20%到50%的冗余,给调试过程中新加的功能留余地。等整车都调完才发现引脚全满,再想加一个传感器就只能飞线,那种状态对比赛来说非常危险。
4.2 传感器接入要处理的四件事:电平、时序、防反插、干扰
传感器看起来是插几根线的事,但每根线背后都有讲究。
电平方面,主控引脚通常是3.3V,传感器如果5V供电,输出信号最好做电平匹配,不能贪方便直接怼到主控引脚上。时序方面,I2C这类总线先跑低速再提速,别一上来就开400k,容易出错还不容易排查。防反插方面,建议所有接插件都用不同规格或涂色区分,这个细节能挡住大多数接线事故,尤其是比赛前夜人手极度紧张的时候。干扰方面,传感器线跟功率线要分道走,间隔不够就加屏蔽或者磁环,长线能双绞就双绞。
这四件事单项看都很基础,但合起来能决定传感器数据稳定不稳定。很多时候程序角度查了两天,最后发现是传感器线跟电机线捆在一起,只要电机一动数据就跳,这种问题在硬件层面就能提前避免。
4.3 遥控器接收机、裁判系统与云台之间的通信链路梳理
整机通信链路的规划比单路传感器接入更重要。以步兵车为例,遥控器接收机通过串口或SBUS接到主控,云台控制板与底盘主控之间常用CAN总线,因为CAN支持多节点且抗干扰能力强,裁判系统通过串口把比赛数据下发,主控解析后还要转发给上位机。
如果这些链路都挤在一路串口上,调试时各方数据互相抢占,报文错乱后很难查清是谁的问题。我的习惯是把通信划分为三个物理通道:底盘内部传感器走一组接口,云台与发射机构走CAN,裁判系统和上位机走独立串口。这样任何一条链路出故障都能快速隔离,不会把全车数据带崩。新队员看不懂整机通信是很正常的,按通道去梳理就清晰得多。
5. 装机调试验收流程:一只万用表走完故障定位
5.1 用最小系统点亮法确认电源和主控活着
第一次装完车千万不要直接上全功率。先拔掉功率级电机线,只给主控和传感器上电,看主控板电源指示灯亮不亮,再用万用表测量关键电压点,看3.3V和5V是否在误差范围内。这一步叫最小系统点亮,先把弱电系统确认了,后面再上强电才有底。
确认弱电没问题后,再给驱动板和电调上电,但电机线还是先不接,听电调有没有正常初始化提示音,测驱动板逻辑部分供电是否正常。最后才接电机线和动力线。从弱电到强电、从信号到动力的步骤,能把故障范围控制在最小区域,避免一上来就是“整车上电冒烟”的惊吓现场。
5.2 电机不转的完整排查链路
电机不转是出现频率最高的问题,原因却五花八门。我帮某队排查过一次,最后发现只是驱动板使能脚没有上拉,前后折腾了两小时,从怀疑主控烧了到怀疑电池坏了都走过。所以建议按下面这条链路顺序排查。
第一步,量电机电源端电压,确认驱动器使能状态下有输出,没电压说明问题在驱动侧,有电压就继续。第二步,把电机线脱开,单独给电机通电测试,排除电机本身损坏。第三步,用示波器或者逻辑分析仪看PWM信号是否正常,没有波形就检查主控引脚配置和接线。第四步,检查使能信号,这一步最容易被忽略,很多驱动板要求使能脚为特定电平才能输出。第五步,如果前四步都正常,再查编码器信号,编码器异常会让程序误判堵转从而封锁输出。
按这条链路走下来,绝大多数电机不转问题能控制在半小时内定位。最大的坑反而是一上来就拆电机或者换主控,把故障范围越搞越大。
注意:排查时不要一上来就拆电机或者换主控。拆一台坏一台,会无限扩大故障范围。按链路顺序走,每步得出结论再决定是否动手。
5.3 建立自己的故障-现象-原因对照表
总是反复排查同样的故障是非常浪费时间的。我建议每个队伍维护一张内部对照表,四列即可:现象、可能原因、验证方法、解决手段。
| 故障现象 | 可能原因 | 验证方法 | 解决手段 |
|---|---|---|---|
| 电机抖动不转 | 缺相或PWM频率不对 | 看波形、查配置 | 补相、调频率 |
| 整车上电后主控反复重启 | 功率级浪涌或地线松动 | 量电压、查压接 | 理顺上电顺序、紧固地线 |
| 遥控器信号断续 | 接收机天线遮挡或供电不足 | 换位置、量电压 | 重新布置天线、单独稳压 |
| 传感器数据突变 | 线材与功率线并肩走 | 观察布线路由 | 分道走线、加屏蔽 |
这张表不只是故障字典,更是新队员培训材料。我见过新队员花一晚上看表,比读一个月原理图更快建起对硬件的整体认知,因为他知道故障为什么会发生,排查时从哪下手。以后队伍里再发生同类问题,翻出表来直接执行就行,不用重新踩一遍雷。
6. 讲义版本演进与队伍交接:V0.2.1之后怎么改
6.1 V0.2.1相比旧版补了哪些关键章节
V0.2.1这版讲义,重点不是堆砌知识,而是提升可操作性。旧版很多内容偏向原理图和数据手册,新队员看完也不知道第一步干什么。所以这版做了三处核心调整:把全车通信链路梳理单独成章,把电流预算做成了必填模板,新增了故障排查对照表。这三块分别对应三类高频问题:不知道怎么接线、不敢上电、坏了不会查。
版本迭代必须留记录。我在讲义开头固定放一页修订记录,写清楚每次改动原因、涉及章节、改动内容。别小看这一页,过三个月后你会发现光靠记忆完全想不起某个设计当初为什么这么定,有记录才能让后面的人放心继续改。这个习惯跟写代码提交信息是同一个道理,短到一行字都是珍贵的。
6.2 从讲义到图纸:BOM、接线表、装配指导三位一体
讲义写得再好,最后还是要落到实际机器上。建议完成三轮整理:先整理BOM表,包含型号、数量、购买渠道、单价,防止重复采购和停产换料;再整理接线表,把每根线的起点、终点、线材颜色、线径标清楚;最后整理装配指导,用照片加标注记录装配顺序和注意事项。
这三份材料加讲义,就构成一套完整的新队员入职包。我自己带队伍有一个规矩:新人拿着这套材料自己装一台底盘,装到一半不许来问,卡住了先自己看表找原因,实在不行再来找我,我也只给提示不动手。表面上看有点苛刻,但效果很好,硬件这件事就是看十遍不如亲手装一遍,亲手装错一回比看十份正确图纸都记得牢。
最后说一个坚持了两年的小习惯:所有连接器都贴编号标签,配合接线表写清楚P1、P2分别通向哪里。整车最多的时候有几十个接插件,光靠“我记得这个插头是接舵机的”这种话,迟早会在比赛前夜翻车。标签和表格本身很便宜,但它们能在你凌晨三点换零件的时候把你从绝望里捞回来。这也是我在V0.2.1讲义中最想传递的东西:硬件基础不是靠记忆堆出来的,而是靠每个环节都有章可循。