超聲波由于其指向性強、能量消耗緩慢、傳播距離較遠等優(yōu)點,而經常用于距離的測量,如測距儀和物位測量儀等都可以通過超聲波來實現(xiàn)。超聲波測距主要應用于倒車雷達、建筑施工工地以及一些工業(yè)現(xiàn)場。例如:液位、井深、管道長度等場合。利用超聲波檢測往往比較迅速、方便、計算簡單、易于做到實時控制,并且在測量精度方面能達到工業(yè)實用的要求,因此在測控系統(tǒng)的研制上也得到了廣泛的應用。本文介紹一種以AT89C51單片機為核心的低成本、高精度、微型化數(shù)字顯示超聲波測距儀的硬件電路和軟件設計方法。
1 超聲波測距原理
1.1 超聲波發(fā)生器
超聲波是一種頻率超過20kHz的機械波。為了研究和利用超聲波,人們已經設計和制成了許多超聲波發(fā)生器??傮w上講,超聲波發(fā)生器可以分為兩大類:一類是用電氣方式產生超聲波。一類是用機械方式產生超聲波。電氣方式包括壓電型、磁致伸縮型和電動型等;機械方式有加爾統(tǒng)笛、液哨和氣流旋笛等。
它們所產生的超聲波的頻率、功率和聲波特性各不相同。
因而用途也各不相同。目前較為常用的是壓電式超聲波發(fā)生器。
1.2 壓電式超聲波發(fā)生器原理
壓電式超聲波發(fā)生器實際上是利用壓電晶體的諧振來工作的。超聲波發(fā)生器內部結構如圖1所示。它有兩個壓電晶片和一個共振板。發(fā)射超聲波時,壓電傳感器中的壓電晶片受發(fā)射電脈沖激勵后產生共振,并帶動共振板振動,便產生超聲波。接收超聲波時,兩電極間未外加電,共振波接收到超聲波,將壓迫壓電晶片作振動將機械能轉換為電信號。
1.3 超聲波測距原理
超聲測距從原理上可分為共振式、脈沖反射式兩種。由于共振法的應用要求復雜。在這里使用脈沖反射式。
超聲波測距原理是通過超聲波發(fā)射器向某一方向發(fā)射超聲波,在發(fā)射時刻的同時開始計時。超聲波在空氣中傳播。途中碰到障礙物就立即返回來。超聲波接收器收到反射波就立即停止計時。超聲波在空氣中的傳播速度為C,而根據(jù)計時器記錄的測出發(fā)射和接收回波的時間差t。就可以計算出發(fā)射點距障礙物的距離s.即:S:Ct/2。這就是所謂的時間差測距法。由于超聲波也是一種聲波。其聲速c與溫度有關。表1列出了幾種不同溫度下的聲速。在使用時,如果溫度變化不大。則可認為聲速是基本不變的。如果測距精度要求很高,則應通過溫度補償?shù)姆椒右孕U?/p>
聲速確定后,只要測得超聲波往返的時間,即可求得距離。這就是超聲波測距系統(tǒng)的機理。
2 系統(tǒng)硬件電路設計
ATMEL公司的AT89C51單片機,是一種低功耗、高性能的、片內含有4KB Flash ROM 的8位CMOS單片機,工作電壓范圍為2.7~6V(實際使用十5V供電)。
位數(shù)據(jù)總線。它有一個可編程的全雙工串行通信接El,能同時進行串行發(fā)送和接收0通過RXD引腳(串行數(shù)據(jù)接收端)和TXD引腳(串行數(shù)據(jù)發(fā)送端)與外界進行通信。本超聲波測距系統(tǒng)以的AT89C51為中央處理器,其系統(tǒng)原理框圖如圖2所示。
系統(tǒng)上電工作后,由脈沖發(fā)生器發(fā)出以脈沖信號,該脈沖信號一方面通過驅動的電路推動脈沖發(fā)生器發(fā)出超聲波脈沖,另一方面,觸發(fā)AT89C51內部定時器T1(由外部中斷INT0實現(xiàn))開始定時;同時由AT89C51控制按時間自動改變放大其增益,即按發(fā)射波未到達接收器的傳播時問逐漸增大放大器增益。接收到的超身回波經過發(fā)大、濾波后,一是直接送給鑒幅器,二是經峰值保持電路提取回波峰值作為閾值的基準信息。AT89C51通過ADC0809采樣回波峰值,經過軟件加權處理后作為鑒別閾值,再經過DAC0832送給鑒幅器。當回波包絡中某個波被鑒別出來時,則立即觸發(fā)外部中斷INT1關閉定時器T1,同時,P1.1設置檢測窗口;由TO計數(shù)器窗口內鑒別回波個數(shù)12,根據(jù)n確定下次鑒別給定值的大小,閉環(huán)控制至n≤5為止。然后從補償值表中取出與rl對應的補償值,對T1的計時時問(實際上這是從發(fā)射超身波到接收到第一個鑒別回波之問的計數(shù)值,計數(shù)周期為lUS,12M品振)進行修正,獲得超聲波實際的往復傳播時問,再通過3字節(jié)浮點運算求出距離,由AT89C51串行通信口送LED顯示。本系統(tǒng)每隔5s采樣一次環(huán)境溫度,以修正聲速,所以在系統(tǒng)還可以加入溫度傳感器來監(jiān)測環(huán)境溫度,把表l所列的數(shù)據(jù)做到程序中可進行溫度補償。
3 補償及測距原理
不同形狀和位置的對象物,其回波波形大致,只是波幅不通。于是,該系統(tǒng)采用了變閾值鑒幅固定補償法:
(1)采用微處理器閉環(huán)控制自動改變閾值;
(2)在超聲回波中鑒別其包絡峰附近少于6個波的第一個波,形成關閉定時器的觸發(fā)信號,并同時設置檢測窗口;
(3)計數(shù)檢測窗口內的鑒別回波格式n(鑒別回波=窗口內鑒別回波數(shù)+1)個;
(4)判斷n的大小,若n>5,則減小鑒別規(guī)定閾值,轉到(2)重新檢測。 若≤5,則從先驗的固定補償值表中取出與n相對應的補償值進行修正一其鑒別回波提取及補償時間表示如圖3所示。
補償修正公式:
可見,不同的At對應不同,作為先驗數(shù)據(jù)先通過實際測試、觀察得到,建立補償值表存在存儲器中。
本超聲波測距系統(tǒng)的誤差主要由系統(tǒng)誤差、環(huán)境誤差、檢測誤差、定時時間誤差、補償時間誤差等組成。該系統(tǒng)采用變閉值固定補償法后,可以補償時間誤差較小。
提高了檢測信號的S/N比,從而提高了超身波測距的精度和范圍。
4 超聲波測距系統(tǒng)的軟件設計
AT89C51單片機和其開發(fā)應用系統(tǒng)具有語言簡潔、可移植性好、表達能力強、表達方式靈活、可進行結構化設計、可以直接控制計算機硬件、生成代碼質量高、使用方便等諸多優(yōu)點。超聲波測距儀就是用A F89C51單片機開發(fā)設計的。它采用模塊化設計,由主程序、定時干程序、顯示子程序等模塊組成。在此給出主程序框框圖。如圖4所示。
5 結論
對固定材料、結構的超聲波傳感器,其檢測波特性不變,即再發(fā)射傳感在同一激勵電壓源作用下發(fā)射超身波,其反射波的波形變化規(guī)律,不會因為對象物類型,距離的改變而變化,只是波幅不同而已。故該系統(tǒng)采用了變閾值鑒幅固定補償法,減小了誤差,從而提高了測距精度。該系統(tǒng)發(fā)射脈沖電壓為20V,對平面物體做了多次測量發(fā)現(xiàn),測距范圍為10m,測距精度為0.2%。可見基于單片機設計的超聲波測距系統(tǒng)具有硬件結構簡單、工作可靠、測量誤差小等特點。
因此,它不僅可用于移動機器人,還可用在其它檢測系統(tǒng)中。