基于MC9S12DG128的智能車控制系統設計與實現
1引言
我國自2006年起舉辦的全國大學生“飛思卡爾杯”智能汽車競賽融科學性、趣味性和觀賞性為一體,是一項以迅猛發展、前景廣闊的汽車電子為背景,涵蓋了自動控制、模式識別、傳感技術、電子、電氣、計算機、機械與汽車等多個學科專業的科技創新比賽。參賽隊伍在車模平臺基礎上,制作一個能夠自主識別路線的智能車,在專門設計的賽道上自動識別道路行駛 [1]。
本文所述的智能車就是根據比賽規則要求設計并制作而成的,該智能車控制系統采用飛思卡爾半導體公司生產的16位MC9S12DG128單片機作為數字控制器,由安裝在車前部的黑白CMOS攝像頭負責采集賽道信息,并將采集到的信號經二值化處理后傳入單片機,單片機對信號進行判斷處理后,由PWM發生模塊發出PWM波對轉向舵機進行控制,完成智能車的轉向。另外,智能車后輪上裝旋轉編碼器,用來采集車輪速度的脈沖信號,單片機使用PID控制算法處理后的控制量去改變電機驅動模塊的PWM波占空比,從而控制智能車的行駛速度。
2控制方案設計和硬件電路組成
設計有效的智能車控制系統必須首先掌握控制對象的特性。根據對智能車特點的分析,可以認為智能車轉向控制系統的傳遞函數近似為一階積分加純滯后,速度控制對象的傳遞函數近似為一階慣性加純滯后的結論。
轉向控制系統主要是要求響應速度快,對穩態控制精度要求不高。而且控制對象只有積分和滯后環節,沒有常見的慣性環節。根據以上特點,轉向控制采用PD控制器。
對速度進行檢測和控制的意義在于盡可能使智能車按照道路條件允許的最高速度行駛。
在彎道應將車速限制為不脫軌的最高速度,在直道應當適當進行急加速以縮短單圈運行時間,提高比賽成績。同時,對速度信號進行積分求和可以得到賽道長度信息,為道路識別與記憶模塊提供數據。智能車速度控制系統的精度不需要太高,關鍵是如何快速響應賽道的路況變化。因此速度控制采用PID控制器。針對不同的道路狀況迅速準確地改變車速,實現穩定過彎。
智能車(che)(che)的硬(ying)件電(dian)路主要由視(shi)頻處理模塊、方(fang)向控制模塊和車(che)(che)速控制模塊組(zu)成(cheng)。各模塊與單片(pian)機之(zhi)間的關(guan)系如圖(tu)1所示。

3 模塊功能
(1)視頻處理模塊。視頻處理模塊由CMOS攝像頭、二值化電路和同步分離電路構成。
[FS:PAGE] (2)轉向控制模塊。轉向控制模塊主要由舵機完成。舵機的轉動會轉化為車模轉向拉桿的橫向移動,從而帶動車模前輪的轉動,控制智能車的行駛方向。舵機的轉向控制采用PD控制,根據賽道中央黑線的位置,單片機向舵機輸出相應占空比的PWM信號。
(3)車速控制模塊。車速控制模塊主要由直流電機、驅動電路和旋轉編碼器構成。根據CMOS攝像頭所檢測的路徑信息判斷智能車當前所處的賽道狀況,并根據旋轉編碼器所檢測的實際車速形成對智能車行駛速度的閉環控制,合理地調整數字PID控制算法的Kp、Ki、Kd三個參數,達到車速響應迅速并消除靜態誤差的目的。
4 電路設計
(1)電(dian)(dian)(dian)源(yuan)(yuan)模(mo)塊(kuai)(kuai)設(she)計(ji)。電(dian)(dian)(dian)源(yuan)(yuan)模(mo)塊(kuai)(kuai)要為(wei)單(dan)片(pian)機(ji)、傳感器、舵機(ji)和驅動(dong)電(dian)(dian)(dian)機(ji)供(gong)電(dian)(dian)(dian)。因此需要提(ti)供(gong)多種電(dian)(dian)(dian)源(yuan)(yuan)滿(man)足(zu)各個模(mo)塊(kuai)(kuai)的要求。電(dian)(dian)(dian)池在完全(quan)充滿(man)之后空(kong)載電(dian)(dian)(dian)壓(ya)只有8v左右,并隨(sui)著電(dian)(dian)(dian)池的消(xiao)耗,電(dian)(dian)(dian)壓(ya)逐漸(jian)降低。電(dian)(dian)(dian)機(ji)啟(qi)動(dong)及反(fan)接制動(dong)時電(dian)(dian)(dian)流(liu)很大(da),也(ye)有可能將電(dian)(dian)(dian)池電(dian)(dian)(dian)壓(ya)拉得(de)比(bi)較低。為(wei)了(le)避(bi)免(mian)電(dian)(dian)(dian)源(yuan)(yuan)電(dian)(dian)(dian)壓(ya)不穩(wen)定(ding)(ding),影響攝(she)像(xiang)頭視(shi)頻處理(li)電(dian)(dian)(dian)路(lu)和單(dan)片(pian)機(ji)工(gong)作(zuo)不正常,在本設(she)計(ji)方案(an)中使用了(le)DC-DC變(bian)換芯片(pian)MC34063以及低差(cha)壓(ya)穩(wen)壓(ya)器LM2940。MC34063輸出(chu)穩(wen)定(ding)(ding)的8伏電(dian)(dian)(dian)壓(ya)提(ti)供(gong)給CMOS攝(she)像(xiang)頭,LM2940為(wei)16位(wei)MC9S12DG128單(dan)片(pian)機(ji)、視(shi)頻放大(da)及二(er)值化電(dian)(dian)(dian)路(lu)提(ti)供(gong)穩(wen)定(ding)(ding)的5伏電(dian)(dian)(dian)源(yuan)(yuan),保證了(le)系(xi)統(tong)在各種情況下的穩(wen)定(ding)(ding)運行。電(dian)(dian)(dian)源(yuan)(yuan)模(mo)塊(kuai)(kuai)原理(li)圖(tu)如(ru)圖(tu)2所示。

(2)直流電機驅動模塊設計。直流電機驅動采用飛思卡爾公司的5A 集成H橋芯片MC33886。MC33886芯片內置了控制邏輯、電荷泵、門驅動電路以及低導通電阻的MOSFET輸出電路,適合用來控制感性直流負載(例如直流電機)。可以提供連續的5A電流,并且集成了過流保護、過熱保護、欠壓保護。通過控制MC33886 的四根輸入線可以方便地實現電機正轉、能耗制動及反接制動。圖3為經過簡化的H橋電路,當S1、S4 導通且S2、S3 截止時,電流正向流過直流電機,智能車前進;當S2、S3 導通且S1、S4 截止時,電流反向流過直流電機,適當利用這個過程可以使車模處于反接制動的狀態,迅速降低車速;當S3、S4導通且S1、S2 截止時,沒有電源加在直流電機上,直流電機電樞兩端相當于短接在一起。由于電機軸在外力作用下旋轉時,電機可以產生電能,此時可以把直流電動機看作一個帶了很重負載的發電機,電機上會產生一個阻礙輸出軸運動的力,這個力的大小與負荷的大小成正比,此時電機處于能耗制動狀態。
&n[FS:PAGE]bsp; 本設計方(fang)案中采用兩片MC33886并聯,一方(fang)面(mian)減小導通電(dian)(dian)(dian)阻對(dui)直流(liu)電(dian)(dian)(dian)機(ji)特性的影響,另一方(fang)面(mian)減小MC33886內部的過流(liu)保(bao)護電(dian)(dian)(dian)路對(dui)電(dian)(dian)(dian)機(ji)啟動及制動時(shi)的影響。直流(liu)電(dian)(dian)(dian)機(ji)驅動模塊電(dian)(dian)(dian)路原理圖(tu)(tu)如圖(tu)(tu)4所示。


(3)傳感器電路設計。智能車采用CMOS攝像頭作為圖像傳感器,保證賽道信息采集準確有效。CMOS攝像頭的輸出信號是PAL制式的復合全電視信號,每秒輸出50幀(分為偶場和奇場)。當CMOS攝像頭采集圖像時,偶場和奇場不是同時采集的,因此,可以在每場信號都對路徑進行識別。
(4)無線數據傳輸模塊設計。智能車加裝了基于射頻收發芯片nRF403的無線數據傳輸模塊,并在此基礎上實現了MODBUS 通信協議,在測試智能車參數及程序調試的過程中很有幫助。在運行的過程中可以將智能車的各項參數實時地發送上來,分析智能車的運行狀態可以更有針對性地對控制程序進行改進。在調試運動參數的過程中,可以通過上位機軟件改變如Kp、Ki、Kd 等參數,而不用重新燒寫程序,迅速而方便。
5 軟件設計
智能車控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)程序(xu)(xu)結構如(ru)圖5所示,這是一個(ge)兩層(ceng)的(de)(de)分(fen)(fen)級控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)。底層(ceng)控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)包括“轉向(xiang)控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)”和(he)“車速(su)控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)” ,上層(ceng)主控(kong)(kong)(kong)程序(xu)(xu)通(tong)過改變底層(ceng)控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)的(de)(de)設(she)定值、控(kong)(kong)(kong)制(zhi)參數和(he)約束條件的(de)(de)方(fang)法,對(dui)整(zheng)個(ge)控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)進行(xing)調(diao)度。設(she)計(ji)這種分(fen)(fen)層(ceng)結構的(de)(de)控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)是參照了集散控(kong)(kong)(kong)制(zhi)系(xi)統(tong)(tong)DCS的(de)(de)結構特點,程序(xu)(xu)各部分(fen)(fen)功能明確、結構清晰(xi),便(bian)于調(diao)試和(he)維(wei)護。為了調(diao)試方(fang)便(bian),主控(kong)(kong)(kong)程序(xu)(xu)中添(tian)加了基于無(wu)線(xian)信道的(de)(de)MODBUS通(tong)訊(xun)協(xie)議,對(dui)智能車行(xing)駛參數的(de)(de)監視(shi)和(he)調(diao)整(zheng)提(ti)供了很大(da)的(de)(de)便(bian)利。

軟件所實現的功能有:
①初始化。
②數據采集及濾波處理。為了盡量減少引入的純滯后時間,本文提出了一種獨特的具有創新性的視頻信號采集方法,即用MC9S12DG128 單片機提供的SPI 口直接讀取經過二值化處理的視頻信號。大賽規則中指定了賽道上黑色引導線的寬度為2.5 厘米,故攝像頭中采集到的引導線寬度在正常情況下也應當落在一定范圍內。可以用實驗的方法測得引導線對應的像素寬度,然后在濾波程序中對采集到的引導線線寬進行控制,如果超出正常范圍即認為是無效數據。實驗證明,這種方法可以有效地將干擾濾除。
③道路識別。智能車分層控制系統的核心是賽道的識別。實際測試發現由于CMOS攝像頭的可視范圍比較小而且視野范圍呈梯形,在[FS:PAGE]快速運動中經常發生賽道部分甚至全部脫離視野范圍的情況,給賽道識別帶來很大的困難,因此完整識別賽道模式幾乎是不可能的。為了簡化問題,本方案只識別賽道中的直線段,根據直線段的數量和長度將賽道分割成不同的區域,在一個區域中對控制參數進行優化。
④電機控制。單片機通過接收旋轉編碼器檢測智能車后輪轉動所產生的脈沖數,采用位置式PID控制算法的遞推形式對直流電機的轉速進行快速準確地控制。
位置式PID控制算法的遞推形式:
Δu(k) =Kp[e(k) -e(k-1)] +Ki×e(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控制算法的比例系數、積分常數和微分常數[7]。
⑤舵機(ji)控(kong)制。單片機(ji)通過CMOS攝(she)像頭(tou)檢測(ce)到的(de)路(lu)徑(jing)信息(xi),采用不完(wan)全微分PD控(kong)制算法(fa)控(kong)制舵機(ji)的(de)轉角(jiao),實現路(lu)徑(jing)跟(gen)蹤。

6 結語
本文介(jie)紹了(le)一(yi)種(zhong)智(zhi)能(neng)(neng)車控(kong)制(zhi)(zhi)系(xi)統(tong)的(de)設(she)計與實現。圖(tu)5為已(yi)制(zhi)(zhi)作(zuo)完成的(de)智(zhi)能(neng)(neng)車實物照片(pian)。通過大量實驗測試證明該智(zhi)能(neng)(neng)車能(neng)(neng)快速平穩(wen)地在(zai)制(zhi)(zhi)作(zuo)的(de)賽(sai)道(dao)上跟蹤黑色引導線行駛,尋跡(ji)效果良好,速度控(kong)制(zhi)(zhi)響應快,動態(tai)性能(neng)(neng)良好,穩(wen)態(tai)誤差較小,系(xi)統(tong)的(de)穩(wen)定性和抗(kang)干擾能(neng)(neng)力強。在(zai)2008舉辦(ban)的(de)全國大學(xue)生(sheng)“飛思卡(ka)爾杯(bei)”智(zhi)能(neng)(neng)汽(qi)車競賽(sai)中取得了(le)華(hua)北賽(sai)區(qu)二等獎(jiang)的(de)好成績, 充分證明了(le)設(she)計方案(an)的(de)有(you)效性和穩(wen)定性。
相關文章
基于GSM的智能車牌防盜報警裝置的設計
隨著人們生活水平的提高,城(cheng)市中(zhong)汽(qi)車的數量劇(ju)增,從而帶動了很(hen)(hen)多(duo)相(xiang)關行業的發展(zhan)(zhan),然(ran)而很(hen)(hen)多(duo)的不法分子也(ye)(ye)打起(qi)了偷盜車牌的主(zhu)意,用(yong)來敲(qiao)詐車主(zhu),這讓車主(zhu)很(hen)(hen)是頭疼,也(ye)(ye)嚴重地(di)影響了社會的和(he)諧發展(zhan)(zhan)。
智能車載儀表系統結構及硬件設計
隨著高(gao)性能電子(zi)顯(xian)示(shi)技術的(de)發展(zhan),汽(qi)車儀(yi)表電子(zi)化的(de)程度越來越高(gao)。國內(nei)外已(yi)開發出了多功能全電子(zi)顯(xian)示(shi)儀(yi)表、平視顯(xian)示(shi)儀(yi)表、汽(qi)車導航系(xi)統、行(xing)車記錄儀(yi)等高(gao)技術產品。
基于CAN總線的智能車的設計與實現
控制器局(ju)域網絡CAN(Controller Area Network)是(shi)德國BOSCH公司為(wei)解決現代汽(qi)車中眾多電(dian)子設備(bei)之間的(de)(de)數(shu)據交換而(er)開發的(de)(de)一種(zhong)串行數(shu)據通信協議,它(ta)具(ju)有高(gao)可靠性和良好的(de)(de)錯誤檢測能(neng)力。汽(qi)車上主要有高(gao)速(500 k...
智能交通 濱州移動車聯網技術打造智能車生活
什么(me)是智(zhi)能交通?對于大多數人(ren)來(lai)說,智(zhi)能交通是提高道路(lu)使(shi)用(yong)效率、緩解交通供(gong)需矛盾的重要(yao)手段。