測距技術在物位檢測、醫(yī)療探傷、汽車防撞等民用、工業(yè)領域應用廣泛,由于超聲波的速度相對于光速要小的多,其傳播時間就比較容易檢測,并且易于定向發(fā)射,方向性好,發(fā)射強度好控制,且不受電磁干擾影響,因而利用超聲波測距是一種有效的非接觸式測距方法。但超聲波在不同環(huán)境溫度下傳播速度不同,如忽略溫度影響,將影響zui終測量精度。本文介紹的超聲波測距儀采用渡越時間檢測法,使用了DS18B20溫度傳感器對現(xiàn)場溫度進行檢測,并通過軟件計算實現(xiàn)波速的溫度補償,消除了溫度對測量結果的影響,使測量誤差降低。
1系統(tǒng)工作原理
超聲波測距原理如圖1所示。
圖1超聲波測距原理
式中c--超聲波波速:t--從發(fā)射出超聲波到接收到回波所用時間。
限制該系統(tǒng)的zui大可測距離存在4個因素:超聲波的幅度、反射的質(zhì)地、反射和入射聲波之間的夾角以及接收換能器的靈敏度。接收換能器對聲波脈沖的直接接收能力將決定zui小的可測距離。為了增加所測量的覆蓋范圍、減小測量誤差,可采用多個超聲波換能器分別作為多路超聲波發(fā)射/接收的設計方法。
由于超聲波屬于聲波范圍,其波速c與溫度有關,經(jīng)過測量得出超聲波的波速與溫度的關系,如表1所示。
表1聲速與溫度的關系表
將測量的速度數(shù)據(jù)與溫度數(shù)據(jù)進行一階擬合得出:
c=331.6+0.6107xT(2)
式中T--當?shù)販囟取?br />
在測距時,可通過溫度傳感器自動探測環(huán)境溫度、確定其時的波速c.波速確定后,只要測得超聲波往返的時間t,即可求得距離H,這樣能較地得出該環(huán)境下超聲波經(jīng)過的路程,提高了測量度。
本設計方案中使用渡越時間檢測法,測距儀工作原理為:在由單片機發(fā)出驅動信號的同時,開啟單片機中的計時器,開始計時。發(fā)射探頭發(fā)射出超聲波,在由接收探頭接收到*回波的同時停止單片機計時器的計時,由于超聲波在空氣中的速度已知,根據(jù)公式即可求得探頭與待測目標之間的距離。而且,可以在較短時間內(nèi)多次發(fā)出超聲波測量,完成后計算平均值然后顯示。
超聲波在相同的傳播媒體里(大氣條件)傳播速度相同,即在相當大的頻率范圍內(nèi)聲速不隨頻率變化,但其頻率越高,衰減得越厲害,傳播的距離也越短??紤]實際工程測量要求,在設計超聲波測距儀時,選用頻率f=40kHz的超聲波,波長為0.85cm.
2系統(tǒng)硬件設計
本系統(tǒng)采用AT89C52單片機作為主控制器,使用3位數(shù)碼管作為系統(tǒng)顯示屏,超聲波發(fā)射驅動需要的40kHz脈沖由單片機P0.0發(fā)出,使用定時器進行計時和控制,超聲波接收使用CX20106A作為接收主控芯片,使用DS18B20作為溫度傳感器進行溫度校正。超聲波測距器的系統(tǒng)原理圖如圖2所示。
圖2系統(tǒng)設計原理圖
2.1超聲波的發(fā)射電路設計
超聲波發(fā)送模塊是由超聲波發(fā)射探頭組成的,單片機的P0.0端口直接發(fā)送40kHz的信號,使用9012三極管做為驅動放大,驅動壓電晶片超聲波換能器產(chǎn)生超聲波,超聲波發(fā)射電路如圖3所示。超聲波發(fā)射子程序的流程是,發(fā)射時首先裝填計時器,并且開始計時,當超聲波發(fā)射完畢時,定時器計時完畢,并且重新裝填等待下次發(fā)射。
圖3超聲波發(fā)射電路
2.2超聲波接收電路設計
在接收電路中使用了紅外線接收處理芯片CX20106A,因為它處理的是38kHz的紅外信號,而40kHz的超聲波信號和它比較接近,并且CX20106A芯片具有很強的抗*力,這個芯片的外圍電路很簡單而且通過外圍電阻調(diào)節(jié)它的中心處理頻率,通過改變外圍電路電容的大小也可以改變接收電路靈敏度和抗*力。
經(jīng)過試驗后發(fā)現(xiàn)用單片機發(fā)40kHz信號與使用CX20106A的電路搭配更加簡單合理,使得時間的計算更為。
該系統(tǒng)的超聲波接收模塊是由超聲波接收探頭和紅外線接收處理芯片CX20106A組成。如圖4所示。超聲波接收子程序的流程是,利用INT0中斷檢測回波信號,若有回波信號(INT0口低電平)就關閉外部中斷,同時停止計時器的計時,將測距成功標志位標記為1(測距成功),同時提取時間值,計算待測距離,保存zui終結果后打開外部中斷,等待下次測量。
圖4超聲波接收電路
2.3超聲波測距顯示電路
在顯示模塊選擇時有兩種,一種是用液晶顯示屏,其具有輕薄短小,分辨率高,可顯示漢字等各種符號的優(yōu)點。但一般需要利用控制芯片創(chuàng)建字符庫,編程工作量大;一種則是選用數(shù)碼管,數(shù)碼管具有低電耗、壽命長、易于維護的特點,同時精度比較高,稱量快,可靠,編程容易,操作簡單。缺點是不能實現(xiàn)漢字及多數(shù)據(jù)多行顯示。綜合考慮本次設計中選擇了3位數(shù)碼管顯示。用PNP型三極管驅動數(shù)碼管,并連接到單片機AT89C52的P0口上作位選。雖然顯示上沒有液晶顯示屏那么*,但是也能夠完整直觀地顯示出需要的結果。圖5為超聲波測距硬件設計的顯示電路。
圖5超聲波測距顯示電路
2.4溫度補償電路設計
本系統(tǒng)中,選擇使用溫度芯片DS18B20作為溫度傳感器。DS18B20支持"一線總線"接口,測量溫度范圍為-55~125℃,在-10~85℃范圍內(nèi),精度為±0.5℃。現(xiàn)場溫度直接以"一線總線"的數(shù)字方式傳輸,大大提高了系統(tǒng)的抗干擾性。適合于惡劣環(huán)境的現(xiàn)場溫度測量。DS18B20引腳說明如表2所示。
表2DS18B20引腳說明
DS18B20是在一根I/O線上讀寫數(shù)據(jù),因此,對讀寫的數(shù)據(jù)位有著嚴格的時序要求。DS18B20有嚴格的通信協(xié)議來保證各位數(shù)據(jù)傳輸?shù)恼_性和完整性。該協(xié)議定義了幾種信號的時序:初始化時序、讀時序、寫時序。
溫度補償電路的設計如圖6所示,數(shù)據(jù)輸入/輸出腳連接到單片機的P0.1腳,電源接口接入+5V的電壓,外加5.6kΩ的上拉電阻,因為DS18B20是單總線溫度傳感器,數(shù)據(jù)線是漏極開路,如果DS18B20沒接電源,則需要數(shù)據(jù)線強上拉,給DS18B20供電;如果DS18B20接有電源,則需要一個上拉即可穩(wěn)定的工作。由于DS18B20在使用中不需要任何外圍元件,全部傳感元件及轉換電路集成在形如一只三極管的集成電路內(nèi),檢測的溫度值在內(nèi)部進行轉換,溫度測量結果直接以數(shù)字信號輸出,單片機對由DS18B20輸出的信號進行讀取,經(jīng)過軟件對溫度數(shù)字值實現(xiàn)處理。
圖6溫度補償電路
2.5主電路原理圖
該系統(tǒng)主電路原理圖如圖7所示,單片機采用89C52系列,單片機使用外部時鐘源,外接6MHZ的晶振,由P0.0口直接輸出40KHZ的驅動信號給放大電路。接收到回波后,經(jīng)由CX20106的濾波,產(chǎn)生中斷信號,并由p3.2口輸出進行中斷。顯示電路采用簡單實用的3位數(shù)碼管,連接單片機AT89C52的P0口,而三極管連接P2口,作數(shù)碼管的位選。工作時,首先將系統(tǒng)初始化,啟動計時器。并由P0.0腳發(fā)出40KHZ的驅動信號,同時打開INT0中斷,并且開始等待接收到的回波和中斷信號,若接收到回波(單片機接收到中斷信號),計時器停止計時,保存時間信息,并且根據(jù)溫度補償計算出當前環(huán)境下的聲速,計算出當前待測距離后儲存,并調(diào)用顯示子程序。測出距離后結果將以十進制BCD碼方式傳送到LED顯示,然后再發(fā)超聲波脈沖重復測量過程。
圖7超聲波測距主電路圖
3結論
經(jīng)過實測,本測距儀能夠迅速的測出250m以內(nèi)的短距離障礙物,在30-200cm范圍內(nèi),誤差能控制在1cm以內(nèi),本設計具有簡單實用,能耗低,成本低等特點。經(jīng)過實際測試,發(fā)現(xiàn)系統(tǒng)的精度能滿足普通需求,若需要進一步提高精度,可采用精度更高但系統(tǒng)更加復雜的雙頻超聲波測距的方法。