基于紅外光電傳感器的智能尋跡小車設(shè)計(jì)
摘要:尋跡小車可以看作是縮小化的智能汽車,對智能汽車的研究有一定的借鑒意義。采用飛思卡爾公司的MC9S12DG128B作為核心控制芯片,設(shè)計(jì)了通過紅外光電傳感器檢測路徑信息的智能尋跡小車。該系統(tǒng)由處理器模塊、路徑識別模塊、電機(jī)驅(qū)動模塊、舵機(jī)驅(qū)動模塊、車速檢測模塊、液晶顯示模塊與電源模塊等組成。實(shí)際應(yīng)用表明,該小車可以在專門設(shè)計(jì)的跑道上快速平穩(wěn)地實(shí)現(xiàn)尋跡功能。
關(guān)鍵詞:紅外光電;智能;尋跡;飛思卡爾;MC9S12DG128B
智能汽車又稱為輪式機(jī)器人,目前多用在科學(xué)探索、工業(yè)生產(chǎn)等場合,它是集環(huán)境感知、規(guī)劃決策、自動行駛等功能于一體的智能化交通工具,是車輛工程、傳感技術(shù)、人工智能、自動控制與通信導(dǎo)航等多個學(xué)科領(lǐng)域理論技術(shù)的交叉與綜合,是未來汽車發(fā)展的方向。尋跡小車可以看做是縮小化的智能汽車,它的基本功能是自動識別白色場地中的任意黑色帶狀引導(dǎo)線并快速平穩(wěn)地跟蹤行駛。目前尋跡小車多使用CCD圖像傳感器路徑識別方案,其優(yōu)點(diǎn)是控制精細(xì),前瞻距離遠(yuǎn),缺點(diǎn)是成本較高且處理算法復(fù)雜。而紅外反射式光電傳感器具有控制簡單、數(shù)據(jù)處理方便、成本低、安裝靈活方便且不易受可見光的干擾等特點(diǎn),且完全可以滿足系統(tǒng)需求。本文所述的智能尋跡小車設(shè)計(jì)思路是由安裝在智能車前端的紅外光電傳感器檢測黑色引導(dǎo)線信息,并將檢測到的路徑信息送往智能小車的控制器,控制器智能分析外部環(huán)境,判斷車身與引導(dǎo)線的相對位置,如有偏離則根據(jù)算法控制轉(zhuǎn)向舵機(jī)進(jìn)行方向調(diào)整,且處理器通過速度檢測模塊實(shí)時獲取小車車速信息并給予驅(qū)動電機(jī)反饋信號使小車可以快速平穩(wěn)地跟蹤引導(dǎo)線行駛。本文主要從硬件電路方面對智能小車的設(shè)計(jì)方案進(jìn)行分析,并簡單介紹下部分模塊的控制框圖及軟件流程圖。
1 系統(tǒng)設(shè)計(jì)
智能車系統(tǒng)以單片機(jī)作為處理核心,整個系統(tǒng)由路徑識別模塊、電機(jī)驅(qū)動模塊、舵機(jī)驅(qū)動模塊、車速檢測模塊、液晶顯示模塊與電源模塊組成,如圖1所示。
其中,路徑識別模塊用來獲取前方路況信息,以供單片機(jī)進(jìn)行處理分析;電機(jī)驅(qū)動模塊是智能車的動力來源;舵機(jī)驅(qū)動模塊負(fù)責(zé)智能車的轉(zhuǎn)向控制;車速檢測模塊與液晶顯示模塊分別用來檢測與顯示當(dāng)前車速;電源模塊負(fù)責(zé)給系統(tǒng)各個模塊提供所需要的電壓。
2 模塊設(shè)計(jì)
2.1 控制器模塊
系統(tǒng)采用飛思卡爾公司的MC9S12DG128B作為智能小車系統(tǒng)的微處理器,MC9S12DG128B單片機(jī)使用16位HCS12內(nèi)核,擁有豐富的片內(nèi)資源,具有128 KB Flash、8 KB RAM、2 KB EEPROM,核心運(yùn)算頻率50 MHz,總線頻率可達(dá)32 MHz。MC9S12DG128B有16路A/D轉(zhuǎn)換,精度最高可設(shè)置為10位;有8路8位PWM并可兩兩級聯(lián)為16位精度PWM,特別適合用于控制多電機(jī)系統(tǒng),它還具有豐富的I/O接口,支持?jǐn)帱c(diǎn)功能和背景調(diào)試模式,完全能夠滿足本設(shè)計(jì)的需要。
2.2 路徑識別模塊
單片機(jī)通過路徑識別模塊對路徑信息進(jìn)行采集,以實(shí)現(xiàn)小車尋跡的功能。系統(tǒng)選用RPR220型紅外反射式光電傳感器設(shè)計(jì)了路徑識別模塊。RPR220是一種一體化反射型光電探測器,其發(fā)射器是一個砷化鎵紅外發(fā)光二極管,接收器是一個高靈敏度硅平面光電三極管。紅外發(fā)射管發(fā)出的紅外光在遇到反光性較強(qiáng)的物體(表面為白色或近白色)后被折回,并被光電三極管接收到,引起光電三極管光生電流的增大,將這個變化轉(zhuǎn)為電壓信號,就可以被處理器接收并處理,進(jìn)而實(shí)現(xiàn)反光性差別較大的兩種顏色(如黑自兩色)的識別。
光電傳感器檢測電路原理圖如圖2所示,當(dāng)發(fā)光二極管發(fā)出的光被反射回來被接收管接收時,三極管導(dǎo)通,此時構(gòu)成電壓比較器的LM324的同相輸入端電壓約為0,LM324的反相輸入端電壓取決于可調(diào)電阻R3的有效阻值,當(dāng)同相輸入端的電壓低于反相輸入端的電壓時,LM324輸出高電平,即Out為1,反之當(dāng)發(fā)光二極管發(fā)出的光沒被反射回來時,LM324輸出低電平,即Out為0。電壓比較器的靈敏度可以通過調(diào)節(jié)可調(diào)電阻R3來實(shí)現(xiàn)。
智能車采用8對RPR220型紅外光電傳感器作為路徑識別元件,將其等間距安裝在智能車前部的傳感器板上,間距約為25 mm。在一定的對地垂直高度下,由于白色賽道和黑色引導(dǎo)線對于紅外線的反射強(qiáng)度不同,不同位置處紅外接收管接收到的紅外光強(qiáng)會存在較大差異。因此通過單片機(jī)讀取LM324的輸出電平就能檢測出黑線位置,從而判斷行車方向。
2.3 電機(jī)驅(qū)動模塊
系統(tǒng)選用工作電壓為直流7.2 V的RS-380直流電機(jī)提供動力,電機(jī)驅(qū)動模塊是控制小車驅(qū)動電機(jī)加速運(yùn)行與減速制動的核心,因此驅(qū)動芯片的選擇十分重要。系統(tǒng)選擇了飛思卡爾公司的MC33886集成H橋驅(qū)動芯片。作為一個單片電路H橋,MC33886是理想的功率分流直流電機(jī)和雙向推力電磁鐵控制器。它工作電壓從5~40 V,能夠控制連續(xù)感應(yīng)直流負(fù)載上升到5.0 A,PWM信號頻率可達(dá)10 kHz;內(nèi)部集成短路保護(hù)、欠壓保護(hù)、過溫保護(hù)等模塊,安全性高;兩路獨(dú)立輸入控制兩個半橋的推拉輸出電路的輸出,兩個無效輸入使H橋產(chǎn)生三態(tài)輸出。
MC33886驅(qū)動電路原理圖如圖3所示,將單片機(jī)的兩路PWM輸出接到MC33886芯片的IN1、IN2腳,通過改變兩路PWM波的占空比控制電機(jī)兩端電壓,調(diào)節(jié)直流電機(jī)轉(zhuǎn)速的快慢,從而實(shí)現(xiàn)正轉(zhuǎn)、正轉(zhuǎn)制動、反轉(zhuǎn)、反轉(zhuǎn)制動。
驅(qū)動電機(jī)控制框圖如圖4所示。為了提高智能車運(yùn)行的穩(wěn)定性,采用PID算法實(shí)現(xiàn)直流電機(jī)的轉(zhuǎn)速閉環(huán)調(diào)節(jié),PID控制器的輸入量為目標(biāo)車速與實(shí)際車速的差值。
2.4 舵機(jī)驅(qū)動模塊
智能車的運(yùn)行方向并不是一直不變的,它應(yīng)跟隨引導(dǎo)線方向的變化而變化,智能車采用前軸轉(zhuǎn)向方式,即將舵機(jī)輸出盤固定在賽車前軸的中點(diǎn)上,利用舵機(jī)轉(zhuǎn)動帶動智能車轉(zhuǎn)向,因此轉(zhuǎn)向舵機(jī)的控制在智能車控制系統(tǒng)中十分重要。
系統(tǒng)采用的是日本雙葉公司生產(chǎn)的Futaba S3010模擬電路控制舵機(jī),該舵機(jī)的輸入電壓為4.8~6 V,舵機(jī)的控制信號是PWM信號,PWM控制信號的周期為10 ms,其高電平的寬度決定舵機(jī)輸出舵盤的角度。如果只使用單個8位PWM通道,精度為1/255,舵機(jī)的轉(zhuǎn)向角細(xì)分精度不能滿足轉(zhuǎn)向需要。而將兩個8位的PWM通道合并為一個16位的PWM通道,舵機(jī)的轉(zhuǎn)向精度就可達(dá)到1/655 36,控制精度得到大幅提高。舵機(jī)模塊的硬件電路比較簡單,由MC9S12DG128B的PWM0、PWM1兩路8位PWM通道組成一路16位的PWM通道接在舵機(jī)控制線上,即能使舵機(jī)在±45°范圍內(nèi)轉(zhuǎn)動。
在小車運(yùn)行過程中需不斷調(diào)整轉(zhuǎn)向舵機(jī),在程序編寫中,每10 ms對舵機(jī)進(jìn)行一次控制,設(shè)置一個舵機(jī)控制標(biāo)志位,在定時中斷程序中置位(每10 ms置位1次),在舵機(jī)控制程序中清零。舵機(jī)控制流程圖如圖5所示。
2.5 車速檢測模塊
為了使智能車能夠快速平穩(wěn)地跟蹤引導(dǎo)線運(yùn)行,除了要控制前輪轉(zhuǎn)向舵機(jī)外,還需要控制車速,以便調(diào)整智能車在直道和彎道上的行駛速度。微控制器通過車速檢測模塊獲取智能車的實(shí)時速度并給予電機(jī)驅(qū)動模塊反饋信號,以實(shí)現(xiàn)對智能車車速度的閉環(huán)控制。
系統(tǒng)采用霍爾傳感器進(jìn)行車速檢測,霍爾車速傳感器由8級磁鋼、UGN-3030T型霍爾開關(guān)傳感器、LM2917及放大電路組成。將自制的沿圓周均勻嵌入8粒磁鋼片的圓盤,固定在智能車后輪軸上,智能車運(yùn)行時,車輪每轉(zhuǎn)動一周,由于磁場變化使得霍爾傳感器產(chǎn)生8個脈沖信號,經(jīng)放大電路處理輸出到頻率/電壓轉(zhuǎn)換器LM2917,由MC9S12DG128B的A/D轉(zhuǎn)換器根據(jù)LM2917輸出電壓即可計(jì)算出當(dāng)前智能車車速。
2.6 液晶顯示模塊
液晶顯示模塊用來實(shí)時顯示當(dāng)前車速。系統(tǒng)選用字符型液晶顯示屏1602來顯示數(shù)據(jù),1602和單片機(jī)的接口十分簡單,SD0~SD7為數(shù)據(jù)端,EN為使能端,RW為讀/寫選擇端,RS為數(shù)據(jù)/命令選擇端。
2.7 電源模塊
電源模塊為智能車系統(tǒng)的其他電路模塊提供穩(wěn)定的直流電源,它的好壞關(guān)系到整個系統(tǒng)是否能夠正常工作,因此電源模塊的設(shè)計(jì)十分重要。系統(tǒng)采用7.2 V 2 000 mAh Ni-Cd電池進(jìn)行供電,但由于電路中的不同電路模塊所需要的工作電壓不同,因此電源模塊應(yīng)該包含多個穩(wěn)壓電路,將充電電池電壓轉(zhuǎn)換成各個模塊所需要的電壓。
MC9S12DG128B的工作電壓為5 V,光電傳感器的工作電壓為5 V,直流電機(jī)的工作電壓為7.2 V,舵機(jī)的工作電壓為6 V,速度檢測模塊的工作電壓為5 V,液晶顯示模塊的工作電壓為5 V。故需將7.2 V電壓轉(zhuǎn)換成6 V和5 V。
系統(tǒng)選用LM2941穩(wěn)壓芯片將電壓轉(zhuǎn)換成6 V給舵機(jī)供電,選用低壓差線性穩(wěn)定器LM2940將電壓轉(zhuǎn)換成5 V給MC9S12DG128B單片機(jī)、光電傳感器、速度檢測模塊、液晶檢測模塊供電,直流電機(jī)直接由電池供電,電源模塊結(jié)構(gòu)圖如圖6所示。
3 結(jié)語
本文對基于紅外光電傳感器的智能尋跡小車系統(tǒng)進(jìn)行了分析與設(shè)計(jì)。著重介紹了智能車的控制器模塊、路徑識別模塊、電機(jī)驅(qū)動模塊、舵機(jī)驅(qū)動模塊、車速檢測模塊、液晶顯示模塊以及電源管理模塊等七部分的硬件電路設(shè)計(jì),并給出了部分模塊的控制框圖及軟件流程圖。實(shí)際結(jié)果表明,該小車可以快速平穩(wěn)地實(shí)現(xiàn)尋跡功能。