歡迎您光臨本站 登入註冊首頁

超聲波測距儀設計

admin @ 2014-03-15 , reply:0

概述

由於超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用於距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現。利用超聲波檢測往往比較迅速、方便、計算簡單、易於做到實時控制,並且……

由於超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用於距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現。利用超聲波檢測往往比較迅速、方便、計算簡單、易於做到實時控制,並且在測量精度方面能達到工業實用的要求,因此在移動機器人的研製上也得到了廣泛的應用。
為了使移動機器人能自動避障行走,就必須裝備測距系統,以使其及時獲取距障礙物的距離信息(距離和方向)。本文所介紹的三方向(前、左、右)超聲波測距系統,就是為機器人了解其前方、左側和右側的環境而提供一個運動距離信息。
二、 超聲波測距原理
1、 超聲波發生器
為了研究和利用超聲波,人們已經設計和製成了許多超聲波發生器。總體上講,超聲波發生器可以分為兩大類:一類是用電氣方式產生超聲波,一類是用機械方式產生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統笛、液哨和氣流旋笛等。它們所產生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發生器。
2、壓電式超聲波發生器原理

3、超聲波測距原理
超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據計時器記錄的時間t,就可以計算出發射點距障礙物的距離(s),即:s=340t/2 

圖1 超聲波感測器結構
這就是所謂的時間差測距法。
三、 超聲波測距系統的電路設計 

圖2 超聲波測距電路原理圖
本系統的特點是利用單片機控制超聲波的發射和對超聲波自發射至接收往返時間的計時,單片機選用8751,經濟易用,且片內有4K的ROM,便於編程。電路原理圖如圖2所示。其中只畫出前方測距電路的接線圖,左側和右側測距電路與前方測距電路相同,故省略之。
1、40kHz 脈衝的產生與超聲波發射
測距系統中的超聲波感測器採用UCM40的壓電陶瓷感測器,它的工作電壓是40kHz的脈衝信號,這由單片機執行下面程序來產生。
puzel: mov 14h, #12h;超聲波發射持續200ms
here: cpl p1.0 ;輸出40kHz方波
nop ;
nop ;
nop ;
djnz 14h,here;
ret
前方測距電路的輸入端接單片機P1.0埠,單片機執行上面的程序后,在P1.0 埠輸出一個40kHz的脈衝信號,經過三極體T放大,驅動超聲波發射頭UCM40T,發出40kHz的脈衝超聲波,且持續發射200ms。右側和左側測距電路的輸入端分別接P1.1和P1.2埠,工作原理與前方測距電路相同。
2、超聲波的接收與處理
接收頭採用與發射頭配對的UCM40R,將超聲波調製脈衝變為交變電壓信號,經運算放大器IC1A和IC1B兩極放大后加至IC2。IC2是帶有鎖定環的音頻解碼集成塊LM567,內部的壓控振蕩器的中心頻率f0=1/1.1R8C3,電容C4決定其鎖定帶寬。調節R8在發射的載頻上,則LM567輸入信號大於25mV,輸出端8腳由高電平躍變為低電平,作為中斷請求信號,送至單片機處理。
前方測距電路的輸出端接單片機INT0埠,中斷優先順序最高,左、右測距電路的輸出通過與門IC3A的輸出接單片機INT1埠,同時單片機P1.3和P1.4接到IC3A的輸入端,中斷源的識別由程序查詢來處理,中斷優先順序為先右後左。部分源程序如下:

receive1:push psw
push acc
clr ex1 ;關外部中斷1
jnb p1.1, right ;P1.1引腳為0,轉至右測距電路中斷服務程序
jnb p1.2, left ;P1.2引腳為0,轉至左測距電路中斷服務程序
return:SETB EX1;開外部中斷1
pop? acc
pop? psw
reti
right: ...? ;右測距電路中斷服務程序入口
? ajmp? return
left:... ;左測距電路中斷服務程序入口
? ajmp? return
3、計算超聲波傳播時間
在啟動發射電路的同時啟動單片機內部的定時器T0,利用定時器的計數功能記錄超聲波發射的時間和收到反射波的時間。當收到超聲波反射波時,接收電路輸出端產生一個負跳變,在INT0或INT1端產生一個中斷請求信號,單片機響應外部中斷請求,執行外部中斷服務子程序,讀取時間差,計算距離。其部分源程序如下:
RECEIVE0:PUSH PSW
PUSH ACC
CLR EX0 ;關外部中斷0
? MOV R7, TH0 ;讀取時間值
MOV R6, TL0?
CLR C
MOV A, R6
SUBB A, #0BBH;計算時間差
MOV 31H, A ;存儲結果
MOV A, R7
SUBB A, #3CH
MOV 30H, A?
SETB EX0 ;開外部中斷0
POP ACC?
POP PSW
RETI
四、超聲波測距系統的軟體設計

軟體分為兩部分,主程序和中斷服務程序,如圖3(a)(b)(c) 所示。主程序完成初始化工作、各路超聲波發射和接收順序的控制。
定時中斷服務子程序完成三方向超聲波的輪流發射,外部中斷服務子程序主要完成時間值的讀取、距離計算、結果的輸出等工作。
五、結論
對所要求測量範圍30cm~200cm內的平面物體做了多次測量發現,其最大誤差為0.5cm,且重複性好。可見基於單片機設計的超聲波測距系統具有硬體結構簡單、工作可靠、測量誤差小等特點。因此,它不僅可用於移動機器人,還可用在其它檢測系統中。

[admin via 研發互助社區 ] 超聲波測距儀設計已經有2531次圍觀

http://cocdig.com/docs/show-post-5195.html