新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 第十五屆全國大學生智能汽車競賽 晉速-天馬星隊技術報告*

        第十五屆全國大學生智能汽車競賽 晉速-天馬星隊技術報告*

        作者:張天貴,姚宇肖,段子琪(太原工業學院) 時間:2021-03-22 來源:電子產品世界 收藏
        編者按:本文介紹的智能車系統以STC8g2k64s4微控制器為核心控制單元,并根據比賽的具體情況,自制質量較輕、較為靈活性的車模,使用STC8g2k64s4作為系統的控制核心,讓它根據所采取的數據輸出PWM波使電機差速轉向。最后,我們對車模存在的問題分析、改進。


        本文引用地址:http://www.104case.com/article/202103/423744.htm

        *帶隊教師:左義海 寇元

        本組使用的是自制車模,采用宏晶公司的STC8g2k64s4作為核心控制單元,自主構思控制方案及系統設計,包括傳感器信號采集處理、控制算法及執行、動力電機驅動等,最終實現一套能夠自主識別路線,并且可以實時輸出車體狀態的控制硬件系統[1-2]

        1616400634241602.png

        圖1 車模整體視圖

        1   軟件整體設計方案

        軟件部分的設計主要是對微處理器STC8g2k64s4 的程序編寫,通過計算,對其各個端口進行讀寫控制,即將傳感器獲取的電信號通過單片機端口讀入,并經過處理,進行控制算法,最終通過單片機端口輸出給硬件電路,對車速、打角等硬件電路進行控制,最終實現對車輛機械部分的控制[3-5]

        軟件的設計原則主要是:效率、結構化、規范、易讀。因為軟件部分涉及到端口輸入輸出數據的處理,要對車輛硬件進行控制,因此要提高軟件處理的效率以達到控制的及時性。另外,整個控制環節有緊密的邏輯關系,因此,軟件的結構合理和規范化的設計有助于調理邏輯關系,便于修改、調試、擴展及擁有較強的適應能力。程序編寫選用MDK 為編譯環境,C 語言為主要程序編寫語言。

        軟件系統是對傳感器等輸入設備輸入的信息進行處理,然后通過一定算法,得到控制輸出,對現有的硬件電路進行調度和控制,從而使按照賽道前進。軟件系統要達到的最終目的是讓智能車更快更穩的在賽道上行駛,從而真正達到“智能”。

        2   賽道特殊元素處理方法

        2.1 車庫處理方法

        對于車庫,我們的思路是:

        檢測→程序執行打角→程序執行直走→停止

        ● 檢測:我們先后試過紅外,干簧管,磁力計。經對比,我們采用一根彈簧將磁力計吊在碳桿上的方案。

        ● 程序執行打角:檢測到車庫之后,車模就開始進行打角,在這里我們采取固定轉向的方法,我們通過控制車模打角的時間來使車子打角。車模打角的時間是通過大量實驗得出數據,然后用matlab 擬合出一條時間-電壓曲線,通過這條曲線計算出來的。

        ● 程序執行直走:打角程序執行完成后我們控制車模直走進庫,直走也是給的固定占空比,我們同樣是控制車模執行程序的時間來完成這一步驟。

        1616400763480028.png

        圖2 車庫

        2.2 環島處理方法

        image.png

        圖3 環島

        圖3 為一個標準的環島,我們的處理方法主要基于我們的電感排布方式,所以不一定普遍適用。我們采用的電感排布是“三橫兩豎”。由于環島鋪設是有一個點或一段距離是電磁線重疊的,這個區域的電感值會明顯區別于別的地方,根據這一特征我們將其判斷為環島。之后再通過豎直電感和水平電感的偏差擬合出一個新的偏差,以此進環。最后需要對出環進行處理,防止一個環島繞幾圈而耗能。

        2.3 坡道處理方法

        由于坡道鋪設有明言規定電磁線會鋪在坡道表面(如圖4),所以說到了坡道處水平電感會有突變,經多次測試,中間電感值變化最明顯,又加了陀螺儀判斷當前角度為車模正常行駛的角度作為輔助判斷條件。經多次測試后,該方案可行。

        圖4 細則中鋪設坡道說明軟件控制是基于機械系統和硬件系統的完善的基礎上開展起來的。我們設計電磁程序控制算法的時候,首先根據不同放大倍數的電磁運放傳感器,確定了我們所需要采取的數據,然后配合上位機將電感值反饋回來,再配合各個傳感器的數據進行分析和處理。通過嘗試過的方案優劣比較,最終確定采集特征值判斷,效果比較明顯。

        1616736483224484.png

        圖4 細則中鋪設坡道說明

        3   結語

        軟件設計是在機械和硬件得到保障下的一項工作。因為有些問題從軟件上解決或許很棘手,但是從機械或硬件上入手就會很簡單,所以在機械和硬件設備完善的情況下軟件設計起來會相對順利。先在桌面上靜態調試使車模直立起來,接著電感進行濾波計算偏差,然后上算法循跡,最后再綜合調試。直立控制上我們采用的是PD 控制,轉向算法上我們也采用的PD 控制,處理特殊元素時我們采取特征點來判斷。電機控制算法上我們有所不足,但是我們肯定會繼續努力,繼續嘗試不同的算法,完善我們小車的控制程序。

        參考文獻:

        [1] 關于舉辦第十五屆全國大學生智能汽車競賽的通知[EB/OL].[2020-6-6].https://blog.csdn.net/zhuoqingjoking97298/article/details/106581683

        [2] 王盼寶,佟超,曹楠,等.智能車制作[M].北京:清華大學出版社,2001.

        [3] 張劍平.模擬電子技術基礎[M].北京:清華大學出版社,2011.

        [4] 閻石.數字電子電路基礎[M].北京:高等教育出版社,2005.

        [5] 邵貝貝.單片機嵌入式應用的在線開發方法[M].北京:清華大學出版社,2001.

        (注:本文來源于科技期刊《電子產品世界》2021年第2期。)



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 新乡县| 长武县| 珲春市| 綦江县| 洛阳市| 石首市| 兴安盟| 平南县| 依安县| 儋州市| 子长县| 林西县| 东兰县| 合阳县| 澎湖县| 图们市| 卓资县| 张家口市| 兖州市| 进贤县| 泗水县| 仙居县| 安徽省| 丹阳市| 东宁县| 根河市| 合水县| 武定县| 宜章县| 广水市| 林甸县| 准格尔旗| 凯里市| 鄱阳县| 巴林左旗| 内江市| 巨鹿县| 平江县| 工布江达县| 延庆县| 射阳县|