ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

电赛智能送药小车硬件方案全解析:选型、电源、电机与调试实战

电赛智能送药小车硬件方案全解析:选型、电源、电机与调试实战 今年电赛这道智能送药小车题看起来是个新面孔但硬件部分其实考的都是基本功。我们队当时选的是这道题从四月底备赛到六月底比赛被硬件坑了不知道多少次——电机驱动烧了两块板电源纹波导致摄像头花屏编码器信号被电机干扰到直接跳数。回头看这些问题大部分都是方案阶段没想清楚埋下的雷。这篇文章就把我们整套硬件方案从头到尾摊开讲从选型逻辑到电路设计到调试方法给准备复现这道题的队伍做个参照也帮刚开始接触嵌入式硬件的小白理清一套完整的思考路径。1. 先从赛题读出硬件需求送药小车到底要什么1.1 题目任务的本质拆解2021年这道送药小车题任务核心是让小车把药送到指定病房。听起来是纯软件问题但硬件的每一项选择都被题目任务卡得死死的。我们把题目反复读了几遍拆出了硬件的三个核心约束。第一个约束是识别病房号。小车必须看到写着数字的标识牌然后根据数字把人送到对应位置。这意味着车上必须有一套视觉识别硬件——摄像头加处理芯片。数字识别需要的算力不高但对硬件实时性和稳定性的要求不低尤其是场地光线复杂、数字可能倾斜或缩放的情况下。第二个约束是停车位置精度。题目要求车到病房门口停车位置偏差要控制在小范围内。这就直接把硬件的底线亮出来了——电机必须有闭环控制也就是电机要带编码器或者用步进电机。开环的普通电机基本没戏因为车轮打滑、电压波动都会导致里程计算飘得离谱。第三个约束是自动往返。送完药要回起点路径规划不仅要走得准还得能倒车、能拐弯、能掉头。车体结构上必须支持灵活运动底盘选择会直接影响后续算法的实现难度。1.2 用一张选型推导表串联所有硬件需求读题之后我把硬件需求整理成了一张推导表左边是赛题能力要求右边是对应的硬件支撑。这张表在后面做方案评审时帮了大忙也推荐给准备参赛的队伍。赛题要求硬件支撑选择倾向识别病房号摄像头视觉处理模块OpenMV/K210等集成视觉模块避免在单片机上调图像算法精确停车带编码器的直流减速电机霍尔/光电增量式编码器1:30左右的减速比最合适自动往返灵活底盘能倒车驱动的电机驱动两轮差速底盘双向H桥驱动麦轮/全向轮反而增加控制难度路径规划与决策主控运算STM32F1以上GPIO丰富、定时器多适合多传感器同时工作人机交互显示与按键OLED按键旋钮赛场上调参速度决定调试效率双车协同发挥部分无线通信模块NRF24L01或者HC-05根据是否需要双向交互来选择这张表的价值在于每一个硬件都不是我觉得好就上而是被题目需求推导出来的。备赛队最常见的问题就是东西买了一堆最后发现有的模块根本用不上或者核心模块选型错误导致整体返工。1.3 我们最终敲定的硬件全家福最终我们车上的硬件清单如下整套下来当时成本大概八百块左右除了3D打印的架子大部分都是市面通用模块主控STM32F103ZET6核心板当时手头现成的逐飞科技或者正点原子的板子都行视觉OpenMV4 H7 Plus摄像头模块电机带霍尔编码器的JGB37-520直流减速电机减速比1:30左右各一个驱动TB6612FNG电机驱动模块两路电源三节18650锂电芯串联实测也可以用两节T型升压模组传感器红外测距模块停车检测、灰度巡线模块路径校正显示与操作0.96寸OLED屏、旋转编码器按键无线NRF24L01模块双车协同用辅助结构3D打印的摄像头支架、电池固定架、PCB固定板这套方案也许不是最优解但它是我们在满足功能和降低调试成本之间找到的一个平衡点。硬件方案不怕保守怕的是没有充分验证就上车。2. 核心大件怎么选主控、电机与驱动器的取舍2.1 主控STM32F103系列为什么够用以及它的边界很多队伍一上来就纠结要不要上STM32F407或者干脆用树莓派。我们最终用的F103ZET6理由很朴素送药小车要干的活F103的算力完全够而且资料多、故障排查方便、外设配置成熟。干活分析一下视觉识别数字由OpenMV完成主控主要工作是——读取编码器脉冲、计算PID控制量、输出PWM给电机、接收OpenMV串口数据、控制OLED显示、处理按键输入、跑NRF24L01的SPI通信。这些任务里面流量最大的也就是编码器读取和PID运算。F103的主频72MHz要在1ms定时中断里完成两路编码器读取加PID计算CPU占用率大概也就两成到三成。如果再加个巡线传感器和蓝牙调试依然留有很大余量。F103真正的边界在哪里如果你打算把视觉识别算法也跑在主控上比如想省掉OpenMV直接摄像头采图、在F103上跑数字识别那它的算力和内存都撑不住识别一帧要几百毫秒小车早就冲出去了。另外一个边界是如果你要用无刷电机或者闭环步进需要高频电流环控制F103的单周期浮点能力不够F407或者专用驱动方案更合适。F103也有浮点单元缺失的问题做PID时如果大量用浮点运算效率会低一些但我们实测用整数PID完全够用后面细说。2.2 电机直流减速电机是这道题的性价比之选电机选型是硬件方案里争议最大的。送药小车可以用直流减速电机、闭环步进电机或者伺服电机三者的定位精度和价格成正比。步进电机最大的优势是不需要编码器就能实现粗略定位——开环运行固定步数小车就能走个大概距离。但步进电机的扭矩随转速上升掉得很快而且低速运行时振动和噪音偏大对电池电压波动又特别敏感。我们在实验中发现相同赛道条件下步进小车在起步那一瞬间经常丢步丢一次步整个里程模型就崩了。送药小车要求的是稳不是准到毫米级步进在这里性价比不划算。直流减速电机编码器是电赛智能车最常见的组合。它的逻辑是电机同步转动车轮转动圈数通过编码器测回来形成速度闭环。你不需要知道电机本身转得有多准只要编码器反馈准确PID就会自动修正。JGB37-520这种带霍尔编码器的电机减速比1:30六伏供电时空载转速大概300转每分钟扭矩足够驱动小车在赛道上快速起步和刹停。霍尔编码器是电机内部带的一圈磁铁加霍尔传感器电机每转一圈输出固定数量的脉冲。JGB37-520常见的参数是11线码盘也就是输出轴每转一圈编码器输出11个脉冲。减速比1:30意味着电机轴转30圈输出轴转1圈所以输出轴每转一圈能测到330个脉冲经过定时器四倍频处理能达到1320个计数单位。这个分辨率对于病房门口停车这种精度要求是绰绰有余的。2.3 驱动板TB6612的使用细节与电调方案的对比电机驱动方案也是很多新手容易踩坑的地方。市面上常见的三个选择L298N、TB6612、自制MOS H桥我们最终选了TB6612不是因为它最强而是因为它最适合这道题。L298N太老了驱动能力虽然是双路2A但内部用的三极管导通压降能到2V以上6V的电池经过L298N到电机可能只剩不到4V电机扭矩大打折扣。而且它发热严重模块体积又大放在小车上挤占空间。TB6612FNG是东芝的MOS管驱动芯片单路最大1.2A连续电流导通压降只有0.5V左右效率高、发热小、体积小PWM响应频率也支持到100kHz以上完全满足小型直流电机的驱动需求。TB6612用起来有三个细节需要注意。第一个是VM引脚接电机电源电池电压VCC引脚接逻辑电源3.3V或5V两者不能接反VM如果接了5V而电机需要7.4V供电转速会不够。第二个是芯片的休眠引脚STBY必须拉高否则所有输出都是高阻态电机完全不转。第三个是AIN1/AIN2加PWM的关系正反转逻辑是固定的接线时注意和编码器的方向信号配合否则PID调了半天发现是电机方向和编码器方向相反。自制MOS H桥可以作为进阶方案。它能承受更大电流、压降更低但保护电路、死区控制、体二极管续流这些全要自己设计调试量非常大。对于比赛来说时间应该花在控制策略上而不是和半桥驱动电路较劲。3. 电源链路设计电池电压怎么变成每个模块的口粮3.1 从实际功耗算出一块电池要多大电源系统的设计直接决定小车能不能稳定跑完三分钟的赛程。这块被很多人忽略觉得电池只是给电机供电而已结果是比赛跑到一半电压跌穿单片机复位成绩作废。我们当时做了个功耗估算。两个电机正常匀速运动时总电流大约0.8到1.2A起步加速瞬间能冲到2A以上。OpenMV模块满载功耗大约150mA主控板和传感器加在一起大约100mA无线模块发射时峰值约十几个毫安。总的平均功耗在1.2A左右峰值接近2.5A。赛程要求三分钟内完成任务加上赛前调试和试跑实际电量需求要按连续运行20分钟来设计比较稳妥。如果用2600mAh的18650电芯三节串联总能量是7.2V乘2.6Ah等于18.7Wh平均1.2A放电可以支撑约两小时足够。关键是电芯的实际可用容量不能按标称算锂电池安全放电一般用到30%就要留余量所以我们宁可多装一节电芯也不要卡着最低需求来。3.2 五伏/三伏三路的供电划分与降压芯片选择车上的供电需求并不统一。电机要电池直供电压主控板和编码器要5VOpenMV模块可以宽压输入5到12VNRF24L01和OLED则必须3.3V。如果一路降压搞定所有负载电流分配不均会导致电压跌落OpenMV这种对电源纹波敏感的模块首当其冲。我们的电源划分是三级。第一级是电池电压直出供电机驱动VM引脚。第二级用一个降压模块把电池电压降到5V供应主控板、编码器、灰度传感器和OpenMVOpenMV的5V输入口直接供电。第三级用AMS1117-3.3从5V降压到3.3V供电给NRF24L01、OLED和旋转编码器。降压模块的选型上我们用过MP1584模块和TPS563210模块。MP1584足够便宜芯片最大输出3A开关频率100kHz到1.5MHz可调在负载跳变时恢复速度一般但只要在输出端加上220uF的电解电容就能改善。TPS563210的输出纹波会更低但我们实测显示的差别在正常赛道环境里感觉不到所以最终选了更适合学生党的MP1584方案。关键是模块上的可调电位器一定要先把输出电压调准再焊接到小车上不然上电先烧传感器。3.3 防反接与过流保护上电瞬间炸机的原因和预防电池接反是电赛硬件事故的头号原因没有之一。最惨的一次我们的队友把XT30接头焊反了一接电池主控板上的稳压芯片直接冒烟GPU供电一个引脚烧断。这完全可以通过一个二极管或者MOS管防反接电路解决。最简单的防反接是串联一个肖特基二极管正向导通压降只有0.3V左右接反时反向截止保护后级电路。缺点是一直有0.3V的压降电池7.4V到电机就成了7.1V损耗不大但存在。进阶方案是P-MOS管防反接正常时MOS管导通几乎无压降接反时MOS管不导通。我们后面采用了P-MOS方案型号用的是AO3401效果稳定。如果你赶时间肖特基二极管方案完全够用别为了省那0.3V压降而冒烧板风险。过流保护方面正规思路是用自恢复保险丝——过流时电阻变大断开拔电冷却后自动恢复。我们在主电源输入串联了一个1.5A的自恢复保险丝电机堵转时能及时切断保护驱动芯片和电池。有队伍用了普通保险丝一旦烧断要拆壳换比赛的宝贵时间全浪费了。3.4 电池电压检测与低电量逻辑锂电池放电到单体3.0V以下就属于过放会对电芯造成不可逆损害轻则容量下降重则鼓包失效。送药小车比赛过程中如果电压太低还硬顶着跑电机会因为欠压而扭矩不足PID怎么调都调不出效果最后表现为同样一段路越走越慢。我们在主控板上留了一个电压检测电路——用两个电阻分压把电池电压降到ADC可测范围比如7.4V经10K和10K分压得到3.7V接到STM32的ADC引脚。程序里轮流检测电池电压并显示在OLED上低于设定阈值时蜂鸣器报警。这个硬件设计看似简单但在赛场上的作用极大什么时候该换电池、什么时候电量不足以完成一次正式任务一扫便知。如果用两节18650方案电压范围6到8.4V分压比选2:1刚刚好如果用三节18650方案电压范围9到12.6V分压比要选4:1。建议比赛前把电池充电到电压上限比赛开场时用万用表确认一遍赛程中只看OLED上的电压数值别靠感觉。4. 电机闭环控制的硬件支撑编码器与限位保护4.1 编码器选型和接线霍尔与光电到底差在哪编码器有霍尔和光电两种主流类型送药小车用霍尔编码器更省心。光电编码器通过码盘遮挡红外光束来产生脉冲优点是响应快、精度高但问题是特别怕灰。赛场地上虽然不算脏但车上电机高速旋转时会把灰尘带起来码盘上落一点灰就丢脉冲。霍尔编码器靠磁铁和霍尔传感器工作不接触、不怕灰、耐振动虽然精度略低于高端光电但对送药小车足够了。编码器的接线要分清哪路接定时器通道。STM32的定时器编码器模式用的是TI1和TI2两个通道对应定时器的CH1和CH2引脚。电机编码器输出通常是A相、B相两根信号线分别接入某个定时器的两个通道。我们左轮接TIM4的CH1、CH2右轮接TIM3的CH1、CH2这样互不干扰后面写程序时左右轮的数据结构也对称。另外编码器的VCC一般接3.3V或5V我们用的是5V供电但信号输出是3.3V电平和STM32的GPIO电平兼容直接连接没问题。如果你的编码器是5V输出的古董型号要加电平转换或者分压电阻不然长时间可能损伤STM32的引脚。4.2 STM32定时器编码器模式的接线与配置要领STM32F1系列的定时器自带编码器接口模式硬件上能自动判断方向并递增或递减计数比在中断里手动数脉冲高一个量级。配置的关键有三点。第一点编码器模式的时钟源。配置TIM_SMCR寄存器的SMS位为编码器模式3定时器会同时以TI1和TI2作为时钟源相当于硬件四倍频。JGB37-520的11线码盘通过四倍频后编码器计数能达到44个/电机轴每圈再乘以减速比1:30输出轴每圈1320个计数。第二点ARR寄存器的设置。编码器模式用的是循环计数ARR设成0xFFFF即可也就是65535溢出自动回绕。读取时用dir*CNT - 上次CNT的方式计算增量方向由dir判断这样不管正转反转都能正确积分。第三点输入滤波。这是最容易踩坑的配置项。电机运转时电刷火花会对编码器信号造成干扰如果不开启输入滤波定时器会频繁误触发计数器乱跳。做法是把TIM_ICFilter设为0x0F这个值是数字滤波器采样周期通常可以滤掉几百纳秒的噪声脉冲。我们实测开启这个滤波后编码器的跳数从每转几十个骤降到正常效果立竿见影。4.3 电机驱动输出端的机械限位和电气保护小车跑赛道最怕的不是正常行驶而是卡住不动——轮子顶到赛道边缘或者被门挡卡住电机堵转。堵转时电流飙升到正常工作的三四倍几分钟就可能把TB6612芯片烧坏。电气层面的保护有两种。第一种是软件限流检测编码器计数连续几个控制周期没有变化同时电流传感器示数偏高我们用的INA240采样电机电流就主动切断PWM输出。第二种是硬件保险在电机驱动VM引脚串一个自恢复保险丝堵转电流超过阈值时自动断开电机回路保护驱动芯片。两个配合堵转时既不会长时间伤驱动也不会因为保险丝断开而完全失控。机械层面的保护同样重要。我们在车轮和底盘之间装了限位挡板防止转向过猛时车轮架把舵机/转向结构顶坏。这里特别提醒电压高、速度快的车转弯时惯性很大限位挡板的强度一定要够我们第一版用3D打印的PLA挡板比赛第三天就撞裂了后来换成玻纤板才稳定。4.4 电机抖动与PWM频率的关系硬件层面的排查方向很多队伍调PID时发现电机在低速时发出尖锐的滋滋声往复抖动无论怎么降低PID增益都解决不了。这往往不是控制问题而是PWM频率过低导致的扭矩脉动。驱动TB6612的PWM频率如果设在1kHz以下电机的电磁力矩在每个PWM周期内会出现明显的波动尤其是占空比小时断断续续电机会发出可听见的共振声。把PWM频率提到15kHz以上超声波频段内人耳几乎听不到电机运行会明显平滑。我们的做法是定时器PWM输出频率设为20kHz和PID控制周期1ms完全解耦问题立刻消失。如果你发现抖动始终无法消除还有一个硬件排查方向检查电机供电线上是否加了足够大的电容。电机是感性负载PWM切换时会产生反电动势尖峰如果驱动板的电源端没有100uF以上的电解电容尖峰就会沿着电源线干扰编码器和主控。我们在电池端并联了470uF电解电容0.1uF陶瓷电容组合这个组合是给电机续流和滤波的黄金搭档。5. 视觉与通信模块的硬件连接OpenMV、遥控端与双车协同5.1 OpenMV与主控的串口电气匹配问题OpenMV识别到病房号后需要把结果告诉STM32主控。这个通信链路非常简单——UART串口接两根线就能通。但越简单的链路越容易在电气细节上翻车。OpenMV的UART引脚电平是3.3VSTM32的UART引脚电平也是3.3V二者可以直接互通。问题出在有的队伍把OpenMV接在5V逻辑的Arduino上或者用了市面上某些兼容板把OpenMV的IO口拉到了5V然后把信号直接接到STM32上导致STM32的引脚过压损坏。接线前一定用万用表确认两边的逻辑电平一致。波特率选多少也有讲究。OpenMV识别一次数字大约耗时50到100毫秒识别结果就一两个字节115200的波特率传输一个字节不到0.1毫秒绰绰有余。没必要为了省时间用更高的速率——波特率越高抗干扰越差车上一堆电机驱动电路是天然的电磁干扰源。通信协议建议用带帧头帧尾和校验的固定帧格式比如帧头0xA5、帧尾0x5A、中间一位数据表示病房号、一位校验作为帧头帧尾的异或值。这样即使偶尔有干扰字节混进来主控也能通过帧头帧尾识别并丢弃错帧。5.2 摄像头安装方式视角、高度与减震细节OpenMV的安装位置直接决定视觉识别的成功率。这个点很少有人专门讲解但经验最值钱。摄像头高度建议在8到15厘米之间太高会看到太多地面无关信息太低又会把数字放太大导致识别框出画。安装角度尽量让摄像头光轴垂直于数字牌表面如果倾斜角超过30度OpenMV的AprilTag识别精度会明显下降数字识别也会受到透视畸变影响。我们用的是3D打印的可调角度支架赛前实测了几十次最终确认正对前方、略微下俯5度左右最稳定。减震是另一个容易被忽视的环节。小车轮子碾过赛道接缝时车身会剧烈抖动OpenMV拍到的画面如果模糊识别率会有肉眼可见的下降。我们用硅胶减震柱把OpenMV底座和底板隔开同时把镜头用热熔胶固定在支架上防止漂移。硅胶柱的硬度要适中太软会让摄像头自己晃悠太硬等于没减震。5.3 OLED显示和按键输入的硬件接线方案赛场上看不到电脑屏幕所有调试信息都要靠车上的显示设备。OLED成了调整PID参数、查看电池电压、观察识别状态的核心窗口接线难度不高但值得整理一套固定方案。0.96寸OLED用I2C接口通信SDA和SCL引脚分别接STM32的PB7和PB6I2C1VCC接3.3VGND共地。注意很多OLED模块自带上拉电阻如果STM32的I2C1上拉也已经开启信号会被双重上拉电平高点偏高但实测一般没啥问题。我的建议是直接把OLED模块的SDA、SCL接到STM32的I2C引脚硬件上不做多余的上拉靠模块自带即可。按键输入我们用了带旋转编码器的旋钮模块——一个按键加一个旋转编码器能实现上下选择、确认、返回三个操作比矩阵键盘省GPIO。旋钮的A、B相接到两个GPIO并开启外部中断按键接一个GPIO全部下拉输入。有了这套交互硬件赛场上调整PID参数就不需要反复插拔下载器烧程序了节省的时间非常可观。5.4 双车协同的无线模块NRF24L01供电和天线布局如果发挥部分需要两台车协同送药通信模块是少不了的。NRF24L01是电赛最常见的2.4G无线模块价格十几块钱空旷传输距离能到一百米以上满足室内赛道需求。但它的硬件布线非常讲究手艺。NRF24L01的供电必须是3.3V电流峰值在发射瞬间能到100多毫安。如果你把它直接接在STM32板的3.3V引脚上发射瞬间会导致板子上其他3.3V外设电压跌落OLED直接闪屏OpenMV甚至可能复位。我们专门给NRF24L01配了一个低压差稳压芯片比如ME6211供电并在它电源引脚附近加了一个10uF陶瓷电容作为瞬态储能。天线的布局同样影响稳定性。NRF24L01用的是PCB天线天线伸出部分必须离开金属物体和主控板超过一厘米避免天线被金属地平面吸收信号。我们第一次装车时把模块天线贴着电池放结果双车通信一直断断续续后来把天线竖起来朝上问题立刻消失。还有一点两辆车最好都用同款模块天线方向尽量一致通信的成功率会提高不少。6. 硬件调试的完整链路从裸板到整车稳定6.1 上电前检查万用表就能避开大多数低级事故每次改完电路、焊完板子上电前我会强制自己走一遍检查流程大概五分钟能避开八成以上的低级事故。第一步目视检查。看板子上有没有锡渣连锡、电容极性装反、电解电容炸裂痕迹、排针歪斜。第二步万用表蜂鸣档量电源输入端的短路情况。正负极之间如果有几十欧姆以下的低阻抗说明后级有短路必须排查。第三步量关键电压点对地电阻比如5V稳压芯片的输出端如果有短路上电必烧。第四步确认所有的电源模块输出调在了目标电压上再断电接入负载。当时比完赛我给下一届学弟学妹整理过一张检查清单每次上电前对照着打钩。廉价万用表的读数精度足够用来做这种级别的验证不用迷信示波器。上电的时候也讲究顺序——先给主控上电然后单独给OpenMV上电最后再给电机电源上电。如果每一步都正常再进入下一步出问题时能够快速定位故障模块。6.2 模块级调试顺序绝不跳过任何一步整车第一次上电后直接从整体功能开始调试是新手最容易犯的错误。我们总结了一套模块级调试顺序每完成一步就标记一次确保下一层调试时有一个可靠底座。第一步点亮主控。烧一个简单的LED闪烁程序确认芯片工作、下载器连接稳定。第二步验证电源。OLED显示电池电压ADC读数与万用表实测偏差在0.1V以内。第三步验证电机PWM输出。用开环固定占空比让电机转用万用表直流档量电机驱动输出的平均电压是否随占空比线性变化。第四步验证编码器。用手慢慢转动车轮串口打印编码器计数是否平滑增减。第五步验证视觉模块。OpenMV单独运行数字识别程序把识别结果通过串口转发给上位机确认识别准确率。第六步验证无线模块。两台车互发数据包统计丢包率。这个顺序的核心思想是一次只验证一件事。如果直接跳到系统联调出了问题无法判定是哪个模块的锅调试时间会成倍增加。6.3 示波器排查信号干扰的实战案例编码器跳变、PWM纹波备赛期间最难忘的一次排障是编码器计数在电机转动后出现了大规模跳变——速度闭环完全瘫痪车一跑就拐弯。我们先后怀疑过编码器坏、程序BUG、电源不足折腾了整整一天最后用示波器才定位了根因。把示波器探头夹在编码器A相引脚上明显看到信号在电机PWM切换的瞬间叠加上了一串高频振铃幅度能达到2V以上直接超过了STM32引脚的逻辑阈值。这是典型的驱动回路干扰——电机线走线过近、未加续流电容PWM开关瞬间产生的尖峰通过空间耦合进编码器信号线。解决方案有三步把电机线和编码器线分开走线、相隔两厘米以上电机电源端加上470uF电解电容编码器信号线各串联一个33欧姆电阻和STM32内部滤波配合构成RC低通。改完之后示波器再测振铃幅度降到0.3V以下编码器计数恢复正常。PWM纹波也是示波器检查的重点。电机驱动电源端如果纹波过大会影响OpenMV的供电。测量时示波器探头用10倍衰减档交流耦合能看到100mV以下的纹波是正常范围。如果纹波有几百毫伏优先怀疑降压模块的开关频率电感感量不匹配在电源输出端加一个LC滤波就能改善。6.4 整车装配时容易忽视的固定与散热问题硬件调试到最后最难的不是电路而是机械装配。小车上每个板卡都要固定牢靠否则车一颠簸电路接触不良比赛时直接断电。我们认为比较可靠的固定方案是用铜柱加PCB板做一个两层结构底层放主控板和电机驱动上层放锂电池和OpenMV。铜柱使两层板之间形成散热通道电池不紧贴PCB板避免电池发热影响稳压芯片。所有接插件用热熔胶加固——尤其是XT30电池接头、电机接线端子、编码器插座这些摇一摇就会松脱的位置热熔胶是比赛圈最实用的固件材料没有之一。散热方面TB6612驱动芯片在长时间运行时表面温度能到60多度摸上去烫手。我们在芯片表面贴了一个小铝制散热片再配合板上通风孔温度能降个十几度。STM32主控本身发热不大不需要额外散热但如果是夏天室内场地没空调加上车里密闭空间建议给主控板也留出散热空间。装配完成后的最后一步是整车振动测试——用手捏着车架用力晃或者推车跑过一段颠簸路面然后检查是否有松动部件、是否有异响、是否会自动关机。这一步通过硬件部分才算真正完工。整套方案做下来我最深的感受是送药小车这道题比的就是硬件的可靠性工程。每个模块单独拿出来都不难但组合在一起之后电源、干扰、机械固定这些看起来不起眼的细节才是决定你最终能不能稳定完赛的关键。如果你们队正在备赛希望这篇硬件篇能帮你们少走一些我们走过的弯路——至少别在比赛前一晚还拿着示波器对着编码器信号发愁。
返回列表