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