摘 要:以AVR單片機(jī)ATmega16作為主控制器,結(jié)合超聲波發(fā)射、接收模塊DYP-ME007,巧妙地利用AVR單片機(jī)特有的輸入信號(hào)捕捉功能,實(shí)現(xiàn)3cm~3.5m的非接觸式距離感測(cè),并實(shí)時(shí)顯示距離和報(bào)警。分析了DYP-ME007模塊的超聲波測(cè)距原理,給出了測(cè)距系統(tǒng)的整體設(shè)計(jì)和硬件組成結(jié)構(gòu)圖,并具體闡述了系統(tǒng)軟件設(shè)計(jì)過(guò)程并提供了程序框圖。經(jīng)實(shí)際測(cè)試證明本系統(tǒng)實(shí)現(xiàn)了超聲波測(cè)距和報(bào)警功能。
關(guān)鍵詞:AVR單片機(jī)超聲波測(cè)距倒車防撞
中圖分類號(hào):U463文獻(xiàn)標(biāo)識(shí)碼:A文章編號(hào):1674-098X(2011)07(b)-0113-01
1 引言
據(jù)相關(guān)調(diào)查統(tǒng)計(jì),15%的汽車撞車事故都是因倒車時(shí)汽車的后視能力不良造成的。因此,增加汽車的后視能力顯得尤為重要。安全避免障礙物的前提是快速準(zhǔn)確地測(cè)量障礙物與汽車之間的距離。為此,本設(shè)計(jì)基于AVR單片機(jī),利用超聲波實(shí)現(xiàn)了無(wú)接觸測(cè)距的倒車?yán)走_(dá)系統(tǒng)。可以快速準(zhǔn)確地測(cè)量障礙物與汽車之間的距離,幫助駕駛員掃除視野的死角和視線模糊的缺陷,使駕駛員的倒車操作更加安全有效。
2 系統(tǒng)整體設(shè)計(jì)
本設(shè)計(jì)采用以AVR單片機(jī)ATmega16[1][2]為核心,用超聲波發(fā)射、接收模塊DYP-ME007進(jìn)行測(cè)距,用4位數(shù)碼管實(shí)時(shí)顯示所測(cè)的距離,配合其他硬件電路和軟件設(shè)計(jì)方法來(lái)實(shí)現(xiàn)。Atmega16采用CMOS技術(shù)和RISC構(gòu)架,具有高速、低功耗等優(yōu)勢(shì),而且具有定時(shí)器輸入捕捉模式。本文充分利用這些優(yōu)勢(shì),配合實(shí)現(xiàn)了快速準(zhǔn)確測(cè)距功能。本系統(tǒng)的單片機(jī)采用4MHz計(jì)數(shù)時(shí)鐘。測(cè)距開始時(shí)由PD.7(OC2)引腳向DYP-ME007模塊發(fā)出發(fā)射超聲波測(cè)距觸發(fā)信號(hào),DYP-ME007模塊內(nèi)部將檢測(cè)回波,一旦檢測(cè)到有回波信號(hào)則輸出回響信號(hào)送到單片機(jī)的PD.6(ICP1)引腳。單片機(jī)對(duì)接收到的回響信號(hào)進(jìn)行輸入捕捉并測(cè)算出從超聲波信號(hào)發(fā)射到單片機(jī)接受到反射信號(hào)所花費(fèi)的時(shí)間t值, 經(jīng)處理后計(jì)算出被測(cè)距離s并送數(shù)碼管顯示和報(bào)警。
本系統(tǒng)工作過(guò)程及實(shí)現(xiàn)的功能為:由PC.0引腳控制的測(cè)距控制開關(guān)按下時(shí)啟動(dòng)測(cè)距,再按一次則停止測(cè)距;正常工作時(shí),由PD.1引腳控制的測(cè)距控制開關(guān)指示燈會(huì)亮,停止工作時(shí),指示燈滅;由PA和PB端口控制的四位數(shù)碼管用來(lái)顯示所測(cè)的距離,以cm為單位,若該距離小于預(yù)置的汽車低速安全剎車距離(150cm),由PD.0引腳控制的蜂鳴器發(fā)出報(bào)警提示音,同時(shí)數(shù)碼管上顯示的數(shù)字開始閃爍,以加強(qiáng)警示作用。
3 超聲波測(cè)距原理
超聲波測(cè)距是本系統(tǒng)的關(guān)鍵環(huán)節(jié)。本系統(tǒng)的超聲波模塊DYP-ME007采取收發(fā)分離方式,使收發(fā)信號(hào)不會(huì)混疊,提高了系統(tǒng)的可靠性。
模塊中用到的傳感器為壓電型超聲波傳感器,包括一個(gè)發(fā)射傳感器和一個(gè)接收傳感器。超聲波傳感器由壓電晶片和共振板構(gòu)成,當(dāng)它的兩電極加上脈沖信號(hào)時(shí),若其頻率等于晶片的固有頻率,壓電晶片就會(huì)發(fā)生共振從而產(chǎn)生超聲波。相反,當(dāng)共振板收到回波信號(hào)時(shí),將壓迫壓電晶片振動(dòng),從而將機(jī)械能轉(zhuǎn)化為電能。
為防止發(fā)射信號(hào)影響回響信號(hào),觸發(fā)信號(hào)周期一般要大于60ms。PIC控制器收到觸發(fā)信號(hào)后會(huì)產(chǎn)生8個(gè)周期的電壓為5V,頻率為40kHz的脈沖信號(hào),經(jīng)電壓驅(qū)動(dòng)器ST232CD驅(qū)動(dòng)超聲波發(fā)射傳感器發(fā)射超聲波。同時(shí)輸出的回響信號(hào)被升至高電平作為PIC內(nèi)部計(jì)時(shí)的開始,同時(shí)關(guān)閉ST232CD。超聲波遇障礙物返回,回波信號(hào)由超聲波接收傳感器轉(zhuǎn)化為40kHz電信號(hào)。經(jīng)兩級(jí)LMC6032集成放大器放大后送入LP311比較器進(jìn)行檢波,濾掉與超聲波發(fā)射器直接耦合的信號(hào),然后送入PIC控制器,將輸出的回響信號(hào)降為低電平。如果沒(méi)有檢測(cè)到回波信號(hào),模塊將在30ms后自動(dòng)停止上一個(gè)周期檢測(cè)。故回響信號(hào)的高電平持續(xù)時(shí)間即為超聲波到達(dá)障礙物并返回所用的時(shí)間t。
4 系統(tǒng)軟件設(shè)計(jì)
系統(tǒng)軟件部分分為三層結(jié)構(gòu):測(cè)距控制開關(guān)部分、數(shù)據(jù)緩沖區(qū)部分、定時(shí)器測(cè)距部分。定時(shí)器T2用來(lái)產(chǎn)生模塊DYP-ME007的觸發(fā)信號(hào),置為fast PWM模式,產(chǎn)生周期為60ms,高電平持續(xù)時(shí)間為1ms的脈沖,由PD.7(OC2)引腳輸出。DYP-ME007模塊內(nèi)部接到觸發(fā)信號(hào)后將發(fā)出8個(gè)40kHz周期電平并檢測(cè)回波,由ECHO端口輸出回響信號(hào)到單片機(jī)的PD.6(ICP1)引腳。
定時(shí)器T1用來(lái)對(duì)回響信號(hào)的高電平計(jì)時(shí),置為下降沿觸發(fā)輸入捕捉模式,預(yù)分頻器對(duì)時(shí)鐘源64分頻,作為定時(shí)器T1的計(jì)數(shù)脈沖信號(hào)源。輸入捕捉模式是AVR定時(shí)/計(jì)數(shù)器的一個(gè)非常有特點(diǎn)的功能,能夠準(zhǔn)確記錄輸入信號(hào)電平的變化。PD.6(ICP1)引腳接收的回響信號(hào)上升沿(對(duì)應(yīng)超聲波信號(hào)發(fā)射起始時(shí)刻)到來(lái)時(shí),定時(shí)器T1將計(jì)數(shù)器TCNT1中的值清零并開始計(jì)數(shù)。當(dāng)回響信號(hào)下降沿(對(duì)應(yīng)超聲波反射信號(hào)結(jié)束時(shí)刻)到來(lái)時(shí),定時(shí)器T1進(jìn)行輸入捕捉,自動(dòng)將TCNT1中的計(jì)數(shù)值寫入輸入捕捉寄存器ICR1。
輸入捕捉寄存器ICR1中的計(jì)數(shù)值與回響信號(hào)的高電平持續(xù)時(shí)間t的關(guān)系為t=ICR1/(4MHz/64),被測(cè)的距離為S=v×t/2=170×t(m)=170×t×1000(cm),式中v=340m/s為聲速。
將測(cè)得的距離S送入數(shù)據(jù)緩沖區(qū)。當(dāng)測(cè)距控制開關(guān)按下時(shí),數(shù)碼管即從數(shù)據(jù)緩沖區(qū)讀取數(shù)據(jù)并顯示。若S<150(cm),則數(shù)碼管閃爍且蜂鳴器發(fā)出聲音報(bào)警提示。當(dāng)測(cè)距控制開關(guān)再次按下時(shí),將數(shù)碼管共陰極置高,停止顯示;將蜂鳴器輸入端置低,停止報(bào)警。
5 結(jié)語(yǔ)
該設(shè)計(jì)充分利用了AVR單片機(jī)Atmega16高速、低功耗、輸入捕捉等優(yōu)勢(shì),配合超聲波模塊DYP-ME007實(shí)現(xiàn)了3cm~3.5m范圍內(nèi)的快速準(zhǔn)確測(cè)距功能,并將測(cè)量結(jié)果通過(guò)數(shù)碼管顯示。當(dāng)障礙物小于安全距離1.5m時(shí),蜂鳴器將發(fā)出報(bào)警提示,同時(shí)數(shù)碼管的數(shù)字閃爍,及時(shí)提醒司機(jī)停止倒車,從而起到倒車防撞的作用。經(jīng)實(shí)際測(cè)試表明,該系統(tǒng)結(jié)構(gòu)簡(jiǎn)單,靈敏度高,工作穩(wěn)定可靠。
參考文獻(xiàn)
[1] 周俊杰.嵌入式C編程與Atmel AVR[M].北京:清華大學(xué)出版社,2003.
[2]馬潮.AVR單片機(jī)嵌入式系統(tǒng)原理與應(yīng)用實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2007,10.