全国大学生电子设计竞赛(下面我就直接叫电赛了)这个东西,圈内人都知道,光有热情不够,光靠临场爆发也不够。它比的是三人团队在四天三夜里把一个完整系统从无到有做出来的综合能力。我参加过两届,一届拿省一,一届冲击国赛差一口气,带过的队伍也有好几支。每次看到新手队伍第一天还在翻数据手册、第二天开始吵架、第三天慌着调不通的板子,我就觉得很多备赛的人把力气用错了地方。这篇就把我从组队到上场的完整路线梳理一遍,踩过的坑和保住命的经验都在里面,适合准备参加电赛、尤其是第一次参加的团队照着走一遍。
先说一个核心认知:电赛不是“比赛那四天”的较量,而是赛前几个月积累的爆发。四天三夜就像期末考试,你的准备决定了你能不能压线过关。所谓备赛,本质上是把“大概率用到的东西”提前准备好,让比赛时你的注意力全部集中在方案和指标上,而不是浪费在找芯片、查手册、焊坏板子这些本可以提前消灭的问题上。
1. 从组队到分工,队伍配置决定上限
1.1 黄金三角怎么搭
一支能走到最后的队伍,通常不是三个全能型选手,而是三个各管一摊、又能互相补位的“偏科生”。标准配置是硬件、软件、系统三个角色。
硬件负责的是原理图、PCB、焊接、电源、模拟电路这些实打实的物理层。比赛里大量时间花在“板子为什么输出不对”上,硬件队友的示波器使用水平、焊接工艺、排查能力直接决定进度。
软件负责单片机程序、算法、上位机、人机交互。电赛的控制类题目和仪器仪表类题目都离不开嵌入式编程,STM32是绝对主力,有些队用MSP430或者ESP32,但核心能力是快速把外设驱动写好,把PID、FFT这类算法在裸机或者轻量级系统上跑起来。
系统负责设计报告、整体方案、指标分解和业务逻辑。很多人不重视这个角色,实际上电赛的评分里设计报告占很大比重,而且系统角色是团队里唯一站在全局看问题的人。他要在第一天定方案时判断哪个题目性价比最高,要在第三天提醒大家时间线,要在评审前把所有测试数据整理成表格。
我的经验是,三个人里至少要有两个能独立调通一套完整的小系统。如果只有一个人扛全部技术活,四天四夜他大概率会垮掉。
1.2 选队友比选题目更重要
组队这件事,与其说是找技术最强的,不如说找最靠谱的。我见过太多队伍,三个都是实验室大佬,结果第一天晚上就因为方案分歧吵到散伙。
靠谱的标准有三个:第一,愿意在赛前三个月每周固定投入至少二十个小时,而不是嘴上说“我回去看看”;第二,抗压能力强,板子烧了、程序跑飞了,能冷静下来逐步排查,而不是原地焦虑;第三,能接受“我的方案被否”,不搞个人英雄主义。
还有一点容易被忽略:三个人的作息和风格最好互补。四天三夜里基本是轮班制,有人是夜猫子,有人习惯早起,这种差异反而是好事,能保证任何时候都有人盯着系统。如果三个人都习惯半夜两三点干活,早上没人起来,第四天早上交作品的时候就容易出状况。
1.3 队长到底管什么
队长不一定是最懂技术的人,但一定是最能拍板的人。比赛期间最危险的不是技术难题,而是三个人对方案犹豫不决。队长需要在关键节点做决定:题目选哪个、方案用不用这个芯片、指标做到多少就收手、报告什么时候开始写。
我的做法是,第一天上午定完题目后,队长就和大家约定一个原则:方案一旦通过,除非遇到硬性技术障碍,否则不轻易换。每一次换方案,至少浪费三个小时。四天三夜看着很长,真正完整可用的工作时间也就是七八十个小时,经不起反复横跳。
2. 备赛时间线:从零基础到上场的完整节奏
2.1 大一大二该打的基础
如果你还大一,别急着想拿奖,先把三样基本功打牢:C语言、电路分析、焊接调试。
C语言是电赛软件的底座,不要求你精通指针和链表,但至少能熟练写中断、定时器、串口、PWM、ADC这些单片机外设的代码。建议在开发板上把每个外设单独打通一遍,然后做一个综合小项目——比如用按键切换几种工作模式的信号发生器,或者带屏幕菜单的电压表。这个小项目基本就是电赛软件题的雏形。
电路分析方面,模电数电是电赛的物理基础。不是说要把课本全部吃透,而是你看到运放电路能说出它是什么构型、放大倍数大概多少、带宽受什么影响。电源题和信号题考的就是这些东西。
焊接调试是很多人忽略的硬功夫。洞洞板飞线、贴片元件焊接、热风枪拆焊、示波器捉信号,这些技能没有捷径,只能靠手熟。我见过方案写得漂亮的队伍,第一天下午就被焊接拖垮——一排密脚芯片焊了三次还是连锡,最后只能用杜邦线临时飞线解决。
大二阶段就可以开始组队参加校赛或者省赛了。第一年别追求结果,目标是完整走一遍流程:组队、定题、分工、四天三夜、写报告、评审。走完这一遍,你就知道第二年该重点补什么。
2.2 赛前十二周的冲刺节奏
到了真正备赛的那一年,我习惯把赛前三个月分成三段。
第一个月是基础重建和模块梳理。把往年真题找出来,按电源类、信号类、控制类、仪器仪表类四个方向做分类,统计每个方向的高频考点。同时把团队已有的模块列一个清单,缺什么补什么,该买的芯片提前买,该打的板子提前打。
第二个月是针对性训练。这时候不再泛泛练基础,而是按队伍擅长方向选两三道真题,限时做48小时或者72小时,模拟比赛状态。重点不是做出完美作品,而是暴露流程问题:三个人配合是否顺畅、物料是否够用、调试流程是否高效。每次模拟后一定要开会复盘,把暴露的问题记下来。
第三个月是冲刺和收口。这时候要做的事很具体:把最可能用到的模块重新测试一遍,把关键芯片的驱动程序整理成可直接调用的库,把设计报告的模板按往届优秀论文的框架搭好。此外,确认比赛期间使用的电源、万用表、示波器、焊台这些工具都在正常状态,备用元件分门别类装好。赛前一周,不再学新东西,把所有时间用来复习自己的笔记、模块清单和往届报告。
2.3 训练赛怎么打才有效
很多队伍备赛时喜欢“好好研究一道题,把它做到尽善尽美”,然后比赛时发现完全用不上。我的建议反而不是这样。
更有效的训练方法是:选三道不同方向的真题,每道只做核心功能,限定时间,做完就换。目的是拓宽团队的题目视野,防止比赛时看到不熟悉的题型就慌了。真正吃透一个方向,靠的是赛后复盘那一篇文章、一次透彻的讲解,而不是比赛时间里的反复打磨。
比如你模拟电源题,就认真做一次带载测试,记录效率、纹波、负载调整率,然后把测试方法写进报告模板;模拟控制题,就把PID参数整定流程练到形成肌肉记忆。这些能力是可迁移的,四天三夜真正上场时,你会发现百分之七十的时间不是在解决新问题,而是在快速复用你做过的东西。
3. 赛前硬储备:模块、物料和工具
3.1 模块库怎么建
我带队的第一年,最大的教训就是比赛时还在从零写驱动。第二年我从寒假开始建模块库,效果立竿见影。所谓模块库,就是把比赛中大概率用到的功能单元提前做成独立模块,测好性能,写好驱动,比赛时直接调取。
电源模块永远是第一优先级的。DC-DC升压降压、LDO稳压、基准电压源,这些是所有题目的生命线。摸清几个常用芯片:LM2596做降压,XL6009或者MT3608做升压,AMS1117给单片机供电,TL431或者REF3030做基准。每个模块都要记录输入电压范围、输出电压、最大电流、纹波大小。
传感器模块第二优先级。温度、湿度、光照、气压、角度、加速度、红外测距、超声波测距,这些传感器在控制类和仪器仪表类题目里出现频率极高。每个传感器模块存好淘宝链接、引脚定义、参考代码和校准方法。
驱动模块第三优先级。电机驱动常用TB6612和DRV8833,继电器驱动用ULN2003,LED数码管用TM1650或者74HC595,OLED显示屏用I2C或者SPI接口。这些模块如果赛前不备好,比赛时光调一个电机死区就能花掉三小时。
通信模块也值得准备。串口、I2C、SPI是基本功,无线模块备几块NRF24L01和蓝牙模块,有时候题目会要求无线数据传输或者远程控制。
3.2 常用元件怎么囤
芯片和元件的囤法有两个原则:量大、型号常青。
MCU要多囤。STM32F103C8T6这种经典型号价格便宜、资料多,是队伍的保底选择,建议整盘备。再加上几片STM32F407或者GD32F450做高性能算力储备。控制类题目如果涉及图像识别,还要备树莓派或者OpenMV。
模拟芯片按电路类型备:运放备OP07、LM358、NE5532、OPA227,比较器备LM393,乘法器备AD633,模拟开关备CD4066,DAC备MCP4921,ADC备ADS1115。电源芯片按我前面列的模块清单对应购买,每个型号至少三片以上,因为静电击穿、焊坏、烧毁的情况太常见了。
阻容感元件用贴片套装,0603或者0805规格各买一套,几百种阻值容值的小盒子备好。电位器、按键开关、LED、排针排母、铜柱螺柱这些是消耗品,比赛现场永远不够用。线材方面,多色杜邦线、硅胶软线、屏蔽线、电源线各备一些,示波器探头配一副备用钩子。
3.3 工具清单与检查表
电赛工具可以列一个固定检查表,出发前照单清点。我的清单供参考:
- 示波器:至少100MHz带宽,双通道起步,带FFT功能更佳
- 数字万用表:两块以上,一块测电压一块测电流,精度要够
- 直流稳压电源:至少双路输出,30V/5A起步,带限流保护
- 信号发生器:能输出正弦、方波、三角波,频率上限10MHz左右够用
- 焊台、热风枪、烙铁头备用、锡丝、助焊剂、吸锡带
- 电烙铁、镊子、剪线钳、剥线钳、美工刀、螺丝刀套装
还有一个容易被忽略的东西:足够多的USB转串口模块和USB数据线。四天三夜里单片机和电脑的通信几乎没有断过,备用的调试器至少两支,防止一支中途损坏导致整个进度卡死。
4. 四天三夜全流程作战
4.1 第一天:选题、定方案、快速验证
比赛第一天的核心是“快”。上午八点拿到题目,全队先花一到一个半小时把所有题目通读一遍,记录每道题的功能要求、指标要求、可用器材限制。
选题不是挑最擅长的,而是挑“最有把握拿基础分的”。电赛评分体系里有一个残酷的现实:完成基本功能拿基本分,指标超过要求会有加分,但一旦题目难点攻克不了,可能连基本分都丢掉。我见过太多队伍选了一道看上去很酷的控制题,最后因为机械结构做不稳,整个系统跑不起来,颗粒无收。而选了保守题目的队伍,稳稳当当拿了省奖。
定下题目后,当天下午必须把方案定型。这里的方案不是纸上谈兵,而是搭出一个最小可运行的验证系统。你手里有模块库的话,这一步就会非常快:电源模块接上去,传感器模块接上去,单片机里烧一个最简单的测试程序,跑通一个核心指标。
当天晚上到第二天凌晨,要完成的事情是:软件框架搭好,各个外设驱动从库里复制出来完成初始化;硬件按功能块画好接线图,准备焊接;系统角色开始写设计报告的框架,把题目要求、方案框图、技术指标先填进去。这很重要,越早写报告,后面越从容。
4.2 第二天:硬件定型、核心功能打通
第二天是真正出活的一天。硬件队友开始焊接正式板子或者搭洞洞板系统,软件队友在开发板上把核心功能代码写出来。这一天最容易犯的错误是一头扎进某个小优化里出不来。
我的原则是:第二天晚上之前,所有基本功能必须在开发板上跑通。哪怕是用杜邦线连接的一堆模块,功能正确就可以。因为只要基本功能通了,整个团队的信心就有了,后面所有优化都是在“已经有了的东西”上做加法。
如果到第二天晚上某个核心指标还没跑通,立刻做取舍。比如电源题要求效率85%,你当前只能做到80%,不要继续死磕拓扑调整,而是先记录下来,把电路结构固化下来,保证它能稳定工作,再考虑换开关频率或者改电感参数。保住基础分永远比追求满分更实际。
4.3 第三天:联调、优化、写报告
第三天是联调和压力测试日。软件和硬件首次在正式板子上完整合体,各种接口问题会集中爆发:电平不匹配、信号受干扰、电源带不动负载、程序时序冲突。这些坑我在下一节会专门展开,这里先强调排查方法:从电源到信号,从硬件到软件,按模块逐级隔离,用示波器和万用表确认每一级的状态。
同时,第三天上午必须启动设计报告的正经写作。很多队在第三天晚上才开始写,最后只能草草了事,白白丢掉几十分。报告不是流水账,而是评审老师了解你全部工作的唯一窗口。扉页的摘要和结论要先写,然后按照“方案论证—理论计算—电路设计—软件流程—测试数据—误差分析—参考文献”的框架填内容。测试数据要用表格呈现,每个指标对应一个实测值和一个测试条件,保证评审时能讲得清楚。
4.4 第四天:收尾封装、评审彩排
第四天上午的原则是“冻结功能”。所有软硬件改动停止,不再加新功能,不再大改代码。把时间和精力留给两件事:系统可靠性验证和评审彩排。
可靠性验证要做的是:反复测试几个关键场景,确认不会出现偶发死机和数据异常。比如连续跑二十分钟,看有没有发热导致性能下降;反复开关电源,看系统能否正常启动;按按键连发,看界面会不会卡死。评审现场最怕的就是“昨天还好好的,今天一演示就出问题”。
评审彩排要模拟评审老师提问。设计报告里有哪几个理论计算,方案选择的原因是什么,测试数据是怎么测出来的,误差来源有哪些。准备一个五分钟的演示流程:开场介绍方案、演示核心功能、展示关键指标、总结创新点。三个人分工明确,谁主讲、谁操作、谁递数据表,提前过两遍。
5. 高频翻车现场与排查实录
5.1 电源纹波和共地问题
电源问题是我见过翻车率最高的环节。表现为:ADC采样数据跳变、运放输出有毛刺、电机转动时单片机复位。排查步骤我有固定套路:先用示波器测关键节点的电源纹波,确认纹波在器件要求范围内;然后检查所有模拟地和数字地是否单点共地;最后看每个模块的电源走线是否足够粗,有没有和强干扰信号线平行走线。
经验教训是,DC-DC模块的输出纹波通常偏大,给模拟电路供电时必须在输出端加一级LC滤波或者LDO。给电机驱动供电的电源,必须和给单片机供电的电源完全分开,包括地也不能共用一根长线。
5.2 焊接工艺和虚焊
比赛时环境紧张,人手一抖就容易出现虚焊。典型症状是“手碰一下板子,信号就正常了,一松开又不行”。这种问题排查起来特别消耗时间。
我的建议是,比赛用到的关键焊接,尤其是电源输入输出、运放引脚、晶振引脚,焊完之后立即用万用表通断档逐一确认。如果发现某个引脚虚焊,不要试图在原位补焊,先用吸锡带清干净,再加助焊剂重新焊。另外,比赛前每个队至少练习十块洞洞板的焊接,尤其是贴片转接板的处理。焊接质量稳定了,你才有底气在比赛时快速搭系统。
5.3 程序跑飞和看门狗
控制类题目里,程序跑飞的后果通常很惨烈:小车突然冲向墙边,或者电机疯狂震动。排查思路是先确认是不是死循环或者中断冲突,再检查数组越界,最后确认供电有没有瞬间跌落。
更重要的是一开始就做好防护:看门狗定时器必须开,关键电机指令要做限幅保护,传感器的采样值要做合理性判断,异常值一律丢弃而不是使用。这样即使程序出错,系统也是安全地停下来,而不是疯狂动作导致全盘崩溃。
5.4 报告压哨没写完
这几乎是每个队都面临过的噩梦。我的避坑方法是:第一天就建好报告模板,把固定格式的部分先填好;第三天上午无论如何开始写核心章节,哪怕只写提纲和数据表;第四天中午前完成初稿,下午只做格式调整和摘要润色。
另外,报告里的测试数据一定要来源于系统的实测,不要编造。评审老师现场演示时如果发现报告数据和实际不符,那种尴尬会直接影响评分。准确的数据比漂亮的数据更值钱,只要你的系统基本功能完成了,如实记录本身就有说服力。
6. 评审演示与赛后复盘
6.1 演示要有的放矢
评审时间通常很短,可能只有五到十分钟。演示的核心思路是“先结论后细节”:先用半分钟说清楚这个作品是什么、实现了什么功能、亮点在哪里,然后演示最有信心的两三个功能点,不要贪多。
操作上要设计一个“不会失败的流程”。比赛现场环境嘈杂,无线触发可能失灵,按键可能误触,所以演示时尽量用有线方式触发,提前把系统切换到演示模式,避免现场临时配置参数。光敏感应、手速操作这种不确定元素越少越好。如果演示过程出了小故障,别慌,从容地用你的备份方案顶上。备份方案包括:备用电源、备用传感器、备用参数配置。
6.2 答辩话术和常见问题
评审老师的问题通常集中在几个地方:为什么选这个方案、什么参数决定指标、误差从哪里来、还能怎么改进。回答的原则是:诚实、简明、有数据支撑。
比如老师问“效率为什么只能做到82%”,最差的回答是“我们调了很久还上不去”。更好的回答是“我们测算主要损耗来自整流二极管的正向压降,下一步打算换成同步整流方案,预计能提升到88%”。即使你的方案实际上并不完美,这种回答也展示了你的理论能力和下一步思考,得分会明显不同。
6.3 赛后必须复盘
电赛结束后,很多人直接躺平休息。我的建议是,休息三四天后抽出半天时间做一次团队复盘。把整个四天三夜的时间线重新过一遍,找出时间浪费在哪儿、团队配合哪里有摩擦、哪个技术点准备不足。
这些复盘结论不要只停留在脑子里,写成一个文档存下来。如果你还要打下一届,这份文档就是你第二年备赛最值钱的参考资料。如果你是队长,还可以把文档分享给下一届队伍,让经验在实验室里滚动起来。
说实话,电赛最迷人的地方不是那张证书,而是你第一次在极限压力下,和两个队友把一堆零件变成一套能解决问题的系统。那种感觉,是平时在实验室慢慢悠悠调代码完全体会不到的。备赛辛苦,四天三夜更辛苦,但走完这一趟,你对“把一个想法做成实物”这件事的理解会彻底不一样。
最后分享一个小习惯:每次做完一版系统,不管是在训练还是比赛,我都会把它拆掉之前,用手机拍一段完整的演示视频,同时把关键测试数据截图存到队伍共享文件夹里。这些东西平常看着不起眼,赛后写总结、做PPT、投简历、甚至给下一届队员开组会时,都是最好的素材。备赛最大的财富,就是你亲手积累下来的这些模块、代码、数据和复盘记录,它们比任何一块奖牌都更值钱。