何庭杰


摘 要:本文介紹了以AT89S51作為控制核心的超聲波測距系統,由單片機記錄時間,計算超聲波從發射到接收的時間,乘以聲波在空氣中傳播的速度,得到距離,并根據障礙物遠近發出報警聲。該超聲波測距儀,可以應用于汽車倒車、工業現場的位置監控,也可用于井深、液位、管道長度的測量等場合。
關鍵詞:AT89S51;測距;超聲波
1、引言
超聲波指向性強,在介質中傳播的距離較遠[1],因而超聲波經常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業實用的要求,因此在移動機器人的研制上也得到了廣泛的應用。該測距儀將單片機技術與超聲波技術相結合,可檢測與障礙物之間的距離,距離值通過液晶顯示器顯示,根據距離遠近發出報警聲。
2、超聲波測距原理
超聲測距從原理上可分為共振式、脈沖反射式兩種[2],本文中利用超聲的反射特性。超聲波測距原理是通過超聲波發射傳感器向某一方向發射超聲波,在發射的同時開始計時,超聲波在空氣中傳播,途中碰到障礙物立即返回,超聲波接收器收到反射回來的超聲波立即停止計時,從而測出發射超聲波和接收到回波的時間差t。常溫下超聲波在空氣中的傳播速度為 C=340m/s,根據計時器記錄的時間 t,就可以計算出超聲波發射器到距障礙物的距離(L),即:L=C*t/2。超聲波測距示意圖如圖1所示:
3、系統實現
該系統由at89s51單片機P1.0口送出持續10us以上的高電平至超聲波模塊US-100的TX端,超聲波發射頭便可發出8個40KHz的超聲波脈沖,在發射的同時,定時器T0開始計時。超聲波在遇到障礙物時會發射回來,稱為回波,US-100模塊的超聲波接收頭檢測到回波信號后,自動進行溫度值得信號,并根據當前溫度進行測距結果校正,把模塊的RX引腳電平置為高位,單片機作為CPU通過端口P1.1檢測超聲波模塊RX端口的電平狀態來判斷回波信號是否被收到,如若發出的超聲波遇到障礙物后返回停止定時器T0計時,讀出T0計時時間t,利用公式L=C*t/2算出距離。單片機把所測距離送入液晶顯示并根據距離驅動蜂鳴器報警,本文設計的報警距離為0.5米。系統框圖如圖2所示:
4、軟件設計
系統軟件由主程序、超聲波發射程序、接收中斷子程序、顯示程序、報警程序組成。單片機P1.0端口輸出持續20us的高電平至發射模塊,同時啟動定時器T0,T0采用模式1,16位加法計數器,初始值設置為0x18fc,每次溢出定時1ms,并用變量count計數計算溢出次數。當超聲波模塊US-100接收頭接收到回波信號后,關閉定時器T0,TR0=0,讀出定時時間t,計算出距離并送液晶顯示,如果距離小于50厘米,驅動蜂鳴器發生報警。
5、結束語
實際測量結果表明,本設計達到了預定設計要求,能在不同的環境溫度條件下準確測量目標距離,設計方案與系統設計是正確的,可行的。但由于超聲波的發射功率有限,在最大測量范圍指標上尚未達到要求,需要加大發射功率來解決。
參考文獻
[1] 黃繼昌:傳感器工作原理及應用實例,人民郵電出版社,1998,P5
[2] 陳 瑩:基于單片機的超聲波測距系統[C],華中科技大學碩士學位論文[D],2004.4,P13
(作者單位:自貢市職業培訓學院)