下面进入属于“卑鄙的小黄人”的个人神之吐槽模式,与大家分享一下我的一些电赛经历!在论坛里面,我也算是新兵了,我参加的是2017的全国大学生电子设计大赛,主要学习方向为控制类,下面将从我的一些赛前准备、选题方向、参赛故事、困难解决办法、参赛心得及建议等方面同大家分享我当时参赛的一些经历和心理活动。 赛前准备、 说到赛前准备,先说一下我的专业吧,我专业是电子信息,我的队友也和我一样是电子信息专业的,所以在平时的学习,我们小组便有意识的偏向于控制类。 因此,赛前准备时,应该先确定自己的兴趣和爱好,选定学习方向,或电源设计,或控制类,亦或者是无人机等。而我较为喜欢控制类,少不了的,便是学习各种算法了,算法尤为重要,凡是控制类题目都需要算法进行支撑,所以像常见的PID算法、滤波算法、PWM算法、跟踪算法这些都需要有一个基础的学习。那么软件需要算法,硬件也需要各种模块及MCU,这也是比较烧钱的部分,各位可根据自己的实际情况和查看往年的题目,购买一些常用的模块进行学习使用,同时也可尝试就往年题目,自己进行开发设计,补齐自己的短板。 选题经验、 选题这一块,其实个人觉得不需要有太多的犹豫,那个题目更贴近自己平时的学习方向,便选择哪一个。当然还得综合队友的长处,集三人之力,选择一个最有利的题目。具体也记不太清了,好像一般偏控制类题目会比较多一点。对我当时来说,在考题发布时候,也没有太多选择,贴近我们平时的学习方向的,就两道题,最后选择了题目看起来更简单,实际很狗血的“简易水样检测系统”。 参赛故事以及困难解决办法、 简易水样检测系统的题目如下:
图 1 简易水情检测系统示意图 1. 基本要求 (1) 分四行显示“水情检测系统”和水情测量结果。 (2) 向塑料容器中注入若干毫升的水和白醋,在 1 分钟内完成水位测量并 显示,测量偏差不大于 5mm。 (3) 保持基本要求 (2)塑料容器中的液体不变,在 2 分钟内完成 PH 值测量并显示,测量偏差不大于 0.5。 (4) 完成供电电池的输出电压测量并显示,测量偏差不大于 0.01V。 2. 发挥部分 (1) 将塑料容器清空,多次向塑料容器注入若干纯净水,测量每次的水位值。要求在 1 分钟内稳定显示,每次测量偏差不大于 2mm。 (2) 保持发挥部分(1)的水位不变,多次向塑料容器注入若干白醋,测 量每次的 PH 值。要求在 2 分钟内稳定显示,测量偏差不大于 0.1。 (3) 系统工作电流尽可能小,最小电流不大于 50μA。 (4) 其他(发挥部分,自己为其添置功能) 选定了这道题目后,在前期的准备工作中,我们学习了编写的电机、红外,舵机、PID算法等等之类的都没有用到,只得现学现卖。我们尝试用红外,激光、液压等等传感器来测量水位高度,都不能满足精度要求,最后我们的方案选择还是绕回来了使用超声波作为测量水位的传感器,但超声波极易受到外部环境条件因素所影响,可若是使用声纳却不符合自己设计的基本原则了,所幸超声波的精度问题被我们解决了。超声波测量精度所遇到的问题大致有以下几个: 1、超声波测量的距离会围绕某个实际值上下运动,不具有周期性。 2、超声波测距具有漂移现象,实际值和测量值最大高达1到2厘米。 3、不同的超声波所带来的误差都不一样,无论是同一型号同一厂家的超声波,还是自己焊接的超声波。 实际上,比赛也就是去发现问题,然后解决问题。办法总是比问题多, 通过不断的测量,不断的观察,对比数据,找到问题的所在,值得说一下的是,在此刻有一个上位机,也就是虚拟串口示波器帮了我们很大的忙,通过虚拟串口示波器我们更能清晰、更直观的观察数据。对于,问题一,我们使用多种滤波算法的结合,将测量时带来的毛刺,在实际值上下漂移的现象解决了,利用中值滤波找到实际值,卡尔曼预测,毛刺去除,在将几种滤波算法反复执行, 使得测量数据得以伴随着液位的稳定而稳定。而问题二,我通过反复测量发现,漂移现象带着一定规律,在某个值会增大多少,在某个值会比实际值少多少,根据这些规律,我们总结并在最后输入的部分,加上了补偿函数。问题三,每个超声波的测量误差都不尽相同,就算是同个型号也不一样,这一点是经历了许多痛苦的折磨才总结,为此我们走了不少的弯路。到此,超生波测液压的问题已经完全解决了。 而接下来,就是电池组电压测量了,电压测量的所遇到的麻烦大体就是来至于功耗问题带来的了, 最初的方案,是使用3.3V的电池组供电,为了使单片机工作时的功耗更低,但到后面有发现3.3V的工作电压不足以给PH测量模块供电,会用到升压模块,得不偿失,又改成使用5V供电, 最后决定用4颗555电池组成的电池组供电,又因为满电的电池电压超过6V,故进行放电处理, 达到6v以下。ADC检测电压值的方案也是改了又改, 最初使用AS1115ADC芯片加基准电路,后面又因为功耗问题,采用IAP15自带的ADC电路, 由于电池组不带稳压功能会随着放电电流的变化,呈现不同的电压值,故也去掉了基准电压电路。PS:大家看这里,是不是经常看到文中提起功耗问题,这是这道题目的压轴题,也就是最大的BOSS,工作电流小于50UA,虽然为这功耗考虑许多问题,但可惜的是最后,也并没做出来,不过也在其中学到了许多,也算有所值,据说,我这个赛区,就广东赛区,并没人做出来。 后面就开始了PH值的测量,这个问题可以说是这道题最简单的一道题, 可是我却在这道题栽了巨大的跟头了,这已经是后话了。PH值测量不存在上述了两个问题遇到的许许多多的麻烦,PH值测量模块是由一个表笔头和一个基准电路组成,PH值的变化会带动表笔头电压的变化,经过电路放大,给ADC处理得出PH值,经过测量数据,在MATLAB拟合出函数,并可以看出他的拟合度高达0.99,这可以说基本没有误差了。为了避免使用工具和测量环境的不同,我们还在电路上加了校准电路,也就是滑动变阻器,通过调节电阻,改变PH模块输入的电压值,实现校准。在电压测量电路上也有。 解决完上面的几个问题,胜利在望了,比赛也接近了尾声,在发挥题的其他这道自由发挥的这道题,我们决定用现在最火热的物联网思想,将测量数据实时在上位机上,我们设计了一个APP,通过蓝牙模块对接,完成物联。最后的压轴题很遗憾没有完成,提出的方案也都是不成熟的方案,在此也就不累述了。此时比赛结束时间已经迅速拉近,我们在论文的初稿上对细节进行了修改完成之后,比赛结束的铃声也敲响了,伴随着作品的封条,这场四天三夜的比赛也宣告结束了 参赛心得及建议、 前面说到,我们小队当时在PH值的测量上栽了巨大的跟头,这也是最想和大家分享得一点心得。在这里说一下,评审室里应该是一个组在评审,一个组在调试,调试完等待上一组评测结束顶上去,每个组都有40分钟的调试时间。而我赶到评审室时,发现我上一组的人已经评测完成,等着我们组上去评测,这是一个很不好的信号,而当时的我没有意识到。 说实话,第一次参加, 那时候心情是相当紧张,经过志愿者这么一催就更加紧张了。然而,我们接电测试后,评委就上来催了,说系统能运行就拿上来把,其他他们自己看就好,有问题会让我们调的,所以我们就拿上去了!但是记住这是错误的!(在规定的30分钟调试时间里把自己的作品调试完再拿上去)。评委老师有许多都临时调度的,有许多甚至不怎么了解嵌入式设计。 测评开始开门红,一路满分,直到测量PH,我就开口说PH值我们是根据我们实验室的环境进行校准的,可能和这里的仪器测量出来的不一样,所以我还加了校准电路,请求校准一下在测量。意想不到的是,评委竟然拒绝了,我又仔细解释了一遍,他还是说不行,“之前那两个队伍都没有说要校准(我们队伍排在第三),你们为什么要!”这也是老师的原话。当时也不懂,便任由摆布了,这道题也成为我们最大的痛,所有误差呈标准线性,与现场仪器的测量结果永远差一个固定数值(我记得好像测的所有数据都多了0.2),最简单的题目一分不得。所以!这也是过来人对以后准备参加电赛的小伙伴最想说的话:“熟读比赛规则,争取自己的权益,不要放弃调试时间,做好最后一站的准备工作” 电赛题目点评 在电赛许多题目里面,电源设计适合强电方向;通信类题目适合电信专业及计算机专业,控制类题目比较综合,主要靠算法;还有年年许多人做到放弃的无人机和智能小车题目,这个应该属于所有题目里边最烧钱的,也需要选这道题目的人有一定基础,不然在规定时间很难做出来。以上属于个人拙见。在选题目的时候,指导老师也很重要,毕竟指导老师参加了许多届比赛,远比我们有经验。
|