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