關於全國大學生電子設計競賽的那些事

全國大學生電子設計競賽(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、燒寫工具…

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章