1. 大一就上电赛,到底值不值
1.1 别被“大一”劝退
很多人一听大一去打电赛,第一反应是“你连课都没上完,去凑什么热闹”。我当初就是带着这种忐忑报的名,但打完整个赛程之后,我可以非常明确地说:大一参加电赛,不是去当分母的,而是去抢跑道的。
电赛全称是全国大学生电子设计竞赛,它比的不是谁的理论课分数高,而是“给你一个实际问题,你在有限时间内能不能用硬件加软件把它做出来”。这个能力,说实话,跟年级关系没那么大。大一学生可能模电数电还没学扎实,但电赛的题目也从来不指望你只用课内那点东西。它考的是查资料的能力、快速学习的能力、动手调试的能力,以及三天三夜(四天三夜)高压下的心态。这些恰恰是课堂上完全不教、但以后做工程最要命的东西。
另外还有一个很实际的原因:大一参加一次,即使成绩一般,你到大二大三再打时,对整个流程的熟悉程度会碾压同龄人。我第一次打的时候连示波器都不会触发,第二次再去就知道先查电源、再查信号、最后查逻辑,这个经验差,不是临时抱佛脚能补上的。所以如果有人问你“大一要不要打电赛”,我的答案只有一个字:打。
1.2 电赛到底比什么
先说清楚电赛的基本盘。比赛通常四人一组(也有的年份是三人,以当年通知为准),题目分为几大类:电源类、控制类、仪器仪表类、通信类、无人机类等。近些年的热门方向一直在控制类和仪器仪表类之间摇摆,热搜里反复出现的“2024电赛H题”“2025电赛G题”“26电赛H题”都是这个趋势的体现。控制类一般是做小车、倒立摆、云台跟随这些,仪器仪表类则是波形发生器、频谱分析仪、信号测量装置等。
我那年打的是控制类方向,组里只有我一个大一,另外两个是大三学长。当时心里特别虚,担心拖后腿,但后来发现,电赛里“干活的人”比“懂理论的人”更重要。一个团队里需要有会画板子的、会写代码的、会焊电路的和会写报告的。大一学生完全可以承担其中某一项,而且往往承担得还不错,因为大一的时间比学长多,查文献、测数据这种累活,大一干起来毫无怨言。
电赛另外一个容易被忽略的点:它非常考“解题思路”。题目发下来之后,真正做硬件的时间其实不多,前面大半时间都在讨论方案。哪种方案成本可控、哪种方案在赛场上最容易调通、哪种方案出了问题能快速定位,这些判断力才是真正拉开差距的地方。大一开始练这种判断力,性价比极高。
2. 备赛期:从零开始怎么准备
2.1 先把工具链跑通
很多大一同学备赛时最容易犯的错,是一上来就抱着模电书啃,试图“先把基础打牢再动手”。这个思路本身没错,但电赛的时间不等人。我的建议是反过来:先跑通一个最简单的例子,再倒回去补理论。
工具链这块,单片机是绝对的核心。控制类题目基本离不开STM32,仪器仪表类也往往用它做控制和数据处理。大一没学过单片机很正常,但STM32的上手门槛其实没那么高,关键是要有一块能用的开发板,照着例程把GPIO、定时器、PWM、ADC这几个外设点亮,就算是入门了。我当时就是这么干的,花了一个礼拜的时间,把开发板上的LED点灯、按键中断、PWM调速这几个基本例程全部跑了一遍,然后心里就有底了。
开发环境方面,STM32用Keil或者STM32CubeIDE都行,我个人更推荐CUBEMX加HAL库的方式,虽然代码冗余一点,但对于大一新手来说,图形化配置外设能省掉大量查寄存器的时间,不容易劝退。写代码时的坑后面再细说,这里只强调一件事:把编译、下载、串口打印这三步搞顺,你就已经具备了电赛备赛的基本生存能力。
2.2 控制类方向的入门套路
控制类题目,说白了就是“感知—决策—执行”三个环节的闭环。感知靠传感器,决策靠单片机,执行靠电机或舵机。小车的题目基本就是这个套路的经典代表,所以“电赛小车设计报告”会一直挂在热搜榜上。
大一准备控制类,我建议按这个顺序来:
- 先玩转电机驱动。直流减速电机配TB6612或者DRV8833驱动模块,这是绝大多数小车的动力方案。要搞懂PWM调速的原理,理解占空比和转速的关系。这不需要太深的电机理论,会看波形就够。
- 再搞定循迹或测距传感器。灰度传感器、红外避障模块、超声波测距、OpenMV摄像头,这些都是控制类题目的常客。大一可以先从最简单的红外循迹开始,把“传感器读数变化—单片机判断—电机动作”这个链路打通,理解什么叫反馈控制。
- 最后才是控制算法。PID是控制类的灵魂,但大一不需要急着啃完PID理论。先把P控制和PD控制用在电机调速上,看到效果再回头补理论,会容易理解得多。
我当时备赛的时候,做了一个非常小的四轮循迹小车,板子是普通的STM32F103C8T6,电机驱动用TB6612,传感器就是几路红外对管。这个车花了我大概两周时间,但做完之后,我对整个控制链路的感觉完全不一样了。后面比赛时遇到云台跟随题目,思路直接迁移过去,省了非常多时间。
2.3 波形发生器这类题的底层逻辑
热搜里“2015年电赛多种波形发生器答案”被反复提起不是没有原因的。波形发生器是仪器仪表类的经典老题,几乎每隔几年就会换个马甲出现一次。它的核心需求很简单:产生指定频率、指定幅度的正弦波、方波、三角波,有时候还要求能扫频或调频。
这道题的底层逻辑其实是“数模转换”。单片机用DAC或者PWM加滤波产生波形,频率由定时器控制,幅度由放大器调节。大一新生可能觉得DAC很神秘,实际上可以把它理解成“用数字信号拼出一个模拟形状”。比如要产生正弦波,就把一个周期的正弦函数采样成若干个点,存在数组里,然后按照时间顺序把这些点送给DAC,输出的就是正弦波了。
这个题还有一个非常关键的隐藏考点:滤波。如果直接用PWM产生波形,输出端会有高频毛刺,必须加低通滤波器把它磨平。我当时备赛时就在这里栽过跟头,怎么调都不对,后来查了资料才知道是截止频率算错了。低通滤波器的截止频率要靠电感电容的数值计算,公式不复杂,但算完之后要用示波器验证,不能想当然。这道题对大一来说,是一次绝佳的“信号链”训练,从数字域到模拟域的那道坎,跨过去就豁然开朗。
3. 四天三夜实战记录
3.1 选题决策的现场思考
电赛的题目是比赛当天早上统一公布,给你四天三夜(有的是三天三夜)完成从方案设计到作品实现的全部工作。选题这一步,很多人以为是选“自己会做的”,实际上应该是选“自己最有把握在截止前调通的”。
我当时团队里的决策过程很值得说说。题目公布后,我们列了一个简单的对比清单,每一项打分,包括:能不能发挥现有模块的作用、调试时间预估、往年类似题目的获奖情况、组内成员的技术匹配度。这个过程大概花了一个上午,看似浪费时间,其实是省了大后期重头来过的风险。很多队伍选题时不仔细想,做到第二天发现难度远超预期,再想换题已经来不及了。
这里想给大一同学一个非常直接的建议:如果你在组里是负责硬件的,选题时一定要看“硬件复用率”。比如这个题能不能直接用上备赛时做的驱动板、传感器模块、通信模块,如果能,就果断选它。比赛的几天里时间是最稀缺的资源,任何能让你少焊一块板子、少调一段代码的选择,都是明智的选择。
3.2 逐天推进的时间安排
第一天的节奏相对轻松,主要工作是方案设计和模块测试。我们当时选的是控制类的题目,涉及到云台和视觉识别,方案定好之后,大家分头把要用的模块都翻出来,接上电测一遍,确认没有坏的、没有不兼容的,再把大概的代码框架搭好。这天晚上睡得还挺早,因为知道后面几天大概率没得睡。
第二天是硬仗,需要把所有功能都跑通。一般来说,前两天要完成作品的主体功能,第三天留给优化和做报告。但我们实际做的时候,第二天下午就遇到了问题——云台舵机的抖动非常厉害,图像识别也不稳定,两大功能像两个闹脾气的孩子,怎么哄都不配合。从那天起,我们组就没有“睡觉”这个概念了,轮流趴桌子上眯一会儿就继续干。
到第三天晚上,作品基本能跑通了,但精度还是不达标。这个东西特别磨人:你说它不行吧,它能动;你说它行吧,它精度就是差那一两个像素、一两个厘米。那天晚上我们三个人的状态,就是疯狂地调PID参数、改图像处理的阈值,改了又测、测了又改,像极了在做实验却拿不到想要数据的样子。
第四天上午是集中写报告和录视频的时间。电赛的最后环节要提交设计报告和演示视频,报告占的分数比例不低,而且写作水平能拉开的差距比想象中大。报告里要写清楚方案论证、电路设计、软件流程、测试数据,最好配上测试过程中的截图和波形照片。我因为是大一,文书写得相对规矩,这个活就落到了我头上。写报告这件事,看着不起眼,但非常锻炼把技术“讲清楚”的能力,以后再复习都方便。
3.3 作品调试的细节处理
调试大概是整个电赛里最考验心态的环节,我在这里踩过的坑,足够写一整篇“血泪史”,这里挑几个最典型的说。
第一个是电源问题。小车的电机一启停,单片机的供电电压就会波动,轻则屏幕闪、重则直接重启。这个问题的根源在于电机启动瞬间电流很大,把电压拖低了。解决办法是电源分开走:电机用大电流的电源供电,单片机和传感器用单独的稳压模块供电,中间用光耦或者共地处理。这个经验,几乎所有跑过小车的队伍早晚都会踩到,早踩早长记性。
第二个是信号干扰。传感器线从电机旁边走,电机转起来之后,波形就会莫名其妙地出现毛刺。后来把传感器线换成了屏蔽线,又尽量避开电机驱动板的走线区域,毛刺明显减少。要记住,电赛现场是没有那么多“讲道理”的时间的,信号出了问题,先怀疑干扰,再看逻辑,大概率没错。
第三个是“看起来能动”和“稳定地能动”之间的差距。很多队伍演示时能跑通,但实际测试时换个环境、换个光照条件就不行了。这通常说明系统是“凑”出来的,而不是“设计”出来的。一个真正稳的系统,要能扛住环境变化,哪怕光照变了、地面摩擦系数变了,仍然能保持差不多的性能。如果是做视觉识别的小车,我强烈建议备两支不同色温的手电筒,测试时来回换着照,看看识别还稳不稳,这个细节能提前帮你揪出一堆隐患。
4. 大一新手最容易踩的坑
4.1 硬件坑:焊接和电源
先说焊接。大一同学往往焊接经验不足,容易把焊盘烫坏、把引脚连锡,或者虚焊导致接触不良。电赛现场时间紧张,一旦出现虚焊,排查起来极其浪费时间。我建议大一备赛时专门抽几天练习焊接,特别是贴片元件,练到手不抖、锡量合适为止。比赛的时候,我亲眼见过隔壁组因为一个虚焊的接口,排查了整整半天,最后发现只是线没焊牢,那种崩溃感,你绝对不想体验。
电源这块再单独拎出来强调一次。电赛的题,十个里有七个的bug根源在电源。电机启动拉低电压、DC-DC模块纹波太大、电池电量不足导致电压跌得厉害,这些都是日常。新手最容易忽略的是“电池电量”这个变量。同样的电路,满电时好好的,电量低了就各种奇怪问题。所以测试时一定要在几个不同的电量状态下都跑一遍,提前知道系统的电压下限在哪里。
4.2 软件坑:时序和中断
大一写代码,最容易翻车的两个地方是时序和中断。时序问题很好理解:传感器要一定的时间才能稳定输出,如果你刚上电就去读数据,读到的一定是垃圾值。解决办法是加延时,或者用查询方式等它稳定。中断的问题就更隐蔽了,中断服务函数里尽量不要做耗时的事情,比如串口打印、延时,否则主循环被卡死,系统就假死了。
还有一个大一非常容易犯的错:不写注释、变量命名随便。平时自己写代码怎么胡来都行,但比赛时四个人改同一段代码,没有注释、变量叫a、b、c,改来改去你会发现自己都看不懂自己的代码。我后来强迫自己所有变量都用英文全称或者有意义的缩写,每个函数开头写一行注释说明它是干嘛的,这个习惯帮我省了不止两个小时的联调时间。
4.3 团队协作坑:分工和沟通
电赛是团队赛,但团队协作这关,大一新生普遍没经验。最常见的问题是分工不明确,两个人同时改一块代码,git又不会用,最后改来改去冲突了,只能靠复制粘贴合并,效率极低。另一个问题是关键节点没有对齐,有人以为功能A是别人在弄,实际上那个人以为功能A已经弄完了,结果到第二天晚上发现功能A压根没做。
我后来总结出一个“三一原则”:每天早上开一次十分钟的站立会,每个人说清楚自己昨天干了什么、今天要干什么、遇到了什么风险;每天中午所有人同步一次进度,确认接口和依赖项没有偏差;每天晚上结束前,把当天的代码和文档备份到共享网盘上。这三件事,看起来简单,但严格执行下来,能避免掉90%的团队协作问题。
分工上,建议大一同学主动认领那些“脏活累活”,比如测数据、画图表、整理接线、维护代码备份。这些活不显眼,但不可或缺。而且你把这些基础工作做扎实了,学长自然愿意教你更深的东西。最怕的就是大一既想要核心开发的位置,又干不明白基础的活,两头不讨好。
5. 打完电赛之后,能力到底长在哪
5.1 技术上的沉淀
打完一次电赛,哪怕没拿奖,你在技术上的收获也会比上半个学期课还多。首先是硬件的“手感”,烙铁用熟了,示波器会触发了,万用表不离手了,看电路图不再眼晕了。这些东西,课本上写得再多,不亲手摸一遍都是虚的。
其次是软件的“工程感”。你开始知道写代码不是“能跑就行”,而是要考虑到别人要接管你的代码、要考虑系统在极端情况下会怎么表现、要预留调试接口方便排查。这种工程意识,是电赛最值钱的产出,也是以后找实习、做项目简历上最硬的东西。
最后是“资料检索”的能力。电赛逼着你学会在最短时间内找到最有用的资料。中英文的数据手册(datasheet)、芯片的应用笔记(application note)、论坛里的踩坑帖、GitHub上的现成代码,这些信息源你都会在使用中变得越来越熟悉。很多人说大一看不懂英文文档,其实不需要全懂,能在几百页的PDF里快速找到自己需要的引脚定义、寄存器说明,就是本事。
5.2 心态上的变化
技术之外,电赛给我最大的改变是对“问题”的态度。大一刚开始时,遇到问题第一反应是慌,然后是问别人,再然后是想放弃。但电赛的四天三夜把“问题”变成了常态——你每隔一个小时就会遇到新的问题,根本没有时间去慌,只能一个接一个地解决。这种“遇到问题→拆解问题→解决它”的反射弧,是我觉得电赛带给我的最宝贵的财富。
我以前总觉得“准备好了再做”,电赛之后变成“边做边学,遇到什么学什么”。这个转变对一个大一学生来说,影响是全方位的。你会发现课堂上老师讲的内容,你不自觉地会去想“这个能用在什么场景里”;看到一个电子产品的拆解图,你会开始琢磨它的电源和主控是怎么配的。这种工程直觉,只有亲手做过东西的人才会有。
如果你现在是大一,正在犹豫要不要报名电赛,我的建议是:去,一定要去。不用等自己“强大了”再去,去了才会强大。哪怕只是去体验一遍四天三夜的强度,去感受一下什么是真正的团队协作,去看看那些高手是怎么调试、怎么思考的,就已经值回票价。等大二大三你技术积累够了,回过头来再打一次,那种“轻舟已过万重山”的爽快感,才是电赛给你最好的回礼。
最后再分享一个小技巧:比赛结束之后,一定要趁热打铁,把整个参赛过程复盘一遍,写一份详细的赛题总结,包括你的方案、踩过的坑、调试的数据,以及如果重新做一次你会怎么设计。这份文档,比你拿的奖状还值钱。我就是靠着大一的这份复盘笔记,在大二接项目时少走了无数弯路。