《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設(shè)計應(yīng)用 > 基于MC9S12XS128的光電式自動尋跡車的設(shè)計
基于MC9S12XS128的光電式自動尋跡車的設(shè)計
德州學院機電工程系
崔金輝,王萬新
摘要: 自動尋跡車是一種具備自主判斷、決策能力的綜合智能系統(tǒng)。它的設(shè)計集機械、電子、檢測技術(shù)與智能控制于一體,在社會生活中有著廣泛的應(yīng)用,例如自動化生產(chǎn)線的物料配送機器人,醫(yī)院的機器人護士,商場的導游機器人等
Abstract:
Key words :

引言

自動尋跡車是一種具備自主判斷、決策能力的綜合智能系統(tǒng)。它的設(shè)計集機械、電子、檢測技術(shù)與智能控制于一體,在社會生活中有著廣泛的應(yīng)用,例如自動化生產(chǎn)線的物料配送機器人,醫(yī)院的機器人護士,商場的導游機器人等。

全國“飛思卡爾”智能模型車大賽在這樣的背景下產(chǎn)生,智能模型車比賽要求利用車上的視覺裝置,使智能小車在給定的區(qū)域內(nèi)沿著軌跡自動行進,在確保穩(wěn)定性的情況下,速度最快者獲勝,根據(jù)路徑判別的原理不同,分為光電組、電磁組和攝像頭組三種類型。本文所述智能車為光電組設(shè)計,采用與白色地面顏色有較大差別的黑色線條引導和反射式激光管識別路徑,通過舵機驅(qū)動前輪轉(zhuǎn)向,采用直流電機驅(qū)動后輪前進,并采用PWM實現(xiàn)電機的調(diào)速,使智能車快速、平穩(wěn)地行駛。

總體設(shè)計思想

為了能夠自主尋跡行駛,智能車應(yīng)具有路徑識別、方向控制、速度檢測、驅(qū)動控制等功能,根據(jù)比賽規(guī)定,本設(shè)計以飛思卡爾公司提供的比賽專用車模為載體,以飛思卡爾16位微控制器MC9S12XS128單片機作為控制核心,用激光傳感器來進行路徑識別,采用前軸轉(zhuǎn)向后軸驅(qū)動方式。為了精確的控制賽車速度,在智能車后軸上安裝光電編碼器,采集車輪轉(zhuǎn)速的脈沖信號,由主控制器進行PID自動控制,完成智能車速度的閉環(huán)控制。整個智能車的設(shè)計可分為硬件設(shè)計與軟件設(shè)計兩部分。

硬件設(shè)計

硬件系統(tǒng)應(yīng)包括主控制器選擇、電源管理模塊、尋跡傳感器模塊、測速傳感器模塊、舵機控制模塊以及電機驅(qū)動模塊。

主控制器模塊

本設(shè)計以16位微處理器MC9S12XS128為控制核心,最高總線速度40MHz,模數(shù)轉(zhuǎn)換器(ADC)轉(zhuǎn)換時間3μs,具有出色的EMC功能。主要I/O口的分配如下:PA0~PA7共8位用于小車前面路徑識別的輸入口,PT7用于速度傳感器檢測的輸入口;PWM1用于伺服舵機的PWM控制信號輸出;PWM3、PWM5用于驅(qū)動電機的PWM控制信號輸出。

電源管理模塊

電源管理模塊為各部分提供動力,全部硬件電路的電源由7.2V鎳鎘蓄電池提供,由于系統(tǒng)各模塊所需電壓和電流容量不同,采用芯片LM2940將7.2V蓄電池轉(zhuǎn)換為5V電源給單片機系統(tǒng)、路徑識別的光電傳感器、光電編碼器等供電,由芯片LM2941提供6V為舵機提供電源,而為了提高伺服電機響應(yīng)速度,電機模塊直接由7.2V蓄電池提供電源。

路徑檢測模塊

圖1 總體結(jié)構(gòu)

圖2 車體結(jié)構(gòu)和傳感器布局及編碼

由于紅外光電傳感器價格便宜,電路設(shè)計簡單,所以被經(jīng)常采用。RPR220是一種一體化的反射型光電探測器,可進行反光性差別較大的兩種顏色(如黑白兩色)的識別,從而判別賽道的方向。

本設(shè)計共采用8個RPR220型紅外傳感器,水平均布在賽車前部的傳感器板上,由于其前瞻性較差,通常只有3cm~5cm,所以將傳感器板懸伸在車頭前方,采用垂直檢測的方法,如圖2所示。傳感器間距為12mm,小于賽道黑線寬度,保證當賽車在賽道上行駛時始終有傳感器能檢測到黑線。賽車8個傳感器可以檢測到8個精確的位置,加上相鄰兩個傳感器同時檢測到黑線和沒有傳感器檢測到黑線的情況,一共有16種檢測狀態(tài),這樣的橫向檢測精度可以達到6mm,基本滿足尋跡要求。

速度檢測模塊

測速模塊硬件的主要功能是將頻率隨轉(zhuǎn)速變化的模擬信號送入信號處理電路,最終轉(zhuǎn)換成數(shù)字脈沖信號。為了精確控制車模運動,我們采用的是單片機控制編碼器的方法來檢測小車的電機轉(zhuǎn)速。編碼器我們選用OMRON公司生產(chǎn)的一款100線旋轉(zhuǎn)編碼器OME-100-1N型光電編碼器,按1:1傳動比用一對齒輪與驅(qū)動軸連接,驅(qū)動軸旋轉(zhuǎn)一周,編碼器可獲得100個脈沖,單片機通過對脈沖計數(shù)就可以得到轉(zhuǎn)速的具體數(shù)值。

驅(qū)動電機與舵機模塊

本設(shè)計驅(qū)動電機選用直流電機,其控制效果直接影響小車的速度以及前行的穩(wěn)定性。為了得到較大的驅(qū)動能力,最初選用兩片MC33886驅(qū)動芯片構(gòu)成H橋驅(qū)動電路,單片機的PP3和PP5引腳輸出的PWM脈沖經(jīng)6N137光耦隔離后,接入MC33886 H橋輸入端,但由于比賽電機內(nèi)阻僅為430毫歐,而該集成芯片內(nèi)部的每個MOSFET導通電阻在120毫歐以上,大大增加了電樞回路總電阻,驅(qū)動電路效率較低。后改為兩片BTS7960構(gòu)成全橋驅(qū)動電路,內(nèi)部MOSFET導通電阻為7+9毫歐,直接與單片機相連,提高了驅(qū)動效率。

舵機采用的S3010型電機實質(zhì)是一個位置隨動系統(tǒng),由舵盤、減速齒輪組、位置反饋電位計、直流電機和控制電路組成,通過內(nèi)部位置反饋,可使它的舵盤輸出轉(zhuǎn)角正比于單片機PWM1通道給定控制信號。

軟件設(shè)計

智能車比賽最終以速度作為評判依據(jù),智能車路徑識別算法、轉(zhuǎn)向控制、速度控制算法是研究的重點。智能車的運行控制是根據(jù)路徑識別和車速檢測所獲得的當前路徑和車速信息,控制舵機和直流驅(qū)動電機動作,從而調(diào)整智能車的行駛方向和速度??刂扑惴ㄏ喈斢谌说乃季S,是其最核心的部分,負責按預(yù)定的流程處理傳感器所采集的數(shù)據(jù)。軟件流程圖如圖3所示。其中,F(xiàn)OR循環(huán)包含了檢測黑線位置,更新舵機輸出等子程序,如圖4所示。

圖3 控制主程序

圖4 FOR循環(huán)子程序

路徑識別算法

小車自主尋跡過程中,光電傳感器會受外界光線、車體抖動、交叉線、上下坡、路徑黑斑等環(huán)境因素的干擾,會使傳感器檢測路徑信息存在偏差而影響小車尋跡的穩(wěn)定性。為此,我們采用連續(xù)檢測濾波處理的方式消除干擾:即傳感器對路徑連續(xù)檢測5次并將采集到的信息存于數(shù)組Line[5][8],檢測到黑線存值1,否則存值0。若 ,則Line[5][8]的第n列檢測到黑線,Line[n]=1;否則為干擾,Line[n]=0,將數(shù)組Line[5][8]轉(zhuǎn)為數(shù)組Line[8]。由于傳感器間距略小于黑線線寬,Line[8]一般有16種狀態(tài):多余兩個為1(檢測到路徑交叉線),一個或兩個為1(檢測到黑線),全為0(沒有檢測到黑線)。

如圖2所示,賽車的偏距大小為e,當檢測到黑線點數(shù)0<Point≤2時,如式1所示:

  式1

智能車的方向控制

智能車的前進方向主要取決于賽道與賽車的偏距大小e,由圖2可知,為前輪轉(zhuǎn)角;y為傳感器距賽車前軸間距。則賽車的前進方向轉(zhuǎn)角應(yīng)為 。舵機安裝在前軸中心上方,通過轉(zhuǎn)向連桿帶動前輪轉(zhuǎn)向。由于舵機采用位置伺服電動機,其輸出轉(zhuǎn)角與給定的PWM脈寬成線性關(guān)系,PWM控制信號高電平的寬度決定舵機輸出舵盤的角度。

由于舵機是一個大的延遲環(huán)節(jié),不需要加控制算法。為了提高響應(yīng)速度,采用直接查表法控制轉(zhuǎn)角,即對應(yīng)不同偏距e按比例關(guān)系設(shè)定一個舵機轉(zhuǎn)向表,行駛中直接查表得到需要的轉(zhuǎn)角值,盡量消除了舵機執(zhí)行延遲造成的影響。當Point>2時(路徑交叉線),保持原有轉(zhuǎn)角值。

速度控制

智能車的速度控制比較復(fù)雜,在行駛中,不僅要求驅(qū)動車輪有合理的瞬時速度,還要求速度變化細致平滑,“出彎立刻加速,入彎立刻減速”。即賽車位于直道時設(shè)置較高的車速,保證賽車有充足的加速空間;賽車在彎道時,應(yīng)該隨著賽道曲率半徑的不同改變車速,避免沖出賽道。車速控制一般采用PID閉環(huán)控制,輸出量u(t)和偏差 e(t)如式2所示:

 式2

其中kp,ki ,kd 分別稱為比例系數(shù)、積分系數(shù)、微分系數(shù)。 kp的作用是對偏差做出的影響,使系統(tǒng)向減少偏差的方向變化。 ki的作用是消除系統(tǒng)靜差,但ki 增加太大不利于減少超調(diào)、減少震蕩,使系統(tǒng)不穩(wěn)定,系統(tǒng)靜差的消除反而減慢。 kd的作用是加快系統(tǒng)的響應(yīng),但是對擾動的抑制能力減弱。

運用PID控制的關(guān)鍵是調(diào)整三個比例系數(shù),即參數(shù)整定。PID控制器參數(shù)整定的方法很多,概括起來有兩大類:一是理論計算整定法,它主要是依據(jù)系統(tǒng)的數(shù)學模型,經(jīng)過理論計算確定控制器參數(shù)。二是工程整定方法,它主要依賴工程經(jīng)驗,直接在控制系統(tǒng)的試驗中進行,且方法簡單、易于掌握,在工程實際中被廣泛采用。

為使問題簡化,根據(jù)齊格勒—尼柯爾斯經(jīng)驗公式,可將PID控制算法簡化為關(guān)于kp的歸一參數(shù)公式。所以賽車車速計算公式設(shè)計如式3所示:

Sst_speed=high_speed-e×kp

式3

式3中:Set_speed——賽車車速,high_speed——直道設(shè)定最高車速, kp——比例系數(shù)??紤]到賽場環(huán)境的不同,在單片機中預(yù)存一組實驗數(shù)據(jù)kp,通過撥碼開關(guān)進行選擇。

結(jié)束語

本文提出了一種基于紅外線光電傳感器尋跡的智能車系統(tǒng)設(shè)計方法,系統(tǒng)采用MC9S12XSl28單片機做主控制器,直流電機作執(zhí)行元件,對智能車進行了關(guān)鍵設(shè)計與分析,提出了連續(xù)檢測濾波處理的消除干擾方式。通過編寫程序先對所用到的模塊進行初始化,并通過對相應(yīng)數(shù)據(jù)寄存器或狀態(tài)寄存器的讀寫,實現(xiàn)期望的功能。

完成后在中間粘貼黑色引導線的白色KT板制成的車道上對智能車進行了測試,表明智能車在直道上可以達到很高的速度和穩(wěn)定性,在彎道上控制好車速,智能車也能平穩(wěn)地運行。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。