
工创大赛的备赛季又到了每年这个时候都有队伍来问我“学长我们车子装好了布线也理清楚了怎么上赛道就是跑不直”我一般先不问算法先问一句“你这轮子是哪来的主控用的什么电机带编码器吗”往往问到第三步问题就浮出水面了。智能物流小车这个赛题表面上看拼的是算法和调参实际上真正决定上限的是硬件选型。选型选得好后面调PID、调视觉、调机构都是在同一条起跑线上打磨选型选得随意轻则多花几百块冤枉钱重则比赛当天车在赛道上原地打转连一次完整任务都跑不完。这篇先写硬件选型部分把主控、电机驱动、传感器、供电底盘这几块最容易踩坑的地方逐个拆开聊全程不带厂商滤镜只讲我用过、测过、翻过车之后留下的结论。1. 先看懂赛题再选硬件跑得稳比跑得快更重要很多人选硬件有一个习惯先看网上哪个模块火哪个参数高先买回来再说。备赛时间一长桌面上堆了一堆“可能用得上的模块”真正上车的没几个。这不是个例几乎每个赛季都能见到。智能物流小车这个赛题的选型逻辑应该反过来——先看规则和任务拆解再倒推硬件需求最后才去逛淘宝。1.1 智能物流小车赛题到底考什么工创大赛的智能物流小车核心任务是让小车在指定场地内完成物料搬运、识别分拣、定点投放这一类动作。场地里通常有明确的黑白轨迹线、物料区域、卸货区有的赛题还会加入颜色标签识别、二维码识别、障碍物避让等附加任务。这就决定了小车本质上是一个“低速高精度”平台不是“高速竞速”平台。赛道上跑得再快一旦物料抓取失败或者停点位偏了照样扣大分。所以选硬件的第一原则是“稳”第二原则才是“快”。电机扭矩够不够、编码器分辨率够不够、传感器采样频率跟不跟得上、主控算力会不会成为瓶颈这些才是核心问题。1.2 从任务反推硬件需求清单我习惯在选型之前先列一张需求表把赛题里每个任务拆开对应到具体的硬件需求再决定买什么。比如循迹行驶需要灰度传感器或电磁传感器数量视轨迹复杂度而定常规3-8路需要考虑传感器安装高度和间距。物料抓取需要舵机、机械爪或吸盘舵机需要独立供电避免和主控共地干扰。视觉识别需要OpenMV、K210或树莓派级别的视觉模块且要考虑与主控的通信方式串口、I2C、USB。避障停车需要超声波或激光测距模块用于检测障碍物或停车点。动力与转向直流减速电机编码器或步进电机方案驱动方式决定轮速控制精度。电源系统电池容量、电压等级、放电能力以及稳压模块的电流冗余。这张表列完你再去选型思路就完全不一样了。你不是在“挑好看的模块”而是在“匹配需求”。这也是整个避坑指南最核心的方法论——先有需求后有选型。不要反过来。2. 主控板选型别被“性能焦虑”带偏主控是整车的“大脑”也是选型中最容易陷入焦虑的部分。有人觉得STM32F103不够用直接上RT1062甚至树莓派也有人图省事买Arduino开发确实快但后期做闭环控制时资源捉襟见肘。两种极端我都见过。2.1 为什么STM32F103系列仍然是主流答案如果你去翻近几年的工创赛智能物流小车技术报告会发现STM32F103系列尤其是STM32F103C8T6出场率极高。原因不是它性能多强而是它刚好卡在“够用”和“便宜”的最佳平衡点。72MHz的主频虽然不高但跑两路编码器测速、三路串口通信视觉模块、遥控、调试、一组PID控制、PWM电机驱动完全够用。64KB Flash、20KB RAM对这类任务来说不算富裕但只要你不在里面跑图形界面或者存大量图片绰绰有余。更重要的是STM32的生态太成熟了。CubMX配置工程、HAL库开发、各种开源例程、论坛资料遇到问题随便一搜就有答案。备赛周期通常只有几个月你不可能把时间花在啃芯片手册上。选择生态成熟的芯片本质上是给自己留了“快速排错”的后路。2.2 核心板、最小系统板、自制板怎么选市面上主控板形态有三种核心板、最小系统板、自己画板。对大部分参赛队伍来说我的建议是直接用核心板底板方案不要自己做最小系统。核心板的好处是晶振、复位电路、USB转串口、甚至仿真器都集成好了你只需要关心怎么把引脚引出来接到底板上用。新手用核心板可以省掉至少一周的硬件调试时间。特别提醒一句很多队伍贪便宜买那种只有芯片和引脚的“最小系统板”结果发现还得自己焊晶振、配启动电路一上来就劝退一批人。如果你有PCB设计基础可以考虑把底板画成集成驱动、传感器接口、电源管理和主控座子的一体板。这样做的好处是整车线束整洁、故障点少比赛现场检修也方便。但前提是你要有把握一次打样成功不然打样周期加返工时间成本非常高。2.3 引脚、定时器、Flash之外的隐性指标选主控除了看芯片型号还需要关注几个容易被忽略的指标这些往往决定了你的开发体验定时器数量四路电机测速至少需要四个定时器的编码器模式如果还要做多路超声波测距定时器资源会更加紧张。串口数量视觉模块一个串口、蓝牙模块一个串口、调试打印一个串口三个几乎是底线。如果串口不够就得考虑用软串口模拟会占CPU且不稳定。ADC通道灰度循迹传感器如果走模拟量输出需要占用ADC通道8路灰度就是8个ADC引脚通道数不够就得加模拟开关增加复杂度。5V和3.3V电平兼容很多传感器是5V供电的主控IO是3.3V虽然绝大多数情况下3.3V逻辑能识别5V信号但依赖“绝大多数”在比赛现场就是赌博。表常见主控方案对比方案 | 主频 | 优势 | 劣势 | 适合场景 STM32F103C8T6 | 72MHz | 生态成熟、资料多、例程丰富 | Flash/RAM偏小、算力一般 | 纯循迹简单视觉/无视觉 STM32F407VET6 | 168MHz | 性能翻倍、外设丰富、带FPU | 价格略高、引脚多导致布线复杂 | 需要视觉复杂控制的进阶车 K210开发板 | 400MHz双核 | 自带KPU加速可跑简单CNN模型 | 开发资料相对少、外设资源有限 | 视觉识别任务重、需要本地推理 树莓派Pico/RP2040 | 133MHz | 便宜、MicroPython开发快 | 实时性一般、环境依赖大 | 快速原型验证不适合最终参赛如果你问我最稳妥的组合那就是“STM32F103C8T6核心板自画底板”预算控制在百元以内性能完全够用遇到问题资料最多队友之间协作也容易。3. 电机和驱动动力选型决定小车能不能按要求走电机是整个小车最“物理”的部分也是翻车率最高的部分。很多队伍选电机只看转速和电压拿到手一装上发现走直线都费劲或者爬个小坡就憋停这就是典型的选型没考虑扭矩和编码器。3.1 直流减速电机的关键参数怎么看市面上常见的智能小车电机分几类TT马达、直流减速电机如JGA25、MG513、步进电机、无刷电机如大疆RM3508。对工创赛来说我个人最推荐的是带霍尔编码器的直流减速电机常见规格为12V供电、减速比1:30左右、空载转速300rpm上下。很多人只看“转速”和“电压”忽略了一个更关键的参数——“减速比”和“额定扭矩”。减速比越大同样的电机体积下扭矩越大、转速越低。对于需要负载物料的物流小车来说起步、爬坡、急停都要求电机有足够的扭矩储备否则一旦车轮被卡住电机就会堵转发热轻则过载保护重则烧驱动。我一般建议电机空载转速选在250-350rpm之间这个区间配合直径65mm左右的轮子小车速度大概在0.8-1.2m/s既有一定的速度余量又不至于快到让循迹传感器跟不上。太快了转弯时重心偏移和打滑会让你怀疑人生。3.2 编码器是生活必需品还是加分项直接给结论如果赛题要求走直线或定点停车编码器是必需品不是加分项。没有编码器你只能靠开环控制电机转速受电池电压波动影响极大——电池满电时车跑得快没电时车跑得慢PID压根无从谈起。带霍尔编码器的电机一般输出AB两相脉冲通过主控的定时器编码器模式可以读出转速和方向。选型时注意编码器分辨率常见的为11线或13线即每圈输出11/13个脉冲4倍频后约44/52个脉冲对物流小车来说够用了没必要追求过高分辨率。坑点提醒霍尔编码器线很细焊接时容易虚焊而且电机运转时线缆会跟着抖动建议用热缩管固定根部或者直接买带接插件的版本。我见过不止一支队伍在比赛前一天发现编码器读数时有时无最后排查出来就是线头松动。3.3 驱动方案TB6612、BTN7971还是分立式H桥电机驱动是另一个容易踩坑的地方。市面上常见的方案有TB6612FNG、BTN7971、L298N、以及自己搭H桥。TB6612FNG单通道最大持续电流1.2A左右峰值3.2A体积小、压降小适合中低功率电机如JGA25系列。缺点是电流余量不大电机堵转时容易过热。L298N老牌驱动便宜大碗但压降大2V左右发热严重效率低。电池电压本来就不高再被L298N吃掉2V电机实际工作电压可能不到标称值。BTN7971持续电流大压降小带电流检测输出适合大功率电机但价格偏高一般用在需要大扭矩的车型上。自制H桥用分立MOS管搭成本低、可定制但对硬件设计要求高新手不推荐。我的建议是常规小车用TB6612FNG注意在驱动芯片底下铺铜散热如果电机额定功率超过30W或者需要爬大坡再考虑BTN7971。同时强烈建议在所有电机电源端并联一个大容量电解电容470uF以上可以有效抑制电机启停时对板子电源的冲击。4. 传感器选型堆料是最贵的弯路传感器这部分我见过最夸张的队伍一辆小车上装了8路灰度、一个OpenMV、两个超声波、一个激光雷达、一个IMU车重比人家多了一半程序里还有一半传感器没调试完。最后比赛的时候能稳定工作的只有灰度。传感器选型不是“多多益善”而是“够用且可靠”。每多一个传感器就意味着多一路接线、多一份代码、多一个故障点。4.1 循迹方案灰度、电磁、视觉怎么按赛题场景选循迹是物流小车的基操。最常见的方案是灰度传感器其原理是不同颜色表面对红外光反射率不同传感器输出模拟量或数字量。选型时注意几点路数选择常规赛道5-8路足够弯道多就选8路简单直线赛道4路也能跑。不要在“路数焦虑”里迷失8路以上基本是摆设。间距调节传感器的安装间距要和小车车轮轮距匹配一般排列宽度要覆盖赛道黑线的宽度通常2-3cm。有些传感器模块支持调节安装间距这个功能很实用。模拟量输出优于数字量模拟量可以通过阈值判断黑白之外还能检测“灰度渐变”对赛场光线变化的适应性更好。电磁循迹用电磁传感器感应赛道上的通电导线是另一类方案优点是不受光线影响缺点是需要赛题支持场地铺导线且调试门槛略高。如果赛题明确支持电磁循迹这其实是更稳的选择。视觉循迹用摄像头识别赛道线是最“高级”但也是最容易翻车的方案。光线变化、镜头畸变、曝光不稳定都会影响识别通常需要配合图像处理算法占用主控大量算力后期调试成本极高。除非赛题强制要求视觉否则不建议作为主循迹方案。4.2 视觉模块OpenMV与K210的取舍工创赛的物流小车十有八九会涉及物料颜色识别、二维码识别。这种任务你需要一个独立的视觉模块和主控通信。主流选择是OpenMV和K210。OpenMV H7系列我用了好几个赛季最大感受是例程多、文档全、调试方便。IDE里可以直接看帧率、看阈值二值化效果对于比赛这种“快速出结果”的场景非常友好。自带MicroPython环境写颜色识别、二维码识别基本是搬运官方例程再改改参数。缺点就是价格略贵而且对于复杂模型比如分类网络跑起来吃力。K210的优势是算力强、价格便宜自带KPU可以跑轻量CNN模型适合做物料分类这类任务。但它的开发环境相对小众资料不如OpenMV多而且调试时需要额外学习。如果你的队伍里有人熟悉其开发流程K210是性价比极高的选择如果都是新手不建议在备赛期从头摸一个陌生平台。最后是多层板载一体方案有些队伍会直接用手机/树莓派做视觉性能确实强但体积、功耗、开发复杂度都在那摆着除非你目标就是冲国赛大奖且有相应技术储备否则慎选。4.3 测距与避障超声波和激光TOF实际场景表现避障模块最常见的是超声波HC-SR04和激光测距TOF如VL53L0X。超声波便宜但有几个先天不足测量角度偏大约15度对窄小障碍物容易漏检不同超声模块之间还会互相干扰多路同时工作会出现串扰响应速度慢高速运动时候测距数据滞后。适合低速、近距离的停车检测。激光TOF模块VL53L0X测量精度高、响应快、方向性好但价格略高而且测量范围通常在2m以内。实际使用中我一般把TOF用于“精确停车”场景比如检测到物料区距离超声波用于“粗略避障”场景比如检测大体积障碍物。这里有一个容易被忽略的细节传感器的安装位置。超声波探头离地高度、朝向角度都影响检测结果装得太低会误检地面纹理装得太高又检测不到低矮障碍物。实际测试时不要只看“能不能检测到”要记录“在什么高度、什么角度下稳定检测”。5. 供电、底盘与常见购买陷阱硬件选型的最后一块是那些看着不起眼、但会突然“要命”的环节——电源、底盘、以及淘宝套餐里的猫腻。这几个地方的坑往往在赛前测试阶段集中爆发。5.1 电池与电源分配独立供电比什么都重要很多队伍用一块航模锂电池给所有设备供电这是最常见也最危险的方案。电机启动瞬间电流能达到正常工作电流的3-5倍会把电池电压瞬间拉低导致主控复位或者让传感器读数跳变。跑一次车复位三四次你会崩溃的。正确的做法是分路供电电机用电池直接供电主控、传感器、舵机通过稳压模块独立供电。哪怕共用一块电池也要在电机电源和逻辑电源之间做隔离至少加一个一级LC滤波或DC-DC隔离模块。舵机更要用独立稳压它堵转时电流很大曾见过有人用7805给舵机供电一堵转直接过热烧掉。电池容量和放电倍率也要算。电机额定电流1A、四轮就是4A加上传感器和主控整体电流轻松到6-8A。如果电池标称20C、容量2000mAh最大放电电流40A表面看够用但实际上高倍率放电下电压跌落比想象中明显。我一般建议至少选2S 2200mAh 30C以上的锂电并根据赛事时长留出30%以上余量。5.2 底盘和轮径选择的实际影响底盘方案通常有现成亚克力板、碳纤维板、3D打印定制几种。亚克力便宜但脆钻孔容易开裂碳纤维轻且结实但是贵而且导电必须注意布线绝缘3D打印可以定制结构但要考虑打印强度和层纹方向。轮径的选择直接和电机转速、减速比挂钩。前面提到电机空载转速250-350rpm配65mm直径轮子线速度大约0.85-1.2m/s。如果想跑快一点可以把轮径加大到80mm但随之而来的是加速性能下降、转弯时离心力变大。建议在赛场上实测不同轮径的稳定性再回归选型。还有一个很多人忽视的轮子材质。硬塑料轮在光滑地面打滑严重软橡胶轮抓地好但磨损快。比赛场地如果是光滑的喷绘布一定要选软胶轮。5.3 淘宝上那些“工创赛全套件”的猫腻淘宝上搜“智能物流小车套件”会出来一堆所谓的“工创赛全套件”。我的建议是如果你已经看过这篇文章不建议整套买。这些套件的通病是“能跑但不精”——电机往往是便宜TT马达无编码器灰度传感器数量虚标主控板缩水底盘是公模通用款换赛题就要大改。便宜的套件最大的问题不是硬件性能而是“它无法让你理解每一部分为什么这么选”。备赛的意义不只是拿奖更重要的是搞明白系统是怎么协作的。如果你买回来一个用面包板插满杜邦线的成品车算法写不进去、模块换不了这比赛就只剩下“拍照留念”了。如果非要买挑那些“允许自由选配”的店家只买底盘、轮子、电机这些结构件主控、传感器、驱动模块自己单配。这样既能保证质量也能让你真正掌控整车的设计。6. 一套模板级的整车选型组合参考写到这里列一个我自己用着最稳的“模板级”选型组合给正在纠结的队友一个参考。这个组合不是性能最强的但一定是省心程度和稳定性双高的。项目 | 型号/规格 | 理由 主控 | STM32F103C8T6核心板 | 性能够用、生态成熟、资料丰富性价比极高 电机 | JGA25-370带霍尔编码器12V减速比1:30 | 扭矩够、精度达标、体积合适适合三轮/四轮底盘 驱动 | TB6612FNG双路驱动模块 | 压降小、体积小配大电容使用更稳 灰度 | 8路数字量/模拟量灰度传感器 | 覆盖主流赛道宽度兼顾弯道和十字路口 视觉 | OpenMV H7 Plus 或 K210开发板 | OCR和颜色识别性能足够例程丰富/算力强按熟悉度选择 测距 | VL53L0X激光测距模块 | 精度高、方向性好用于定点停车再备一个超声波做避障保险 电池 | 2S 2200mAh 30C航模锂电 | 电流余量大续航约30-40分钟足够多次调试 底盘 | 3D打印定制或优质铝板底盘 | 结构轻、刚度好、可定制性强这套组合下来硬件成本大概在400-600元之间性能足够跑完一般的工创赛省赛任务。如果你目标冲国赛可以在这个基础上升级视觉模块、加IMU做惯性辅助、上霍尔编码器更高分辨率的电机但核心骨架不用大动。选型文档我建议也留一份。把每个模块的选型理由、接线定义、测试记录都写下来后面调试和写技术报告都能用上。很多队伍技术报告写得痛苦就是因为前期选型过程没记录临到交报告才回忆什么都想不起来。7. 写在最后硬件的尽头是调试时间这篇把硬件选型的主要坑先踩了一遍最后想分享一个感受硬件选型做的所有努力本质上都是在为调试阶段争取时间。选型稳一点后面的算法调试就能少一些“这叫什么事”的突发状况选型随意一点调试期就会不断被“换电机”“换传感器”“加电容”打断。我个人的体会是硬件选型不要追求一步到位更不要追求“顶级配置”。每一步选型都留一点冗余、留一些测试记录比什么都重要。下一篇文章会接着讲机械组装与硬件调试环节的细节包括走线的讲究、重心分配、传感器支架设计这些“看不见但影响巨大”的问题。先把选型这关过了后面会顺很多。