关于全国大学生电子设计竞赛的那些事

全国大学生电子设计竞赛(2019年TI杯)

2019年全国大学生电子设计竞赛纪念章

学科竞赛级别
A级学科竞赛 B级学科竞赛 C级学科竞赛
全国大学生电子设计竞赛国家级决赛 全国大学生物理学术竞赛
全国大学生集成电路创新创业大赛 世界大学生超级计算机竞赛决赛
ACM全球总决赛 ALTERA亚洲芯片设计大赛决赛
比赛流程

1、每两年举行一次,大概在8月7号开始。在比赛开始前大概七天,电赛组委会会在官网上公布竞赛期间使用到的元器件清单。该清单公布后,参赛的队员就可以着手做准备了。

2、根据自己擅长的方向,提前购买元器件。

3、比赛当天,大概上午8点网上公布赛题。

4、比赛持续时长为四天。

比赛经历

回想起为期四天(总共24 X 4小时)的电赛经历,感慨颇多。

当赛题公布的时候,从A题浏览到H题,发现只有H题相对比较有思路。于是,经过一上午的讨论和演算,我们队选了H题(模拟电磁曲射炮)。接下来,苦逼的四天就开始了!!!!

作品的大致制作过程如下:
模拟电磁曲射炮分为两个部分,一是炮弹发射部分(此部分电路的电压和电流都很大),另一个是控制部分(主要控制炮管的发射方向,以及炮弹的出口时候的动能)。我们当时使用的主控芯片是stm32f103c8t6。
对于炮弹发射部分,推算炮弹的运行轨迹方程。该方程由炮管的发射角度和炮弹的出口速度(或者说动能)确定。然后,炮管的角度通过舵机调节,炮弹射出时的动能通过电容放电多少来调节,而电容放电的多少由电容的充电电压和充电时间决定。因此,需要用控制器控制电容的充电电压和充电时间。
对于控制部分,需要显示设备和输入设备,还需要一些人机交互。显示部分,采用OLED,输入部分用触摸屏或者矩阵键盘。就是,每给定一个角度和射程(把角度和射程这两个数据输入到单片机),按下一键开火按键后,整个系统会自动调整发射角和炮弹动能然后打中目标。这是基础部分。
发挥部分中,需要系统自动搜索目标,然后开炮。
题目的第一个要求——利用电磁力把小钢球打出去。
为了给耐压值达到几百伏的超级电容充电,需要很大的充电电压。但是,比赛现场只允许带学生电源。无奈,只能自己制作逆变器,把5V的电压逆变到几百伏。不过,由于没有经验,再加上实验设备不足,电压又很高,最终还是放弃了自制逆变器(最后是直接用的现成的)。在制作电磁线圈的时候,由于买不到漆包线,我们队还为此拆了一个直流电动机。炮管是用较粗的饮料吸管做的(实在是没办法才这样做的)。没有胶水和固定装置,就直接用胶带把炮管和炮架绑在了一起(这真是在紧急情况下,什么办法都想得出)。反正评审的时候只看功能不看长得是否好看!这样,第一个功能就完成了。
接下来,最难也是最重要的一步就是控制系统的设计了。除了会C语言外,还要有一定的算法设计能力。会配置嵌入式的底层代码。一但程序的架构确定了,就不能随便的改动了。另外,控制系统的电路设计要用到Altium designer,由于这个软件用的不熟练,导致制作的元件封装有问题,制作出来的电路板不能用,于是只能返工重做。
记得在设计程序的时候,最让我头疼的一个问题——矩阵键盘键入的角度和距离、定时器的预装载值、占空比、舵机转动的角度,这些量之间的关系怎么用一个方程给描述出来。最后发现,这些关系不过是一个简单的线型方程(就是:ax+by = 0的形式)。看来数学真的是很重要。
整个系统设计好后,接下来要做的就是测试了。虽然我们在比赛的头一天就找到了炮弹的运动方程(只是一个理论上的关系式),但是该运动方程中的好几个参数还没有确定。这些参数只能通过做试验测出来(就是通过大量的试验数据拟合出来方程)。
在测试的过程中,发现,超级电容的充电量(充电量和充电电压有关)和充电时间的关系总会发生变化(比赛结束后才知道,要想控制电容的充电电压远远没有那么简单,并不是一个逆变器和一个计时器就可以搞定的)。这直接导致我们的炮弹出口速度的不确定性,进而导致炮弹打得不准。因此,就算理论上我们的方程式可行的,如果没有稳定的放电量,一切都是空谈!!!
不过最终结果还算可以,虽然没有进入国赛。

感悟

刻骨铭心的累!
我从来没有体味过连续几个通宵写代码是什么感觉,这次如愿以偿,最后真是累成了狗!

淘宝上的黑心的商家!
自电赛组委会公布电赛期间要用到的元器件那一刻七,淘宝上与电赛有关的元器件就开始疯狂的涨价,价格涨了五六倍!可爱的队友因为商家违反自己的承诺,迟迟不发货,差点和客服干了起来。要知道,谁先采购好元器件,谁就能先搭建好系统,谁就能开始测试了,时间就是一切呀!光给快递员发红包和支付运费就花费了很多人民币!

绝望和希望!
有些队在即将提交作品的前一天,由于小小的失误,导致自己做好的四旋翼飞行机器人在上电的时候冒烟、着火,好吧,一切完蛋。凌晨三点多(距离提交作品还有四个多小时)的时候,一位学妹来我们队借稳压二极管,她们队的一个很重要的二极管烧掉了,她说话的声音已经到了哽咽的地步,不过她说得那个二极管型号,我们真的没有。在距离提交作品还有12个多小时的时候,由于Altium designer使用的不熟练,我们队制作出来的控制部分的电路不能正常工作,那时候,我们队是真的慌了神!当时,便不停的安慰自己,一定要冷静、一定要冷静、一定要冷静…… 因为整个系统还没搭建起来,就没法测量数据,也就没法找出拟合方程。没办法,绘制原理图、布线、打印电路、转运电路、腐蚀电路板、打孔、焊接元器件,这些步骤都要重新来一边遍,而且一个细节有错,就完蛋了。我们队,在下半夜刚开始的时候,控制电路、云台舵机和继电器电路、以及炮弹发射电路,全部搭建完毕。在打开总电源启动整个系统前的那一刻,我的内心是崩溃的,心跳加快,担心会不会像那个飞行器一样,一上电,立马冒烟。在按下总开关后,那个只有0.96寸OLED显示屏开始显示:“please waiting”,当时只感觉甲状腺激素迅速飙升!

赛前准备

我从放假便开始整理比赛时候可能用到的C语言代码。直到比赛开始前七天,天真的我认为准备了大概5000多行C51单片机的代码应该够用了,以为只要低端微控制器操控得好,应该也可以实现高端微控制器的部分功能。但是到电赛组委会公布元器件清单的时候(比赛开始前一周左右),我们都绝望了,51单片机并口通讯时做显示还差不多,做控制的话就太菜了,可是嵌入式系统我又不怎么会,这是第一次让我大跌眼镜。在电赛组委会给出的元器件清单中,超级电容,舵机云台什么的,大家都不知道出题人想干啥。估计大多人都不会想到(估计猜题专家也不会想到),超级电容,舵机,云台会组合到一起。
根据元器件清单以及往年电赛的出题规律,猜测电赛可能会出的题目。结果是,猜来猜去最终还是被电赛组委会给调戏了。

需要学习的东西

各种基础知识:C语言、嵌入式、单片机、数字电路、模拟电路…
各种开发工具:keil、Altium Designer、Proteus、MATLAB、烧写工具…

发布了5 篇原创文章 · 获赞 2 · 访问量 165

猜你喜欢

转载自blog.csdn.net/weixin_42766637/article/details/103135150