


摘 要:基于單片機(jī)控制及傳感器技術(shù),實(shí)現(xiàn)小型汽車可自動(dòng)尋跡行駛的功能,并且能夠利用光電傳感器檢測(cè)道路上的障礙,利用兩個(gè)電機(jī)的差動(dòng)調(diào)節(jié),控制電動(dòng)小汽車的自動(dòng)避障、尋光及自動(dòng)停車等過(guò)程。并對(duì)整個(gè)控制軟件進(jìn)行設(shè)計(jì)以及調(diào)試,最終完成軟件和硬件的融合,實(shí)現(xiàn)小型智能車自動(dòng)駕駛的預(yù)期功能。
關(guān)鍵詞:循跡避障;單片機(jī);自動(dòng)駕駛
中圖分類號(hào):U463.3文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):2095-7394(2015)02-0023-04
0 引言
無(wú)人自動(dòng)駕駛車輛作為一種高效、安全、靈活的交通車輛,促進(jìn)了交通行業(yè)的大力發(fā)展。實(shí)際研究證明,將人放在路-車系統(tǒng)之外,可以相對(duì)降低事故率。[1]近年來(lái)車輛無(wú)人駕駛作為智能交通的重要組成部分,已逐漸成為研究的熱點(diǎn)。無(wú)人駕駛技術(shù)中,智能小車發(fā)展快,應(yīng)用廣,從兒童玩具可推廣到汽車工業(yè)。目前,智能小車已基本可實(shí)現(xiàn)循跡避障等功能,現(xiàn)今大學(xué)生智能車設(shè)計(jì)大賽又在向聲控系統(tǒng)發(fā)展。本課題主要實(shí)現(xiàn)了小車的循跡避障自動(dòng)駕駛功能。
1 小型智能車自動(dòng)駕駛原理
1.1 小車自動(dòng)避障的原理
紅外線發(fā)射管、PSD與相應(yīng)的計(jì)算電路構(gòu)成了功能強(qiáng)大使用廣泛的GP2D12紅外線傳感器,位置敏感檢測(cè)裝置能夠檢測(cè)到光子在其上運(yùn)動(dòng)產(chǎn)生的微量移動(dòng),微米級(jí)的分辨率使得測(cè)量更精確。利用這一特性,幾何原理測(cè)距可由GP2D12傳感器輕松實(shí)現(xiàn)[2]。光束由發(fā)射管發(fā)出,遇到障礙物再反射到PSD上,如圖1所示,兩條光線與地面構(gòu)成了等腰三角形,三角形的底邊長(zhǎng)度可由PSD測(cè)得,而兩個(gè)底角的值由發(fā)射管確定,可由此推算出高,也就是與障礙物的距離[3]。
1.2 小車循跡原理
用紅外探測(cè)法循跡指的是小車在白色地面上跟隨黑線行走,由于黑線和白色地面對(duì)光線的反射程度不一樣,可以根據(jù)接收到的反射光的強(qiáng)弱來(lái)尋找路線。
紅外探測(cè)法:路面信息的檢測(cè)是由光電傳感器發(fā)射管發(fā)射出一定波長(zhǎng)的紅外線,在地面反射后回到接收管。由于黑白兩色對(duì)光線的反射程度不同,黑線吸收了大部分光線,而白色賽道反射了大部分光線,使得接收到的反射光線的強(qiáng)度存在差異,從而導(dǎo)致接收端特性曲線的變化程度不同,可近似認(rèn)為接收管兩端的輸出阻值不等,分壓后的電壓也不等,由此黑線白地便可區(qū)分開(kāi)來(lái)[4]。
1.3 測(cè)速原理
由于霍爾元件在磁場(chǎng)附近時(shí)能夠感應(yīng)出高電平,稍偏離時(shí)感應(yīng)強(qiáng)度較弱,可以通過(guò)霍爾元件的這一特性來(lái)實(shí)現(xiàn)測(cè)速[5]。霍爾元件感應(yīng)磁鐵產(chǎn)生脈沖信號(hào),將4個(gè)小磁鐵均勻放置于每個(gè)車輪之下,由此計(jì)算每秒鐘感應(yīng)磁鐵產(chǎn)生的脈沖數(shù),再計(jì)算出每秒鐘小車輪子轉(zhuǎn)動(dòng)的轉(zhuǎn)數(shù),再乘以小車車輪總的周長(zhǎng),推算出小車當(dāng)前運(yùn)行速度,經(jīng)過(guò)累加運(yùn)算得到當(dāng)前路程。
2 系統(tǒng)硬件電路設(shè)計(jì)
2.1 系統(tǒng)總體設(shè)計(jì)圖
2.2 主控模塊
由于智能小車的要求不是很高,Atmel公司的AT89C52單片機(jī)可作為控制核心。AT89C52的性價(jià)比高,耗能低,其主要的性能參數(shù)為:兼容標(biāo)準(zhǔn)的MCS-51指令系統(tǒng)、8字節(jié)可重擦寫閃存只讀程序存儲(chǔ)器、256X8字節(jié)隨機(jī)存取數(shù)據(jù)儲(chǔ)存器、可編程串行UART通道、時(shí)鐘頻率0Hz~24MH、3個(gè)16位定時(shí)/計(jì)數(shù)器、8個(gè)中斷源、32個(gè)可編程I/0口線[6]。
2.3 避障傳感器模塊
采用3只GP2D12紅外線傳感器分別探測(cè)正前方,前右側(cè),前左側(cè)障礙物信息,該傳感器的平均有效探測(cè)距離在10~80 cm范圍內(nèi)可調(diào),可以有效地抵抗干擾光,能夠在日光下正常運(yùn)行(試驗(yàn)過(guò)程中應(yīng)該盡量避免日光或者較強(qiáng)的光源直接照射在傳感器上)。小車經(jīng)過(guò)調(diào)速后的制動(dòng)距離應(yīng)該控制在30 cm以內(nèi),一般維持在10~20 cm,所以探測(cè)距離該根據(jù)設(shè)計(jì)小車的需求來(lái)設(shè)定。
2.4 循跡傳感器模塊
為了實(shí)現(xiàn)循跡傳感,我們選擇反射型光電探測(cè)器RPR220。它是一種有著一體化優(yōu)點(diǎn)的光電探測(cè)器。RPR220的發(fā)射器部分是一個(gè)GaAs紅外發(fā)光二極管,而其接收器的構(gòu)成中使用了一個(gè)靈敏度較高的硅光敏三極管。RPR220采用DIP4封裝,具有如下特點(diǎn):反應(yīng)靈敏、受離散光的干擾小、體積較小且結(jié)構(gòu)緊湊一體化、可簡(jiǎn)化外圍電路設(shè)計(jì),且性能較為穩(wěn)定。
2.5 電機(jī)選擇與驅(qū)動(dòng)模塊
電機(jī)的選擇采用直流電機(jī)。直流減速電機(jī)可提供較大的轉(zhuǎn)動(dòng)力矩,安裝方便,操作簡(jiǎn)單,質(zhì)量輕、體積小,能夠較好的滿足系統(tǒng)的要求。
如圖3所示,使用L298N芯片驅(qū)動(dòng)電機(jī)。采用SMT工藝穩(wěn)定性高,采用高質(zhì)量鋁電解電容,使電路穩(wěn)定工作。可以直接驅(qū)動(dòng)兩路3~35V直流電機(jī),并提供了5V輸出接口(輸入最低只要6V),可以給5V單片機(jī)電路系統(tǒng)供電(低紋波系數(shù)),支持3.3V MCU和ARM控制,可以方便的控制直流電機(jī)速度和方向,也可以控制2相步進(jìn)電機(jī),5線4相步進(jìn)電機(jī)。用該芯片作為電機(jī)驅(qū)動(dòng),操作便捷,穩(wěn)定性好,且工作性能較為突出。
驅(qū)動(dòng)模塊主要功能是使主控芯片來(lái)發(fā)出的信號(hào)并將該信號(hào)發(fā)送給L298N電機(jī)控制芯片,L298N電機(jī)控制芯片將使小車按照指令執(zhí)行相應(yīng)的動(dòng)作。VDD引腳和VCC引腳作為L(zhǎng)298N芯片電源引腳,電機(jī)的電源是VDD引腳接的+9V電源,芯片由接到VCC引腳上的+5V電源供能。
為了保證小車轉(zhuǎn)向成功,讓轉(zhuǎn)向電機(jī)以最大功率輸出以獲得最大的扭矩,轉(zhuǎn)向電機(jī)的輸出功率不需再控制,所以ENA引腳(即轉(zhuǎn)向電機(jī)使能引腳)直接接入+5V,即讓轉(zhuǎn)向電機(jī)一直使能。
對(duì)于后置的驅(qū)動(dòng)電機(jī),除了要控制其實(shí)現(xiàn)前進(jìn)、后退和停止外,還需控制其轉(zhuǎn)速以解決因電量不足而使小車速度變慢的問(wèn)題。因此,可通過(guò)將L298N芯片的ENB引腳與AT89C52的P1.7引腳連接起來(lái),以實(shí)現(xiàn)PWM調(diào)速。
L298N芯片的IN1和IN2引腳分別和AT89C52的P1.2和P1.3引腳連接用來(lái)接收主控芯片輸出的動(dòng)作指令,并通過(guò)端口OUT1和OUT2將指令轉(zhuǎn)化為電機(jī)轉(zhuǎn)向(正轉(zhuǎn)或反轉(zhuǎn))的動(dòng)作,至此實(shí)現(xiàn)了小車的橫向控制。
L298N芯片的IN3和IN4引腳分別與AT89C52的P1.4和P1.5引腳連接用來(lái)接收主控芯片輸出的動(dòng)作指令,并通過(guò)端口OUT3和OUT4來(lái)控制驅(qū)動(dòng)電機(jī)的轉(zhuǎn)向,最終功能的實(shí)現(xiàn)表現(xiàn)在小車的前進(jìn)、后退、停止。
2.6 直流調(diào)速模塊
調(diào)速的實(shí)現(xiàn)是選擇基于PWM為主控電路的調(diào)速系統(tǒng)。相較于傳統(tǒng)的直流調(diào)速技術(shù),PWM(脈寬調(diào)制技術(shù))直流調(diào)速系統(tǒng)具有較大的優(yōu)越性:主電路線路簡(jiǎn)單,需要的功率元件少;主電路元件工作在開(kāi)關(guān)狀態(tài),導(dǎo)通損耗小,低速性能好,穩(wěn)速精度高,因而調(diào)速范圍寬;系統(tǒng)頻帶寬,快速響應(yīng)性能好,動(dòng)態(tài)抗干擾能力強(qiáng);開(kāi)關(guān)頻率高,電流容易連續(xù),諧波少,電機(jī)損耗和發(fā)熱都較小;裝置效率高[7]。
一般通過(guò)調(diào)節(jié)各路PWM的占空比來(lái)改變直流電動(dòng)機(jī)電樞兩端電壓,這里采用定頻調(diào)寬法。保證頻率一定,通過(guò)程序控制單片機(jī)的定時(shí)計(jì)數(shù)器計(jì)數(shù)次數(shù),或使用軟件延時(shí)等方法均可達(dá)到調(diào)整脈寬的目的。此方式可以使硬件電路簡(jiǎn)化,且具有操作性強(qiáng)等優(yōu)點(diǎn)。
要求做直線運(yùn)動(dòng)時(shí),分別控制左右兩電機(jī)的PWM的占空比使它們相同,即可讓小車以相應(yīng)速度的直線運(yùn)動(dòng)。
要求做曲線運(yùn)動(dòng)時(shí),在初始狀態(tài)給定小車車輪一定轉(zhuǎn)速,將小車起始位置設(shè)置在原點(diǎn)。由逆運(yùn)動(dòng)學(xué)進(jìn)行速度分析,要使小車沿著一定半徑做曲線運(yùn)動(dòng),則根據(jù)該半徑大小可以推算出小車左右輪所需的速度大小和差值。對(duì)擬合曲線方程進(jìn)行分析,可以得到相應(yīng)的電機(jī)驅(qū)動(dòng)右輪的PWM占空比。因?yàn)樗俣群蚉WM的脈沖寬度有著正比例關(guān)系,所以我們?cè)诔绦蛑型ㄟ^(guò)脈沖寬度調(diào)節(jié)速度。
3 系統(tǒng)的軟件設(shè)計(jì)分析
3.1 程序設(shè)計(jì)主流程圖與主控制策略
在尋跡和避障中,控制的電機(jī)方式基本一樣。當(dāng)左邊的避障傳感器或右邊的尋跡傳感器檢測(cè)到信號(hào)時(shí),都是左轉(zhuǎn)速不變,右輪轉(zhuǎn)速減小PWM的占空比,從而使右輪轉(zhuǎn)速減慢,實(shí)現(xiàn)差速轉(zhuǎn)彎,向右轉(zhuǎn)的同時(shí)實(shí)現(xiàn)避障和尋跡;右邊也是如此。如果當(dāng)左右尋跡傳感器同時(shí)檢測(cè)到信號(hào),或是左邊避障和左邊尋跡、右邊避障和右邊尋跡。這種情況下不能同時(shí)滿足避障和尋跡,只能使車停下。圖4為程序流程圖。
3.2 傳感器數(shù)據(jù)處理及尋跡程序流程
車底的6個(gè)傳感器用一個(gè)字節(jié)來(lái)表示,并將傳感器當(dāng)前的檢測(cè)狀態(tài)用字節(jié)中的每一個(gè)位來(lái)表示,小車直線行駛時(shí)有三種情況。圖5為傳感器子程序流程圖。當(dāng)位于車體中央的四個(gè)傳感器都檢測(cè)到黑線時(shí),小車恰好位于賽道正上方,此時(shí)系統(tǒng)控制兩電機(jī)等速全速前進(jìn)。當(dāng)檢測(cè)到某一側(cè)一個(gè)或兩個(gè)傳感器偏離黑線,此時(shí)小車偏離黑線程度較小,系統(tǒng)將一個(gè)電機(jī)速度調(diào)快,另一個(gè)電機(jī)速度調(diào)慢,實(shí)現(xiàn)方向上的微調(diào)。當(dāng)傳感器檢測(cè)到有3個(gè)電機(jī)偏離運(yùn)行,小車偏離范圍較大,這時(shí)系統(tǒng)大幅降低一個(gè)電機(jī)速度,并使另一電機(jī)以最高速度運(yùn)行,在短時(shí)間內(nèi)實(shí)現(xiàn)方向調(diào)整。使用這種3級(jí)調(diào)速的循跡算法程序構(gòu)思清晰,程序執(zhí)行可靠性高。
4 結(jié)語(yǔ)
本文所設(shè)計(jì)的自動(dòng)駕駛系統(tǒng)實(shí)現(xiàn)的功能和現(xiàn)有的智能小車近似。創(chuàng)新之處在于利用兩個(gè)電機(jī)的差動(dòng)調(diào)節(jié),控制電動(dòng)小車的自動(dòng)避障、尋光及自動(dòng)停車;由單片機(jī)系統(tǒng)來(lái)控制智能車的行駛狀態(tài);并用PWM技術(shù)實(shí)現(xiàn)了電動(dòng)機(jī)的多級(jí)調(diào)速,革新了控制策略與程序,使整機(jī)工作更加可靠,節(jié)約能源,在將來(lái)的機(jī)動(dòng)車市場(chǎng)上能發(fā)揮更大作用。
參考文獻(xiàn):
[1]于虹.基于16位單片機(jī)MC9S12DG128智能模型車系統(tǒng)開(kāi)發(fā)研究[D].包頭:內(nèi)蒙古科技大學(xué),2009.
[2]徐魯旭.基于ARM+DSP的機(jī)器人控制系統(tǒng)設(shè)計(jì)[D].北京:北京郵電大學(xué),2010.
[3]張航.基于MSP430與UZ2400的無(wú)線傳感器網(wǎng)絡(luò)節(jié)點(diǎn)的設(shè)計(jì)與應(yīng)用[D].長(zhǎng)春:吉林大學(xué),2010.
[4]曾偉欽,徐東升,冉志勇,等.基于光電導(dǎo)航的自主循跡智能車設(shè)計(jì)系統(tǒng)[D].綿陽(yáng):西南科技大學(xué),2012.
[5]張青春.基于ZigBee結(jié)構(gòu)支撐安全監(jiān)測(cè)無(wú)線傳感器的設(shè)計(jì)[J].計(jì)算機(jī)測(cè)量與控制,2012(11):3 136-3 138.
[6]李振新.基于激光治療的光纖終端研究[D].武漢:武漢理工大學(xué),2006.
[7]姚永剛.機(jī)電傳動(dòng)與控制技術(shù)[M].北京:中國(guó)輕工業(yè)出版社,2005.
Abstract:This design is based on micro-controller and sensor technology.The function we aimed to implement is automatic tracking of the electric car,along with the obstacle detection in the way by photoelectric sensor.Technique of differential adjustment by motors are used in this design to realize automatic obstacle avoidance,automatic light-leading and automatic parking.Then for the whole control software we accomplished the program design and program debugging.Finally the software and hardware integration is achieved and the electric car functions are as we expected.
Key words:Automatic tracking and obstacle avoidance;Micro-controller;Self-driving
責(zé)任編輯 祁秀春