基于光電管路徑識別的智能車系統(tǒng)設(shè)計
引言
隨著控制技術(shù)及計算機(jī)技術(shù)的發(fā)展,智能車系統(tǒng)將在未來工業(yè)生產(chǎn)和日常生活中扮演重要的角色。本文所述智能車尋跡系統(tǒng)采用紅外反射式光電管識別路徑上的黑線,并以最短的時間完成尋跡。通過加長轉(zhuǎn)臂的舵機(jī)驅(qū)動前輪轉(zhuǎn)向,使用符合PI算法的控制器實(shí)現(xiàn)直流電機(jī)的調(diào)速。為了使智能車快速、平穩(wěn)地行駛,系統(tǒng)必須把路徑識別、相應(yīng)的轉(zhuǎn)向伺服電機(jī)控制以及直流驅(qū)動電機(jī)控制準(zhǔn)確地結(jié)合在一起。
1 硬件設(shè)計
本系統(tǒng)硬件部分以飛思卡爾公司的16位微處理器MC9S12DG128為控制核心,由電源模塊、主控制器模塊、路徑識別模塊、車速檢測模塊、舵機(jī)控制模塊和直流驅(qū)動電機(jī)控制模塊組成。系統(tǒng)硬件結(jié)構(gòu)如圖1所示。
1.1 主控制器模塊
本系統(tǒng)主控制器模塊采用的MC9S12DG128主要特點(diǎn)是功能高度集中,易于擴(kuò)展且支持C語言程序設(shè)計,從而降低了系統(tǒng)開發(fā)和調(diào)試的復(fù)雜度。
1.2 電源模塊
本系統(tǒng)由7.2V/2000mAh的Ni-cd蓄電池組直接供電。鑒于單片機(jī)系統(tǒng)的核心作用,主控制器模塊采用單獨(dú)的穩(wěn)壓電路進(jìn)行供電;為提高舵機(jī)響應(yīng)速度,將電源正極串接一個二極管后直接加在舵機(jī)上;電機(jī)驅(qū)動芯片MC33886直接由電源供電。通過外圍電路整定,電源被分配給各個模塊。電源調(diào)節(jié)分配圖如圖2所示。
1.3 路徑識別模塊
路徑識別模塊采用收發(fā)一體的紅外反射式光電管JY043作為路徑的基本檢測元件。本系統(tǒng)選用11個JY043按“一”字形排列在20cm長的電路板上,相鄰兩個光電管之間間隔2cm。因為路徑軌跡由黑線指示,落在黑線區(qū)域內(nèi)的光電二極管接收到的反射光線強(qiáng)度與白色的不同,所以根據(jù)檢測到黑線的光電管的位置可以判斷行車方向。光電傳感器尋跡的優(yōu)點(diǎn)是電路簡單、信號處理速度快。在不受外部因素影響的前提下,光電管能夠感知的前方距離越遠(yuǎn),行駛效率越高,即智能車的預(yù)瞄性能越強(qiáng)。圖3為其硬件原理圖。
1.4 車速檢測模塊
車速檢測模塊采用韓國Autonics公司的E30S-360-3-2型旋轉(zhuǎn)編碼器作為車速檢測器件。該旋轉(zhuǎn)編碼器硬件電路簡單、信號采集速度快,360線的精度足以滿足PI控制算法調(diào)節(jié)的需要。旋轉(zhuǎn)編碼器與直流驅(qū)動電機(jī)通過齒數(shù)為1:1的兩齒輪連接在一起,所以智能車車輪轉(zhuǎn)動一圈即可以用360個脈沖表示。因此一定時間內(nèi)單片機(jī)累加器獲得的脈沖數(shù)值可以用來表示車速,并可直接作為控制器參數(shù)。圖4為車速檢測模塊硬件電路圖。
1.5 舵機(jī)控制模塊
本系統(tǒng)使用SANWASRM102型舵機(jī)完成智能車轉(zhuǎn)向。舵機(jī)屬于位置伺服電機(jī),控制信號是MC9S12DG128單片機(jī)產(chǎn)生的PWM信號。舵機(jī)自身硬件特性決定:在給定電壓一定時,空載和帶載時的角速度分別保持恒值,而線速度,正比于轉(zhuǎn)臂的長度R。當(dāng)舵機(jī)所需轉(zhuǎn)動幅度一定時,長轉(zhuǎn)臂要比短轉(zhuǎn)臂轉(zhuǎn)動的角度小,即響應(yīng)更快。如圖5所示,對于轉(zhuǎn)臂1和2,當(dāng)R1。因此對于相同的角速度,可得轉(zhuǎn)臂響應(yīng)時間t1>t2。顯然利用舵機(jī)的轉(zhuǎn)距余量可以提高系統(tǒng)整體的響應(yīng)速度。
智能車在行駛過程中,舵機(jī)的響應(yīng)時間決定著系統(tǒng)的穩(wěn)定性及快速性。為了減小舵機(jī)的時滯現(xiàn)象,充分利用舵機(jī)的轉(zhuǎn)矩余量,本系統(tǒng)采用了以下三種方法:
(1)提高舵機(jī)工作電壓,使其工作在額定電壓之上,從而減小舵機(jī)的響應(yīng)時間;
(2)將舵機(jī)轉(zhuǎn)臂加長至3.5cm,充分利用轉(zhuǎn)矩余量;
(3)將兩個8位PWM寄存器合并為一個16位PWM寄存器,將舵機(jī)的PWM控制周期放大至2000,從而細(xì)化PWM控制量,使轉(zhuǎn)臂變化更加靈活、均勻。
1.6 直流驅(qū)動電機(jī)控制模塊
本系統(tǒng)中,直流驅(qū)動電機(jī)控制模塊由RS-380SH型直流電機(jī)、功率驅(qū)動芯片ULN2003、電機(jī)驅(qū)動芯片MC33886及MC9S12DG128微處理器組成。
功率驅(qū)動芯片ULN2003為單片高電流增益雙極型大功率高速集成電路,本系統(tǒng)采用了其中兩組用于增強(qiáng)單片機(jī)輸出的PWM信號的驅(qū)動能力。
圖6為直流驅(qū)動電機(jī)硬件控制電路圖。
其中,電機(jī)驅(qū)動芯片MC33886是單片集成的H橋元件,它適用于驅(qū)動小馬力直流電機(jī),并且有單橋和雙橋兩種控制方式。D1、D2為使能端,IN1、IN2為PWM信號控制輸入端,OUT1、OUT2為輸出端。由于智能車從直道高速進(jìn)彎時需通過緊急降速來保證系統(tǒng)的穩(wěn)定,所以電機(jī)正轉(zhuǎn)時必須能夠產(chǎn)生反向制動力矩。因此本系統(tǒng)選擇了MC33886的全橋工作方式。
當(dāng)需要智能車減速時,PI控制器計算值為負(fù),令PWM5輸出的PWM信號占空比為零,PWM3輸出的PWM信號占空比與計算值的絕對值相同,并且計算值越負(fù),OUT2的電平高出OUT1越多,電機(jī)有反轉(zhuǎn)趨勢。反之,當(dāng)需要智能車加速時,PI控制器計算值為正,PWM3輸出的PWM信號占空比為零,PWM5輸出的PWM信號占空比與計算值的絕對值相同,計算值越大,OUT1的電平高出OUT2越多,電機(jī)有正轉(zhuǎn)趨勢。
2 軟件設(shè)計
本系統(tǒng)的控制方案是根據(jù)路徑識別模塊和車速檢測模塊所獲得的當(dāng)前路徑和車速信息,控制舵機(jī)和直流驅(qū)動電機(jī)動作,從而調(diào)整智能車的行駛方向和速度。
圖7為系統(tǒng)程序流程圖。
智能模型車的路徑搜索算法(LineSearchingAlgorithm)是智能車設(shè)計中的關(guān)鍵部分。本系統(tǒng)路徑搜索算法采用簡單的switch語句,根據(jù)檢測到黑線的光電管的位置判斷舵機(jī)的偏轉(zhuǎn)角度,同時給出相應(yīng)的速度控制信號。
其程序流程圖如圖8所示。
3 實(shí)驗驗證
智能車路徑識別的關(guān)鍵在于快速地判斷彎道并快速、準(zhǔn)確地響應(yīng)。智能車行進(jìn)過程中,從長直道進(jìn)入連續(xù)彎道時,由于曲率變化很小,此時轉(zhuǎn)速的設(shè)定值較大,加之舵機(jī)響應(yīng)時間的限制,智能車極易脫離軌跡。采用加長轉(zhuǎn)臂的舵機(jī)及合理的路徑搜索算法,可以增強(qiáng)智能車對軌跡的跟隨性能。圖9所示為智能車尋跡連續(xù)彎道試驗效果圖。其中,粗線為所尋跡的黑線,細(xì)線為智能車實(shí)際運(yùn)行軌跡。
4 結(jié)語
本文設(shè)計了一個智能車控制系統(tǒng),實(shí)現(xiàn)了快速自動尋跡功能。在硬件上,該系統(tǒng)采用MC9S12DG128B單片機(jī)為控制核心,協(xié)調(diào)電源模塊、路徑識別模塊、車速檢測模塊、舵機(jī)控制模塊及直流驅(qū)動電機(jī)控制模塊的工作;在控制算法上,采用路徑搜索算法和類PI控制算法實(shí)現(xiàn)對智能車的舵機(jī)轉(zhuǎn)角和電機(jī)轉(zhuǎn)速的控制。此外,系統(tǒng)還完成了對加長轉(zhuǎn)臂舵機(jī)的控制,實(shí)現(xiàn)了轉(zhuǎn)向伺服電機(jī)與車速的配合控制。實(shí)驗結(jié)果表明,該智能車系統(tǒng)響應(yīng)快,動態(tài)性能良好,整體控制性能良好。