尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

大一参加电赛的完整通关攻略:从STM32到四天三夜实战复盘

大一参加电赛的完整通关攻略:从STM32到四天三夜实战复盘 我大一那年稀里糊涂报了电赛纯属被室友拉去凑人头。现在回头看那是整个大学阶段让我成长最快的一件事没有之一。很多新生一听“电子设计竞赛”就觉得那是大三学长才配碰的东西其实真不是这样。大一参赛有劣势但优势也特别明显关键是你怎么规划这几个月。这篇我把自己的完整过程、踩过的坑、总结出来的方法全部写下来给准备冲电赛的学弟学妹们做个参考。1. 为什么大一就参加电赛1.1 电赛到底是什么大一参加是不是送人头全国大学生电子设计竞赛简称电赛是电子信息类最有分量的学科竞赛之一。基本赛制是几个人组队在规定时间内一般是四天三夜完成一个电子系统的设计、制作和调试。题目范围很广覆盖电源、控制、信号处理、通信、仪器仪表等方向。评奖比例不算特别高但也不是神仙打架到完全够不着。每年都有不少大一队伍拿省奖甚至国奖关键在于准备得够不够聪明。大一参加电赛很多人第一反应是“我连单片机都不会去干嘛”。我想说的是你不需要会你需要愿意学。大一最大的资本就是时间多、杂念少、心态好。学长们忙着考研保研压力大得很你没什么可输的本来就是去攒经验的心态上反而容易出成绩。还有一个很现实的因素电赛是一个实战型学习场景。大一课程基本在教高数、大物、C语言基础这些东西单独学很容易觉得“学了不知道干嘛”。电赛正好给你一个目标逼着你把知识串起来用。你会在一个具体项目里理解什么是定时器、什么是中断、什么是PID、什么是信号调理。这种“以赛促学”的效率比上课刷题高太多了。1.2 心态先摆正你是去学东西的不是去拿奖的这点我一定要放在最前面说。很多大一新生参赛目标定位就是“我要拿奖”这会导致准备过程中很痛苦因为你开始的时候确实啥都不会一做对比就觉得自己不行。我当时的想法很简单这个学期我就认真学一遍嵌入式开发、电路设计、焊接调试拿不拿奖都算赢。事实也证明这种心态反而是良性循环。我不急着做出什么“高大上”的成品而是老老实实把每个模块玩熟。结果到了真正比赛的时候很多知识已经内化成自己的了做东西反而比一些临时抱佛脚的高年级队伍更顺手。如果你对自己的要求太高遇到不会的东西就容易慌一慌就容易抄一抄就失去了参赛的意义。所以给自己定位成“学习者”而不是“竞争者”整个备赛过程会快乐很多学到的也更多。2. 赛前准备代码、电路、团队一个都不能少2.1 知识储备从点亮一颗LED到跑通完整的系统大一参赛最核心的准备就是补技能点。我梳理一下我认为优先级最高的几个板块你看看自己缺哪块。单片机是绝对的核心。电赛的大部分题目都离不开微控制器最常见的平台是STM32部分简单题目也可以用Arduino快速验证。我建议大一选手直接学STM32不要绕弯子。虽然上手门槛比Arduino高但电赛题目对性能和外设要求经常超出Arduino的能力范围。你用Arduino做了半天最后还要换平台等于白折腾。学的时候也不需要啃完整个参考手册照着几个基础工程练熟GPIO、定时器、中断、串口、ADC、PWM这六大件基本就覆盖电赛八成的使用场景了。电路基础也是绕不开的。你不需要把模电数电全部吃透但至少要知道电阻分压、电容滤波、三极管开关、运放跟随器这些基础单元电路是怎么回事。比赛时经常需要自己搭一些外围电路比如传感器信号调理、电机驱动、电平匹配。哪怕最后功能没完全实现你能说清楚方案原理在论文和评测环节也能加分。C语言必须扎实。比赛现场写代码是常态如果基础不牢平时还能慢慢调现场一紧张基本就是灾难。指针不一定要精通但结构体、数组、函数封装、状态机这些一定要熟练。还有一个被很多人忽略的点代码规范。工程上讲究模块化一个模块一个文件接口清晰注释写清楚。四天三夜熬到最后一天你已经很累了如果代码是一坨意大利面改一个bug可能引发三个新bug那种绝望我不想你体验第二次。2.2 硬件准备模块清单与实际速成路线大一选手通常没时间也没必要从零画PCB做板子核心策略就是买模块、搭系统、先把功能跑通。我列一个实用的采购清单都是电赛常客价格也不贵。主控板STM32F407核心板或最小系统板算力够、资源多至少准备两块防止现场烧坏。传感器模块灰度传感器/摄像头模块循迹、超声波/红外测距、MPU6050陀螺仪、温湿度传感器、电流电压检测模块。按题目方向选不用全买。电机驱动TB6612或DRV8833模块比L298N效率高、体积小控制小车项目比较常用。电源模块LM2596降压模块、AMS1117稳压模块、锂电池组电源是电赛的“地基”煮饭先有米。执行机构直流减速电机、舵机部分题目可能需要电磁铁、气泵之类按需购买。辅助工具数字万用表、电烙铁、热风枪、杜邦线、镊子、剥线钳、面包板。工具预算别省质量好的工具能救你很多次。焊接这个基本功大一一定要练熟。比赛现场时间紧张你不可能每次都用面包板插来插去很多连接需要直接焊在洞洞板上。焊接不难关键是多练手稳、温度合适、时间短焊点就漂亮。我建议赛前花一到两周每天焊一块小板子练到闭眼能焊排针的程度。2.3 团队搭子水平不重要脾气和节奏才重要电赛是三人组队队友一定要选对。这可能是比技术更重要的决策。我见过太多队伍技术都强但内耗严重四天吵了三天半最后草草交卷了事。找队友的标准首先是耐受度。比赛期间压力极大每个人都会有情绪崩溃的时刻。如果队友是那种一着急就甩锅、一熬夜就暴躁的类型再强的技术都白搭。其次是节奏匹配。有些人喜欢快速试错有些人喜欢先把方案想明白再动手这两种风格没有优劣但如果三个人全搞成了两个不同风格就很痛苦。最后是角色分工我建议三个人有明确侧重一个偏软件主控代码、算法、一个偏硬件电路搭建、传感器调试、一个偏文档和测试论文撰写、数据记录、现场协助。当然分工不等于各干各的比赛时经常需要互相帮忙但主责明确能减少混乱。组队还有一个容易忽略的点尽量找时间能充分配合的人。大一课程相对没那么满但有的人社团活动多有的人周末要出去玩如果你选队友时只看“关系好”不看“有空闲”后面备赛频率会大受影响。2.4 提前实战完整做过2到3个小项目再上场纯看教程永远学不会做东西。我在正式比赛前跟着几个开源项目做了几个小玩意儿一个红外循迹小车一个基于STM32的温湿度采集显示系统一个用PID调速的风扇。难度都不高但完整跑通一遍后你对整个流程会有一个整体认识。这里我特别说一下为什么“完整跑通”这么重要。很多新手学习时做一半卡住了就换一个项目重来结果永远在“项目进度50%”的水平打转。真正比赛和真实项目一样难点不在于“新”而在于“串”。你单独写个传感器读取很顺单独写个PWM输出也很顺但把两个模块放在一个系统里协调工作就会出现各种互相干扰的奇怪问题。只有完整做完几个项目你才能积累这种“系统联调”的感觉。备赛期间宁可做两个完整的项目也不要做十个半拉子工程。3. 比赛过程实录四天三夜的真实体感3.1 选题第一天的决定能毁掉整个比赛比赛正式开始的第一天上午是选题时间。很多人会纠结选哪个题目其实这个环节是有策略的。首先要看你手头的硬件积累。提前买好的模块、传感器决定了你能做什么类型的题目现场临时买模块非常被动快递等不起本地电子市场又未必找得到型号。其次是看你的技术栈。如果你备赛期玩的是小车就尽量选控制类的题目不要突发奇想去碰信号处理类题目除非团队里有人真的精通。最后是看队友的共识。三个人对选题理解不一致勉强选了一个后面协作效率会大打折扣。我还想提醒一点有些题看起来简单实则暗藏玄机。表面功能很简单但评测指标卡得很死比如精度、线性度、极端条件下的稳定性这些都是初看题目时容易忽略的。建议选题时冒出一个想法就先问自己三个问题实现这个功能我需要哪些模块模块我有或者能快速搞到吗最坏情况下整套系统的性能能达到评测要求的百分之几三个问题都能给出答案再定。3.2 系统设计把大问题拆成可以并行推进的小块确定题目后不要急着敲代码。用半天到一天的时间做整体设计把系统拆分成若干个子模块明确每个模块的输入输出接口、供电需求、逻辑关系然后三个人并行推进。这个规划看起来浪费了几个小时实际上能帮你省下后面几十个小时的返工时间。拆分的时候要注意模块之间的“接口约定”。比如传感器和主控之间用什么协议通信I2C、SPI、串口、数据格式是什么几位有效数字、是否带符号、电平是否兼容、功耗是否在电源承受范围内。这些约定最好写在纸上或者共享文档里后面联调的时候能少吵好多架。电源设计是我一定要强调的环节也是很多新手翻车的地方。电赛系统往往不止一块板子电机、传感器、主控、显示模块对电压和电流的要求各不相同。如果你的电源管理混乱很容易出现“设备时好时坏”这种最难排查的幽灵故障。建议思路是主电源→一级降压→二级稳压→各个负载每一级都在关键节点预留测试点方便万用表测量。我这四天里遇到的最多问题一半以上都是电源纹波或压降引起的。3.3 硬件的坑焊接、接线的隐蔽细节比赛期间硬件调试会消耗你非常多的时间。很多新手以为焊接就是把元器件往板子上焊好就行实际上电赛的临时系统有大量的飞线和模块拼接这些连接的可靠性直接影响系统稳定性。杜邦线插接虽然方便但接触不良的问题非常普遍。我的建议是凡是需要长时间固定运行的信号线和电源线直接焊接或用扎带固定并热缩管保护只有需要频繁改动的调试线才用杜邦线。接下来是接地问题。数字电路和模拟电路共地时地线处理不好会引入很多噪声。我大一第一次做项目的时候传感器数据总是跳动折腾了一下午最后发现是数字地和模拟地没分开导致的。电赛虽说是竞赛环境但基本的设计规范还是要遵守的信号调理部分的参考地要尽量靠近电源地避免大电流走线经过敏感信号区域。还有一个我反复踩的坑接线端子没固定系统一震动就接触不良。评测的时候你的作品需要搬运从调试台搬到演示区一路颠簸如果接头没有做固定处理很可能在评委面前突然失灵。所以封箱之前所有关键连接点都要用热熔胶或者扎带再做一次加固。3.4 软件调试打印、分段、备份一个都不能少软件调试是另一个大头。我的习惯是“先点亮再完善”。先把最小系统跑起来例如让LED亮、让串口输出一段测试字符确认主控、电源、下载器都正常再去写具体的功能代码。别嫌这一步傻它能帮你区分问题出在硬件还是软件。有一次我写了半天代码发现下载进去没反应排查半天才发现是下载器的接口松了如果一开始先跑个点亮程序两分钟就能发现问题。调试过程中多用串口打印。printf是全世界最好的调试工具没有之一。在关键位置打印变量值、模块状态、执行路径比用逻辑分析仪慢慢抓波形方便得多。我现在写程序还习惯在每个函数入口打印一条调试信息模式一开就知道程序跑到哪了、哪个分支被执行了、哪个模块卡死了。比赛现场强烈建议你在代码里留一个全局的调试开关平时开着评测前关掉两全其美。工程备份是个容易被忽视的保命习惯。四天三夜的高强度开发代码会经历无数次修改如果你只有一个main.c某次改坏了找不回之前的稳定版本就非常难受。我的方法是每次实现一个相对稳定的功能点就手动复制一份带日期的备份或者用Git做版本管理。大一不会Git也没关系用复制粘贴打包压缩文件也能起到同样的作用重点是有意识地保留每一个可用的中间版本。3.5 测试与文档决定奖项上限的最后一个环节电赛的评分并不只看功能实现情况。测试环节的规范程度、论文文档的完整度对最终成绩的影响往往超出很多人的预期。功能都实现了但测试马虎、文档潦草跟功能稍弱但测试规范、文档漂亮的队伍比分数排名经常是后者更高。测试环节建议提前设计测试方案。每个功能模块对应什么样的测试步骤、预期数值是多少、测试环境是什么、需要记录哪些数据这些都要有一个清单。现场测试时按照清单逐项进行每测一项记录一项用表格整理。评委来参观时你能够清晰展示“我的系统在什么条件下测出来的数据是什么”比空口介绍“我的系统很稳”有说服力得多。论文文档不要等到最后一天再写。从第一天开始就可以搭好框架每天花一小时把当天的工作内容记录下来方案论证、关键参数计算、调试过程截图、遇到问题和解决办法。到了最后一天把这些内容整理润色一篇规范的技术报告就有了。很多队伍最后一天发现文档完全来不及写只能交个空壳上去在论文分上吃了大亏。4. 电赛教会我的那些事4.1 搜商是第一生产力参加电赛之前我遇到问题习惯问别人。参加电赛后我发现所有的问题几乎都能在网上找到答案。大到整体方案小到一个传感器型号的驱动代码开源社区里都有大量现成资源。关键是你会不会搜。同样是搜“STM32 ADC”有人直接复制代码踩坑有人会加上芯片型号、库函数版本、年份等限定词精准命中。我的搜索技巧就三条一是优先看官方文档和数据手册很多时候最可靠的答案就在那里二是搜索时用关键词组合中文搜不到就换英文几百条结果里前十条不行就翻到第二页去三是找到参考代码后不要直接抄先理解再改写弄清楚每行代码为什么这么写不然遇到问题连怎么改都不知道。电赛四天时间很紧你不可能等别人救你自己会搜、会查、会解决问题这是最核心的生存技能。4.2 休息、情绪和节奏不被看到的软实力四天三夜的强度真的不是开玩笑的。平时熬夜玩游戏是一回事连续高强度脑力劳动是另一回事。我第一天晚上还挺兴奋第二天下午就开始犯困到第三天基本是机械操作了。这里我总结出一个有效的节奏每天保证至少四到六小时的连续睡眠一人负责盯进度其他两人轮流去睡比三个人一起硬扛效率高太多了。你脑子不清醒的时候写出来的代码第二天大概率要推翻重写得不偿失。情绪管理也同样重要。比赛过程中一定会遇到反复调试不通过的绝望时刻这时候千万不要三个人一起陷入负面情绪。我的经验是谁的情绪先崩谁就暂时离开工位去外面走一圈喝口水、透口气另外两个人继续想办法等情绪恢复再回来投入。这听起来像鸡汤但在高压环境下实际维护的是团队的持续战斗力。4.3 电赛证书之外的收获才是最值钱的部分大一参加电赛后很多学长问我拿了什么奖。说实话我们当时的成绩并不算特别突出。但我个人觉得参赛那几个月学到的东西远远超过一纸证书的价值。首先是自学能力我学会了怎么快速掌握一个新模块、一个新平台然后是工程思维我明白了做项目不是写作业系统设计、进度管理、风险控制都决定了项目成败再然后是团队协作我学会了如何与人高效配合、如何处理分歧、如何在压力下保持冷静。这些能力在后面的学习和找实习中帮了我很大的忙。如果你大一还在犹豫要不要报名我的建议是去。别管最终能不能拿奖参加电赛这件事本身就是一个投入产出比极高的成长机会。它给你的不是一个结果而是一整套应对复杂问题的能力和心态。4.4 给大一新手的几条实用建议最后整理几条我觉得对大一首战电赛最实用的建议算是给后来者的一点干货提前三个月开始准备不要等赛前一个月才慌慌张张找队友、买模块。至少完整跑通两个小项目再去赛场半吊子状态上场真的会被虐。队友很重要但要找能扛压力、能沟通的人不一定非要找技术最强的。硬件模块多备一份尤其是主控板和传感器现场坏一个没得换很痛苦。学会用搜索引擎解决一切问题这是电赛最重要的元技能。每天记录工作日志比赛最后一天你会感谢这个习惯。身体是革命的本钱备赛期间也要适当运动别把自己搞垮了。电赛这个舞台对大一学生是很友好的。它不会因为你年级低就给你降低难度但也正因为如此你能在最真实、最硬核的竞争环境里迅速成长。我始终觉得大学期间最让人印象深刻的经历往往不是那些轻松拿到的成绩而是那些一开始让你想放弃、后来让你热泪盈眶的时光。希望你能在电赛里找到属于自己的那份成长。
返回列表