智能车电路开源实战:从Buck电源到IR2110驱动的完整指南 21届智能车赛季结束以后我把Soberup战队疯狂电路组的东西从头到尾整理了一遍十几版原理图、PCB工程、调试记录、调参日志外加一堆“当时要是早点明白就好了”的教训打包放进了开源目录。有人问我把电路组老底亮出去明年怎么跟人打我的回答是智能车电路这东西从来不是靠藏两张图就能赢的你把原理图给别人别人照样要被Buck的电感啸叫、IR2110的自举电容失效、差分放大的地环路干扰折磨一遍这些坑只有自己踩过去才算是自己的。这篇开源目录说明既是给你们做参考也是给我们战队做一次完整的赛季复盘。21届疯狂电路组最大的特点是电路板不受官方标准板的约束电源、驱动、传感调理都能自己设计自由度很高但对基本功的要求也随之拉满。文章里我会把开源目录的模块划分、几个核心电路的选型和计算过程、比赛现场真正容易出问题的环节以及我们踩过的最深的坑从头到尾说清楚。希望对准备做电路组的队伍、对想搞嵌入式开源项目的朋友都有点参考价值。1. 开源目录里到底放了什么敢把电路组“底裤”亮出来1.1 “疯狂电路组”疯狂在哪以及为什么自研电路值得做先解释一下“疯狂电路组”这个词。智能车竞赛里部分组别允许车队自行设计传感器、电源和驱动电路不强制使用组委会或者赞助商提供的现成板子。21届开始赛制对电路自研的包容度提高很多队伍在摄像头组、电磁组里都开始尝试自己画功率板。所谓“疯狂”就是指电源、电机驱动、信号调理、通信接口这些全部自己搭从立项到上赛道全链路都掌握在自己手里。刚组队的时候我们也有队员觉得直接用官板、换换参数就能跑何必自己画板。但实操下来发现官板为了兼顾各种车模和传感器电路往往是通用设计性能余量给得很保守。比如摄像头供电纹波、电机驱动死区时间、电流采样带宽这些点通用板不会专门为你优化。而疯狂电路组的意义就在于你可以针对自己车子的实际电流曲线和传感器布局把每一路电源、每一个信号链路都调到最合适的状态。哪怕只是让图像噪声少几个灰度值弯道入弯就能早两毫秒识别。当然自由也意味着责任全部自研的麻烦在于问题定位难度成倍上升。你无法再跟队友说“这是官板的问题”每一个奇怪现象都可能来自原理图、PCB布局、焊接、参数配置中的任何一环。开源目录里的所有文件就是我们跟这些“锅”斗争一整年的结果。1.2 目录结构不是随手丢工程文件而是按模块踩坑记录组织很多队伍开源就是丢一堆 .zip 和 .sch下载下来根本不知道从哪看起。Soberup的开源目录花了大概两周时间整理原则很简单一个功能模块一个文件夹每个文件夹里必须有原理图、PCB、测试数据、踩坑记录四层内容。没有测试数据支撑的原理图基本等于没开源。目录顶层是这样划分的power_system电池输入防护、DC-DC降压、LDO、电压监控、EMI滤波。motor_driver半桥驱动电路、自举电容选型、死区配置、MOSFET选型对比。sensor_frontend摄像头供电与信号调理、电磁信号差分放大、RC滤波参数表。reliability复位电路、外部看门狗、通信接口RS485、电平转换。control_notes方向环角速度输出、舵机执行标定、速度环调试记录。这么划分的好处是别人拿到目录以后可以按自己的需求直接跳转到对应模块。比如你只想看驱动电路就不用去翻电源部分的一堆EMI测试波形。每个模块里的“踩坑记录”是我们特意加的。传统开源一般只给“正确方案”但真正有价值的往往是“错误方案为什么会错”。比如驱动模块里记录了我们第一版IR2110电路在高端MOS开关时偶发栅极欠压的问题传感器模块里记录了电机启动导致图像行抖动整个排查链路。这些内容才是复现时最省时间的东西。1.3 开源到底图什么说句实在话开源对我们自己也有好处。赛季结束后很多电路细节如果不整理归档过半年自己都忘了当初为什么这么设计。把每个模块的计算过程、选型理由写成文档等于强迫自己重新审视一遍设计很多当时“感觉差不多就行”的地方在写文档时你会发现其实差很多。从比赛角度看电路设计水平在智能车竞赛里的区分度越来越高。开源目录如果能帮到其他学校的电路组让大家的起点都往上抬一抬比赛的整体水平也会更高这对所有队伍来说都是好事。2. 电源系统是车的心脏Buck电路选型与Buck-Boost边界2.1 电池、舵机、单片机三套电压体系各管各的疯狂电路组的第一步永远不是画驱动而是先把电源架构想清楚。我们车的电池用了2S锂电池标称7.4V满电8.4V放电截止我们设在6.6V。整车用电设备大概分三档电机驱动直接吃电池电压不走降压保证功率路径最短。舵机与摄像头舵机标称5V但启动瞬间电流能冲到1.5A到2A摄像头对纹波敏感一般5V降压后还需二级LDO或LC滤波。单片机与逻辑电路3.3V电流小但纹波要求高和模拟采样共用电源时更要小心。很多队伍图省事一路Buck输出5V然后5V接LDO出3.3V听起来没问题实测却经常翻车。原因在于舵机大电流瞬态会让Buck的输出电压出现几十毫伏甚至上百毫伏的跌落如果3.3V的LDO输入余量不够输出纹波会跟着变差。摄像头图像一旦出现行抖动你的图像处理再强也是白搭。我们的方案是5V主Buck只负责舵机、风扇、灯条这些“耐造”负载另一路独立的Buck输出5V专门给摄像头和传感器板单片机3.3V从传感器板上用低噪声LDO给出。多一路电源的成本不多但干扰隔离的效果非常明显。2.2 电感、电容、频率一次完整的Buck计算选型不靠玄学公式也就几个。以我们的5V主Buck为例输入最高8.4V输出5V负载按持续2A、瞬时3A设计开关频率取500kHz。占空比D大约是D Vout / Vin 5 / 8.4 ≈ 0.6。纹波电流取负载电流的30%左右也就是0.6A这个比例是工程上的常见折中——纹波电流太小需要大电感体积和DCR直流电阻都会变大太大则输出纹波和电感损耗都会增加。电感量计算L (Vin - Vout) × D / (f × ΔI) (8.4 - 5) × 0.6 / (500000 × 0.6) ≈ 6.8μH所以实际选了10μH的电感留一点余量。开关频率这块要特别注意500kHz属于中等范围既能保持电感体积可控又不至于让EMI处理变得太难。如果为了减小电感盲目上到2MHz布局不好辐射干扰会非常头疼板上的摄像头模拟信号很容易被带崩。输出电容的计算主要是看ESR对纹波的影响。Buck输出电压纹波的尖峰大部分由输出电容的ESR决定ΔV ≈ ΔI × ESR。想压到50mV以内ESR要低于80mΩ一般用一颗或两颗低ESR的陶瓷电容并联解决。陶瓷电容直流偏压特性明显16V耐压的电容在5V输出时容量衰减不大如果条件允许选25V耐压的电容更稳妥。2.3 Buck-Boost的可用边界不是哪里都需要升降压热词里一直有Buck-Boost电路我也看到很多队伍在电源部分强行上Buck-Boost理由是“万一电池电压波动呢”。实际上2S电池组在6.6V到8.4V范围内输出5V用普通Buck完全满足要求Buck-Boost不仅效率相对低环路补偿也更复杂容易自激。那我们还用不用Buck-Boost用但只在特定位置用。我们用Buck-Boost的地方是车载调试电路。调试时经常要接USB设备、无线模块、外置编码器采集盒这些设备有的要5V有的要3.3V而它们可能会从外部单独供电电压范围无法预知。这时候一块宽压输入3V到18V的Buck-Boost小板能保证不管外界供电是5V还是12V板内都能稳定输出所需电压。这个板子不必上赛道但能极大提高调车效率。如果一定要把Buck-Boost放到赛车上我的建议是看清楚负载电流。Buck-Boost的功率电感要承受更大的纹波电流转换效率通常比Buck低三到五个百分点在电池容量固定的情况下等于偷走了你的续航和功率余量。能用单级Buck解决的不要为了“显得高级”而增加风险。2.4 电源PCB布局最容易欠的账环路面积和铺地电路设计里真正决定成败的往往是PCB布局。同样的原理图布局差一毫米纹波噪声可能差一个数量级。Buck电路的开关环路是高频di/dt最大的区域面积必须尽量小。我们的做法是输入电容紧贴Buck芯片的VIN和GND引脚输出电感紧贴SW引脚输出电容紧贴电感后端和GND。铺地方面疯狂电路组的特点是大电流和模拟电路共存所以功率地、模拟地、数字地要分开铺然后在采样点或电源输出电容处单点连接。最开始我们不懂整板共地结果电流采样ADC数值抖得没法用后来把功率地单独拉了一整块区域模拟采样点从输出电容根部单独引线出来问题才解决。这个细节在开源目录的PCB文件里有点评标注大家可以对照看。3. IR2110半桥驱动与自举电容驱动电路里最隐蔽的“悬浮地”3.1 为什么放弃集成驱动芯片选择IR2110自己搭市面上有大量集成电机驱动芯片比如BTN7971、DRV8701外围元件少、调试简单。但疯狂电路组之所以自己搭半桥驱动主要有两个原因一是集成驱动芯片的封装散热能力往往限制电流上限持续大电流时要加散热片甚至主动风冷反而比分立MOS方案更麻烦二是集成方案把关键参数封装死了想调整死区时间、栅极驱动电流、开关速度都无从下手而智能车恰恰需要针对不同电机特性去调这些参数。IR2110是我们最终选的半桥驱动方案它有两路独立的高端和低端输出高端悬浮驱动能力外围只多一个自举电容和一个自举二极管结构简单。和常见的IR2104相比IR2110的好处是两路输入独立可以灵活配置成互补PWM或者独立开关配合高级定时器的死区功能很顺手。3.2 自举电容的计算不是拍脑袋也不是越大越好IR2110用在半桥驱动时高端MOS的栅极驱动电压来自自举电容。低端MOS导通时VS被拉到地VCC通过自举二极管给自举电容充电高端MOS要导通时自举电容放电给高端栅极供电。这个电容如果选太小高端开通瞬间电压跌落过大栅极驱动不足MOS管会工作在放大区损耗剧增如果选太大每次低端导通时间很短电容来不及充满同样会出问题。自举电容的经验公式是C Qg / ΔV其中Qg是高端MOS栅极总电荷ΔV是允许的栅极电压跌落。我们用的MOS管Qg约为60nC允许跌落0.5V那么C 60nC / 0.5V 120nF。实际工程上还要留至少5到10倍余量所以选了220nF。如果你的开关频率很低、占空比很小低端导通时间很短就要相应把电容加大到470nF甚至1μF或者在PWM策略上保证最低导通时间。这个坑我们真的踩过。第一版板子自举电容用了100nF空载测试、轻载测试都没问题一上跑道重载跑半圈后高端MOS就开始发热最后直接烧管。用示波器钳在VS到VB两端才看到重载时高端栅极电压掉了将近3VMOS管处于半导通状态导通阻抗飙升。换成220nF后问题消失这个波形记录也放进了开源目录。3.3 死区、VS尖峰和MOS体二极管的反向恢复半桥驱动必聊死区。如果上下管同时导通直通短路电流会瞬间摧毁MOS管。单片机高级定时器可以直接配置死区我们用的STM32F4系列TIM1和TIM8自带互补PWM死区寄存器比较方便。死区时间设置要参考MOS管的关断延迟和体二极管反向恢复时间我们的MOS管规格书上trr大概是30ns死区配置在100ns左右比较稳妥。太小有直通风险太大则会产生体二极管续流损耗影响效率。另一个容易忽视的问题是高边VS脚的负压毛刺。低端MOS关断瞬间由于寄生电感和体二极管反向恢复VS端会出现短暂负压如果超过IR2110的额定值可能损坏驱动芯片。解决办法是尽量缩短电机接线、在VS脚对地加一个快速恢复二极管或者瞬态电压抑制二极管进行钳位。我们实测发现不给VS做钳位时示波器能看到接近-7V的毛刺加上钳位管后毛刺被压到-1V以内这个改动对驱动板可靠性提升非常明显。3.4 推挽电路在栅极驱动和电平转换里的实际身影热词里还有“推挽电路”很多人以为推挽只是功放的事情其实在半桥驱动里推挽结构到处都是。IR2110内部输出级本质就是推挽结构用两个MOS管交替把栅极拉到高或拉到低这样既能提供大电流充电又能快速放电。我们板上还有三极管做成的推挽电路用在场效应管栅极驱动的加速上具体是PNP和NPN组成互补射极跟随器放在单片机引脚和MOS栅极之间提升栅极充放电速度。这个做法在驱动大功率MOS时很常见因为单片机的IO驱动能力有限直接推大栅极电容会大大拉长开关时间。电平转换电路里也能看到推挽思想。我们有个3.3V单片机到5V传感器的IO转换最省事就是两个三极管组推挽一个NPN一个PNP交叉连接基本不耗电、双向都能过。当然这种电路在高速信号上有局限串口和低频控制信号用起来没有任何问题。4. 传感器的“耳朵”差分放大、RC滤波与摄像头抗干扰4.1 差分放大在电流采样和电磁信号调理里各司其职疯狂电路组的“传感器耳朵”好不好使直接决定图像和赛道信息的质量。差分放大电路在车里有两个典型用途一个是电流采样一个是电磁信号调理。电流采样方面如果只做低端采样采样电阻在负载和地之间共模电压很低普通运放就够了我们用过OPA2333输入失调电压很低适合毫伏级信号放大。采样电阻压降只有几十毫伏要把它放大到ADC的满量程附近得先算好增益。比如10A电流流过10mΩ电阻压降100mV如果你希望ADC在2V左右得到满量程增益就是20倍。这个场景里真正难的不是算增益而是让运放输入端的两个差分走线等长且紧贴否则共模噪声全变成了差模误差。如果要采样电机高端电流采样电阻在电池正极和负载之间普通运放就没戏了因为共模电压就是电源电压远超运放供电范围。这时候要么用集成差分放大器比如INA240、AD8210这类高共模电压的电流检测放大芯片要么用仪表放大器。我们最终选择INA240共模电压可以吃下电池电压波动内部集成了滤波布板更省心。电磁信号调理则完全是另一套逻辑电磁杆上感应出来的信号只有几毫伏到几十毫伏同时还有大量20kHz以外的干扰。我们的做法是先用一个仪表放大器做差分转单端抑制共模干扰然后过带通滤波或者RC低通再进单片机ADC。关键点是传感器信号的地不能和电机驱动共用一个回路否则电流突变产生的地弹会让ADC读数随油门变化发生周期性偏移——这个我们在比赛调试时遇到好几次。4.2 RC滤波的截止频率怎么定别乱拧RC滤波看着简单截止频率f 1/(2πRC)但具体该滤多少很多人是乱给的。我们的原则是先搞清楚“有用信号的带宽”和“干扰信号的频率”让滤波器正好卡在中间。举一个实际例子电磁传感器信号本身是20kHz的交流信号整流滤波后我们只需要直流分量作为位置信息这时RC低通截止频率可以放到1kHz以下尽量平滑。又比如舵机PWM是50Hz如果传感器上混入了电机PWM的10kHz到20kHz开关噪声低通截止频率放在几百赫兹能把这些噪声压掉但如果你把截止频率放到1kHz图像或数值上还是会看到拖影。RC滤波的阻容选择要注意电阻值不能太大否则运放驱动能力不够输出会被拉低电容也不能太大否则响应太慢赛道元素识别会滞后。通常我们用的组合是1kΩ配100nF截止约1.6kHz或者在运放输出后加一颗22Ω串联电阻和1nF对地电容截止约7.2MHz来滤高频振铃。4.3 摄像头防抖机械只是表象供电和地才是命门很多人一提摄像头防抖就想到机械减震、软胶垫、3D打印支架加固。这些确实有必要但真正的图像抖动有相当一部分是供电纹波和地电位跳动造成的。摄像头是个典型的脉冲负载数据读取瞬间电流变化快如果供电路径太细太长或者电源地阻抗过高图像就会出现明暗条纹和行同步抖动。我们的摄像头供电链路是这样的5V传感器电源 → LC滤波10μH电感加100μF电容 → 3.3V LDO → 摄像头。LC滤波的存在相当于把摄像头和前面的Buck开关噪声隔离开来。实测这级LC对图像质量的提升非常明显之前不加LC时电机重载后图像暗部噪点明显增多加LC后图像灰度波动从±8个灰度值降到了±2以内。这个改进几乎没有成本强烈建议所有摄像头组队伍都试一下。摄像头信号线也需要处理。数字摄像头的D0到D7数据线在PCB上要尽量等长并且每根线靠近地线必要时加33Ω串联电阻抑制振铃。模拟摄像头则要在输出端做钳位防止瞬态高压打坏单片机ADC输入脚。4.4 一次“电机一转图像就抖”的完整排查过程这是我们赛季里最典型的一次排查过程很有代表性。现象是车子静止时图像清晰稳定一推油门电机转动图像就开始抖动而且抖动频率和电机转速成正比。第一步我们怀疑是摄像头供电被电机拉低就把示波器直接夹在摄像头供电电压上重载时电压确实有大约200mV的跌落但幅度算不上离谱。第二步怀疑是电机PWM辐射干扰给电机线套磁环、加滤波电容干扰有减弱但没根除。第三步才想到地弹——把示波器地夹夹在摄像头端正极和负极之间看发现地电位相对电池负极了有近500mV的噪声。问题根源是PCB上摄像头地线和大电流电机地走了同一段较长的铺铜电机电流在这个共用地阻抗上产生电压降摄像头地相对电池负极了被抬高了。解决方法是把摄像头地单独走一条粗线回到电源输出电容的根部和功率地只在电容处单点汇合。改完这两根线图像抖动立刻消失。排查全过程花了两天但最后改动的也就是地线走线。这件事之后我们对“地”这个东西特别敬畏。5. 可靠性三板斧复位电路、看门狗和RS4855.1 外部看门狗和内部看门狗哪个更适合赛场智能车跑赛道时最怕的不是慢而是程序跑飞然后车子直冲出赛道。赛场上电磁环境复杂电机驱动和无线模块同时工作单片机死机、跑飞的情况并不罕见。可靠性的第一道防线就是看门狗。内部看门狗STM32的IWDG当然能复位但它的时钟是独立的LSI精度一般超时时间设置不好可能误复位。WWDG窗口看门狗则要求在特定窗口内喂狗如果主循环因为某些阻塞卡住能更快识别。我们最终选择了外部硬件看门狗典型型号是SP706S或者MAX706硬件超时时间约1.6秒喂狗信号由单片机一个GPIO控制。外部看门狗的好处是完全独立于单片机器件本身单片机即使彻底跑飞、时钟崩了、JTAG都被占用它依然能按时拉低复位引脚。坏处是如果你把这个GPIO接错了或者初始化代码里忘喂狗板子会不断复位反而变成“无法启动”。我们的做法是上电后先屏蔽看门狗复位信号输出一小段时间让单片机完成时钟初始化和摄像头配置再开启喂狗。这个“初始化窗口”在开源目录里有详细代码注释。5.2 复位电路不能只靠RC要处理“掉电立刻上电”的场景很多人一画复位电路就是10kΩ电阻加100nF电容上电复位能用但有一个典型的坑比赛现场如果电源抖动电压掉到复位门槛以下又立刻恢复RC电容上的电压还保持着单片机复位引脚没有被拉低足够长时间就会造成“半复位”状态——外设没有完全重新初始化程序却继续跑表现出来就是车子失控乱冲。我们用复位监控芯片替代了纯RC复位型号是TCM809或MAX809原理很简单电源电压低于阈值比如2.93V就持续拉低复位引脚直到电源恢复到阈值以上再释放。这个方案能正确处理掉电瞬间和缓慢上电的场景。引脚上再并联100nF电容滤波避免噪声误触发。关于复位还有一个小细节单片机的NRST引脚在强电磁干扰下可能被噪声毛刺误触发。解决方法是复位引脚串一个1kΩ电阻再连复位芯片输出同时在引脚放10nF电容对地这样既能抗干扰又不影响正常复位。5.3 RS485与电平转换赛场上长距离调试不丢包很多队伍调车时用蓝牙或者WiFi传数据但比赛现场无线信道乱七八糟经常卡顿、丢包。我们后来改用有线RS485进行调试和数据记录稳定性完全是两个级别。RS485是差分信号抗共模干扰能力强支持多点连接用双绞线引出到跑道边距离几十米完全没问题。电路上我们用MAX3485这是3.3V供电的RS485收发器可以直接和单片机UART连接不需要额外电平转换。A、B差分线之间要加120Ω终端匹配电阻位置通常在总线的两端。如果不加长线上信号反射会让收发器误判逻辑电平出现偶尔乱码。此外为了让总线空闲时保持确定状态我们在A线加一个上拉电阻到3.3VB线加一个下拉电阻到地这样无数据时A-B始终大于200mV。RS485在智能车里还可以用于多车协同或者传感器间通信。如果有多台设备挂同一总线每个节点的收发器地址要设置正确并且发送逻辑要避免冲突一般用主从轮询结构不要让两个从机同时抢占总线。5.4 EMI滤波与功率地/模拟地的最后一公里可靠性里还有一个被低估的点EMI滤波。电机的碳刷在换向时会产生宽带火花噪声这会通过电源线和空间辐射两条路径干扰单片机系统。我们在电池输入端加了完整的EMI滤波器包括共模电感、X电容和Y电容同时电机线靠近电机端加了铁氧体磁环实测对电磁传感器和摄像头的噪声抑制效果非常明显。地线规划的“最后一公里”其实指所有地最终汇合的位置。我们整个板子的功率地、模拟地、数字地在原理图上看是分开的网络名但在PCB上最终通过一个点连接这个点选在电源输出大电容的GND引脚上。这样做的原因是让功率回路的瞬态大电流不经过模拟小信号的地平面避免共阻抗耦合。开源目录里有这个连接点的PCB截图照着做基本不会出大问题。6. 方向环PID输出的是角速度不是PWM执行端的标定哲学6.1 图像偏差到角速度方向环的中间量很多第一次做智能车的人最容易误解的一件事是认为方向环PID的输出直接就是舵机PWM。我们早期也这么干过结果车速一上去转向严重不足弯道里频繁冲出赛道。原因在于方向环的物理意义应该是“期望的航向角速度”而不是“某个执行器角度”。图像处理给出的是车子相对赛道的横向偏差和角度偏差方向环一般是PD或PID计算出的是一个控制量这个控制量的单位应该理解为rad/s即我希望车子当前以多大的角速度转头。为什么要用角速度而不是直接用PWM因为角速度是描述车子运动的物理量和车速、轮距、前轮转角都有明确的几何关系用它作为中间变量程序逻辑才能在不同速度下保持一致。6.2 角速度到舵机PWM的几何关系有了期望角速度ω之后还要把它变成舵机的PWM占空比。这里用到最简单的自行车模型车子的角速度与前轮转角δ和车速v满足近似关系ω v × tan(δ) / L其中L是轴距。反过来期望前轮转角就是δ arctan(ω × L / v)。舵机是一个角度伺服机构PWM占空比和输出轴角度近似线性但线性范围和死区都需要实测。我们的标定流程是先让舵机空载从PWM中间值开始左右各给不同占空比记录对应前轮转角做成一张标定表然后再根据上面的几何关系把“期望角速度实时车速”查表反推成PWM直接输出。这样方向环参数就变成了纯粹的物理量调参而不是调一堆无单位的PWM增量换个速度不用再重调。这里有个反直觉的结论如果车速越快同样的角速度需要的前轮转角越小因为角速度等于线速度除以转弯半径速度提高后维持同样的转弯角速度需要更小的转向角度。这也是为什么很多队直接把方向环输出加到PWM上低速时好用高速时转向过头或不足其实是这个非线性映射没有处理好。6.3 速度环和角速度环的串级关系有的方案会把角速度环和速度环串起来。比如导航层根据转向需求输出一个期望角速度速度环保证车子的速度是恒定的这时候方向环的输出可以直接送给底层执行器。也可以在阿克曼转向结构中让左右后轮差速把“角速度”转换成左右轮速差这样方向控制和速度控制天然解耦。速度环本身输出的是什么速度环PID输出最终是电机占空比或电流值单位不是角速度。从控制工程的角度看串级系统里内环输出的是执行器指令外环输出的是内环的给定值。如果你在软件里把速度环输出命名为“角速度”要格外小心因为后面执行器收到的其实是PWM一定要有一步单位换算否则代码可读性和调参效率都会很差。6.4 我踩过最狠的坑把PID输出直接当PWM给舵机这个坑我要单独拿出来说。有一版程序方向环PID输出限幅之后直接和舵机中值相加得到PWM。场上跑中速弯道还行速度一快就明显推头我一度以为是舵机响应慢换了更大扭矩的舵机问题依旧。后来把角速度和PWM的关系用示波器加编码器数据联合分析才发现高速时相同的PID输出对应的转角根本不够。改完标定表以后车子在高速弯的表现立刻上了一个台阶。这件事给我最大的教训是控制环节的每一个输出量都要明确它的物理单位哪怕只是给自己看的代码注释也要写清楚。不要小看这一步它能让你的调参思路清晰很多也能让你在比赛现场快速定位问题。系列开源目录里我们把方向环、速度环的所有标定数据表、拟合曲线代码、和PWM反查表都放了进去照着流程做一遍大概两天时间就能把转向链路标定完成而不需要像我们当初那样试错接近一个月。最后分享一点个人体会整理开源目录的过程中我把这一整年的电路设计和调车经历重新过了一遍最大的感受是智能车电路组拼的不是谁画的板子花哨而是每个环节谁更扎实。Buck的环路没算对负载一上来就露馅IR2110自举电容没算清重载跑几圈就烧管地线没规划好摄像头图像能折磨你一整个赛季。这些坑原理图上看不见示波器上一抓一个准。如果你们也在准备新赛季的电路组我建议从电源和信号完整性这两个方向入手先把示波器用熟再考虑堆功能。开源目录里的文件只是参考真正值钱的是我们记录的那些错误路径。希望Soberup的这份开源目录能让你们少走几步弯路也希望明年赛场上能见到更多自己画板、自己调电路的队伍。