Robomaster硬件基础讲义:从零搭建竞赛机器人底盘与电源管理实战
1. 从零搭建一台能上场的机器人这份讲义想解决什么问题如果你刚加入一支机器人竞赛队伍被分到硬件组大概率会经历这样一段迷茫期学长丢给你一块主控板、几根杜邦线、一包电机和电调说“先把车搭起来”然后人就消失了。你对着满桌零件不知道从哪根线开始接不知道电机为什么转两下就发烫不知道电池插上去为什么冒烟。这不是你笨而是硬件这件事本身就有大量“默认你懂”的隐性知识没人系统讲过。这份《Robomaster硬件基础讲义V0.2.1》要解决的就是这个问题。它面向的是刚接触竞赛机器人硬件的新人目标不是让你立刻设计出一台冠军车而是让你能独立完成一台基础底盘平台的搭建、供电、走线和初步调试并且理解每一步背后的电气逻辑。关键词很明确主控选型、电源管理、电机驱动、通信总线、安全规范。这些词听起来像教科书目录但实际做起来每一个都对应着具体的坑和取舍。我见过太多队伍硬件组新人上手第一周就烧掉两块主控、三块电调原因往往不是技术难度高而是没人告诉他“先测电压再插线”“电机线不能带电插拔”“电池不能放到低于安全电压”。这些经验在正式教材里很少写但在实际备赛中是保命的东西。所以这篇博文不会按“第一章、第二章”的教材体例走而是按一个硬件新人真实的搭建顺序来展开先搞清楚系统里有哪些角色再决定怎么给它们供电然后处理信号怎么走最后才是调试和排错。每一部分我都会补充讲义里没展开的细节以及我自己踩过的坑。2. 先认清一台竞赛机器人的硬件骨架2.1 主控、执行器、传感器、电源四层结构一台典型的竞赛机器人硬件上可以拆成四层。最上面是主控层通常是一块嵌入式开发板负责跑控制算法、处理传感器数据、输出控制指令。中间是执行器层包括驱动底盘的电机、控制云台的舵机、发射机构的摩擦轮电机等。再往下是传感器层比如陀螺仪、编码器、视觉模块、限位开关。最底层是电源层由电池、配电板、稳压模块、保护电路组成。这四层不是随便分的它对应着信号流向和能量流向两条链路。信号从传感器进主控主控出指令到执行器能量从电池出经过配电和保护分配到各个执行器和主控。很多新人搭车时只盯着信号线怎么接忽略了能量路径的设计结果就是电机一启动主控就复位或者大电流走线发热严重。讲义里反复强调“先画电源树再画信号流”就是这个道理。我建议你在动手接线之前拿一张纸把电池到每一个用电设备的路径画出来标上电压和预估电流。比如电池是24V底盘电机可能需要20A峰值云台舵机6V/3A主控5V/2A。画完这张图你就知道哪些线要粗、哪些地方要加稳压、哪些设备需要独立供电。这个习惯能帮你避开后面80%的供电类故障。2.2 为什么主控选型不能只看算力新人选主控最容易犯的错是只看CPU主频和内存大小觉得“算力越强越好”。但竞赛机器人主控的选型算力只是其中一个维度甚至不是最重要的维度。你更需要关注的是定时器资源够不够、CAN接口有几路、PWM通道数量、中断响应延迟、供电范围是否宽压。举个例子底盘控制需要同时输出四路PWM给电机电调云台需要两路PWM或CAN指令发射机构可能还需要一路。如果你选的主控只有四路硬件PWM那就得用软件模拟软件PWM在高速控制场景下抖动明显电机声音会很难听低速时甚至可能堵转。再比如竞赛中常用CAN总线连接电调和主控因为CAN抗干扰强、支持多设备挂载但如果主控只有一个CAN接口而你的设备分布在车体前后布线就会很别扭。讲义里给了一个很实用的建议先列出你需要的所有外设接口清单再去找满足这些接口的主控最后才比较算力。这个顺序不能反。我见过有队伍用了一块算力很强但接口很少的板子结果外接了一堆转接模块可靠性直线下降比赛时因为一个转接板接触不良丢了关键局。2.3 执行器与传感器的常见搭配逻辑执行器选型要和传感器配套考虑。底盘电机通常配编码器做闭环速度控制云台电机配陀螺仪做姿态稳定发射机构配限位开关做复位检测。这里面的逻辑是闭环控制需要反馈反馈精度决定控制效果。以底盘为例如果只用霍尔编码器低速时分辨率不够速度环会有明显波动换成光电编码器分辨率上去了但成本和对安装精度的要求也上去了。讲义里提到一个折中方案在电机端用霍尔编码器做粗略测速在减速箱输出端加装磁编码器做精确定位。这样既控制了成本又保证了低速性能。这个思路在实际备赛中很常见尤其是预算有限的队伍。传感器安装位置也有讲究。陀螺仪要尽量靠近车体旋转中心并且做减震处理否则电机振动会直接耦合进姿态数据云台会抖得像筛糠。我自己的做法是用厚双面胶加尼龙柱固定陀螺仪模块线材留一段松弛弧避免拉扯传递振动。这些细节讲义里不会写得太细但实际效果差别很大。3. 电源分配硬件系统里最容易翻车的一环3.1 电池选型与放电倍率的实际计算竞赛机器人常用锂聚合物电池标称电压有22.2V6S和25.2V7S等。选电池时除了电压和容量最关键的是放电倍率。放电倍率C值乘以容量就是电池能持续输出的最大电流。比如一块5000mAh、20C的电池理论最大持续放电电流是100A。但这里有个坑很多标称20C的电池实际持续放电能力可能只有标称的一半尤其是在电压降到接近截止电压时。所以选电池时我一般会把计算出的峰值电流乘以1.5倍安全系数再去对照电池的持续放电规格。比如底盘四电机峰值总电流80A那就选持续放电能力至少120A的电池。另外电池的内阻会随着使用次数增加而上升内阻大了之后大电流放电时压降明显主控可能因为电压跌落而复位。讲义里建议每次比赛前用内阻测试仪测一下电池内阻超过初始值1.5倍的电池就退役做测试用不要上正式比赛。这个习惯能避免很多莫名其妙的低压复位问题。3.2 配电板与稳压模块的取舍配电板的作用是把电池的一路输出分成多路并且提供过流保护。有些队伍为了省重量直接用XT60插头分线省掉配电板。短期测试可以但正式比赛我不建议这么做。配电板上的保险丝或电子熔断器能在某个支路短路时快速切断防止整车主电源被拉垮甚至起火。稳压模块的选择要看负载特性。主控和传感器通常需要5V或3.3V电流不大但要求电压干净舵机可能需要6V或7.4V电流波动大。如果共用一个稳压模块舵机动作时电压波动会串到主控导致主控复位或传感器数据跳变。讲义里的做法是主控和舵机分开稳压主控用低噪声LDO或开关电源加滤波舵机用大电流开关电源。多花几十克重量换来的稳定性非常值。我自己还习惯在稳压模块输出端并一个几百微法的电解电容和一个0.1微法的陶瓷电容电解电容应对大电流瞬态陶瓷电容滤高频噪声。这个组合成本很低但能解决很多“莫名其妙”的复位和通信错误。3.3 大电流走线的线径与接插件选择电流越大线径越粗这是常识。但具体多粗很多人凭感觉。讲义里给了一个简化规则持续电流10A以内用18AWG20A以内用16AWG30A以上用14AWG或更粗。峰值电流可以按持续电流的1.5到2倍来估算线径。接插件同样重要。XT30适合小电流XT60适合中等电流XT90适合大电流。但要注意接插件的额定电流是在特定温度下的实际使用中如果接触电阻大发热会很严重。我见过用劣质XT60跑30A的插头塑料壳都烤变形了。所以接插件不要贪便宜选正规品牌焊接时确保焊点饱满不要虚焊。还有一个细节电机线不要和信号线捆在一起走。电机线里是PWM大电流快速切换时会产生很强的电磁干扰信号线平行走线会被耦合进噪声。讲义建议信号线和电源线保持至少2厘米间距如果必须交叉尽量垂直交叉。这个规则在布线密集的车体里很难完全做到但至少不要把信号线和电机线用扎带捆成一束。4. 通信总线让主控和电调说同一种语言4.1 PWM、CAN、串口在竞赛场景下的分工竞赛机器人里常见的通信方式有三种PWM、CAN、串口。PWM最简单一根信号线加一根地线占空比对应目标值。但PWM抗干扰能力弱线长了容易受干扰而且一路PWM只能控制一个设备。CAN是差分信号抗干扰强一条总线可以挂多个设备适合底盘电调、云台电机这类分布式的场景。串口通常用于主控和视觉模块、上位机之间的数据交换速率高但点对点。讲义里的分工建议是底盘电调用CAN云台电机用CAN或PWM视觉模块用串口或USB遥控接收机用PWM或SBUS。这个分工不是绝对的但遵循一个原则对实时性和可靠性要求高的用CAN对带宽要求高的用串口简单低速的用PWM。我自己的经验是底盘四电机尽量用CAN因为CAN总线自带仲裁和重传某个电调出问题不会拖垮整条总线。如果用PWM四根信号线从主控拉到四个电调线束复杂而且一旦某根线被电机干扰对应电机就会失控。CAN只需要一对差分线从主控串到四个电调布线简洁很多。4.2 CAN总线的终端电阻与布线细节CAN总线有两个120欧姆的终端电阻分别接在总线两端。很多新人不知道这个直接星型接线结果通信时好时坏。CAN总线必须是手拉手的一条线终端电阻接在物理最远的两个节点上。如果总线很短比如小于1米可以只在一端接一个120欧姆电阻但最好还是两端都接。布线时CAN_H和CAN_L要尽量靠近最好用双绞线这样差分信号抗干扰能力最强。如果分开走线环路面积大容易拾取噪声。讲义里还提到CAN总线的地线也要连但不要和电源地形成大环路。实际做法是主控和电调之间连一根地线作为参考电位但不要两端都接地避免地环路电流。我踩过的一个坑是CAN总线通信正常但电机一加速就丢包。排查了很久最后发现是CAN线束和电机线捆在一起了。分开走线之后问题消失。所以CAN线虽然抗干扰强但也不是无敌的物理隔离仍然重要。4.3 串口通信的波特率与数据帧设计串口通信在竞赛中常用于主控和视觉模块之间的数据传输。波特率的选择要在速率和可靠性之间平衡。常见的有115200、460800、921600。速率越高线材质量和走线要求越高。如果线长超过20厘米我一般不会超过460800否则误码率会明显上升。数据帧设计也有讲究。很多新人直接发ASCII字符串解析方便但效率低。更好的做法是二进制帧加校验。比如帧头两个字节、数据长度一个字节、数据内容若干字节、CRC校验两个字节。这样解析效率高而且CRC能发现传输错误。讲义里给了一个简单的帧格式示例我在此基础上加了一个超时重传机制如果主控在10毫秒内没收到视觉模块的回复就重发请求。这个机制在视觉识别偶尔卡顿时特别有用能避免主控一直等数据导致控制循环卡死。5. 调试与排错从“能动”到“稳定”的必经之路5.1 上电前的静态检查清单上电之前必须做静态检查这一步省不得。我自己的检查清单包括万用表测电池电压是否正常、测各稳压模块输出是否短路、测电机三相线之间是否短路、测CAN_H和CAN_L之间电阻是否约60欧姆两个120欧姆并联、检查所有接插件是否插紧、检查有没有金属碎屑掉在电路板上。其中CAN总线电阻测量很关键。如果测出来是120欧姆说明只接了一个终端电阻如果是40欧姆说明接了三个如果是0欧姆说明短路了。这些异常都要在上电前排除。我见过有队伍没测CAN电阻上电后通信时断时续查了半天才发现是终端电阻多接了一个。还有一个容易忽略的电机线序。三相无刷电机的三根线如果接错顺序电机会反转或者抖动不转。有些电调支持自动识别线序有些不支持。如果不支持就要按电调说明书上的线序接或者用调试软件改方向。上电前最好把电机悬空不要装轮子万一反转也不会撞坏东西。5.2 分步上电与电流监测静态检查通过后不要一次性给整车上电。我的做法是分步上电先只给主控供电看主控能否正常启动、能否连上调试器然后给传感器供电看数据是否正常再给电调供电但电机不转看电调是否自检通过最后才给电机使能低速试转。每一步都用电流表或电源的电流显示监测电流。如果某一步电流明显偏大立刻断电排查。比如主控正常启动电流应该在100到200毫安如果到了500毫安说明有短路或某个芯片发烫。电调自检时电流一般很小如果一上电就大电流可能是电调内部短路或者电机线接错。讲义里特别强调不要用电池做首次上电测试用可调电源限流模式。把电流限制在预期值的1.2倍这样即使有短路电源也会自动限流不会烧东西。这个习惯救过我很多次尤其是调试新板子的时候。5.3 常见故障的排查链路故障排查最忌讳东摸一下西摸一下。我习惯按能量路径和信号路径两条线来查。能量路径电池到配电板到稳压到各设备逐段测电压。信号路径主控到电调到电机逐段测信号。举个例子电机不转。先看电调指示灯是否亮不亮说明供电有问题查配电板和线束亮但电机不转用调试器看电调是否收到指令没收到查CAN或PWM信号收到了但电机不转查电机线序和电调参数。这样一层层缩小范围比盲目换件快得多。再比如主控偶尔复位。先查电源电压是否在复位瞬间跌落用示波器抓主控供电引脚如果看到明显跌落说明电源瞬态响应不够需要加大电容或分开供电。如果电源没问题查复位引脚是否被干扰加滤波电容或缩短复位线。这个排查过程讲义里没有展开但实际中非常常见。6. 讲义之外那些只有实际搭过车才知道的事6.1 线束整理与标识的长期收益线束整理看起来是小事但直接影响调试效率和可靠性。我的做法是按功能分色电源正极用红色负极用黑色CAN_H用黄色CAN_L用绿色PWM信号用白色。每根线两端都贴标签写清楚从哪来到哪去。线束用扎带固定但不要扎太紧留一点活动余量避免振动拉断焊点。这个习惯在第一次搭车时可能觉得麻烦但当你需要换一个电调或者查一根线的时候节省的时间是巨大的。我见过有队伍线束乱成一团比赛前想换一个电机花了半小时才找到对应的线最后没时间测试就上场了。线束整理是硬件工程师的基本功讲义里虽然提了但实际执行要靠自己坚持。6.2 备件策略与易损件管理竞赛现场最怕硬件故障没有备件。我的经验是易损件至少备一套包括电机、电调、主控、稳压模块、常用线材和接插件。电机和电调是最容易坏的尤其是撞车之后。主控虽然不容易坏但一旦坏了没有备件就直接退赛。备件也要提前测试不要等到现场才拆封。我习惯在出发前把备件全部上电测试一遍确认功能正常然后单独装在一个盒子里贴上标签。现场换件时直接拿备件盒不用翻工具箱。这个流程看起来简单但能避免很多现场慌乱。6.3 从V0.2.1这个版本号说起讲义标题里的V0.2.1说明这是一份还在迭代的文档。硬件知识更新很快新的主控、新的电调、新的传感器不断出现去年的方案今年可能就不适用了。所以这份讲义的价值不在于它写了什么具体型号而在于它提供了一套分析问题和做决策的方法。比如怎么根据电流选线径、怎么根据外设选主控、怎么排查供电故障这些方法不会因为器件更新而失效。我自己在带新人的时候会让他们先读一遍讲义然后动手搭一台最简单的底盘只要求能前进后退和转向。搭完之后让他们自己写一份“踩坑记录”把遇到的问题和解决方法记下来。下一届新人来了先读讲义再读往届的踩坑记录上手速度会快很多。硬件这件事纸上得来终觉浅但有了正确的方法和别人的经验至少能少烧几块板子。最后分享一个我自己的小习惯每次搭完车用手机拍一张整车布线照片存到队伍共享文件夹里。下次拆车或者换件之前先看一眼照片确认原来的走线和接插件位置。这个习惯帮我避免了很多“拆了装不回去”的尴尬。硬件工作就是这样细节决定成败而细节往往来自反复的实践和记录。