ST夯實(shí)MCU戰(zhàn)略 無線、安全、AI成為發(fā)力點(diǎn)
*帶隊(duì)教師:左義海 寇元
本文引用地址:http://www.ex-cimer.com/article/202108/427929.htm本組使用的是自制車模,采用宏晶公司的stc8g2k64s4作為核心控制單元,自主構(gòu)思控制方案及系統(tǒng)設(shè)計(jì),包括傳感器信號(hào)采集處理、控制算法及執(zhí)行、動(dòng)力電機(jī)驅(qū)動(dòng)等,最終實(shí)現(xiàn)一套能夠自主識(shí)別路線,并且可以實(shí)時(shí)輸出車體狀態(tài)的智能車控制硬件系統(tǒng)[1-2]。
圖1 車模整體視圖
1 智能車軟件整體設(shè)計(jì)方案
軟件部分的設(shè)計(jì)主要是對(duì)微處理器stc8g2k64s4 的程序編寫,通過計(jì)算,對(duì)其各個(gè)端口進(jìn)行讀寫控制,即將傳感器獲取的電信號(hào)通過單片機(jī)端口讀入,并經(jīng)過處理,進(jìn)行控制算法,最終通過單片機(jī)端口輸出給硬件電路,對(duì)車速、打角等硬件電路進(jìn)行控制,最終實(shí)現(xiàn)對(duì)車輛機(jī)械部分的控制[3-5]。軟件的設(shè)計(jì)原則主要是:效率、結(jié)構(gòu)化、規(guī)范、易讀。因?yàn)檐浖糠稚婕暗蕉丝谳斎胼敵鰯?shù)據(jù)的處理,要對(duì)車輛硬件進(jìn)行控制,因此要提高軟件處理的效率以達(dá)到控制的及時(shí)性。另外,整個(gè)控制環(huán)節(jié)有緊密的邏輯關(guān)系,因此,軟件的結(jié)構(gòu)合理和規(guī)范化的設(shè)計(jì)有助于調(diào)理邏輯關(guān)系,便于修改、調(diào)試、擴(kuò)展及擁有較強(qiáng)的適應(yīng)能力。程序編寫選用MDK 為編譯環(huán)境,C 語言為主要程序編寫語言。軟件系統(tǒng)是對(duì)傳感器等輸入設(shè)備輸入的信息進(jìn)行處理,然后通過一定算法,得到控制輸出,對(duì)現(xiàn)有的硬件電路進(jìn)行調(diào)度和控制,從而使智能車按照賽道前進(jìn)。軟件系統(tǒng)要達(dá)到的最終目的是讓智能車更快更穩(wěn)的在賽道上行駛,從而真正達(dá)到“智能”。
2 賽道特殊元素處理方法
2.1 車庫處理方法
對(duì)于車庫,我們的思路是:
檢測→程序執(zhí)行打角→程序執(zhí)行直走→停止
● 檢測:我們先后試過紅外,干簧管,磁力計(jì)。經(jīng)對(duì)比,我們采用一根彈簧將磁力計(jì)吊在碳桿上的方案。
● 程序執(zhí)行打角:檢測到車庫之后,車模就開始進(jìn)行打角,在這里我們采取固定轉(zhuǎn)向的方法,我們通過控制車模打角的時(shí)間來使車子打角。車模打角的時(shí)間是通過大量實(shí)驗(yàn)得出數(shù)據(jù),然后用matlab 擬合出一條時(shí)間-電壓曲線,通過這條曲線計(jì)算出來的。
● 程序執(zhí)行直走:打角程序執(zhí)行完成后我們控制車模直走進(jìn)庫,直走也是給的固定占空比,我們同樣是控制車模執(zhí)行程序的時(shí)間來完成這一步驟。
圖2 車庫
2.2 環(huán)島處理方法
圖3 環(huán)島
圖3 為一個(gè)標(biāo)準(zhǔn)的環(huán)島,我們的處理方法主要基于我們的電感排布方式,所以不一定普遍適用。我們采用的電感排布是“三橫兩豎”。由于環(huán)島鋪設(shè)是有一個(gè)點(diǎn)或一段距離是電磁線重疊的,這個(gè)區(qū)域的電感值會(huì)明顯區(qū)別于別的地方,根據(jù)這一特征我們將其判斷為環(huán)島。之后再通過豎直電感和水平電感的偏差擬合出一個(gè)新的偏差,以此進(jìn)環(huán)。最后需要對(duì)出環(huán)進(jìn)行處理,防止一個(gè)環(huán)島繞幾圈而耗能。
2.3 坡道處理方法
由于坡道鋪設(shè)有明言規(guī)定電磁線會(huì)鋪在坡道表面(如圖4),所以說到了坡道處水平電感會(huì)有突變,經(jīng)多次測試,中間電感值變化最明顯,又加了陀螺儀判斷當(dāng)前角度為車模正常行駛的角度作為輔助判斷條件。經(jīng)多次測試后,該方案可行。
圖4 細(xì)則中鋪設(shè)坡道說明
軟件控制是基于機(jī)械系統(tǒng)和硬件系統(tǒng)的完善的基礎(chǔ)上開展起來的。我們設(shè)計(jì)電磁程序控制算法的時(shí)候,首先根據(jù)不同放大倍數(shù)的電磁運(yùn)放傳感器,確定了我們所需要采取的數(shù)據(jù),然后配合上位機(jī)將電感值反饋回來,再配合各個(gè)傳感器的數(shù)據(jù)進(jìn)行分析和處理。通過嘗試過的方案優(yōu)劣比較,最終確定采集特征值判斷,效果比較明顯。
3 結(jié)語
軟件設(shè)計(jì)是在機(jī)械和硬件得到保障下的一項(xiàng)工作。因?yàn)橛行﹩栴}從軟件上解決或許很棘手,但是從機(jī)械或硬件上入手就會(huì)很簡單,所以在機(jī)械和硬件設(shè)備完善的情況下軟件設(shè)計(jì)起來會(huì)相對(duì)順利。先在桌面上靜態(tài)調(diào)試使車模直立起來,接著電感進(jìn)行濾波計(jì)算偏差,然后上算法循跡,最后再綜合調(diào)試。直立控制上我們采用的是PD 控制,轉(zhuǎn)向算法上我們也采用的PD 控制,處理特殊元素時(shí)我們采取特征點(diǎn)來判斷。電機(jī)控制算法上我們有所不足,但是我們肯定會(huì)繼續(xù)努力,繼續(xù)嘗試不同的算法,完善我們小車的控制程序。
參考文獻(xiàn):
[1] 關(guān)于舉辦第十五屆全國大學(xué)生智能汽車競賽的通知[EB/OL].[2020-6-6].https://blog.csdn.net/zhuoqingjoking97298/article/details/106581683
[2] 王盼寶,佟超,曹楠,等.智能車制作[M].北京:清華大學(xué)出版社,2001.
[3] 張劍平.模擬電子技術(shù)基礎(chǔ)[M].北京:清華大學(xué)出版社,2011.
[4] 閻石.數(shù)字電子電路基礎(chǔ)[M].北京:高等教育出版社,2005.
[5] 邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開發(fā)方法[M].北京:清華大學(xué)出版社,2001.
(本文來源于《電子產(chǎn)品世界》雜志2021年2月期)
評(píng)論