基于單片機的超聲波測距系統的設計
超聲波接收子程序利用外部中斷O檢測返回超聲波,一旦接收到返回超聲波信號(即INT0引腳出現低電平),立即進入中斷服務子程序,關閉定時器TO停止計時,并將測距成功標志位賦值1。如果當計時器溢出時還未檢測到超聲波返回信號,則說明障礙物過遠,超出量程,將關閉外部中斷,并標志此次測距不成功。
最大測試距離將取決于:兩次脈沖群發(fā)送之間的最小時間間隔和脈沖的能量。一般來說,發(fā)射端脈沖個數越多,能量越大,所能測量的距離也越遠。但也不是無限制的,本方案是讀取定時器TO的計數值,最大能測試的距離是TO尚未溢出時檢測到超聲波回波信號,故在溫度20℃下,最大測試距離為。在一些周期性發(fā)射超聲波設備中,如果要測試的最大距離是10 m,則兩次脈沖群之間的最小時間為。
由于采用12 MHz的晶振,機器周期為1μs,當主程序檢測到接收成功的標志位后,將計數器TO中的數值按式(1)計算,即可測得被測物與測距儀之間的距離,取20℃時的聲速為344 m/s。則有:
其中,TO為計數器TO的計數值。本文引用地址:http://m.butianyuan.cn/article/173154.htm
4 提高測量精度
4.1 溫度補償
由于超聲波的聲速與溫度有關,如果溫度變化不大,可認為聲速基本不變。如果測距精度要求很高,則應通過溫度補償的方法加以校正。
可知,超聲波在空氣中的傳播速度與溫度T(單位:攝氏度)有如下近似關系:
其中,C0為0℃時的聲波速度為331.45 m/s,T為實際溫度(℃)。在常溫下,溫度每變化1攝氏度,超聲波速度變化約為O.6 m/s,所以通過測溫電路測量出當前溫度,就可以計算出超聲波在當前溫度下的傳輸速度。
測溫電路采用的主要元器件是美國Dallas半導體公司生產的單總線數字溫度傳感器DSl8B20,其具有精度高、智能化、體積小、線路簡單等特點。
4.2 角度補償
由于發(fā)射與反射之間存在一定的夾角2α,當α很小時,可直接按式(1)計算距離;當α較大時,則必須進行距離修正,其修正公式為:
在式(4)中,夾角α與超聲波發(fā)射裝置和接收裝置的安裝位置有關,在實際應用中應保持兩換能器中心軸線盡量平行并相距2 cm~4 cm,在近距離測量時更要考慮角度補償。若能夠將超聲接收電路屏蔽起來,則可提高抗干擾性能。根據測量范圍可適當調整與接收換能器并接的濾波電容的大小,以獲得合適的接收靈敏度和抗干擾能力。
5 結論
為防止在測量過程中測距儀的抖動而引起的測量誤差,一般情況下應測量幾次取其平均值。由于系統的分辨率為1μs,系統引起的固定誤差約為0.3mm,再加上本設計只考慮了溫度補償和角度補償的影響,而沒有考慮其他環(huán)境因素(如:氣壓、濕度……)的影響,所以在測量的時侯給測量結果帶來了一定的誤差。
評論