引言
為了使移動機器人能自動避障行走,就必須裝備測距系統,以使其及時獲取距障礙物的距離信息(距離和方向)。本文所介紹的三方向(前、左、右)超聲波測距系統,就是為機器人了解其前方、左側和右側的環境而提供一個運動距離信息。
原理
1、超聲波發生器
為了研究和利用超聲波,人們已經設計和制成了許多超聲波發生器。總體上講,超聲波發生器可以分為兩大類:一類是用電氣方式産生超聲波,一類是用機械方式産生超聲波。電氣方式包括壓電型、磁緻伸縮型和電動型等;機械方式有加爾統笛、液哨和氣流旋笛等。它們所産生的超聲波的頻率、功率和聲波特性各不相同,因而用途也各不相同。目前較為常用的是壓電式超聲波發生器。
2、壓電式超聲波發生器原理
壓電式超聲波發生器實際上是利用壓電晶體的諧振來工作的。超聲波發生器内部結構如圖1所示,它有兩個壓電晶片和一個共振闆。當它的兩極外加脈沖信号,其頻率等于壓電晶片的固有振蕩頻率時,壓電晶片将會發生共振,并帶動共振闆振動,便産生超聲波。反之,如果兩電極間未外加電壓,當共振闆接收到超聲波時,将壓迫壓電晶片作振動,将機械能轉換為電信号,這時它就成為超聲波接收器了。
3、超聲波測距原理
超聲波發射器向某一方向發射超聲波,在發射時刻的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物就立即返回來,超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為340m/s,根據計時器記錄的時間t,就可以計算出發射點距障礙物的距離(s),即:s=340t/2。這就是所謂的時間差測距法。
超聲波測距的原理是利用超聲波在空氣中的傳播速度為已知,測量聲波在發射後遇到障礙物反射回來的時間,根據發射和接收的時間差計算出發射點到障礙物的實際距離。由此可見,超聲波測距原理與雷達原理是一樣的。
測距的公式表示為:L=C×T
式中L為測量的距離長度;C為超聲波在空氣中的傳播速度;T為測量距離傳播的時間差(T為發射到接收時間數值的一半)。
超聲波測距主要應用于倒車提醒、建築工地、工業現場等的距離測量,雖然目前的測距量程上能達到百米,但測量的精度往往隻能達到厘米數量級。
由于超聲波易于定向發射、方向性好、強度易控制、與被測量物體不需要直接接觸的優點,是作為液體高度測量的理想手段。在精密的液位測量中需要達到毫米級的測量精度,但是目前國内的超聲波測距專用集成電路都是隻有厘米級的測量精度。通過分析超聲波測距誤差産生的原因,提高測量時間差到微秒級,以及用LM92溫度傳感器進行聲波傳播速度的補償後,我們設計的高精度超聲波測距儀能達到毫米級的測量精度。
超聲波測距誤差分析
根據超聲波測距公式L=C×T,可知測距的誤差是由超聲波的傳播速度誤差和測量距離傳播的時間誤差引起的。
時間誤差
當要求測距誤差小于1mm時,假設已知超聲波速度C=344m/s(20℃室溫),忽略聲速的傳播誤差。測距誤差s△t<(0.001/344)≈0.000002907s 即2.907μs。
在超聲波的傳播速度是準确的前提下,測量距離的傳播時間差值精度隻要在達到微秒級,就能保證測距誤差小于1mm的誤差。使用的12MHz晶體作時鐘基準的89C51單片機定時器能方便的計數到1μs的精度,因此系統采用89C51定時器能保證時間誤差在1mm的測量範圍内。
超聲波傳播速度誤差
超聲波的傳播速度受空氣的密度所影響,空氣的密度越高則超聲波的傳播速度就越快,而空氣的密度又與溫度有着密切的關系。
已知超聲波速度與溫度的關系如下:
式中:r—氣體定壓熱容與定容熱容的比值,對空氣為1.40,
R—氣體普适常量,8.314kg·mol-1·K-1,
M—氣體分子量,空氣為28.8×10-3kg·mol-1,
T—絕對溫度,273K+T℃。
近似公式為:C=C0+0.607×T℃
式中:C0為零度時的聲波速度332m/s;
T為實際溫度(℃)。
對于超聲波測距精度要求達到1mm時,就必須把超聲波傳播的環境溫度考慮進去。例如當溫度0℃時超聲波速度是332m/s, 30℃時是350m/s,溫度變化引起的超聲波速度變化為18m/s。若超聲波在30℃的環境下以0℃的聲速測量100m距離所引起的測量誤差将達到5m,測量1m誤差将達到5cm。
電路設計
三、超聲波測距系統的電路設計
本系統的特點是利用單片機控制超聲波的發射和對超聲波自發射至接收往返時間的計時,單片機選用8751,經濟易用,且片内有4K的ROM,便于編程。電路原理圖如圖2所示。其中隻畫出前方測距電路的接線圖,左側和右側測距電路與前方測距電路相同,故省略之。
1、40kHz脈沖的産生與超聲波發射
測距系統中的超聲波傳感器采用UCM40的壓電陶瓷傳感器,它的工作電壓是40kHz的脈沖信号,這由單片機執行下面程序來産生。
前方測距電路的輸入端接單片機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的輸入端,中斷源的識别由程序查詢來處理,中斷優先級為先右後左。



















