1. 这份讲义解决的是哪个断层:新队员的硬件必修路径
如果你带过一个搞机器人的学生战队,一定见过这样的场景:招新结束后的第一个月,新队员围着三个电机和一盘线材问"这个该怎么接",老队员一人带三个徒弟,同一个"CAN 线要不要接终端电阻"的问题一天能回答五遍。这份《RoboMaster 硬件基础讲义 V0.2.1》就是为了把这类重复问答变成一份可传阅的文档,我一点一点攒起来的。它不打算做成电子学教材,而是一条从零基础到能独立负责一台比赛机器人的硬件入门路径,把供电、动力、通信、调试这几条线全部串起来讲清楚。适合的对象就是刚进战队的新队员,以及准备系统带人的硬件组长,有经验的人也能把这份讲义当成整理自己知识体系的框架。
1.1 讲义定位:按"活儿"组织知识,而不是按知识点堆砌
新队员看硬件资料最容易犯的毛病是"收藏即学会":网上下载一堆原理图、手册、教程,存进网盘就觉得自己会了,真到装机时连电机三根相线哪根接哪根都分不清。问题不在资料不够,而在资料是散点式的,没有按任务流程组织。我写这份讲义时定了一条铁律:所有章节围绕一个具体的"活儿"展开,比如"给底盘电机上电""把云台陀螺仪装稳""算一根电源线的压降",原理放在活儿后面讲,作为理解工具而不是背诵对象。
这份讲义默认读者已经修过大学电路课,能看懂原理图、知道什么是占空比,但不一定接触过功率器件和大电流布线。所以它不花篇幅解释欧姆定律本身,而是重点讲"欧姆定律在 40A 的底盘上会怎样变成压降灾难"。内容上刻意回避了过于深入的控制理论,只保留到"会调 PID 参数"这一步,更深的内容留给电控组自己的讲义。这样划分边界,各组之间才不会重复造轮子。
1.2 三档能力模型与阅读路线
我把硬件组新人从进队到能独立负责一个子系统,拆成三个档位,每档对应不同的讲义章节和参考周期:
| 档位 | 核心能力 | 对应章节 | 参考周期 |
|---|---|---|---|
| 第一档 | 能照图装机、能安全通电 | 电源系统、线缆规范、接线检查表 | 2~4 周 |
| 第二档 | 能独立排查故障、完成基础调试 | 底盘动力、云台系统、发射机构 | 1~2 个月 |
| 第三档 | 能参与选型设计、做容错预判 | 压降预算、保护选型、总线对比 | 持续积累 |
文档顺序也刻意按这个思路排:先讲电源,因为所有子系统的第一步都是供电;再讲底盘,因为底盘是最稳定的练习对象;接着是云台和发射,这两个子系统对机械和电控的配合要求高;最后讲通信与调试方法论,把这部分能力沉淀成流程。这个顺序是反复改版之后确定的。第一版我按"先电机、后电源"写,结果新人学到一半就卡在"电机明明接线正确却不转"上,因为没有先建立供电优先的排查习惯。
2. 底盘动力链路:电机、驱动器与编码器的三角关系
底盘是比赛机器人的基础平台,现在主流配置是四个轮子配四套"无刷减速电机 + 驱动器 + 编码器"的动力组合。这类电机通常用 3508 这个尺寸档位,原因很简单:它在堵转扭矩和长时间运行的温升控制之间取得了平衡。每年都有新人问为什么不换更大功率的电机,我的建议是别急着换,动手算一遍需求就知道了。
2.1 电机选型不是看功率,而是算扭矩转速包线
假设一台机器人整备质量 20kg,要求在平整赛场上达到 4m/s² 的加速度,忽略坡度等附加阻力,四个轮子总共需要提供的牵引力约等于 F = ma = 20 × 4 = 80N;再加上滚动阻力,摩擦系数按 0.05 估算,又需要约 20 × 9.8 × 0.05 ≈ 10N,总需求约为 90N。平均到每个轮子约 22.5N。如果轮子直径是 150mm(半径 0.075m),单个轮子需要的扭矩就是 22.5 × 0.075 ≈ 1.7N·m。
3508 这类电机本身输出扭矩不算出色,主要靠减速箱放大,常用减速比在 1:13 到 1:16 之间。按 1:13 减速比和 0.85 的减速效率反推,电机端的等效扭矩需求约为 1.7 ÷ (13 × 0.85) ≈ 0.15N·m。这个值落在电机能长时间输出的安全区间内,余量不大但够用。如果机器人继续加重,或者要求更猛的起步加速,就要在减速比和电机档位上重新权衡。讲义里保留了完整计算过程,目的就是让每个队员在伸手拿电机之前,先知道需求从哪来。
2.2 驱动器接线与 PID 调试的第一课:先把地线搞清楚
底盘动力链路接线看起来就三部分——电池到驱动器、驱动器到电机、主控到驱动器信号,但故障率最高的恰恰是这三部分的交叉位置。电源侧要注意:驱动器是功率器件,瞬时电流能到几十安培,电源线必须用足够粗的硅胶线,从电池直接接到驱动器输入端,中间除了保险丝和总开关外,不要并联给其他低压设备供电。最常见的一个翻车现场是,新人图省事从驱动器供电端串一根细线给传感器供电,结果底盘一加速母线纹波就冲上去,陀螺仪数据乱跳,还以为是传感器坏了。
信号侧的要点是共地。CAN 总线或串口哪怕只有两根信号线,也最好把控制板的地和驱动器信号地压在一起,否则信号参考点不一致,数据出错会非常随机。排查这类问题有个笨但有效的办法:如果故障是"手摸一下机架就变好,松开又坏",八成是地线接触不良或共地缺失。
PID 调试这块,讲义里不写控制理论,只写操作顺序。速度环的标准流程是:先给一个很小的目标转速,P 从小往大调,每增加一档观察电机是否出现高频抖动;P 调到位后加 I 消除稳态误差;最后加一点 D 抑制超调,但 D 对噪声极其敏感,编码器数据本身有毛刺时,加了 D 通常适得其反。很多新人卡在"电机一直嗡嗡响"上,多半是 P 过大且编码器反馈频率跟不上。
2.3 编码器数据异常:磁偏、断线和零位漂移
底盘电机自带的编码器大多是磁编码器,靠电机尾部的小磁铁和传感器芯片之间的相对角度换算出转子位置。这种方案的缺点在于磁铁安装位置极其敏感。我们排查过一台"转起来数据跳变、偶尔还向后退一格"的电机,最后发现是磁铁没有粘在电机轴正中心,偏了大约 1mm,导致角度读数非线性。
排查编码器异常要按"从物理到逻辑"的顺序走:先用手转动电机,看读数是否连续平滑——数据跳变,先怀疑磁铁和传感器间隙;数据完全不动,测传感器供电,再看信号线是否断线;数据正常但方向反了,改逻辑或换线序。换过电机或者拆过轮子之后,机械零位和软件角度零位经常对不上,我专门在讲义里放了"零位标定"一节,提醒每次拆装后重新初始化角度。
3. 云台系统:重心配平、IMU 安装与机械谐振三件事
云台和底盘最大的区别:底盘对位置控制要求不高,云台要在几毫秒内响应控制指令保持指向稳定。硬件上云台由偏航轴和俯仰轴两个旋转轴组成,每个轴一个云台电机,配合 IMU 反馈做闭环。这部分故障往往是机械、电气、控制三方面问题叠加在一起,讲义里我花了很多篇幅,专门把"先查什么、再查什么"的顺序写清楚。
3.1 重心配平是云台硬件的第一原则
云台电机的标称扭矩看起来不大,但问题很少出在标称值上。曾经有一台云台的俯仰电机只要稍微一动就过流报警,查了半天机械结构没有卡死,控制参数也是另一台车现成能用的参数。最后发现是云台上挂了很重的裁判系统模块,重心严重偏前,俯仰电机需要持续输出额外扭矩去扛住偏心力矩。
解决方式不是换更贵的电机,而是先做静平衡:把云台拆下来,用手感受它在各个角度有没有"自然的偏转倾向",然后把能移动的模块往旋转轴方向收,让重心尽量落在旋转轴线上。重心配平之后,同样的电机和参数,温度降了一大截,指向也稳了。所以每当有人说"云台电机不够力",我的第一反应不是看扭矩表,而是问一句"你的重心调过没有"。
3.2 IMU 安装位置决定数据质量,不是越靠近主控越好
IMU 负责感知云台姿态,安装位置直接决定控制回路"看"到的世界是否可信。常见误区是把它贴在离主控最近的地方,图接线方便。但云台旋转时,如果 IMU 离旋转轴较远,线加速度会干扰姿态解算,角度出现虚假跳变,表现就是云台动一下,角度值先往反方向冲一下再回来。
另一个隐蔽问题是固定方式。IMU 要尽量避振,又不能垫太厚的软海绵,否则机架振动会让 IMU 产生低频晃动,姿态数据发飘。我们实际对比过几种固定方式:金属柱刚性固定、双面胶直接粘、薄硅胶垫加双面胶,最后稳定使用的是薄硅胶垫加双面胶的组合,高频振动被抑制了,又不至于引入低频共振。还有一步容易忽略:上电静止标定。每次开机前让机器人水平放置两到三秒,让算法完成零偏估计。如果一通电就端着机器人跑来跑去,采集到的零偏全是错的,后面怎么调数据都别扭。
3.3 机械谐振:控制参数没问题但就是抖
云台最让人头疼的故障是"看起来一切正常,带上负载就抖",而且抖动的频率往往比较固定,像某种震荡。它的根源经常是机械结构的固有频率和控制带宽接近。通俗讲,机械结构本身是个弹簧振子,电机施加力的频率正好敲在共振频率上时,振动会被放大。
处理思路分"先被动后主动"两步。被动手段是调整机械装配的刚性或质量分布,改变固有频率;主动手段是在控制端加陷波滤波器,把共振频率附近的增益压下去。但在动手之前,建议先用手扶着云台,在不同转速下转动,感受共振发生的临界转速,记录下来再决定动哪里。如果不做这一步实测,靠瞎试参数很容易把机械共振误判成增益过大,越调越乱。
4. 发射机构:摩擦轮压紧、拨盘同步与初速一致性
发射机构是比赛机器人里与弹道表现直接挂钩的部分,也是最不能"差不多就行"的子系统。两个摩擦轮高速对转,弹丸从中间被挤压加速射出,初速稳定性直接决定命中效果。硬件上主要由摩擦轮电机、拨盘电机、枪管和测速模块组成。
4.1 摩擦轮转速与初速的关系,以及压紧量的影响
弹丸初速的理论起点是摩擦轮轮缘的线速度,线速度等于轮子角速度乘半径。实际出膛速度总会比线速度低一截,因为弹丸在挤压加速过程中存在打滑。所以调初速的第一件事不是加转速,而是确认摩擦轮的压紧量。
压紧量太大,弹丸被夹得太死,转速掉得厉害,初速上不去,电机电流明显升高;压紧量太小,弹丸打滑严重,初速忽高忽低。调试时我们习惯用塞尺,或者直接用弹丸本身当量具,左右对称地调两侧摩擦轮间隙,保证两边压紧力一致。换过摩擦轮皮圈之后必须重调,皮圈硬度、直径的差异会让同样的刻度对应完全不同的初速,这一条在讲义里被单独标了注意。
测速是发射机构标配。常见做法是在枪口附近装一组光电对射传感器,弹丸经过时挡住光线的时间窗口乘以已知的遮光区间,就能算出速度。装了测速模块之后可以做闭环:读取测速值,用 PID 调节摩擦轮电机转速,把初速稳定在目标值附近。没装测速模块的队伍,初速全靠感觉调,同一批弹丸在干燥和潮湿环境下初速能差出好几米每秒,后面打靶时散布完全失控。
4.2 拨盘卡弹:先别拆机器,按"供弹到入膛"的链路排查
拨盘的职责是把弹仓里的弹丸一颗颗送进摩擦轮,节奏必须和摩擦轮转速匹配。卡弹是最常见的故障,但原因五花八门,新人容易上来就拆拨盘电机。
按经验,排查顺序从"弹"开始:先看弹丸是否变形或受潮,湿度一高,弹丸尺寸膨胀,在拨盘和枪管的缝隙里就会卡住;再看弹仓供弹压力,装得太满,竖向压力过大,拨盘齿会切不动弹丸;然后才是机械角度——拨盘齿位置是否和入弹口对齐、拨盘间隙是否因长期磨损变大。机械检查完再考虑电气:拨盘电机是否限流、减速箱是否缺油导致转不到位。这条链路顺序在讲义里被画成一张排查流程图,要求队员卡弹时必须按顺序走一遍,不许跳过弹丸状态直接拆机,因为拆机本身也容易把原本没坏的装配位置弄乱。
4.3 弹道表现不只看初速:管、轮、弹的三方一致性
很多时候发射机构初速测出来挺稳,弹道还是散。这时候要往三个方向上找:枪管内部是否光洁、摩擦轮两侧转速是否一致、弹丸直径分布是否均匀。两侧摩擦轮电机如果转速差了几百转,弹丸出膛的旋转轴就是歪的,散布自然变大。
建议每场比赛前用同一批弹丸做一组基准测试,记录初速均值和散布半径,硬件有任何改动就重测一次。讲义里附了一张测试记录表模板,包含日期、弹丸批次、摩擦轮温度、压紧刻度、初速均值、极差等字段。坚持填几个月之后,环境条件对发射性能的影响会看得非常清楚,调起来就有了依据而不是玄学。
5. 电源系统:压降预算、保护选型与纹波治理
电源系统是整个机器人最容易出"玄学故障"的部分,也是讲义里篇幅最长的一章。原因很简单:所有子系统的故障最终都可能表现为供电异常,而供电异常又常常被误判成子系统自身的问题。
5.1 从电池到驱动器,每一段都要算压降
比赛用电池通常是 6S 锂电,标称电压 22.2V,满电 25.2V 左右,低压保护后大约 18V。有人只盯着电池电压,却忽略了从电池到负载之间每一段线缆、连接器和保险丝都在分压。假设底盘加速时单路电流冲到 40A,一根内阻 5mΩ 的导线压降是 0.2V,一个接触电阻 3mΩ 的接插件再压 0.12V,再加上保险丝,几段一叠就是半伏特级别的损失。对传感器这类对电压敏感的器件,影响不小。
讲义里有一张压降预算表,要求队员在给某个子系统供电之前,先估算这个子系统的电流,再反推需要多粗的线、什么规格的连接器。公式不复杂:R = ρL/A,压降 V = I × R。线越短越粗越好,但粗线在机器人内部占空间也增重量,所以算一下比凭感觉选线靠谱得多。我们遇到过某个模块实验室单独测试正常、装车后偶尔复位的问题,最后定位到供电线长了 30cm 加上线径偏细,负载一拉就把电压拉到复位阈值以下。
5.2 保险丝不是随便插个数值就行
保险丝是电源回路里最重要的保护器件,选型逻辑两条:正常工作电流下不能误熔断,故障短路时要尽快断开。具体分两步。第一步算持续工作电流,通常取各负载额定电流之和的 1.2 到 1.5 倍。比如底盘四路驱动器加传感器估算持续电流 40A,就选 50A 到 60A 左右的保险丝。
第二步看熔断特性。电机堵转和起步时会有几倍额定电流的瞬时冲击,如果选快速熔断型,起步一冲就断,反而添乱。所以电机供电回路上尽量选慢熔型。保险丝烧了之后也别急着换新的,先用万用表确认负载侧没有短路,再判断是正常过流还是故障过流。这个判断习惯能省下很多拆装时间。
5.3 纹波是很多"莫名其妙"问题的根因
纹波问题在示波器出现之前,看起来都像软件 bug。典型场景是:机器人加速瞬间,摄像头画面闪烁、陀螺仪数据跳变、控制板复位。这些现象的共同根源是母线电压瞬间跌落或剧烈波动。
纹波的头号来源是电机驱动器的 PWM 斩波,以及电机加减速时的大电流突变。电机高速突然刹车时,反电动势会向母线回灌能量,把母线电压顶高,同时电流剧烈变化产生电磁干扰。治理纹波分三个层次:驱动器输入端就近加电解电容,容量按电机功率估算,底盘这种大电流场合可以到几百到几千微法;传感器和控制板供电从母线经过一级稳压再取,不要直接挂母线;信号线尽量远离大电流动力线,必须交叉时垂直走。三层都做了还不稳,再考虑共模电感、磁环这类器件。
提示:排查纹波类故障不要一上来就上高级示波器。先用万用表测关键节点电压在负载变化时是否稳定,再确认供电链路是否按"就近电容加分级稳压"搭的。大部分纹波问题其实是布局问题,不是器件问题。
6. 通信与调试基础设施:让故障不再靠"感觉"
机器人内部的主控、驱动器和传感器之间的通信方式,决定了硬件系统的可调试性。讲义把通信与调试单独成章,因为坏习惯的代价在比赛临近时会集中爆发,到时候最缺的不是器件,是时间。
6.1 CAN 总线的接法细节和常见翻车点
比赛机器人的底盘电机、云台电机大多走 CAN 总线,两条线就能挂多个节点。但 CAN 总线的可靠性跟接法强相关,最常见的坑有三个。第一个是终端电阻,总线上最远端的两个节点必须各接一个 120Ω 电阻,否则信号反射严重,长距离传输时通信会间歇性出错,而且毫无规律。第二个是拓扑,CAN 总线要求"一条线串到底"的总线型连接,不能接成星型,分支越长信号质量越差。第三个是线材,最好用双绞线,装线时把 CAN_H 和 CAN_L 绞在一起,抗干扰能力会明显提升。
排查 CAN 通信故障我推荐固定顺序:先看硬件层,用万用表量 CAN_H 和 CAN_L 之间的电压,明显偏离正常差分静态电压,说明有节点没上电或者线序反了;再看终端电阻,在总线两端量到约 60Ω(两个 120Ω 并联)就对了;最后才看软件配置,波特率、ID 过滤是否一致。许多"时好时坏"的通信问题,最后都落在终端电阻和接插松动这两件事上。
6.2 调试接口标准化:谁都不想比赛现场拆壳找线
比赛现场出故障要抢时间,最怕的就是线序靠记忆、接口靠口口相传。讲义里立了三条规矩:所有子系统的调试接口集中到一个统一调试面板上,面板标好每根针脚定义;对外接口统一导线颜色约定,电源正极红色、负极黑色、CAN_H 用信号色、CAN_L 用浅色系;每根线两端必须打上线号管,编号和原理图对应。前期麻烦一点,调试期能省下大量时间。
还要求队员写接线检查表,每次装车前按表逐项打勾。检查表三列:检查项、判断标准、备注。比如"驱动器电源线是否接反"对应的判断标准是"正极对正极,保险丝位于总电源正极路径上"。坚持用检查表之后,最明显的效果是通电瞬间的意外事件大幅减少。检查表在讲义里直接附了可复制的模板,改一改成自己的器件清单就能用。
6.3 一套通用的硬件故障排查清单
这是一份我在讲义里反复训练的排查清单,适用于"某个模块不工作"的通用场景:
| 现象 | 优先怀疑 | 下一步操作 |
|---|---|---|
| 上电无反应 | 总保险丝或电池接反 | 先量电池端电压,再沿供电链路逐点量 |
| 电机不转但有声音 | 驱动器使能信号或 CAN 通信 | 测驱动器信号线电压,确认接线与共地 |
| 电机转一下停 | 驱动器过流保护或编码器异常 | 断开负载单测电机,再检查编码器反馈 |
| 传感器数据乱跳 | 供电纹波或信号线干扰 | 用示波器看供电波形,检查动力线是否靠近信号线 |
| 通信时好时坏 | CAN 终端电阻或接点接触不良 | 量总线电阻,重新压接接插件 |
这张表不是万能的,但它教的是排查问题的顺序感:先电源、再信号、最后才怀疑器件本身。每一条都要求队员在实际检修中记录一次真实案例,反过来更新这张表。这样讲义不是死的,它跟着战队的故障史一起长。
7. 版本迭代记录:V0.2.1 改了什么,下一版补什么
这份讲义从 V0.1 一路改到 V0.2.1,版本规则很简单:大改(结构变化、章节调整)升第一个段位,小改(新增内容、修正错误)升第二个段位。这样战队里随便谁拿一份讲义,都能很快知道它和上一份差在哪。
7.1 V0.2.1 修订清单
这次修订集中在三处。第一,重写供电系统章节,把原来分散在各处的压降计算、保险丝选型、纹波治理合并成完整一章,补了两个真实故障案例复盘。第二,底盘动力部分新增"选型计算示例",把扭矩估算的全过程写进去,方便基础薄弱的队员跟着算一遍。第三,调试接口章节新增接线检查表模板和填表要求。整体是"补丁式更新",没有推翻原有结构,降低老队员的迁移成本。
7.2 下一版规划与维护原则
V0.3 的方向已经想好了。一是给每个章节配一套新人练习任务,比如"用万用表完成一次整机断电检查""独立完成一个云台电机的接线、上电与零位标定",让讲义从阅读材料变成实操手册。二是把近半年故障记录里最高频的十个问题整理成一张速查卡,放在文档最前面,方便比赛现场快速定位。
最后说一点个人体会。写这份讲义最值钱的不是知识本身,而是把知识"版本化"的过程。知识类文档最怕的不是写得太浅,而是越写越散,最后变成一锅粥。每次有人问问题,我会先判断这个问题值不值得写进讲义,标准就一条:至少三个人会在未来遇到同样的疑问。值得,就补一个小节;不值得,口头解答完事。这样迭代下来,讲义永远只保留高价值内容,不会膨胀成一本没人翻的电子教材。