第一次打电赛的人往往会低估一件事电赛里最耗时间的不是焊板子也不是写代码而是无数次推倒重来的过程。我自己带过几届队伍见过太多第一天信誓旦旦“这个方案肯定稳”的组到了第三天深夜默默把整套硬件架构换掉的场面。所谓6天5夜外界听起来像是一场体力和意志力的马拉松实际拆解开来它更像一场高强度的工程项目演练从拿到题目的一瞬间到作品封箱前最后一刻你需要在极短周期内完成方案论证、硬件搭建、程序调试、性能测试和文档整理。这篇文章想聊的就是这6天5夜究竟是如何被填满的哪些环节最容易反复返工以及怎么从流程和习惯上尽量减少无谓的推倒重来。电赛的迷人之处也恰恰在这份“紧张感”里。平时做课程设计还可以慢慢磨电赛却逼你在有限时间做决策什么时候该咬住一个方案不放什么时候必须壮士断腕换掉。这篇文章不是官方指南而是一份从实战里长出来的攻略适合第一次参赛的队伍、准备冲击国奖的老手以及想在赛前把节奏理顺的指导老师。我会把这段时间切分成一个个具体的动作告诉你每天到底在做什么哪里该提速哪里该慢下来。1. 赛前准备真正的胜负在走进赛场之前就定了1.1 器件清单和模块囤货策略6天5夜的第一天从来不是从拿到题目才开始算的。赛前那几周甚至前一个学期才是真正拉开差距的地方。很多队伍在群里问“比赛要用什么单片机”其实这是个伪问题。电赛的核心从来不是某一颗芯片而是你手里有没有足够多的验证过的模块能不能在几小时内把常见外设跑通。我建议的做法是一张“万能囤货清单”按功能分类备齐主控类STM32F103/F407开发板、MSP430、以及赛前常用的Arduino当作快速验证工具电源类LM2596降压模块、XL6009升压模块、AMS1117-3.3、TL431基准源、18650电池盒与各种DC-DC模块传感器类编码器、IMUMPU6050、超声波、红外对管、OpenMV摄像头、ADS1115外置ADC执行机构类直流减速电机、舵机、步进电机、对应的驱动板L298N、TB6612、DRV8825信号链类LM358、OP07、NE5532运放CD4069非门以及各种阻容、电位器、拨码开关囤货不只是“有”关键是“分类”和“标注”。我见过太多队伍死活在比赛时找不到一个100欧姆的电阻。动手能力固然重要但电赛拼的是信息检索和资源组织的效率。赛前花半天时间把所有模块贴上标签、写好测试代码比赛时节约的是以小时计的宝贵时间。1.2 代码模板和硬件库的复用价值如果说器件是弹药代码库和硬件库就是你的军火装配线。电赛里的代码模板不是网上随便下载的工程而是你自己亲手调试过、确认能跑的例程。这里有个很重要的习惯每用一个新的传感器或执行器就先写一个最小例程只做一件事并且用串口把数据打出来确认时序正确后再收进文件夹。我在赛前给自己的队伍立了一条规矩每个人必须用自己的模板而不是比赛现场临时去搜“某某模块例程”。因为临时下载的代码一是来源不明可能有坑二是你根本不知道它的时序细节和翻车点。自己写的模块封装哪怕丑一点出问题你能立刻定位。硬件库同理运放电路、电源滤波、传感器接口板这些常规模块可以提前画好原理图和PCB复用。比赛期间焊个临时板子容易但在6天5夜里去重新debug画错的封装那就是纯纯的浪费生命。1.3 从往年真题看今年的趋势看往年题目的方式也决定了备赛效率。我比较推荐“按类别拆真题”的复盘法而不是整套整套地做题。电赛题目大体分几类电源类、信号类、控制类、仪器仪表类和通信类。近几届的趋势是边界越来越模糊一道题里往往既有信号调理又有MCU计算还有闭环控制。比如某些题看着是测量仪器实际困难在微弱信号放大有些题看着是控制小车实际卡在电源供电的纹波处理上。准备时应该把重点放在“交叉地带”。通信和传感器融合、模拟前端配合数字滤波、电源转换与控制系统的配合这种能力才是应对新题型的底气。与其寄希望于押中题目不如把基础知识练扎实再积累一套“快速搭建通用架构”的本事。2. 拿到题目的黄金2小时选题定生死2.1 快速读题与需求拆解正式的6天5夜从题目公布那一刻就进入极高强度状态。很多人拿到题就急着动手这是大忌。前两个小时请冷静下来用笔在纸上把每个题目的硬指标和软指标拆开。硬指标是评测时能直接测的数字比如输出电压精度、纹波大小、测量误差、响应时间软指标是那些“设计得漂亮”的加分点比如人机交互、稳定性、可操作性。拆题时要特别注意题目里的“不低于”“不超过”“在…范围内”这些限定词它们直接决定了你的方案是否过硬。例如题目写“输出电压5V±2%”那么你的设计目标绝不能卡在5V而应该给到4.95到5.05V之外都算不合格的紧迫感设计目标定到1%才有冗余。在这个阶段我认为最有效的方法是一张“指标-方案对照表”。每一行写一个硬指标后面留空填你的实现思路、预留裕量、验证方法。这张表不仅仅是你设计的蓝图也是你后续写设计报告和应对测评现场提问的提纲。很多队伍做了一半发现指标不达标回头一看是在开头就没把这个指标拆清楚。2.2 方案选型为什么反复推翻都是前期没想透“反复推倒重来”这个现象其实很少发生在写代码的层面更多是方案层面。为什么总推翻本质上是前期没把约束条件想清楚。最常见的三种约束是成本约束器件就这些、时间约束整个系统最多留给联调一天、物理约束体积、功耗、发热。我见过最典型的翻车案例是选择了一个需要额外制板的高精度模拟前端打算比赛期间自己腐蚀或者打样PCB。结果板子寄回来发现封装错了浪费一整天。反观另一组采用现成的ADC模块加软件校准虽然指标差一点但完全在可控范围内最终作品很稳。电赛不是选最优方案而是选“在6天5夜能完成的最优方案”。这个思维转换能让你少走很多弯路。2.3 时间轴分配6天5夜的体力与脑力管理选完题后时间轴就该挂在白板上。常规分配如下Day0晚间到Day1中午确定题目、完成需求拆解和方案选型Day1下午到Day2傍晚完成主要硬件搭建和核心模块基础调试Day2夜间到Day4上午分模块联调、解决技术难点Day4下午到Day5下午整机联调、性能压测、反复优化Day5夜间到Day6上午封箱前最终验证、准备测评演示和文档Day6下午作品提交与现场测评这份时间轴表面上松散实则暗含了“必须在第4天前结束所有架构变动”的原则。我经历过最惨痛的教训是到第5天晚上还在改机械结构最后虽然功能能跑但稳定性和可靠性完全没有保证现场测评直接翻车。从第4天下午开始一切修改都只能是微调不能再动核心架构。谁违反这个原则谁就要为通宵和翻车买单。3. 制作与调试反复推倒重来的真正原因3.1 硬件搭建电源、去耦、接地的细节决定成败硬件搭起来看着快但真正的坑都在细节里。很多队伍把传感器读数不准归咎于器件质量最后排查半天发现是面包板供电线的压降太大或者ST-Link和传感器共地不当导致参考电平漂移。电赛里的硬件搭建首先要想清楚电源树系统里有哪些电压轨每个模块的峰值电流是多少哪一路最敏感。我举个具体例子一套常见的控制系统里MCU是3.3V电机驱动是5V或者12V传感器是3.3V或5V模拟前端要干净的模拟电源。这时候如果电机一转MCU和传感器电源纹波飙到几百毫伏传感器数据直接没法用。正确做法是数字和模拟分区供电最起码要在模拟部分加一级LC滤波或者单独的线性稳压。去耦电容不是玄学每个有源器件电源脚就近放0.1uF陶瓷电容关键模拟电路再加10uF电解你会发现数据稳定度完全不一样。接地的麻烦更大。在面包板和洞洞板上地线永远是“看不见的瓶颈”。我的经验是凡是涉及模拟信号测量的部分严格使用单点接地或星形接地避免把大电流地和小信号地共用一段长导线。很多队伍数据跳得离谱不是算法问题而是地线上的噪声被传感器一同读进去了。这方面的知识不深但特别注意一下就能避开很多半夜拆板的坑。3.2 单片机与外设联调中的经典坑单片机部分的代码往往不是最难的最难的是和外设“对齐时间”。I2C设备的地址问题、SPI时序的极性相位、UART波特率的偏差、PWM频率对电机噪声的影响……每一个都是经典坑。拿I2C来说新人最容易在OLED、传感器这类设备上卡住。首先是地址问题同样的模块不同批次可能地址不一样买模块时最好确认原理图上的地址或者去查数据手册。其次是上拉电阻模块自带上拉还好如果自己连线就得上拉不然SDA和SCL波形乱得没法看。再就是初始化顺序很多传感器对时序要求严格先复位后配置、等待Ready顺序错一步就白搭。另一个经典坑在编码器和电机。编码器Z相脉冲用来找零位但如果你在中断里只读了一个沿而没考虑正反转位置数据就会偏移。电机驱动的PWM频率太低会听到“滋滋”声太高又可能驱动芯片发热。这些没有标准答案只能靠测试。我在现场给队伍的建议是每联调一个新模块先写5到10行最小测试代码把数据串口打印出来肉眼确认而不是直接放进完整工程里盲调。3.3 模块化验证让每一段代码都可测“推倒重来”往往是因为代码一坨一坨地写到最后一跑全乱。正确做法是分模块开发每个模块都要可独立验证。开发顺序建议按照数据流来传感器采集先做输出显示其次控制算法再次最后才是整机联调。每写完一个功能模块就写一个简单的测试入口比如串口指令“test_adc”“test_motor”。这样在整机联调时任何环节出问题你都能迅速定位是采集坏了还是执行坏了而不是对着几百行代码发呆。这种“可测试性设计”的思想恰恰是电赛最值得学的东西它和真实行业的工程习惯完全一致。还有一点必须强调代码永远要有副本。我经历过最惨的事情是比赛第5天手滑把写好的整个工程覆盖了只能靠残缺的备份重写。从此以后我要求所有队员每完成一个可运行版本就在U盘和云盘各存一份命名带上日期和版本号。这个习惯看起来土关键时刻能救命。3.4 “推倒重来”的价值判断不是所有推倒都是灾难有时候它恰恰是避免更大失败的关键。关键在于你要能分清楚“有价值的重来”和“盲目的重来”。有价值的重来是当你发现原方案存在结构性问题比如选择的传感器精度达不到指标、电源方案供电能力不足、或者机械结构本身就不稳定。这些问题是战术上的即使再调试也修不好底层缺陷越早推翻损失越小。盲目的重来是当你只是因为局部参数不对、心态崩了就全盘换方案。这种情况往往是沉没成本作祟。我的建议是在决定推倒前先组织一次十几分钟的“技术评审”把当前方案的优缺点列出来明确要推翻的是哪部分、新方案凭什么更好、替换成本是多少。如果说不清楚就别推先去排查细节。电赛打到最后比的不只是手速更是决策质量。4. 综合测评与作品封箱验收环节的隐藏考点4.1 综合测评考什么、怎么练电赛的赛程里综合测评是一个特殊的隐藏考点。它通常在作品提交前或提交后单独进行形式是封闭式限时完成若干功能电路设计比如用指定的运放搭建滤波器、振荡器、比较器、波形变换电路等需要现场焊接并调试全程有测评老师巡视。综合测评最考验的是“手里有活”。那些平时只写代码、不焊板子的人到了综测会非常吃亏。我的建议是赛前无论如何要亲手焊熟几类基础电路同相/反相放大器、有源低通/高通滤波器、RC振荡器、滞回比较器。不要只看原理要实际搭出来测试体会电阻电容取值对频率响应的影响记住焊接和接线的捷径。综合测评还有个特点时间紧器件可能与你平时用的不完全一样。因此要练会“参数未知时快速估算”比如看到一个运放数据手册能迅速判断它的压摆率、增益带宽积是否满足你的需求。手算基本功这时候比任何软件仿真都可靠。4.2 演示视频、设计报告的速成方法很多人以为电赛只比作品其实演示视频和设计报告也占不小的分值。这部分的准备不应该拖到最后一天才临阵磨枪而应该在整机联调阶段就开始同步进行。设计报告的核心是逻辑完整、数据扎实。开头写清指标拆解和方案比较中间写具体电路设计和参数计算后面放实测数据和分析。特别注意报告中出现的每一个实测数据都必须是你真的测到的不能只抄仿真值。测评专家看报告看得极快他们专门挑那些“看起来不合理”的数据问如果你答不上来扣分就很难看。演示视频的拍摄也有技巧。提前把测试环境和步骤准备好视频画面要稳定、光源充足、仪表读数清晰。我建议先在草稿纸上写一份30秒到60秒的演示脚本第一步上电、第二步展示关键参数测量、第三步展示功能和稳定性。视频里不要杂乱地拍一堆无意义画面测评老师没时间看关键是快速抓住指标核心。4.3 现场测评的情绪管理与突发应对到了现场测评作品其实已经定型这时候真正比拼的是“临场发挥”。许多队伍平时调试完美一进测评室就手忙脚乱接线接错、电源没开、参数忘记设置……这些低级错误完全可以通过走流程来避免。我总结了一个现场“三查三看”的口诀一查电源电压是否正确二查信号线是否接对三查设备是否初始化完成一看仪表读数是否在预期范围二看波形是否正常三看时间进度是否够用现场突发情况几乎必然会发生比如测评老师要求现场换一个参数、重新测某个指标。这时候最忌讳的是慌张。你只需要记住只要硬件和代码是好的90%的突发问题都只是接线和设置问题。深呼吸按下电源开关重新再走一遍流程很多时候问题就自己消失了。5. 6天5夜时间线实录从Day0到Day65.1 Day0到Day1题目解读和方案评审比赛通常从中午或下午开始。Day0晚上到Day1中午是定方向的时间。很多队伍通宵达旦地“研究题目”其实效率很低。我更建议前几个小时全员安静读题每个人独立写下自己认为最关键的三个指标和最有把握的解决思路然后集中讨论。讨论时不要“争方案”而是“评方案”。每条方案都先回答三个问题能不能做出来、需要的核心器件有没有、最大的失败风险是什么。只要有一个问题回答不上来就说明方案还不成熟。这个评审流程尽量在Day1中午前结束然后果断开工。5.2 Day1下午到Day3模块冲刺从Day1下午开始是纯粹的“埋头干活”阶段。硬件组焊电源和信号调理电路软件组搭系统框架机械组拼结构。这段时间最容易出现的问题是各组之间缺乏沟通软件等硬件、硬件等机械时间就白白流走了。有效的办法是每天早中晚三次“站会”每次五分钟每人只说三件事昨天完成了什么、今天计划做什么、现在被什么卡住。被卡住的问题当场协调能当场解决就不要拖到下一轮。另一个经验是每个模块完成后立刻做一个“完成度标签”贴在板子上包括测试人和测试时间。这看起来像形式主义但最后一天你知道哪个板子能信、哪个不能信价值非常大。5.3 Day4到Day5联调与性能优化从Day4上午开始所有模块必须合体。这段时间是体力和精神的双重考验。联调时先跑通最简单的功能路径然后逐步叠加功能每次加一个就完整测一遍。这个阶段尽量不要并行开发新功能而要全力维护系统的稳定性。性能优化要使用数据而非感觉。比如要调PID参数就把目标速度、实际速度曲线通过串口导出看超调量和调整时间而不是凭手感拧参数。要测ADC精度就接一个精密电压源采几百个点看均值和标准差。这些数据不仅帮你决策还能直接写进报告。调了一下午还在原地打转的时候别死磕去睡半小时再回来往往一眼就看出问题在哪。5.4 Day6封箱、测评与复盘最后一天是收尾和验收。早上先做一次“模拟测评”按照正式流程完整演示一遍包括开机、参数设置、功能展示、断电重启。模拟测评时旁边一个人计时并做记录所有问题都当场解决。然后清理机箱、固定走线、贴好标签。提交作品后不要立刻走等测评结果出来后找机会和测评老师交流一下了解扣分点在哪。更重要的是回酒店或实验室做一次简短的团队复盘把这次参赛中“有哪些时间浪费了”“为什么反复推翻”“哪些环节可以提前准备”写下来。这份复盘文档比获奖证书更有价值。6. 常见问题与排查技巧实录6.1 电源纹波和传感器漂移整机一跑数据漂移这是电赛现场被问烂的问题。排查顺序我一般建议是先示波器看电源再看传感器参考电压最后才是软件滤波。很多时候是电源纹波过大尤其是电机启动瞬间电压跌落导致传感器读数突变。解决办法是加储能电容、独立线性稳压、或者让MCU在电机启动时做短暂的采集延时避开噪声窗口。如果排除电源问题数据仍然漂移就要怀疑参考电压或者传感器本身。比如电位器当分压器使用时接触不良会产生跳动使用NTC测温度时自热效应会让读数慢慢漂。这类问题的共性是“把物理量变成电压”这个环节引入的误差处理办法是校正或者做软件滤波。但软件滤波不能替代硬件处理滤波后的数据再平滑也是“坏数据被美化了”。6.2 通信时序和逻辑电平MCU与外设之间的通信问题排查时最好用的工具是一台示波器或者逻辑分析仪。先看波形是否完整再看器件手册核对时序。常见问题是I2C总线被某个设备拉死、SPI的MISO/MOSI接反、UART的TX/RX交叉没注意。这些坑的本质都是“接线和时序的错位”用万用表测量连通性再看数据手册里的时序图三分钟内基本能定位。逻辑电平不匹配也是高频坑。比如5V的单片机和3.3V的传感器通信可能不一定会坏但可能会偶发错误。解决办法很简单要么用双向电平转换模块要么选择同电平的传感器模块不要抱着侥幸心理“先试试看”。比赛期间没有那么多试错机会。6.3 工具使用与备份管理工欲善其事必先利其器。不只是示波器、万用表、电烙铁这些硬件工具还包括IDE、版本管理和备份习惯。很多队伍用Keil写STM32那就提前把所有下载调试配置好驱动装好避免比赛现场被烧录器识别问题困住。比赛期间要频繁改动代码哪怕不用Git也要像第3节说的那样定期手动备份到多个位置。电烙铁的使用也有讲究。比赛期间长时间连续焊接烙铁头容易氧化挂锡不良。备一个湿海绵每次焊接前擦一下烙铁头再上锡。焊台温度调到合适的范围洞洞板焊接时注意不要虚焊连锡处及时处理。这些基础操作在压力之下最容易被忽略但往往就是它们让整块板子报废。6.4 综合测评特殊问题综合测评里的常见问题是“时间不足以完成所有功能”因此要提前做好取舍排序。比如题目要求四个功能全部实现且有序但做不完时优先保证前面简单的功能完整拿到基础分再冲刺后面的大分值功能。这种“按分值和难度排序”的应对策略同样适用于正式赛题。另外综合测评通常用指定的通用器件如果你拿到的芯片性能和平时用过的略有差异不要慌张。先花几分钟读数据手册确认引脚定义和主要参数再对照平时积累的单元电路稍作调整。平时练过“异型板焊接”和“无面包板直接飞线”的基本功在这里会非常有优势。飞线时每根线尽量短信号地和电源地分开走会明显减少自激振荡和干扰。写在最后的一点体会电赛这6天5夜真正能让人记住的并不是最后那个奖状而是你在某个深夜盯着示波器波形终于正常的那一刻。反复推倒重来的过程固然痛苦可正是这些“推倒”逼着你把问题看清把原理弄透把工程方法练熟。我见过太多失败的队伍不是输在技术高低而是输在决策犹豫和时间管理混乱上。如果你问我最重要的建议是什么我会说永远给“验证”留出足够的时间。硬件要验证代码要验证整套系统更要验证。电赛比拼的不是谁熬夜熬得久而是谁能在可控时间内交付一个稳定可靠的作品。这份能力无论是保研、工作还是以后自己做东西都远比一块奖牌更值钱。也希望这份攻略能帮你在下一个6天5夜里少走些弯路把自己的能力边界推得更远一点。