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

资讯详情

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

2020年电赛备赛全记录:四天三夜实测与避坑经验

2020年电赛备赛全记录:四天三夜实测与避坑经验 2020年夏天那条竞赛通知真正发出来的时候我们备赛群安静了大概三秒然后满屏都是感叹号。“终于等到你”这五个字大概是那段时间所有电赛参赛者心里最真实的写照。从年初开始等通知等到怀疑人生等到部分队友差点转去准备考研结果公告落地的那个下午群里一下子就活了。这篇就来聊聊我们队从备赛、选题到四天三夜实测、再到赛后复盘的全过程。里面没有那种“只要努力就能拿奖”的鸡汤全是实际操作里趟出来的经验适合正在备赛或者以后想参加电子设计竞赛的同学参考。1. 公告发布前后的那几天2020年电赛到底特殊在哪1.1 群里炸锅的那个下午我记得很清楚当时是8月份距离原定比赛日期已经过去了整整几个月。很多队伍在寒假前就开始准备打算开学回来直接冲刺结果硬生生在家里蹲了大半年连焊台都没碰过几次。我们学校的情况也差不多实验室关门仪器借不出来买好的元器件堆在宿舍柜子里吃灰。到6、7月那会儿群里的话题已经开始从“这道题用哪种方案”变成“电赛今年是不是真要黄了”。所以当通知真正出来的时候备赛群里炸了。不夸张地说那种感觉就像你等最后一班公交等了一个小时已经准备扫码打车了结果车突然来了。公告的大致内容是竞赛没有取消但组织形式做了调整从原来全国集中式的评审改成了分散式、分赛区组织测评方式也相应调整。这意味着什么意味着题目照样有测评照样有奖也照样评只是大家见面的方式变了。对参赛者来说核心规则没变变的更多是时间分配和测评细节。那几天我们团队做的第一件事不是马上翻书而是把2020年之前几年的赛题和器件清单全部重新过了一遍目的就是找方向感。电赛的出题风格向来有延续性电源类、信号类、仪器仪表类、控制类这几大类基本每年都会轮着来。器件清单里给了什么芯片基本能猜到大方向。那次公告的器件清单和往年相比有增有减比如放宽了对部分处理器平台的限制还允许使用一些成熟的评估模块这个信号很关键说明题目重心慢慢从“手搭电路”往“系统集成”倾斜了。1.2 时间、赛制和测评方式的三重变化如果你没赶上2020年这一届可能很难体会“连测评方式都要改”这件事对备赛有多大的影响。以前电赛的测评是队员带着作品到指定地点现场通电、现场演示、现场答辩评委就在你面前看你波形和指标。而2020年部分赛区改成了远程测评或者学校分散测评这意味着两件事第一作品的可靠性和自动化程度变得更重要。以前你在现场可以手动掰一下电位器、重新插一下杜邦线评委也能理解。分散测评的时候很多环节是靠录像或者远程摄像头实时观察可重复性差的系统在现场就是灾难。所以我们备赛时专门给自己定了一条规矩任何上位机参数都必须在开机三秒内自动加载不许靠人手在评测时去敲键盘配置。第二文档和录屏材料的分量加重了。以前的测试记录尚可以口头汇报分散测评下很多细节要靠文字和截图说明论文写不清楚评委就看不到你的工作量。我们那一届不少水平不错的队伍最后就吃亏在材料准备上系统明明跑得很好但文档描述和测评流程不匹配分数拉低了不少。1.3 器件清单背后想告诉我们的事我一直觉得电赛的器件清单是一份“官方划重点”的文件聪明人都会反复读它。2020年的清单里主控方面基本覆盖了常用的嵌入式平台模拟器件也给出了具体的运放、比较器、ADC型号。很多人拿到清单第一反应是“太好了我手头都有”但真正读懂的人会开始反向推理为什么给这个器件而不给那个为什么偏偏是这颗运放拿运放来举例如果清单里给的是一颗带宽、压摆率、噪声指标都偏向低频精密测量的型号那题目大概率跟小信号处理或者高精度采集有关如果给的是一颗高速比较器那多半和频率测量、PWM检测、锁相环搭边。再配合允许使用DDS模块这类宽松条款基本可以判断信号类和仪器仪表类题目的技术栈会围绕“数字合成高频测量”展开。我们当时就是按这个逻辑去准备模块的后面实测阶段确实用上了一部分算是押中了方向。2. 备赛期我做的几类功课器件、模块与赛题方向的预判2.1 按题目大方向囤模块做减法不做加法很多第一次参加电赛的队伍容易犯一个毛病不管用不用得上先把所有类型的模块买齐光传感器就能囤十几个型号。结果比赛一开始光挑模块就花掉半天时间剩下的时间全在跟不熟悉的器件搏斗。我们队经过前一次比赛的教训这次学乖了按题目大类把模块分成四组电源组、信号采集组、控制执行组、人机交互组。每一组只保留一到两个主力型号确保队伍里至少两个人能不看数据手册直接写出驱动代码。电源组是优先级最高的。不管最后选什么题没一块稳的电源后面全是白搭。我们准备了两套方案低压差线性稳压为主控供电开关电源负责大电流负载再加上一个可调的负压模块基本覆盖电赛中常见的电源需求。信号采集组以精密ADC和仪表放大器为核心控制执行组包括了常见电机驱动和舵机驱动方案人机交互就是OLED屏幕加上矩阵键盘简单直接不整花活。这套储备思路后来被我们总结成一句话备赛是准备覆盖面不是收集器材。2.2 把常用电路和驱动代码提前写成“半成品库”电赛四天三夜的时间看着宽裕实际上第一天的方案论证就可能耗掉半天真正留给细节调通的时间非常有限。所以备赛阶段最有价值的事情之一是提前写好那些“一定会用到”的底层代码。比如ADC轮询读取加均值滤波PWM输出配置串口打印格式化调试信息按键扫描屏幕刷新基本PID控制循环这些东西不管哪类题都用得上没必要在比赛时重新对着数据手册一行行敲。我们还做了更极端一点的事情把几套常用的模块组合方案做成工程模板主控初始化完直接进入一个简单的自检程序上电后自动检测各个外设能不能通信。这样到了比赛现场作品搭起来后第一步不是对着示波器发呆而是跑一遍自检哪里有问题立刻就能定位到是哪条总线上挂的设备挂了。这个模板让我们在整个比赛过程中节省了至少三个小时而这种时间在四天三夜里比什么金贵。驱动代码这块有一个小建议不是谁的代码都能直接拿过来用尤其是网上那种来源不明的库编译环境、引脚定义、时钟配置稍微不一样就白搭。我们的做法是所有模块代码必须自己在开发板上验证一遍运行成功才放进半成品库里。备赛期多花点时间比赛期才能少踩坑。2.3 三人怎么分活硬件、软件、论文提前定死电赛队伍一般是三个人但三个人怎么分工很多队是真到比赛那天才现场商量。这样做的后果就是第一天的效率极低三个人都围着同一个问题转而别的队已经开始画PCB或者调固件了。我们这次在备赛阶段就把分工白纸黑字定了下来A队员负责硬件搭建和电源调试B队员负责主控固件和算法实现C队员负责上位机、论文框架和测试记录。注意这里说的是“分工责任”而不是“各干各的”A忙不过来的时候B要上去焊板子C写论文卡壳的时候A要帮忙补数据但核心责任人对最终结果负责。这种分工还有一个隐藏的好处——到了测评和写文档阶段不会出现所有人都在抢同一块键盘的情况。我们队在比赛第二天开始就要求C队员同步搭论文框架每天把当天的工作内容、关键测试数据、波形截图全部整理进文档里。等到第四天别人开始熬夜补论文的时候我们的测试报告已经只剩最后的排版和细节修订了。电赛的评分里测试报告占比不低这部分的提前量往往能直接转化成奖项的差距。3. 四天三夜实测流程从选题到封箱的完整节奏3.1 选题环节最容易纠结我们怎么做决策矩阵电赛的第一步永远是等题目出来而第一道坎也永远是选哪道题。别看只有四个小时的选题时间每年都有队伍把下午的大好时光全耗在“这道题难不难”“那道题会不会做不完”的内耗里。我们队这次提前准备了一个决策矩阵把往年赛题的特点和自带家底全部量化打分。决策矩阵的维度很简单基础分、上限分、风险系数、队伍熟悉度。基础分是指按我们现有储备这道题保底能拿多少分上限分是理想情况下能做到什么指标风险系数来自往年题目里那些常见的坑比如高频电路的一致性差、机械结构工作量太大、需要复杂闭环控制等不确定因素队伍熟悉度则是三个人关起门来自己问自己这类型的题目里涉及的核心技术有几个人真正独立做过。最后用加权的方式算出一个总分基本能过滤掉那些“看上去很美”的题目把范围缩小到一至两道合适的题。那年我们最终选的是信号类方向没有选听起来更有意思的控制类四轴题目。原因很简单控制类题目看着酷但机械结构调试时间不可控而我们队伍对信号链路的熟悉程度更高手头模块的完整性也更好。电赛的目标是四天三夜里做出一个能稳定工作的系统不是做科研探索合适比炫酷重要得多。这句话我们后来讲了无数次。3.2 前36小时必须完成的关键节点题目定下来之后时间轴就打开了。我们的习惯是先把整个四天分成三个大段前36小时是系统核心链路打通中间24小时是功能补全和指标优化最后12小时留给封箱、论文和现场预演。前36小时是整个比赛最关键的阶段因为大部分队伍都是在这个阶段掉链子的。以当时我们做的信号处理系统为例前半天先完成硬件平台搭建和核心芯片配置确保基本的信号能进来、能出去。这个阶段不要追求指标关键是链路活着——示波器上有波形ADC有数据DAC能输出屏幕会刷新。链路通了之后立刻进算法验证阶段先把核心功能用一个最简单的版本跑通就算性能不行也先跑过一遍流程。这样做的好处是确保我们手里永远有一个能工作的系统剩下的时间都是优化问题而不是推倒重来的问题。到了第36小时我们已经完成了核心功能的基本版本系统能稳定运行三小时以上不宕机。这个节点达成后整个队伍的心理压力骤减后两天的所有工作都是在这个基础上添砖加瓦。反观那些一开始就追求完美方案的队伍经常在第二天晚上还在跟链路做斗争后面的节奏就彻底垮掉了。3.3 最后一天半的联调和文档冲刺核心功能稳定之后剩下的工作并不是无脑优化指标而是做三件优先级明确的事情第一件是完善输入输出边界条件的处理也就是把各种异常情况都考虑到。信号输入范围调大怎么办超出显示范围怎么办按键误操作怎么办这些边角料问题看着小但测评现场最容易出问题的恰恰就是这些地方。第二件事才是性能指标的打磨最后一件是配合C队员做完整的测试记录和报告。关于联调还有一个非常实操的建议每次修改完代码或者硬件别急着庆祝先把整个系统重新完整跑一遍跑完记录波形和数据确认没有问题再继续下一步。我见过太多队伍改了一个参数后发现指标达标了兴奋得直接开始写论文结果没过多久系统开始随机抽风回头一查发现是新改的参数跟另一处功能冲突了。联调阶段最好的心态是“每一分钟都在假设系统下一秒会挂”带着这种危机感去测试能发现很多平时注意不到的问题。文档冲刺这件事很多人以为就是把论文套个模板填满就行其实测评现场的演示流程必须跟文档描述完全一致。评委拿着你的报告会按照报告里描述的步骤一步步去验证如果你的文档写的测试方法和实际系统的操作流程对不上现场就会非常尴尬。我们队最后一天做了三遍完整的全流程实测包括每一张截图对应的状态、每一次按键的顺序、每一组数据的读取方法全部按论文里的步骤重新走了一遍确保万无一失。4. 那些在测评前一天差点炸掉的坑现在想起来还后怕4.1 电源纹波问题差点让我们全盘重来信号处理类的系统对电源稳定性的要求比想象中要苛刻得多。比赛第二天我们把所有功能模块全部接上之后高精度ADC的采集数据突然出现了周期性跳变。用示波器一看电源轨上有大概几十毫伏的纹波频率正好和板子上开关电源的开关频率一致。这个问题的根源在于我们一开始贪方便直接用开关电源给模拟前端供电开关噪声顺着电源线耦合进了ADC的参考电压里。解决办法是立刻调整电源树结构把模拟部分和数字部分的供电完全分开模拟前端用低压差线性稳压器单独供电数字部分用原来的开关电源同时把ADC的参考电源引脚加上足够的去耦电容并重新规划了铺地。弄完之后再测之前的数据跳变消失了。这个坑给我的教训是在电赛里模拟电路和数字电路之间的“隔离意识”必须从头建立不要等出了问题才想起来检查电源树。尤其是做测量类题目的时候电源噪声对指标的影响立竿见影。4.2 ADC读数漂移与采样滤波的反复拉扯另外一个让我们头疼的问题是ADC读数的缓慢漂移。系统刚开机的时候读数很准但是连续运行半小时之后误差越来越大。我们一开始怀疑是温漂后来发现不是真正的罪魁祸首是程序里的采样时序和外部信号源之间的相位关系没有固定导致采集窗口在信号周期上每个刷新周期都不一样读数自然上下飘。这个问题最终靠两个手段解决一是把采样触发放到信号同步上升沿触发保证每次采样都落在信号的同一相位点二是加入了移动平均滤波算法平滑掉单次采样的随机抖动。两者结合之后读数的长期稳定性终于达标。这里想说的是很多看起来像硬件问题的现象根源其实在软件时序上排查的时候不要只盯着电路也要把逻辑分析仪和示波器同时架起来看时序关系。4.3 比赛第三天晚上的“三小时编译不过”事件这个插曲现在说起来像笑话但当时真的让人头皮发麻。第三天晚上我们准备把当晚优化好的代码合入主版本结果编译直接报错而且报错信息非常离谱指向一个压根没改过的头文件。折腾了将近一个小时最后才发现问题出在工程配置上有人不知道什么时候把编译器优化等级改到了某个激进档位结果触发了编译器在某个特定宏展开上的兼容性问题。可别说这是小概率事件四天三夜高强度工作下人一疲劳就会做出各种迷之操作比如点错按钮、改了配置忘了保存、把两个版本的工程文件混在一起打开。我们的应对策略是比赛一开始就用git管理代码每完成一个阶段就提交一次出现这种问题直接回退到上一个能编译的节点而不是在报错现场干耗时间。那晚回退到旧版本后我们花了十分钟重新把当天改的代码用干净的方式合入问题就解决了。版本管理这种东西平时觉得多余比赛的时候就是救命稻草。4.4 测评演示细节场地、环境和“演示脚本”到了最后测评阶段还有一个容易被忽略的变量——场地和环境差异。实验室里测试正常的系统换个房间可能因为灯光、电磁环境、电源质量的变化就出现异常。我们赛前专门做了个“便携式测试环境”清单自带电源排插、带屏蔽的测试线材、备用探头、甚至还有一块深色绒布用来遮挡环境光线直射屏幕。听起来有点小题大做但现场环境确实可能让屏幕反光导致评委看不清显示数值也可能让频率计读数不稳这时候一块布、一根好线就能挽回不少分数。演示脚本也很重要。我们提前把每一步操作和对应预期结果写成了A4纸谁负责操作、谁负责解说、谁负责记录评委提出的问题全部安排清楚。测评现场最容易出现的状况是评委问了一个计划外的问题队员开始慌操作节奏全乱。有了脚本和分工就有一个稳定输出信息的人其他人可以专注回答问题整个演示过程即使有意外也显得从容。5. 赛后复盘电赛带给我的东西不只是获奖5.1 做减法、留后路的思路后来一直受用比赛结束后我们队复盘过几次一致的结论是这次能稳定拿奖靠的不是现场爆种而是备赛阶段把大量“决策问题”提前变成了“执行问题”。在备赛时就定好选型方向、写好半成品代码、定好三人分工、做好决策矩阵比赛期间的每一步都有章可循所有的脑力都花在了解决具体技术问题上而不是花在现场纠结选哪条路上。这种“做减法、留后路”的思路后来被我带到了工作和做项目的方方面面。比如设计一个功能时先问自己什么是最小可用版本再考虑锦上添花的东西比如在做技术调研时先做决策矩阵而不是追逐热点。很多学弟学妹问我电赛到底锻炼什么我的回答是它锻炼的不仅是电路和代码能力还有一套在极端时间压力下依然能理性做决策的方法论。这个方法论比拿几个奖重要得多。5.2 给下一届的建议现在就开始储备什么如果你正在为下一届电赛做准备我的建议是三件事动手、记录、组队。动手指的是不要只看书和视频把常用的电源模块、运放电路、传感器驱动全部亲手焊一遍、调一遍记录指的是每做完一个东西就把踩过的坑和技术参数记下来比赛时这些都是最靠谱的参考资料组队指的是尽早找到志同道合的队友三个人提前磨合过几次小项目比比赛时才认识要强太多。另外尽量在赛前完整走一遍“模拟比赛”的训练流程给定一个方向计时四天从头做一个小项目包括方案论证、硬件搭建、代码调试、报告撰写。哪怕做出来的东西不完美这个过程也会让你把真正比赛时的节奏感和分工默契找到不至于一上来就被四天三夜的强度打懵。电子设计竞赛的机会就那么几次错过一次少一次希望下一届的你不用等这么久但一旦等到请一定全力以赴。
返回列表