周 彪
[摘要]設計一種基于AT89S51單片機的超聲波測距電路,實現超聲波點對點的測量,并采用DS18820測溫,減小溫度對超聲波傳播速度的影響。
[關鍵詞]單片機超聲波測距溫度補償
中圖分類號:TN98文獻標識碼:A文章編號:1671-7597(2009)0610013-01
一、引言
超生波技術是一門以物理、電子、機械及材料學為基礎的通用技術之一。它是通過超聲波產生、傳播及接收的物理過程而完成的。由于超聲波指向性強,能量消耗緩慢,在介質中傳播的距離較遠,因而超聲波經常用于距離的測量。
二、超聲波測距的基本原理
超聲波發生器在某一時刻發出超聲波信號,當超聲波遇到被測物體后反射回來,測出超聲波信號從發射到接收到回波信號的時間,利用超聲波在介質中的傳播速度,就可以計算出被測物體的距離:
d=v×t/2(1)
其中,d為被測物體到測距儀之間的距離,v為超聲波在介質中的傳播速度,t為超聲波從發射到接收所用的時間。為了提高精度,需要考慮不同溫度下超聲波在空氣中傳播速度隨溫度變化的關系:
v=33114+0161T(2)
式中:T為實際溫度(℃),v為超聲波在介質中的傳播速度(m/s)。
三、超聲波測距系統的設計
(一)整體方案設計。本文主要采用單片機控制技術,實現精確的超聲波測距方案,整個系統由超聲波收發單元、波形校準單元、溫度測量單元、顯示單元和控制單元5個單元組成。其中,超聲波收發單元主要實現超聲波的接發送和接收;信號處理單元主要實現去除干擾、波形整形、鎖相環等功能,便于實現準確計時;溫度測量單元主要測量外界溫度,實現溫度補償:顯示單元實現測量數據的顯示:單片機為控制單元,完成指令發送,接收數據,進行計算等任務。
(二)單片機控制與顯示模塊。單片機選用AT89S51單片機,ATMEL的AT89S51是一種高效微控制器,為很多嵌入式控制系統提供了一種靈活性高且廉價的方案。它的外部引腳多,程序存儲容量大,同時也具有內部
定時、計數和全雙工串口。AT89S51的最大計數分辨率為振蕩器頻率的1/12,對于12MHz晶振來說,距離不確定度約為1mm,因此滿足本設計要求。此單片機響應快,壽命長,性能穩定,功耗低,價格低廉。使用數碼管LG50118SR作為顯示部分,其功耗低,操作簡單,體積小。
(三)超聲波發射電路。超聲波發射器包括超聲波產生電路和超聲波發射控制電路兩部分,由功率放大電路和超聲波發射傳感器組成。超聲波探頭的型號選用CSB40T,利用軟件產生的超聲波信號,通過輸出引腳輸入至驅動器。經驅動器驅動后推動探頭產生超聲波。通過空間向外傳播出去。
(四)超聲波接收部分。超聲波接收部分采用集成芯片CX20106A,這是一款紅外線檢波接收的專用芯片。內部電路由前置放大器、自動偏置電平控制電路、限幅放大器、帶通濾波器、峰值檢波器和整形輸出電路組成。可以利用它作為超聲波檢測電路。接收的回波信號先經過前置放大器和限幅放大器,將信號調整到合適的幅值;再經過帶通濾波器濾波得到有用信號,濾除干擾信號;最后由峰值檢波器和整形電路輸出到鎖相環路,實現準確的計時。
(五)溫度測量部分。DS18B20數字溫度計是DALLAS公司生產的12Wire,即單總線器件,具有線路簡單,體積小的特點。因此用它來組成一個測溫系統,具有線路簡單,將其數據線與單片機的P1.7相連,就可以實現溫度測量。測量的溫度精度可以達到0.1℃,測量的溫度的范圍在一20~+100℃。
四、系統的程序設計
在程序設計過程中一般有四個步驟:初始化命令:傳送ROM命令:傳送RAM命令;數據交換命令。在系統安裝及工作之前,應將主機與DS18820掛接。其工作過程為:主機發出一個脈沖,待“0”電平大于480μs后,復位DS18820,在DS18820所發響應脈沖由主機接收后,主機再發讀ROM命令代碼33H,然后發一個脈沖(15μs),并接著讀取DS18820序列號的一位。用同樣方法讀取序列號的56位。另外,由于DS18820單線通信功能是分時完成的,遵循嚴格的時隙概念,因此,系統對DS18820和各種操作必須按協議進行,即初始化DS18820(發復位脈沖)一發ROM功能命令一發存儲器操作命令一處理數據。在正常測溫情況下,DSl8820的測溫分辨力為0.5℃。采用下述方法可獲得高分辨率的溫度測量結果:首先用DSISB20提供的讀暫存器指令(BEH)讀出以0.5℃為分辨率的溫度測量結果,然后切去測量結果中的最低有效位(LSB),得到所測實際溫度的整數部分Tz,然后再用BEH指令取計數器1的計數剩余值Cs和每度計數值CD。考慮到DS18B20測量溫度的整數部分以0.25和0.75℃為進位界限的關系。
該系統的主程序處于鍵控循環工作方式,當按下測量鍵時,主程序開始調用發射子程序、查詢接收子程序、定時子程序,并把測量結果用顯示子程序在數碼顯示器上顯示出來。
五、結論
應用本系統15mm~5m內的目標做了多次測量,其最大誤差為1.5mm,且重復性好,可以用于實際使用。可見基于單片機設計的超聲波測距系統具有結構簡單、功耗低、易于操作、靈活性高的特點外,還具有操作方便、運行可靠的優點,它有良好的人機界面,能方便地實時顯示測距數據。