每年赛季刚开始的那段日子,队伍群里总是最热闹的。机械组在催加工件,算法组在问传感器型号,电控组对着CAN报文一头雾水,而硬件组,往往是被问得最多、但也最容易被当成“背锅侠”的那群人。我见过太多新队员第一次碰硬件时的状态:拿着万用表不知道从哪下手,看着原理图里的网络标号两眼发直,上电之前手都在抖,生怕一插电就把一整块主控板送走。
这份《Robomaster硬件基础讲义V0.2.1》,就是我在带了两届队伍之后,被这些问题反复“折磨”出来的产物。它不是一本从零开始的电路理论教材,而是一份面向RM参赛队员的硬件入门和查错手册,目标是让一个只学过基础电路、甚至还在大二上学期徘徊的队员,能在两周之内建立起对整台机器人硬件系统的完整认知,能看懂原理图、会排查常见故障、知道上电前该检查哪些东西。这篇文章会把这份讲义的核心知识体系和实操经验完整展开,不管是正在备赛的队员,还是对机器人硬件感兴趣的爱好者,都能直接拿去做参考。
1. 内容整体设计与思路拆解
1.1 新队员在硬件学习上踩过的坑
先说一个很现实的问题:RM队伍里的硬件岗,往往处于一种“看起来门槛低、实际很难接手”的状态。很多队员来硬件组的初衷,就是觉得自己“喜欢焊板子”“会点Arduino”,觉得硬件不就是把模块接上线嘛。结果一进实验室,看到的是密密麻麻的电源模块、CAN总线、编码器反馈、裁判系统线束,再加上上一届留下的各种来路不明的飞线,瞬间就懵了。
更麻烦的是,RM的硬件学习和学校里的电路课程几乎是割裂的。课程教的是理想电压源、理想运放、纯电阻电路,而机器人上全是带寄生参数的实物,是瞬态电流冲击,是地平面噪声,是ESD静电击穿。有队员拿着Multisim仿真了一晚上,信心满满地做了个电源板,上了车一通电,电压倒是有的,就是纹波大得让IMU数据乱飞。这种从“仿真正确”到“实际能用”之间巨大的鸿沟,不是靠多刷几道题就能填平的,必须有系统性的引导。
所以这份讲义在设计之初就定了一个原则:先建立“整机全局观”,再深入到“模块细节”。新队员必须先在脑子里形成一张完整的信号流和功率流地图——电池里的能量是怎么一步步变成轮子转动的,遥控器指令是怎么通过接收机、主控、电调最终到电机的,IMU的数据又是怎么经过通信总线回到主控的。有了这个全局框架,后面学任何模块,都知道它处在哪个位置、为谁服务。
1.2 V0.2.1版本定位:它解决什么问题
为什么叫V0.2.1而不是V1.0?因为这套讲义并不是一次成型的,而是经历了从V0.1的“目录式大纲”到V0.2的“模块化正文”的大改版。V0.1版本本质上是一堆PPT截图和链接的合集,当时我把它扔给新队员,结果他们反手就把链接转进了收藏夹吃灰——因为没有连续的阅读路径,也没有配套的实操任务,看完记不住东西。
V0.2以后,我彻底调整了结构。整份讲义按“一个完整的嵌入式硬件工程师入门路径”来组织,新增了三个在实战中极其重要的板块:上电安全检查流程、信号完整性基础概念、常见硬件故障排查手册。V0.2.1则是在V0.2基础上修正了一些术语错误、补充了调试工具选型建议,并加了一节关于CAN总线终端电阻的内容——因为上一届比赛就因为这个细节,导致整车的通信网络跑不起来,教训太深了。
这份讲义的对象很明确。第一目标是零基础的新队员,他们的要求是“看了能懂、按着能做”;第二目标是已经在岗位上的电控和硬件队员,他们要的是“出问题能查”,遇到故障了打开对应章节,快速定位问题方向。所以整份讲义的每章都有“学习目标”“最小知识点”“实操任务”“常见坑位”四个固定部分。
1.3 为了让“小白”真的能看进去
我写这份讲义的时候,刻意避开了本科教材那种“定义-定理-证明”的句式。比如讲解PWM的时候,我不会直接写“PWM是一种利用微处理器的数字输出对模拟电路进行控制的技术”,而是会写“PWM就是一个快速的开关,开关一直快速通断,通过改变导通时间占空比来改变平均电压,就像你拧水龙头,不是一直全开,而是一开一关,水流平均下来就变小了。”这个类比听起来不够“学术”,但新队员一听就能懂,而且在后面查故障的时候,这个版本反而比教科书定义更管用。
同时,讲义把所有的原理讲解都锚定到一个具体的实物上。讲DC-DC降压,就用RM最常见的那块7.4V转5V模块的背面散热焊盘做例子;讲I2C上拉电阻,就用陀螺仪模块的数据手册截图做标注。每一页纸都必须能让队员找到对应的实物和图纸,这是V0.2.1最核心的编写原则之一。
2. 核心知识体系拆解与实操要点
2.1 电源管理与配电:机器人硬件的“血管系统”
如果把一台RM机器人比作一个人的话,电源系统就是心血管系统,电气线路就是血管,电池是心脏。这部分内容我放在讲义的第一大模块,因为所有硬件故障里,至少有三分之一和电源脱不开关系。
RM机器人上常见的供电架构是这样的:一块6S锂电池(满电电压25.2V,标称22.2V,比赛规则里常见的是2S到6S不等)通过XT60接口进入电源管理模块,然后经过多路DC-DC降压,分出不同的电压域。常见的有24V或者12V直供大功率负载(比如某些摩擦轮电机或者气泵),7.4V给云台控制板和部分传感器供电,5V给主控板、接收机、部分传感器供电,3.3V给主控内部的MCU、IMU等数字器件供电。
讲义里画了一个非常细致的“电源树”结构图,因为这里必须搞清楚一个核心概念:电压域之间不是相互独立的,它们最终共享同一根地线。地,或者说GND,是很多新队员最容易忽略的东西。他们在面包板上做实验时不会觉得地线重要,但在机器人这种功率密度极大的系统里,电机启动的瞬间会有几十安培的电流从电池正极流出再流回负极,这股大电流在GND走线上形成的压降,会直接影响旁边传感器模块的参考地电位,轻则数据波动,重则通信直接失败。这个现象的专业叫法是“地弹”或者“共地阻抗耦合”,但讲义里就一句话:大电流的地线不要和小信号的地线共用同一段线路,尽量单点汇流。
上电顺序也是一个重点。我见过好几次队员把5V传感器和24V电机控制板用一个开关同时上电,结果传感器冒烟了。原因是传感器模块内部没有过压保护,瞬间上电时的浪涌尖峰超出了它最大耐压。所以讲义明确要求:所有的功率部分(电机、电调)和逻辑部分(主控、传感器)必须分时上电,或者至少经过延时继电器/缓启动电路,保证逻辑部分先稳定,再让功率部分冲击。这一条在裁判系统规则里也有类似的隐含要求,因为裁判系统审计电压是从整个电源系统开始的。
2.2 主控单元与最小系统:硬件工程师的“主战场”
主控单元是RM战车的“大脑”。目前主流的RM主控是STM32系列,在V0.2.1讲义里,我以STM32H743和STM32F405这两颗芯片为主要对象来讲解——H743性能更强、主频更高,适合做视觉融合和复杂控制;F405在低功耗和小体积应用里仍然有一席之地。
主控最小系统的构成包括:电源电路、时钟电路(晶振)、复位电路、调试接口(SWD/JTAG)、启动模式配置电路、以及去耦电容阵列。这里有一个很多新队员第一次画板必踩的坑:MCU旁边的去耦电容放得不够近,或者容值搭配不合理。芯片在运行过程中,内部的逻辑门翻转会产生高频的瞬态电流需求,如果去耦电容离电源引脚太远,电流到达的路径阻抗过高,芯片工作就会不稳定,时不时跑飞。V0.2.1里给出的经验做法是:每个电源引脚旁放置一个100nF的MLCC电容,布置时尽量贴近引脚;同时在芯片周围再放几个10uF的钽电容作为稍大能量储备,形成高低频搭配。
再说调试接口。很多新队员看到SWD四个引脚(SWDIO、SWCLK、GND、VCC)觉得简单,随手引一根杜邦线就到调试器了。结果是下载程序的时候一成功一失败,或者在线仿真的时候连接总是断。这里涉及到一个信号完整性的简单概念:SWDCLK是时钟信号,频率不低,对线上电容和干扰都比较敏感,如果飞线过长、又没有良好的地回路,很容易反射或者被干扰。讲义的解决方案是:调试接口线长控制在10cm以内,并且SWDIO和SWCLK旁边包地处理;给信号线上串22~33Ω的小电阻,改善阻抗匹配。这个东西不是玄学,用示波器看就会发现用了这个办法之后信号毛刺明显减少。
2.3 电机驱动与控制链路:从PWM到CAN的进化
电机驱动和电调控制,可以说是RM硬件里技术含量最高、也最容易“炸车”的部分。
先解释一下PWM直接控制电机的方式。一个直流电机,你把PWM信号直接接在电机两端,通过调整占空比来调压调速,这是最原始的方式。但这种方式的问题在于:控制精度低、没有闭环反馈、电机低速时扭矩不够、容易发热。那为什么皮实耐用的电调还那么重要呢?因为电调内部有MOSFET构成的H桥或半桥电路,根据PWM占空比控制输出功率,同时还实现了电流采样、温度保护、堵转保护等功能。
到了RM这个级别,大部分队伍都走CAN总线控制电调了。以DJI官方的M3508电机配C620电调为例,主控通过CAN总线发送标准的控制帧,电调解析之后驱动电机旋转;电机内置的编码器把转速和角度信息反馈给电调,电调再通过CAN回传给主控。这样主控和电机之间就只挂两根双绞线(CAN_H和CAN_L),比每个电机拉三根PWM控制线加两根编码器线清爽得多。
CAN总线在RM中的应用是硬件岗必须掌握的内容。CAN总线有一个重要的东西叫终端电阻——120Ω。在CAN网络中,这个电阻缺一不可,它用来匹配传输线的特性阻抗,防止信号在总线末端产生反射。V0.2.1讲义里专门有一页图,画的是主控板上的CAN收发器和双绞线,以及如何检查终端电阻:断电状态下,用万用表测量CAN_H和CAN_L之间,如果测得约60Ω,说明两个终端电阻都正常;如果是120Ω,说明只有一端有;如果是无穷大或者接近0,那就要查线缆和连接器了。
还有一个常被忽略的细节是CAN总线的共模和差模概念。CAN_H和CAN_L上面传输的是差分信号,两个线之间的电压差代表逻辑电平。正因为是差分传输,所以CAN总线抗干扰能力比I2C、UART这些单端信号强很多。但是要注意,CAN_H和CAN_L线如果接反了,整条总线上的所有节点都会通信失败,而且总线电平会是“显性”卡死状态。排查的时候,如果示波器量CAN_H和CAN_L之间是恒定的2.5V左右(没有差分跳动),大概率就是有一对线接反了。
2.4 传感器与通信接口:让机器认识世界
传感器部分,RM战车上必须具备的一个是IMU(惯性测量单元),常见的是MPU6000/6500或者BMI088,用I2C或者SPI接口输出三轴加速度和三轴角速度。IMU的数据对电控自瞄、云台稳定算法至关重要,但它在硬件上是个“挑剔”的器件:电源要求纹波小、地平面要干净、对电磁干扰敏感。
在调试加速度计数据时,我见过太多人被“静止时数据却在漂移”这个问题逼疯。其实很多情况下不是传感器坏了,而是供电纹波太大。IMU里的MEMS结构把加速度变化转换成电容变化,如果电源电压随负载变化而波动,等效于产生了虚假的“加速度”信号。V0.2.1讲义里的建议是:IMU供电从LDO取,不要直接从DC-DC输出取,因为开关电源的纹波(典型是几十毫伏)加在IMU上会产生很明显的噪声。理论上用示波器在IMU的供电脚上测量,观察到高次谐波时已经晚了,提前用LDO加磁珠做滤波才是正解。
串口通信也是每个硬件队员必须熟悉的。裁判系统与主控之间通过USART连接,常见的电平就是TTL电平(0~3.3V),但是会遇到USB转TTL模块上端子焊反、TX/RX交叉没注意的问题。这里给新队员一个“保命诀窍”:TX接RX、RX接TX,并且GND必须共地。很多人在串口通信调不通的时候,第一反应是波特率设错了,但我遇到更多的其实是地线没接。因为串口是单端信号,收发双方必须参考同一个地电位,一个悬空的GND会让信号完全没法判断高低电平。
3. 实操过程与核心环节实现
3.1 工具选型:不买最贵的,买最顺手的
讲义的第三章是关于调试工具的,这部分我写得非常“接地气”。因为RM队员的预算有限,我不主张人手一套顶级设备,但有几样东西是必须的:
万用表不用多说,人手一块,量通断、量电压、量电阻。建议选带有自动量程和蜂鸣器的,蜂鸣器在查线和查短路时效率极高。RMS(真有效值)功能在测量PWM或者非正弦波形时不建议依赖,因为大部分万用表的响应特性在低频开关信号上并不准确。
示波器是硬件调试的重武器。预算不多的话,现在市面上几百块钱的桌面示波器也还凑合,带宽至少100MHz。如果条件不允许,队伍里有两台公用也可以。示波器不光是看波形的,更重要的是看时序和频率。我在讲义里专门写了一节“如何使用示波器抓CAN总线波形”,因为CAN总线出问题的时候,肉眼看不见哪里断了,但示波器一看总线空闲电平和差分跳变就知道链路健不健康。
逻辑分析仪这个东西在DEBUG数字总线的时候比示波器还好用,因为它可以同时抓十几路的数字信号并做协议解析,比如用Sigrok配合PulseView解析I2C、SPI、UART报文。一份几十块钱的24MHz 8通道逻辑分析仪就够标准RM的大部分场景了。建议新队员学习的第一件事不是画板子,而是会用逻辑分析仪解剖一帧通信数据。
3.2 上电安全流程:别让“冒烟测试”变成“造烟测试”
说到上电安全,RM圈里有一个黑色幽默的说法叫“冒烟测试”——上电的那一刻,如果板子没有冒烟,就算通过。玩笑归玩笑,实际操作必须严谨。V0.2.1讲义里把上电安全检查做成了一张可打勾的Checklist,在讨论任何硬件板子之前,先按顺序完成这五步:
第一步,目视检查:看板子上有没有明显异物、焊锡珠、金属碎屑,特别是电源部分和引脚密集的芯片区域。很多烧板都是因为一个不起眼的锡珠搭在了两个电源引脚之间。
第二步,阻抗测量:在断电状态下,用万用表二极管档或者电阻档测量电源输入端对GND的阻抗。正常的电源输入阻抗应该在几百欧以上(具体值取决于板上的电容和负载等效电阻)。如果量出来接近0,先别上电,回去查焊接。
第三步,低压上电:用一个可调电源把输出电压先调到目标电压的三分之一左右,限制输出电流在几百毫安,然后给板子供电。此时观察电流是否有异常增大、板子上有没有发热变色的器件。确认没问题之后再逐步升高电压。
第四步,全压上电和纹波测量:电压正常后,用示波器测量各路输出电压的纹波,特别是在负载动态变化的时候,比如电机启动的瞬间。这能暴露大部分电源设计问题。
第五步,功能测试:确认主控可以正常连接调试器,传感器数据能读出来之后,才算真正的“上电成功”。
在实操中,我最想强调的还是限流上电。一个可调电源的限流功能是救命的,哪怕电路的逻辑完全正确,在加电瞬间因为电容充电产生的冲击电流也可能会让元器件受伤,而限流功能可以把这种风险控制在可接受范围内。很多新队员第一次上电就烧板,问题往往不是设计错了,而是没有养成“先限流再上电”的习惯。
3.3 一个完整的实操案例:测量DCDC模块的输出纹波
为了让新队员对“电源质量”有直观认识,V0.2.1里安排了一个最经典的实操任务:测量一个DCDC降压模块的输出纹波。
仪器连接是这样的:示波器探头打到1X档(不要用10X档,因为10X档的输入衰减会降低小信号的观测能力),探头地线尽量用弹簧地线或者极短的地线夹,不要用那根长长的黑色鳄鱼夹地线。因为在测量纹波这种小信号时,普通探头地线的“天线效应”会拾取大量的环境噪声,导致你看到的波形里分不清是模块真实纹波还是外部干扰。
然后,把探头尖端接到DCDC模块输出电容的正极引脚上,地线接到输出电容的负极,尽量靠近电容本身。这样测的是输出电容两端的电压波动,也就是真正加在负载上的纹波。如果条件允许,可以在输出端加一个10uF的MLCC和100nF的电容作为示波器耦合的隔直网络,但初学阶段直接测电容两端就足够观察了。
正常情况下,开关电源的纹波应该是高频的锯齿状或者尖峰状波形,幅度从十几毫伏到几十毫伏不等。如果你测到的纹波里出现了频率很低的“喘振”波形,比如几百赫兹的起伏,那往往是负载剧烈变化导致的环路响应问题,或者是模块的输入电源已经压不住了。如果你在纹波波形上看到很多细密的毛刺,多半是探头地线太长,混入了空间耦合噪声。
这个实验做完,新队员对“电源不是理想的”这个概念的体会,比任何教材上的文字描述都深刻。
3.4 学会阅读原理图和硬件文档
RM大工程的一个好处是,DJI官方和很多强队都开放了硬件设计文件。V0.2.1讲义里专门有一章教大家怎么打开一份别人画的原理图。
读原理图是有顺序的。先找电源树,看整体供电架构;再找主控芯片,先确认最小系统,再看它连到哪里去;然后按照信号流方向,从输入到输出逐块看。刚开始不要试图一次把整张图读明白,先把每一页在干什么打个标签记住,多翻几遍自然就熟了。
阅读数据手册也有一个省力的技巧:不要从头到尾读。大部分数据手册几百页,逐页读效率极低。我建议先看“Features”和“Electrical Characteristics”部分,搞清楚器件的极限参数和典型工作条件;再看“Pin Configuration”和“Recommended Operating Conditions”;最后用到哪个功能再翻到对应的章节查具体时序和寄存器配置。在RM的场景里,你需要的数据手册集中在电机数据手册(看扭矩、转速)、电调说明书(看控制协议)、主控芯片参考手册(看外设寄存器)、传感器数据手册(看量程和精度)这四类上。
4. 常见问题与排查技巧实录
4.1 电源模块上电即炸:如何从“焦糊味”开始排查
V0.2.1讲义里收录了一个非常经典的故障案例。有一个队伍在做步兵车电源板时,一上电,DCDC模块附近的电感就发出嘶嘶声,跟着就冒烟了。开板的队员第一反应是“买到了假电感”,但我让他先别急着换料,而是去断电测几处关键点:电源输入端的阻抗、DCDC芯片的SW引脚对GND的阻抗、输出电容有没有焊反。
最后发现是输出端的钽电容焊反了。钽电容是一种极性电容,反接的时候漏电流会大到直接短路,并且钽电容有一个“缺点”,就是反压击穿后容易起火甚至烧起来——那个“焦糊味”其实就是钽电容烧出来的。这个问题在原理图上根本看不出来,原理图上的电容符号正负极标得清清楚楚,但焊接的时候方向弄反,或者物料封装丝印标识不清楚,就会酿成事故。
这个案例想说明的排查逻辑是:先断电,再逐级测量;先怀疑无源器件,再怀疑有源芯片。所有的电源故障都可以沿着“输入→开关器件→储能元件→输出”的顺序逆向排查,不要一上来就围着一颗芯片猜。
4.2 CAN通信间歇性失败:终端电阻和线缆的那点事
CAN总线通信在RM里的地位相当于人的“中枢神经”。在一次联调中,云台和底盘之间的CAN数据总是偶发丢帧,用手去拽线束的时候尤其明显。排查过程是这样的:
先用万用表在总线“最远”一端断电测量CAN_H对CAN_L的电阻,得到60Ω左右,说明两个终端电阻都装上了。然后又用示波器挂在总线上看波形,发现总线电平还算正常,但偶尔出现一个特别窄的毛刺,这个毛刺正好卡在显性到隐性的切换时刻。后来怀疑是线缆太长了,而且走线时和功率线绑在了同一个线槽里,受到电机启停的电磁干扰。
最后解决方式是:把CAN线缆拆开,单独走线,远离功率线;同时把双绞线换成屏蔽双绞线(屏蔽层单端接地);并在主控端的CAN收发器输出处加一个共模电感,把线束上的共模干扰滤掉。改完以后同样的测试跑了一下午,没有再丢过帧。
CMRR是差分信号的武器,但任何差分信号系统如果布线不注意回流路径,或者屏蔽层处理不当,都会被共模干扰打穿。这里也引出一个硬件常识:屏蔽层不能两端都接地,否则大电流会在地环路中形成新的干扰源,最佳做法就近选择一端接地。
4.3 编码器读数飘忽不定:一场关于地线和电源纹波的持久战
还有一次,是云台电机的编码器数据在转动时会出现某个特定角度的跳变,幅度不大但足以让云台控制抖起来。查了很久的软件滤波,没有任何效果,后来回到硬件上排查。
用示波器同时测编码器电源脚的电压和编码器信号线,发现每当电机转动到某个物理角度的时候,电源上就出现了一个明显的毛刺。进一步检查发现,编码器模块是插在一个较长的排针转接板上,转接板的地回路比较细,而且经过了一个电流比较大的舵机电源区域。电机停转时没动静,转到某个位置时电机反电动势或者瞬间负载变化拉动了地电势,编码器就误读了。
解决方式是把编码器的电源和地直接从主控板上的AGND区域引了一根粗线过去,信号线也用带屏蔽的双绞线替换了原来的排线。问题彻底消失。这个案例是地线问题的经典代表:数字电路可以忍受轻微的噪声,但伺服控制系统对数据准确性极度敏感,任何数据的异常都值得在地线上找找原因。
4.4 主控板下载程序失败:三个高频原因
程序下载失败是硬件岗被迫加班的最常见理由。归纳起来高频原因不外乎三个。
第一,供电不足。目标板如果靠调试器的3.3V供电,但是板上接了传感器或小电机,电流拉到了几百毫安,调试器的LDO扛不住,逻辑电平就会掉到不确定区域,下载自然失败。
第二,BOOT模式不对。STM32的BOOT0引脚如果被拉高,芯片会从系统存储器启动而不是Flash,这时候程序下载完不会跑,甚至连接调试器时都被识别为未知设备。
第三,SWD信号线数据冲突。如果板上还有另一个设备在占用SWDIO引脚,比如某些例程里把PB3当作普通IO做其他功能,调试接口就没法正常工作。排查方法是:先把所有外部设备断开,只保留主控和调试器;再用示波器看SWCLK有没有波形;最后检查调试器驱动和硬件在设备管理器里是否正常枚举。
下面把RM硬件调试中最常见的几类故障整理成一个速查表,方便大家对照排查:
| 故障现象 | 常见原因 | 排查手段 | 解决方式 |
|---|---|---|---|
| 上电即烧电源芯片 | 输入电容或钽电容焊反、输入过压、输出短路 | 断电测输入输出阻抗、目视检查极性件 | 更换损坏件,修正焊接方向,输出端加缓启动 |
| CAN完全不通 | CAN_H/CAN_L接反、终端电阻缺失、波特率不一致 | 断电测CAN_H/CAN_L阻抗;示波器看差分波形 | 检查线序;D_CAN两端加120Ω电阻;统一波特率 |
| 编码器数据偶发跳变 | 接地不良、地环路、信号线屏蔽差 | 示波器对比电源和信号脚 | 独立走线、粗地线、屏蔽层单端接地 |
| 下载程序时连不上 | 供电不足、BOOT配置错、SWD线过长 | 断开外设只连调试器;量SWCLK频率 | 外部供电、BOOT0拉低、缩短SWD线并加串阻 |
| IMU数据静止漂移 | 电源纹波过大、地噪声、电磁干扰 | 示波器测IMU供电脚纹波 | 换LDO供电、加磁珠、远离功率线 |
| 串口收发乱码 | 波特率不对、TX/RX接反、未共地 | 检查串口配置,量波形 | 交换TX/RX,连接GND,统一波特率 |
| 个别电机抖动异常 | 编码器线松、电调供电不稳、CAN帧ID冲突 | 单测电调、看报文周期 | 重新插拔连接器,检查CAN总线节点冲突 |
5. 版本迭代规划和灵感来源
写到这里,有队员问我V0.3.0会加什么内容。我目前有几个初步的想法。
一个想法是加入PCB Layout的入门内容。RM很多队伍画板的时候都是第一次接触Altium Designer,铺铜、过孔、线宽、安全间距这些东西完全靠感觉。V0.3.0打算写清楚一套“够用的”板级设计规则,包括电机驱动大电流线宽的经验估算(比如1OZ铜厚下1A电流至少需要多少mil线宽)、模拟地与数字地的分割策略、板级ESD防护器件的摆放位置等。
另一个想法是增加焊接与返工的专项训练。焊接质量是硬件可靠性的基石,很多看起来神神叨叨的故障,最后无一例外都是虚焊冷焊。V0.3.0会收录一份“如何用热风枪吹下一颗QFN芯片”“如何检查BGA焊球是否有连锡”的图文教程。虽然RM比赛大多数地方用不着BGA这种高密度封装,但学会处理贴片芯片的返工,是每个硬件工程师路上的必经关卡。
还有一块是关于电源完整性的实验课设计,比如“用频谱仪看开关电源的开关频率和边带噪声”“如何用近场探头做简易EMI定位”。这些内容可能超出新手需求,但会让有经验的队员获得新的武器。
最后再分享一个我在写这份讲义过程中的小体会。硬件调试的本质,不是追求一次成功,而是建立一个可靠的问题收敛流程。很多时候新队员面对一个复杂故障时会慌,因为他们在尝试杂乱无章的“试错法”——换一个电容、调一个参数、重新上电,碰运气。这份讲义想传递给他们的,其实是一套“可重复的排查方法论”:从系统拓扑出发,沿着信号流和功率流一步步缩小范围,用测量数据而不是直觉做判断。只要掌握了这个思路,哪怕你以后不做RM了,去搞任何嵌入式硬件开发,这套方法论都是通用的。这也是我坚持迭代这份讲义的最大动力。