在智能車競賽中,參賽隊伍應在車模平臺基礎上,制作一個能夠自主識別路線的智能車,然后在專門設計的賽道上自動識別道路并行駛。本文所設計的智能車,采用16位MC9S12DG128單片機作為數(shù)字控制器,由安裝在車前部的黑白CMOS攝像頭負責采集賽道信息,在單片機對信號進行判斷處理后,由PWM發(fā)生模塊發(fā)出PWM波對轉(zhuǎn)向舵機進行控制,從而完成智能車的轉(zhuǎn)向。智能車后輪上裝有旋轉(zhuǎn)編碼器,可用來采集車輪速度的脈沖信號,然后由單片機使用PID控制算法處理后的控制量去改變電機驅(qū)動模塊的PWM波占空比,從而控制智能車的行駛速度。
1 系統(tǒng)硬件電路組成
設計有效的智能車控制系統(tǒng)必須首先掌握控制對象的特性。根據(jù)對智能車特點的分析,可以認為,智能車轉(zhuǎn)向控制系統(tǒng)的傳遞函數(shù)近似為一階積分加純滯后,速度控制對象的傳遞函數(shù)則近似為一階慣性加純滯后的結(jié)論。
轉(zhuǎn)向控制系統(tǒng)主要是要求響應速度快,但對穩(wěn)態(tài)控制精度要求不高。而且控制對象只有積分和滯后環(huán)節(jié),沒有常見的慣性環(huán)節(jié)。根據(jù)以上特點,本轉(zhuǎn)向控制可采用PD控制器。
對速度進行檢測和控制的意義在于盡可能使智能車按照道路條件允許的最高速度行駛。在彎道應將車速限制為不脫軌的最高速度,在直道則應適當進行急加速以縮短單圈運行時間,提高比賽成績。智能車的硬件電路主要由視頻處理模塊、方向控制模塊和車速控制模塊組成。各模塊與單片機之間的硬件關(guān)系如圖1所示。
本系統(tǒng)中的視頻處理模塊由CMOS攝像頭、二值化電路和同步分離電路構(gòu)成;轉(zhuǎn)向控制模塊主要由舵機完成。舵機的轉(zhuǎn)動會轉(zhuǎn)化為車模轉(zhuǎn)向拉桿的橫向移動,從而帶動車模前輪的轉(zhuǎn)動,以控制智能車的行駛方向。舵機的轉(zhuǎn)向控制采用PD控制,單片機可以根據(jù)賽道中央黑線的位置向舵機輸出相應占空比的PWM信號。
車速控制模塊主要由直流電機、驅(qū)動電路和旋轉(zhuǎn)編碼器構(gòu)成。該模塊可根據(jù)CMOS攝像頭所檢測的路徑信息判斷智能車當前所處的賽道狀況,調(diào)整數(shù)字PID控制算法的Kp,Ki、Kd三個參數(shù),以達到迅速響應車速并消除靜態(tài)誤差之目的。
2 電路設計
2.1 電源模塊設計
電源模塊要為單片機、傳感器、舵機和驅(qū)動電機供電。因此需要提供多種電源以滿足各個模塊的要求。電池在完全充滿之后,其空載電壓只有8 V左右,而且隨著電池的消耗,電壓逐漸降低。使用了DC-DC變換芯片MC34063以及低差壓穩(wěn)壓器LM2940。MC34063可輸出穩(wěn)定的8V電壓給CMOS攝像頭,LM2940則可為16位MC9S12DG128單片機、視頻放大及二值化電路提供穩(wěn)定的5 V電源,從而保證了系統(tǒng)在各種情況下的穩(wěn)定運行。其電源模塊電路原理圖如圖2所示。
2.2 直流電機驅(qū)動模塊設計
直流電機驅(qū)動采用5 A集成H橋芯片MC33886。MC33886芯片內(nèi)置有控制邏輯、電荷泵、門驅(qū)動電路以及低導通電阻的MOSFET輸出電路。適合用來控制感性直流負載(如直流電機)。通過控制MC33886的四根輸入線可以方便地實現(xiàn)電機正轉(zhuǎn)、能耗制動及反接制動。圖3是經(jīng)過簡化的H橋電路,圖中,當S1、S4導通且S2、S3截止時,電流正向流過直流電機,智能車前進;當S2、S3導通且S1、S4截止時,電流反向流過直流電機,利用這個過程可以使車模處于反接制動狀態(tài),從而迅速降低車速;當S3、S4導通且S1、S2截止時,沒有電源加在直流電機上,直流電機電樞兩端相當于短接在一起。
本方案采用了兩片MC33886并聯(lián),直流電機驅(qū)動模塊的電路原理圖如圖4所示。
2.3 傳感器電路設計
本智能車采用CMOS攝像頭作為圖像傳感器,以保證賽道信息采集的準確有效。CMOS攝像頭的輸出信號是PAL制式的復合全電視信號,每秒輸出50幀(分為偶場和奇場)。
2.4 無線數(shù)據(jù)傳輸模塊設計
該智能車加裝了基于射頻收發(fā)芯片nRF403的無線數(shù)據(jù)傳輸模塊,并可在此基礎上實現(xiàn)MOD-BUS通信協(xié)議,這對測試智能車參數(shù)及程序調(diào)試很有幫助。在運行的過程中,可以將智能車的各項參數(shù)實時發(fā)送上來,而分析智能車的運行狀態(tài)可以更有針對性地對控制程序進行改進。
3 軟件設計
本智能車控制系統(tǒng)的程序結(jié)構(gòu)如圖5所示。這是一個兩層的分級控制系統(tǒng)。底層控制包括“轉(zhuǎn)向控制系統(tǒng)”和“車速控制系統(tǒng)”,上層主控程序則可通過改變底層控制系統(tǒng)的設定值、控制參數(shù)和約束條件,來對整個控制系統(tǒng)進行調(diào)度。設計這種分層結(jié)構(gòu)的控制系統(tǒng)是參照了集散控制系統(tǒng)DCS的結(jié)構(gòu)特點,程序各部分功能明確、結(jié)構(gòu)清晰,便于調(diào)試和維護。
本系統(tǒng)軟件所實現(xiàn)的功能主要是初始化、數(shù)據(jù)采集和濾波處理、道路識別、電機控制和舵機控制等。其中初始化主要是設置系統(tǒng)默認參數(shù)。其次是數(shù)據(jù)采集及濾波處理。為了盡量減少引入的純滯后時間,本文提出了一種獨具創(chuàng)新性的視頻信號采集方法。即用MC9S12DG128單片機提供的SPI口直接讀取經(jīng)過二值化處理的視頻信號。
至于電機控制。本系統(tǒng)是用單片機通過接收旋轉(zhuǎn)編碼器來檢測智能車后輪轉(zhuǎn)動所產(chǎn)生的脈沖數(shù),然后采用位置式PID控制算法的遞推形式對直流電機的轉(zhuǎn)速進行快速準確地控制。位置式PID控制算法的遞推形式如下:
△u(k)=Kp[e(k)-e(k-1)]+Kixe(k)+Kd[e(k)-2e(k-1)+e(k-2)],u(k)=u(k-1)+△u(k)
式中:u(k)為k時刻控制器的輸出;e(k)為k時刻的偏差;Kp、Ki、Kd分別為位置式PID控制算法的比例系數(shù)、積分常數(shù)和微分常數(shù)。舵機控制也是用單片機通過CMOS攝像頭來檢測路徑信息,然后采用不完全微分PD控制算法來控制舵機的轉(zhuǎn)角,從而實現(xiàn)路徑跟蹤。
本文介紹了一種智能車控制系統(tǒng)的設計與實現(xiàn)方法。通過大量實驗測試證明,該智能車能快速平穩(wěn)地在制作的賽道上跟蹤黑色引導線并行駛,而且尋跡效果良好,控制響應速度快,動態(tài)性能良好,穩(wěn)態(tài)誤差小,系統(tǒng)的穩(wěn)定性和抗干擾能力強。
-
單片機
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
631978 -
射頻
+關(guān)注
關(guān)注
104文章
5534瀏覽量
167460 -
控制系統(tǒng)
+關(guān)注
關(guān)注
41文章
6509瀏覽量
110381
發(fā)布評論請先 登錄
相關(guān)推薦
評論