一、引言 由于超聲波指向性強(qiáng),能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),因而超聲波經(jīng)常用于距離的測(cè)量,如測(cè)距儀和物位測(cè)量?jī)x等都可以通過(guò)超聲波來(lái)實(shí)現(xiàn)。利用超聲波檢測(cè)往往比較迅速、方便、計(jì)算簡(jiǎn)單、易于做到實(shí)時(shí)控制,并且在測(cè)量精度方面能達(dá)到工業(yè)實(shí)用的要求,因此在移動(dòng)機(jī)器人的研制上也得到了廣泛的應(yīng)用。 為了使移動(dòng)機(jī)器人能自動(dòng)避障行走,就必須裝備測(cè)距系統(tǒng),以使其及時(shí)獲取距障礙物的距離信息(距離和方向)。本文所介紹的三方向(前、左、右)超聲波測(cè)距系統(tǒng),就是為機(jī)器人了解其前方、左側(cè)和右側(cè)的環(huán)境而提供一個(gè)運(yùn)動(dòng)距離信息。 二、 超聲波測(cè)距原理 1、 超聲波發(fā)生器 為了研究和利用超聲波,人們已經(jīng)設(shè)計(jì)和制成了許多超聲波發(fā)生器。總體上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產(chǎn)生超聲波,一類是用機(jī)械方式產(chǎn)生超聲波。電氣方式包括壓電型、磁致伸縮型和電動(dòng)型等;機(jī)械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。它們所產(chǎn)生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。 2、壓電式超聲波發(fā)生器原理 壓電式超聲波發(fā)生器實(shí)際上是利用壓電晶體的諧振來(lái)工作的。超聲波發(fā)生器內(nèi)部結(jié)構(gòu)如圖1所示,它有兩個(gè)壓電晶片和一個(gè)共振板。當(dāng)它的兩極外加脈沖信號(hào),其頻率等于壓電晶片的固有振蕩頻率時(shí),壓電晶片將會(huì)發(fā)生共振,并帶動(dòng)共振板振動(dòng),便產(chǎn)生超聲波。反之,如果兩電極間未外加電壓,當(dāng)共振板接收到超聲波時(shí),將壓迫壓電晶片作振動(dòng),將機(jī)械能轉(zhuǎn)換為電信號(hào),這時(shí)它就成為超聲波接收器了。 3、超聲波測(cè)距原理 超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時(shí)刻的同時(shí)開(kāi)始計(jì)時(shí),超聲波在空氣中傳播,途中碰到障礙物就立即返回來(lái),超聲波接收器收到反射波就立即停止計(jì)時(shí)。超聲波在空氣中的傳播速度為340m/s,根據(jù)計(jì)時(shí)器記錄的時(shí)間t,就可以計(jì)算出發(fā)射點(diǎn)距障礙物的距離(s),即:s=340t/2 圖1 超聲波傳感器結(jié)構(gòu) 這就是所謂的時(shí)間差測(cè)距法。 三、 超聲波測(cè)距系統(tǒng)的電路設(shè)計(jì) 圖2 超聲波測(cè)距電路原理圖 本系統(tǒng)的特點(diǎn)是利用單片機(jī)控制超聲波的發(fā)射和對(duì)超聲波自發(fā)射至接收往返時(shí)間的計(jì)時(shí),單片機(jī)選用8751,經(jīng)濟(jì)易用,且片內(nèi)有4K的ROM,便于編程。電路原理圖如圖2所示。其中只畫出前方測(cè)距電路的接線圖,左側(cè)和右側(cè)測(cè)距電路與前方測(cè)距電路相同,故省略之。 1、40kHz 脈沖的產(chǎn)生與超聲波發(fā)射 測(cè)距系統(tǒng)中的超聲波傳感器采用UCM40的壓電陶瓷傳感器,它的工作電壓是40kHz的脈沖信號(hào),這由單片機(jī)執(zhí)行下面程序來(lái)產(chǎn)生。 puzel: mov 14h, #12h;超聲波發(fā)射持續(xù)200ms here: cpl p1.0 ;輸出40kHz方波 nop ; nop ; nop ; djnz 14h,here; ret 前方測(cè)距電路的輸入端接單片機(jī)P1.0端口,單片機(jī)執(zhí)行上面的程序后,在P1.0 端口輸出一?0kHz的脈沖信號(hào),經(jīng)過(guò)三極管T放大,驅(qū)動(dòng)超聲波發(fā)射頭UCM40T,發(fā)出40kHz的脈沖超聲波,且持續(xù)發(fā)射200ms。右側(cè)和左側(cè)測(cè)距電路的輸入端分別接P1.1和P1.2端口,工作原理與前方測(cè)距電路相同。 2、超聲波的接收與處理 接收頭采用與發(fā)射頭配對(duì)的UCM40R,將超聲波調(diào)制脈沖變?yōu)榻蛔冸妷盒盘?hào),經(jīng)運(yùn)算放大器IC1A和IC1B兩極放大后加至IC2。IC2是帶有鎖定環(huán)的音頻譯碼集成塊LM567,內(nèi)部的壓控振蕩器的中心頻率f0=1/1.1R8C3,電容C4決定其鎖定帶寬。調(diào)節(jié)R8在發(fā)射的載頻上,則LM567輸入信號(hào)大于25mV,輸出端8腳由高電平躍變?yōu)榈碗娖剑鳛橹袛嗾?qǐng)求信號(hào),送至單片機(jī)處理。 前方測(cè)距電路的輸出端接單片機(jī)INT0端口,中斷優(yōu)先級(jí)最高,左、右測(cè)距電路的輸出通過(guò)與門IC3A的輸出接單片機(jī)INT1端口,同時(shí)單片機(jī)P1.3和P1.4接到IC3A的輸入端,中斷源的識(shí)別由程序查詢來(lái)處理,中斷優(yōu)先級(jí)為先右后左。部分源程序如下: receive1:push psw push acc clr ex1 ;關(guān)外部中斷1 jnb p1.1, right ;P1.1引腳為0,轉(zhuǎn)至右測(cè)距電路中斷服務(wù)程序 jnb p1.2, left ;P1.2引腳為0,轉(zhuǎn)至左測(cè)距電路中斷服務(wù)程序 return:SETB EX1;開(kāi)外部中斷1 pop? acc pop? psw reti right: ...? ;右測(cè)距電路中斷服務(wù)程序入口 ? ajmp? return left:... ;左測(cè)距電路中斷服務(wù)程序入口 ? ajmp? return 3、計(jì)算超聲波傳播時(shí)間 在啟動(dòng)發(fā)射電路的同時(shí)啟動(dòng)單片機(jī)內(nèi)部的定時(shí)器T0,利用定時(shí)器的計(jì)數(shù)功能記錄超聲波發(fā)射的時(shí)間和收到反射波的時(shí)間。當(dāng)收到超聲波反射波時(shí),接收電路輸出端產(chǎn)生一個(gè)負(fù)跳變,在INT0或INT1端產(chǎn)生一個(gè)中斷請(qǐng)求信號(hào),單片機(jī)響應(yīng)外部中斷請(qǐng)求,執(zhí)行外部中斷服務(wù)子程序,讀取時(shí)間差,計(jì)算距離。其部分源程序如下: RECEIVE0:PUSH PSW PUSH ACC CLR EX0 ;關(guān)外部中斷0 ? MOV R7, TH0 ;讀取時(shí)間值 MOV R6, TL0? CLR C MOV A, R6 SUBB A, #0BBH;計(jì)算時(shí)間差 MOV 31H, A ;存儲(chǔ)結(jié)果 MOV A, R7 SUBB A, #3CH MOV 30H, A? SETB EX0 ;開(kāi)外部中斷0 POP ACC POP PSW RETI 四、超聲波測(cè)距系統(tǒng)的軟件設(shè)計(jì) 軟件分為兩部分,主程序和中斷服務(wù)程序,如圖3(a)(b)(c) 所示。主程序完成初始化工作、各路超聲波發(fā)射和接收順序的控制。 定時(shí)中斷服務(wù)子程序完成三方向超聲波的輪流發(fā)射,外部中斷服務(wù)子程序主要完成時(shí)間值的讀取、距離計(jì)算、結(jié)果的輸出等工作。 五、結(jié)論 對(duì)所要求測(cè)量范圍30cm"200cm內(nèi)的平面物體做了多次測(cè)量發(fā)現(xiàn),其最大誤差為0.5cm,且重復(fù)性好。可見(jiàn)基于單片機(jī)設(shè)計(jì)的超聲波測(cè)距系統(tǒng)具有硬件結(jié)構(gòu)簡(jiǎn)單、工作可靠、測(cè)量誤差小等特點(diǎn)。因此,它不僅可用于移動(dòng)機(jī)器人,還可用在其它檢測(cè)系統(tǒng)中。 |