基于單片機的超聲波測距系統(tǒng)的設計
摘要:基于超聲波實現(xiàn)無接觸式測距原理,介紹了一種基于單片機控制的超聲波測距系統(tǒng)的設計方法。由單片機軟件產(chǎn)生40kHz超聲波,并測量回波時間,可精確到us級。為提高測距精度,采取了溫度補償、角度補償措施。實驗表明系統(tǒng)具有較高的測量精度和實用價值。
關(guān)鍵詞:起聲波;測距;單片機
O 引言
超聲波是指頻率大于20 kHz的在彈性介質(zhì)中產(chǎn)生的機械震蕩波。由于超聲波頻率較高,穿透力強,指向性強,傳輸過程中衰減少,能量消耗緩慢,在介質(zhì)中傳播的距離較遠,遇到雜質(zhì)或分界面時會產(chǎn)生反射波,因此常被用于非接觸式測距。并且超聲波對光線、色彩和電磁場不敏感,因此超聲波測距對環(huán)境有較好的適應能力。廣泛應用于汽車倒車、機器人避障、工業(yè)測井、水庫液位測量、管道長度測量等需要自動進行非接觸測距的場合。
1 超聲波測距原理
Pellarn和Galt于1946年提出了脈沖回波法,其工作原理是:用超聲脈沖激勵超聲探頭向外輻射超聲波,同時接收從被測物體反射回來的超聲波(簡稱回波),通過檢測或估計從發(fā)射超聲波至接收回波所經(jīng)歷的射程時間ToF(Time of Flight),按下式計算超聲波探頭與被測物體之間的距離d,即
其中。c為聲波在空氣介質(zhì)中的傳播速度。
2 系統(tǒng)構(gòu)成
本系統(tǒng)硬件電路由單片機、超聲波發(fā)射電路、超聲波接收電路、測溫電路、顯示電路、報警電路等構(gòu)成,如圖1所示。
3 系統(tǒng)程序設計
3.1 主程序
主程序首先對系統(tǒng)環(huán)境初始化,設置定時器TO工作模式為16位定時/計數(shù)器模式,總中斷允許位置1并給顯示端口清0;然后調(diào)用超聲波發(fā)生子程序送出若干個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起直射渡觸發(fā),從發(fā)射開始一直到“虛假反射波”結(jié)束這段時間內(nèi),不開放外部中斷(INTO)申請,便可有效躲避干擾,但同時也會造成測試“盲區(qū)”。假設延時約0.1 ms后,才打開外部中斷接收返回的超聲波信號,當溫度為20℃,測量盲區(qū)為d=1×10-2×344=1.72 cm。
3.2 超聲波發(fā)生子程序和接收子程序
超聲波發(fā)生子程序的作用是通過P1.0端口發(fā)送超聲波換能器所需的40kHz的方波信號(脈沖寬度為12μs左右),同時把計數(shù)器TO打開進行計時。超聲波發(fā)生子程序較簡單,但要求程序運行準確,所以采用匯編語言編程。
超聲波接收子程序利用外部中斷O檢測返回超聲波,一旦接收到返回超聲波信號(即INT0引腳出現(xiàn)低電平),立即進入中斷服務子程序,關(guān)閉定時器TO停止計時,并將測距成功標志位賦值1。如果當計時器溢出時還未檢測到超聲波返回信號,則說明障礙物過遠,超出量程,將關(guān)閉外部中斷,并標志此次測距不成功。
最大測試距離將取決于:兩次脈沖群發(fā)送之間的最小時間間隔和脈沖的能量。一般來說,發(fā)射端脈沖個數(shù)越多,能量越大,所能測量的距離也越遠。但也不是無限制的,本方案是讀取定時器TO的計數(shù)值,最大能測試的距離是TO尚未溢出時檢測到超聲波回波信號,故在溫度20℃下,最大測試距離為。在一些周期性發(fā)射超聲波設備中,如果要測試的最大距離是10 m,則兩次脈沖群之間的最小時間為。
由于采用12 MHz的晶振,機器周期為1μs,當主程序檢測到接收成功的標志位后,將計數(shù)器TO中的數(shù)值按式(1)計算,即可測得被測物與測距儀之間的距離,取20℃時的聲速為344 m/s。則有:
其中,TO為計數(shù)器TO的計數(shù)值。
4 提高測量精度
4.1 溫度補償
由于超聲波的聲速與溫度有關(guān),如果溫度變化不大,可認為聲速基本不變。如果測距精度要求很高,則應通過溫度補償?shù)姆椒右孕U?/p>
可知,超聲波在空氣中的傳播速度與溫度T(單位:攝氏度)有如下近似關(guān)系:
其中,C0為0℃時的聲波速度為331.45 m/s,T為實際溫度(℃)。在常溫下,溫度每變化1攝氏度,超聲波速度變化約為O.6 m/s,所以通過測溫電路測量出當前溫度,就可以計算出超聲波在當前溫度下的傳輸速度。
測溫電路采用的主要元器件是美國Dallas半導體公司生產(chǎn)的單總線數(shù)字溫度傳感器DSl8B20,其具有精度高、智能化、體積小、線路簡單等特點。
4.2 角度補償
由于發(fā)射與反射之間存在一定的夾角2α,當α很小時,可直接按式(1)計算距離;當α較大時,則必須進行距離修正,其修正公式為:
在式(4)中,夾角α與超聲波發(fā)射裝置和接收裝置的安裝位置有關(guān),在實際應用中應保持兩換能器中心軸線盡量平行并相距2 cm~4 cm,在近距離測量時更要考慮角度補償。若能夠?qū)⒊暯邮针娐菲帘纹饋?,則可提高抗干擾性能。根據(jù)測量范圍可適當調(diào)整與接收換能器并接的濾波電容的大小,以獲得合適的接收靈敏度和抗干擾能力。
5 結(jié)論
為防止在測量過程中測距儀的抖動而引起的測量誤差,一般情況下應測量幾次取其平均值。由于系統(tǒng)的分辨率為1μs,系統(tǒng)引起的固定誤差約為0.3mm,再加上本設計只考慮了溫度補償和角度補償?shù)挠绊?,而沒有考慮其他環(huán)境因素(如:氣壓、濕度……)的影響,所以在測量的時侯給測量結(jié)果帶來了一定的誤差。