ARTICLE DETAIL

建站实战干货

来自一线的建站与推广经验沉淀,每一条都经过真实交付验证。

电赛控制类备赛全攻略:从STM32到PID,四天三夜实战经验

2026/9/30 0:58:50 拓冰建站 浏览量
电赛控制类备赛全攻略:从STM32到PID,四天三夜实战经验 1. 写在前面电赛到底是一场什么样的比赛如果你最近刷到过电赛相关的帖子或者身边有同学在实验室通宵调PID、抱着STM32开发板满地找数据那你多半已经知道我说的是什么了。电赛全称全国大学生电子设计竞赛是电子信息类学科里影响力最大、覆盖面最广的赛事之一。每年吸引全国上千所高校、数万支队伍参加。拿奖的含金量在保研、求职、考研复试中都有实实在在的加分作用。这个比赛最大的特点是四天三夜封闭式命题团队作战。题目在比赛开始当天早上八点统一公布然后你的队伍要在规定时间内完成作品设计、制作、调试、论文撰写和现场演示。听起来很刺激对吧实际上更刺激。因为这不是“给你一个题目回去慢慢做”而是从拿到题目那一刻起倒计时就开始了。我参加过两届电赛一届控制类一届信号类拿过省级一等奖也在国奖边缘试探过。这篇攻略想做的事很简单把从赛前准备、队伍组建、技术积累、器件选型到四天三夜的实战节奏、避坑经验全部摊开来讲清楚。尤其是最近几年的题目趋势比如2024年的H题自动行驶小车、2025年的G题智能物流小车基本都是控制类的热点也是下届大家最需要关注的题种。如果你是大一、大二刚接触这个比赛或者已经报名但还在迷茫该准备什么这篇内容应该能帮你少走不少弯路。如果你是老手也可以看看里面关于评审视角和时间分配的经验说不定有不一样的启发。2. 赛制与赛道先把规则吃透再谈拿奖2.1 赛程安排和报名节奏电赛一般安排在暑假基本是七八月份开赛比赛时间集中在四天三夜通常从某个周四早晨开始到周日晚间结束。这个时间点很重要意味着你必须在学期结束前就把队伍、备赛计划、硬件基础全部搞定而不是等到暑假再临时抱佛脚。完整的参赛时间线大致是学校内部选拔前一年的年底到当年春季学期初很多学校会先组织校赛或者筛选从中挑出有潜力的队伍。别小看这步校赛题往往简单但筛选出来的人通常是后续战力核心。赛前集训五六月份开始学校会组织暑期集训内容涉及模拟电路、数字电路、单片机、传感器、电机控制等模块有的学校甚至会人手一块开发板做基础训练。正式比赛竞赛日早晨八点公布题目当周周日晚上八点封箱期间几乎所有时间都要贡献给作品。评测与复测比赛结束后几天内进行现场评测部分队伍还会被抽查复测测试作品在不同环境下的稳定性和重复性。如果你是第一次参赛我建议在大一或大二就开始接触电子设计相关内容。大一的优势是时间充裕哪怕拿不到奖积累的经验也会在大三那届爆发。2.2 题目分类与近年热点电赛题目种类很多但主流方向可以分成几大类控制类、信号类、电源类、仪器仪表类、通信类偶尔也有无人机、机器人、小车这类融合型题目。控制类一直是电赛的“主战场”尤其这三年几乎每年都有小车题成为参赛人数最多、竞争也最激烈的方向。几个比较有代表性的2024年H题自动行驶小车。用了STM32作为主控配合灰度传感器循迹完成固定路线的行驶和停车任务。这道题的难点在于路线识别的稳定性和速度控制的平滑性。2025年G题智能物流小车。这道题进一步升级不只是循迹而是要完成取货、搬运、卸货的完整流程涉及更复杂的路线规划、机械结构设计和任务切换逻辑。2024年还有信号类题目E题2025年也有E题信号题通常是做信号检测、波形合成、频谱分析一类的内容对模拟电路和FPGA的要求更高。从这些题目能看出来控制类题目的核心逻辑是传感器采集信息 → 主控处理决策 → 执行机构动作。看似简单但每个环节都能拉出很多细节这也是为什么控制类题目看起来门槛低做好却最难拿奖的原因。2.3 三人组队的角色搭配电赛是三人一队组队质量直接决定上限。见过太多队伍三个人都会写代码结果硬件出了问题没人会调也见过三个人都是硬件党代码写得一塌糊涂。合理的分工应该是嵌入式主程负责主控芯片的代码编写尤其是控制算法、状态机设计、传感器数据融合。这个人需要熟悉STM32的开发流程能快速调试外设驱动。硬件工程师负责电路设计、电源模块、驱动板焊接和调试还要能快速排查硬件故障。别小看这个角色比赛现场出问题最多的就是硬件。算法与文档负责复杂算法的实现比如PID参数整定、路径规划、论文撰写和框图绘制。电赛评分很大一部分来自论文和演示文档这个角色不是打杂的而是挣分主力。三个人需要提前磨合比如一起做一两套往年的题目搞清楚彼此的沟通方式和技术边界不然赛场上的时间根本不够用来吵架。3. 赛前准备技术栈、器件库与训练计划3.1 主控选型为什么STM32是“标准答案”控制类题目尤其是小车型题目最稳妥的主控方案就是STM32。不是说它性能有多强而是因为它拥有极低的入门门槛、庞大的资料库和极高的生态兼容性。比赛现场你遇到问题随手一搜就能查到类似案例这在四天三夜的极限环境里是巨大的优势。具体型号上常用的几个系列STM32F103C8T6入门首选价格便宜基本例程多适合做循迹小车、简单控制任务。跑72MHz主频性能对于大多数控制类题目够用。STM32F407VET6性能升级版168MHz主频带FPU浮点运算单元。如果需要做更复杂的算法比如卡尔曼滤波、更高频率的PWM输出这个型号更从容。STM32H750 / H743高端备用方案适合对性能要求极高的题目比如涉及摄像头视觉处理、复杂的人工智能推理。不过这类芯片调试复杂度也高不建议新手主用。我个人的建议是集训期用F103练手比赛阶段根据题目难度选择F103或F407。如果你连常规的GPIO、定时器、串口、ADC都还没玩熟先别急着上高端的基本功才是电赛的地基。3.2 传感器与执行机构的家底清单控制类题目的核心是感知和执行所以传感器和执行机构的储备一定要够。以下是几年电赛最常见的物料清单照着备基本不会错灰度传感器循迹小车的“眼睛”通过检测地面反射光来识别黑线。常见的方案有单路灰度模块和八路灰度阵列阵列可以直接输出每个探头的高低电平方便主控读线。编码器电机带霍尔编码器的直流减速电机是控制类题目的标配。通过编码器测速才能实现闭环PID调速让小车走得又稳又直。陀螺仪和加速度计MPU6050是大多数队伍的选择用于姿态检测、转向角度的融合计算对小车直线行驶和转弯控制很重要。OpenMV / 摄像头模块这几年视觉题越来越多OpenMV因为上手简单、Python编程成为比赛中的热门工具。缺点是帧率有限处理复杂场景时不够稳但应对电赛场地还是够用的。超声波 / 红外测距模块避障和定位的常用方案简单可靠适合解决防撞、停车类需求。OLED屏幕用于实时显示调试数据是调参时最容易忽略但极其重要的工具没有它你根本不知道小车内部的状态。执行机构方面除了直流电机和舵机还要准备一些常用的机械零件比如铝型材、亚克力板、万向轮、联轴器、螺丝螺母套装。电赛现场经常要现场搭建结构没有这些东西寸步难行。3.3 集训期怎么练从往年真题到模拟赛备赛训练不能瞎做要有节奏。我建议按以下三个阶段走第一阶段基础扫盲第1到4周先把单片机的常用外设全部过一遍GPIO点灯、外部中断、定时器PWM输出、ADC采集、串口通信、I2C读取传感器数据。这一阶段的目标不是弄懂每一个寄存器的原理而是做到“写代码时不查手册也能快速调用”因为赛场上的时间不会等着你翻资料。第二阶段模块验证第5到8周把每个会用到的传感器模块单独调试一遍比如灰度传感器在不同光线下的阈值变化、编码器在PWM频率下的测速精度、MPU6050的零漂特性。每一类模块都要留下自己写好的驱动代码和测试笔记这是你比赛时最宝贵的代码库。第三阶段模拟赛实战第9到12周找几套往年的真题2024年H题自动行驶小车、2025年G题智能物流小车就是很好的练习素材按照正式比赛的节奏给自己限定四天时间从头到尾做一遍。这个阶段的重点是体验完整流程包括选题决策、方案设计、分工协作、时间管理、论文撰写。模拟赛暴露的问题越多正式比赛就越稳。4. 核心技能拆解控制类题目的技术关键4.1 从传感器到执行器的完整数据链几乎所有电赛控制题都逃不开这套链路传感器 → 主控 → 算法处理 → 执行器 → 反馈。听起来很简单但真正做好需要理解每个环节的细节。拿2024年H题“自动行驶小车”举例。灰度传感器检测到黑线位置后输出的是模拟量或数字量主控读取后需要判断当前偏差方向然后调整左右电机的PWM占空比让小车回到线上。这个判断和调整的算法就叫控制律最常见的就是PID控制。但这里有个新手很容易踩的坑传感器数据不是直接丢给PID就完事了。传感器有噪声、有采样延迟电机有响应时间轮子有打滑地面有反光差异。所以实际的项目里你通常要先做数据滤波比如滑动平均、中值滤波再做速度平滑比如加速度限制最后才进入PID计算。数据链上任何一个环节处理不到位小车的表现都会很“神经质”。4.2 PID控制不只是调三个参数那么简单PID是控制类题目的灵魂。很多教程把PID讲得玄乎但实际上它就是根据误差来输出控制量的一种方法。P比例管“现在偏差多大”I积分管“过去累计了多大偏差”D微分管“未来偏差的走向”。实际调参的经验是这样的先把I和D设为0只留P从小到大慢慢增加直到系统开始振荡然后退回70%左右记为P的基准值。再加D用于抑制超调和振荡。D太大系统会很“抖”像神经质一样来回抽搐D太小又压不住超调。最后加I用于消除稳态误差比如小车走直线时始终偏左几个像素这就是稳态误差I能把这一点点偏差吃掉。调节顺序千万别反过来否则参数会互相干扰调到你怀疑人生。还有一个不少人都忽略的问题PID的周期要固定。无论你控制周期是10ms还是20ms必须用定时器保证每个控制周期的时间一致。如果不同步同样的PID参数在不同频率下表现完全不一样这就会导致你以为参数没调好其实只是定时周期乱了。4.3 别忽视机械结构跑得稳才会赢很多队伍把重心全放在代码和电路上最后栽在机械结构上。电赛的题目都是封闭环境场地平整、线路固定但你的小车如果轮子有虚位、重心偏移、电池固定不稳跑起来就会走偏、抖动甚至翻车。几个机械结构上的关键细节驱动轮和万向轮的配合两驱小车的前后重心要偏向后轮保证驱动轮有足够的摩擦力。轮距与轴距转弯半径和车体尺寸直接相关提前根据场地尺寸测试最小转弯半径别到了赛场上发现转弯撞墙。电池固定比赛过程中小车会急停急转锂电池如果只是简单放在底盘上一个急刹就飞出去了。用魔术贴或者3D打印固定座把电池牢牢锁住。走线布局电源线和大电流线尽量远离传感器信号线否则电机转动时的电磁干扰会串入灰度传感器导致误判。这些都是测试时看起来不起眼、比赛时却能致命的小事。四天三夜里你会做很多轮调整机械部分一定要留出足够的迭代时间。5. 四天三夜实战全流程从选题到封箱5.1 第一个上午选题决策只花两小时比赛第一天早上八点题目公布这时候全队必须坐下来花最多两小时决定做哪道题。这个决策的关键不是“哪道题看起来最熟悉”而是“三天后哪道题最可能做完整”。我见过不少队伍第一眼看到熟悉的题目就兴奋得不行结果做到第二天发现工作量远超预期换题又来不及最后交了个半成品。正确做法是把每道题的完成度拆解到模块级别评估己方队伍在硬件、代码、结构上的积累能不能覆盖80%以上的核心功能。比如看到2025年G题智能物流小车时你要快速判断的是灰度循迹有没有做过机械抓手有没有方案货架定位用什么传感器如果这些核心模块你前期都接触过那就果断选如果有些没把握看能不能在第一天白天用现有材料快速搭建一个能跑的基础版本晚上再迭代。5.2 节奏管理分阶段目标与“两个半天”定律四天三夜听起来时间很充裕实际上每天的节奏都非常紧张。我的经验是分成五个时间块Day1上午选题 整体方案设计 分配任务。Day1下午到夜间完成硬件搭建和基础驱动调试确保电机动起来、传感器读到数据。Day2全天完成核心功能闭环比如循迹小车已经能跑完一圈哪怕很慢、会抖动也算成功。Day3全天优化稳定性和精度完善额外功能写论文初稿。Day4白天整体测试、参数微调、论文定稿Day4下午到封箱前如果还有余力就继续优化但记住留出拍照和文档整理的时间。“两个半天”定律是我自己的经验第一个半天Day1全天必须让系统“跑起来”第二个半天Day3下午到Day4上午必须冻结功能、开始打磨稳定性。跑到Day4还在大改结构和大改代码基本等于宣告弃权。5.3 文档和演示评委的评分窗口电赛的评分不只是看你作品现场跑得好不好论文和演示文档占了很大的比重。有些队伍作品做得很好但因为论文写得潦草、框图缺失、数据不完整最后被扣分非常可惜。论文至少要做到系统框图清晰用标准框图工具画出主控、传感器、电源、执行器之间的连接关系让评委一眼看懂你的方案。软硬件设计流程完整关键电路的原理图要放出来代码流程图要画不能只贴一堆代码截图。测试数据要有对比性比如不同PID参数下的速度曲线对比、不同光线条件下的循迹成功率统计这些数据能证明你的系统经过了严格的调试和验证。问题和改进部分要真实直接说“我们遇到了什么问题、怎么排查、最后怎么解决”这种真实感反而加分。演示环节要注意现场环境和你实验室测试环境可能不一样。灯光变了传感器阈值可能失效地面类型变了灰度值也会变。有条件的话尽量在比赛教室的场地上多跑几轮把环境适应性的问题提前暴露出来。6. 常见问题与排查技巧实录6.1 小车跑偏和抖动从传感器到代码逐个排查小车跑偏是控制类题目里最典型的问题几乎所有队伍都会遇到。排查顺序非常重要我踩过的坑整理如下检查机械先看轮子有没有卡顿、轮胎磨损是不是均匀、底盘是否水平。很多时候跑偏根本不是程序问题是机械结构的问题。检查传感器灰度传感器的每个探头灵敏度不一样装在小车上以后还要重新校准阈值。光线不均匀也会导致传感器读数漂移。用OLED实时显示每个探头的值对比实际地面就能快速定位是不是传感器的问题。检查编码器反馈如果左右电机的编码器读数不一致就要考虑是不是轮子打滑或者编码器信号受干扰。拿示波器看一下编码器输出波形排除信号毛刺。检查PID参数如果以上都排除了那就是控制的问题。观察小车是“振荡式跑偏”还是“恒定偏移”前者是D不够后者是I不足或机械不对称。这个排查顺序能帮你从概率最高的地方开始查避免一上来就动代码结果发现是硬件接触不良时间就这么浪费了。6.2 灰度传感器在比赛教室“失灵”了怎么办2024年H题比赛时不少队伍在实验室测试一切正常到了赛场却发现灰度传感器读数变得很奇怪。原因大概率是比赛教室的灯光色温和实验室不一样或者地面上有隐形反光。解决办法有两个方向一是硬件层面把灰度传感器做成“可调增益”版本通过电位器调节比较阈值现场快速地校准一遍。如果时间够最好在模块里加一个环境光检测通道自动补偿。二是软件层面写一个“自动校准”函数上电后让小车先原地转一圈采集整个场地所有传感器的最大值和最小值然后自动设定黑线和白地的判断阈值。这个技巧能省去很多现场手动调参的时间强烈建议提前写好备用。6.3 电机驱动芯片发烫电源和散热的隐形坑控制类小车常用TB6612或DRV8833作为电机驱动芯片。比赛中经常遇到的一个问题是跑了几圈之后芯片烫得不能碰甚至烧毁。原因是电机急停急转时会产生很大的反电动势如果驱动芯片没有续流保护或者电源设计不合理芯片就会过压损坏。解决方法是在电机两端并联续流二极管电机自带或自己焊上吸收反向电动势。在驱动芯片电源引脚附近放一个大容量的电解电容470uF以上作为储能缓冲防止电机启动瞬间把电压拉低。电源线尽量用粗线降低线阻避免大电流在线路上产生压降。这个坑属于那种“一旦爆发就直接报废硬件”的类型四天三夜时间很紧坏了东西很难找到替代所以提前做好防护比事后再修重要得多。6.4 封箱前的最后两小时优先级清单封箱前的检查清单非常重要我每次比赛最后都会按这个顺序过一遍硬件固定所有螺丝拧紧电池固定牢靠开关能正常控制电源通断。代码备份把最终版的固件、工程文件、论文全部备份到至少两个地方U盘和网盘封箱后万一现场要复测至少代码还能调出来。演示流程重新走一遍演示流程确认上电顺序、启动按键、复位操作避免现场紧张导致操作失误。备用耗材把备用传感器、电池、螺丝放在一个包里封箱后也能快速取用。我自己就在封箱前踩过一次坑当时觉得所有功能都正常就没做最后的全流程测试结果第二天评测时发现电池电量不足导致电机无力车子起步爬不动坡分数直接掉了一大截。从那以后任何环节都必须在封箱前用最终状态完整跑一遍这个习惯能帮你避免至少30%的评测翻车。7. 冲奖经验从评委视角看哪些点最加分7.1 稳定性比花哨功能更重要很多队伍喜欢在比赛后半程加各种酷炫的功能比如用OpenMV识别数字、加语音播报、用手机App控制。但电赛评审的核心是规定动作的完成度和稳定性。评委看的是你能不能在规定时间内稳定完成规定任务而不是你的功能有多丰富。我的建议是先把基础功能做到95%以上的成功率再去考虑加分功能。如果基础功能还经常出问题那额外功能宁可不加。一个能在评测时稳定跑完规定路线的小车比一个功能多但偶尔失控的小车分数高得多。7.2 测试数据的完备程度是“隐形加分项”评委看论文和演示时最关注的是“这个方案是不是经过反复验证的”。如果你的论文里有完整的测试记录比如不同速度下的循迹误差表格、不同光照条件下的可靠性统计评委一眼就能看出你做的测试足够扎实。建议大家从比赛第一天开始就用一个电子的测试记录表格记录每次修改和测试的结果包括日期、修改内容、现象、是否通过。这既能帮你追踪问题又是论文数据的重要来源一举两得。7.3 答辩演示的节奏感评测现场一般有十分钟左右的演示和答辩时间。演示过程中要注意几点先简要介绍方案再开始跑车。不要一上来就演示评委可能还没理解你的系统构成。演示时不要反复重试。如果一次失败最多再试两次若还是失败就果断讲解设计思路不要浪费评委的耐心和你的印象分。答辩时遇到答不上来的问题不要硬编。直接说“我们当前方案考虑了这个问题但测试还不够充分”评委反而会认可你的诚实态度。最后再多说一句切身感受电赛真正重要的不是那一块奖牌而是带你走完一个“发现问题 → 设计实验 → 解决问题 → 验证结果”的完整工程闭环。这个能力在以后做项目、考研、工作中都会持续给你回报。如果你正在备赛别太焦虑结果把每一天的调试都当成一次积累你要的奖励会自然到来的。