摘 要:結(jié)合飛思卡爾杯全國智能汽車大賽,,設(shè)計了一種專為比賽的尋跡智能車,。闡述了尋跡智能車模的軟硬件設(shè)計、控制策略及改進(jìn)方案,,使其達(dá)到了智能汽車的實時性要求,,并已成功應(yīng)用于智能汽車大賽中。
關(guān)鍵詞: 智能車,;尋跡,;系統(tǒng)設(shè)計
在半導(dǎo)體技術(shù)日漸發(fā)展的今天,電子技術(shù)在汽車中的應(yīng)用越來越廣泛,,汽車電子化已成為行業(yè)發(fā)展的必然趨勢,。汽車電子是車體汽車電子控制裝置和車載汽車電子控制裝置的總稱。車體汽車電子控制裝置,,包括發(fā)動機(jī)控制系統(tǒng),、底盤控制系統(tǒng)和車身電子控制系統(tǒng)。
智能車結(jié)合傳感器技術(shù)和自動駕駛技術(shù)可以實現(xiàn)汽車的自適應(yīng)巡航并把車開得又快又穩(wěn),、安全可靠;汽車夜間行駛時,,如果裝上紅外攝像頭,,就能實現(xiàn)夜晚汽車的安全駕駛,;也可以工作在倉庫、碼頭,、工廠或者危險,、有毒、有害的工作環(huán)境里,,此外還能擔(dān)當(dāng)起無人值守的巡邏監(jiān)視,、物料的運(yùn)輸、消防滅火等任務(wù),。在普通家庭轎車消費(fèi)中,,智能車研發(fā)也是有價值的。
本文結(jié)合飛思卡爾杯全國智能汽車大賽的車模設(shè)計, 論述了尋跡智能車模的軟硬件設(shè)計,、控制策略及改進(jìn)方案,。
1 智能車機(jī)械電路設(shè)計
1.1 整車設(shè)計思路
尋跡智能車所使用的車模是一款帶有差速器的后輪驅(qū)動模型賽車。通過自動控制器,,控制模型賽車在封閉的跑道上自主尋線運(yùn)行,。在保證車模運(yùn)行穩(wěn)定(即不沖出跑道)的前提下跑完2圈后,自動停止,。
尋跡智能車系統(tǒng)主要以 MC9S12DG128單片機(jī)為核心,,由傳感器模塊、電源模塊,、直流電機(jī)驅(qū)動模塊,、轉(zhuǎn)向舵機(jī)控制模塊、控制參數(shù)選擇模塊以及一些輔助模塊組成,。采用的紅外式光電管和對射式光電傳感器用以檢測道路信息和車子的運(yùn)動狀態(tài),,單片機(jī)經(jīng)過運(yùn)算處理,輸出PWM信號控制舵機(jī)和驅(qū)動電機(jī),,以實現(xiàn)方向和速度的控制,。同時,系統(tǒng)采用各模塊獨(dú)立的電源供電,,保證了系統(tǒng)的穩(wěn)定性,。通過CodeWarrior軟件開發(fā)S12單片機(jī)的功能,PID算法等控制策略有效地控制智能車各個運(yùn)行時刻的狀態(tài)[1-2],。系統(tǒng)中各個模塊之間關(guān)系如圖1所示,。
1.1.1 傳感器
(1) 光電傳感器
路徑識別采用反射式紅外光電傳感器 ,該檢測方式簡便,、易編程控制,。最初設(shè)計時,選用獨(dú)立發(fā)射和接收的普通傳感器,在接收管周圍卷上不透光的黑色膠帶以減少干擾,。光電管的布局采用“一”字等間距式排列,,傳感器前面加有彈性的塑性保護(hù)條,保護(hù)光電管,,以及調(diào)試過程中,,防止智能車跑出軌道后與其他物體發(fā)生碰撞損壞,重要的是可以減少太陽光照對傳感器的影響,。
由于普通光電傳感器在設(shè)計時需要自己做放大電路,,而且檢測距離有限,最大時僅為10 cm,,瞻仰性能差,,只能垂直跑道發(fā)射,這些都是影響智能車車速和反應(yīng)性能的因素,。針對這一問題采用了檢測距離遠(yuǎn),、內(nèi)部集成有放大電路的光電傳感器。其瞻仰性能好,、檢測黑白線準(zhǔn)確,、系統(tǒng)穩(wěn)定,而且其直接輸出開關(guān)量,,即TTL電平,,這對提高智能車車速有很好的效果。
(2) 速度傳感器
采用霍爾傳感器作為速度傳感器,。在后輪輸出齒輪軸上粘貼小磁鋼片,,附近固定一個霍爾傳感器633。633有3個引腳,,其中2個是電源和地,,第3個是輸出信號,只要通過一個上拉電阻接至5 V電壓,,就可以形成開關(guān)脈沖信號,。
1.1.2 驅(qū)動電機(jī)
模型車后輪采用RS-380SH電機(jī)驅(qū)動,電機(jī)軸與后輪軸之間的傳動比為18:76,。齒輪傳動機(jī)構(gòu)對車模的驅(qū)動能力有很大的影響,,如果安裝位置不恰當(dāng),會大大增加電機(jī)驅(qū)動后輪的負(fù)載,。調(diào)整原則是:兩傳動齒輪軸保持平行,,齒輪間的配合間隙要合適,過松容易打壞齒輪,,過緊又會增加傳動阻力,,浪費(fèi)動力,;傳動部分要輕松、順暢,,不能有遲滯或周期性振動現(xiàn)象,。判斷齒輪傳動是否良好的依據(jù)是聽一下電機(jī)帶動后輪空轉(zhuǎn)時的聲音。聲音刺耳響亮,,說明齒輪間的配合間隙過大,傳動中有撞齒現(xiàn)象,;聲音悶而且有遲滯,,則說明齒輪間的配合間隙過小,或者兩齒輪軸不平行,,電機(jī)負(fù)載變大,。調(diào)整好的齒輪傳動噪音很小,并且不會有碰撞類的雜音,。
1.1.3 智能車電源電路
電源模塊是為系統(tǒng)各個模塊提供所需要的電力支持,。設(shè)計中除需考慮電壓范圍和電流容量問題外,還要在電源轉(zhuǎn)換效率,、降低噪音,、防止干擾和電路簡單等方面進(jìn)行優(yōu)化??煽康碾娫捶桨甘钦麄€電路穩(wěn)定可靠運(yùn)行的基礎(chǔ),。
全部硬件電路的電源由7.2 V、2 A/h的可充電鎳鎘電池提供,。由于電路中的不同模塊所需要的工作電壓和電流容量各不相同,,因此電路模塊應(yīng)該包含多個穩(wěn)壓電路,將電池電壓轉(zhuǎn)換成各個模塊需要的電壓,。主要包括的電壓值為5 V,、6 V和7.2 V電壓。其中5 V電壓主要為單片機(jī),、紅外傳感器,、速度傳感器以及部分接口電路供電。為單片機(jī)提供的電源質(zhì)量要求較高,,否則容易出現(xiàn)復(fù)位現(xiàn)象,。
1.1.4 控制參數(shù)選擇電路
為了適應(yīng)各種賽道,實現(xiàn)在不同現(xiàn)場和環(huán)境下不對程序進(jìn)行修改的要求,,需要準(zhǔn)備多套控制方案,,以便隨時根據(jù)現(xiàn)場跑道形狀、摩擦等實際情況選擇最佳的方案,。為實現(xiàn)方案選擇功能,,設(shè)計時在電路母板上使用了撥碼開關(guān)。通過撥碼開關(guān)來控制單片機(jī)選用不同的控制參數(shù),以達(dá)到最佳的性能和速度,。
1.2 微處理器MC9S12DG128B主要功能
MC9S12DG128B是飛思卡爾半導(dǎo)體公司的汽車電子類產(chǎn)品,,早在飛思卡爾還沒有從摩托羅拉分離出來前就已經(jīng)誕生了。它屬于飛思卡爾單片機(jī)的S12系列,,其內(nèi)核為CPU12高速處理器,。MC9S12DG128B擁有豐富的片內(nèi)資源,F(xiàn)lash達(dá)128 KB,,加入裁減過的μCOS沒有問題,。MC9S12DG128B有16路A/D轉(zhuǎn)換,精度最高可設(shè)置為10位,;有8路8位PWM并可兩兩級聯(lián)為16位精度PWM,,特別適合用于控制多電機(jī)系統(tǒng)。它的串行通信端口也非常豐富,,有2路SCI,、2路SPI,此外還有IIC,、CAN總線等端口,,并且采用了引腳復(fù)用功能,使得這些功能引腳也可設(shè)置為普通的I/O端口使用,。此外它內(nèi)部還集成了完整的模糊邏輯指令,,可大大簡化程序設(shè)計。MC9S12DG128的封裝有2種,,一種為80 引腳的,,它沒有引出擴(kuò)展總線,且A/D轉(zhuǎn)換只引出了8路,;一種為112引腳的,,2種都采用了表面貼片式封裝。本設(shè)計中采用112引腳封裝形式,。
1.3 舵機(jī)的改造與安裝
舵機(jī)轉(zhuǎn)向是系統(tǒng)中一個擁有較大時間常數(shù)的延遲環(huán)節(jié),。為增快舵機(jī)的響應(yīng)速度,在設(shè)計上增大了舵機(jī)輸出端的力臂長度,,提高了力臂線速度,,從而提高了轉(zhuǎn)向輪的響應(yīng)速度。這樣有2種安裝方式,,一是力臂成一定角度放置,,舵機(jī)平放;二是力臂平放,,舵機(jī)豎直放置,,增加靈活度,。本設(shè)計采用舵機(jī)水平放置。
2 控制策略研究與軟件設(shè)計
2.1 控制策略
由于跑道設(shè)計黑線寬度是25 mm,,而光電管的間距是15 mm,。因此,同時在黑線上的光電管個數(shù)不會超過2個,。這樣就可以逐個分析出有可能出現(xiàn)的各種情況,,并且針對每種情況采取相應(yīng)的控制措施。
對于智能車來說,,根據(jù)接收到的黑線位置信號來調(diào)整舵機(jī),,根據(jù)速度信號來控制直流電機(jī),考慮到智能車有可能因為速度過快而偏離黑線較遠(yuǎn)而檢測不到黑線,,致使光電管全部顯示為低電平。解決的方法是使用前一個狀態(tài)的控制方案,,因為小車的偏離程度等所有物理量都是連續(xù)變化的,,一般不會出現(xiàn)突變。小車行駛過程中一個很重要的環(huán)節(jié)就是速度控制,,如果驅(qū)動力大于阻力,,小車就會以一定的加速度不斷地加速,速度過高,,過彎道時容易沖出,。同理,如果驅(qū)動力小于阻力,,小車就會不斷的減速,。所以必須讓小車根據(jù)道路的情況來維持相對應(yīng)的速度[3-5]。
2.2 算法選擇
根據(jù)目前小車的硬件選擇,,可以確定系統(tǒng)的穩(wěn)定需要閉環(huán)控制來實現(xiàn),,控制算法的選擇要根據(jù)系統(tǒng)的對象模型確定。系統(tǒng)要控制的是速度和轉(zhuǎn)向角度,,此系統(tǒng)的速度變化十分快,。根據(jù)如此情況,可以有以下幾種算法選擇:
算法一:PD 調(diào)節(jié)算法,。由于系統(tǒng)有較強(qiáng)的滯后性,,通過比例微分調(diào)節(jié)來實現(xiàn)系統(tǒng)穩(wěn)定。但是沒有積分環(huán)節(jié),,加上系統(tǒng)硬件選型上選用的直流電機(jī)本身是開環(huán)控制,,可能會由于直流電機(jī)的誤差而無法實現(xiàn)系統(tǒng)穩(wěn)定。
算法二:PID 調(diào)節(jié)算法,。在算法中適當(dāng)?shù)丶尤敕e分環(huán)節(jié)以消除余差,,但參數(shù)不當(dāng)也可能會使系統(tǒng)的調(diào)節(jié)時間變長,,超調(diào)量加大,系統(tǒng)調(diào)節(jié)更慢,。
如果系統(tǒng)是通過頻率來調(diào)節(jié)車速的模型,,根據(jù)需要可以用速度式的PID 算法來實現(xiàn);如果系統(tǒng)是通過調(diào)節(jié)輸出脈沖的個數(shù)來調(diào)節(jié)車的位移,,則采用增量式PID 運(yùn)算更合適,。
速度式PID算法:
其中,kd為微分系數(shù),kp為比例系數(shù),,ki為積分系數(shù),,T 為采樣周期。
2.3 軟件設(shè)計
基于以上分析,,軟件流程如圖2所示,。在設(shè)計時,采用模塊化編程,,主要包括鎖相環(huán)初始化模塊,、定時器初始化模塊、脈寬調(diào)制初始化模塊,、模擬/數(shù)字初始化模塊,、看門狗初始化模塊、速度調(diào)節(jié)模塊,、中斷模塊,、停止模塊和控制方案的選擇模塊。
智能車的制作采用一體化處理,,將各個模塊集中在一塊板上,,硬件電路簡單,性能較好,,其整車的設(shè)計效果如圖3所示,。小車轉(zhuǎn)向準(zhǔn)確、穩(wěn)定,,能夠安全通過各種彎道和十字交叉路口,,平均速度可以達(dá)到2 m/s左右。實現(xiàn)了開機(jī)2 s后自行啟動,、自動尋跡運(yùn)行和自動停止在起跑線1 m之內(nèi),。
參考文獻(xiàn)
[1] 邵貝貝.單片機(jī)嵌入式應(yīng)用的在線開發(fā)方法[M].北京:清華大學(xué)出版社,2004.
[2] 陳杰,,黃鴻.傳感器與檢測技術(shù)[M].北京:高等教育出版社,,2002.
[3] 邁克·普瑞德科.機(jī)器人控制與程序設(shè)計[M].北京:科學(xué)出版社,2004.
[4] 陶永華.新型PID控制及其應(yīng)用[M].北京:機(jī)械工業(yè)出版社,,1998.
[5] 李世華,,田玉平.移動小車的軌跡跟蹤控制[M].控制與決策出版社,,2000.