基于單片機的超聲波測距儀設(shè)計
摘要:介紹了一種基于單片機的超聲波測距儀的設(shè)計。詳細給出了超聲波測距儀的工作原理、超聲波發(fā)射電路和接收電路、測溫電路、顯示電路等硬件設(shè)計,以及相應(yīng)的軟件設(shè)計。設(shè)計中采用升壓電路,提高了超聲換能器的輸出能力;采用紅外接收芯片,減少了電路間相互干擾,提高了靈敏度;同時,考慮了環(huán)境溫度對超聲波測距的影響,采用溫度傳感器,提高了測量精度。該設(shè)計試驗運行良好,系統(tǒng)結(jié)構(gòu)簡單、操作方便、價格低廉,具有廣闊的推廣前景。
關(guān)鍵詞:超聲波測距儀;超聲波換能器;單片機;溫度傳感器
0 引言
目前,常用的測距方法主要有毫米波測距、激光測距和超聲波測距三種。超聲波測距較前兩種測距方法而言,具有指向性強、能耗緩慢、受環(huán)境因素影響較小等特點,廣泛應(yīng)用于如井深、液位、管道長度、倒車等短距離測量。
本設(shè)計選用頻率為40 kHz左右的超聲波,它在空氣中傳播的效率最佳。在超聲測距方法上,本文選用渡越時間法,據(jù)文獻所提供的數(shù)據(jù),渡越時間法簡單,成本低,可應(yīng)用的距離范圍較大,可測量的范圍為0.39~10.3 m。由于超聲波測距主要受溫度影響較大,所以本設(shè)計增加了溫度補償電路。本設(shè)計具有電路簡單、操作簡便、工作穩(wěn)定可靠、測距精確和能耗小、成本低等特點,可實現(xiàn)無接觸式測量,應(yīng)用廣泛。
1 超聲波測距儀工作原理
1.1 超聲波測距原理
根據(jù)超聲波發(fā)射后返回的回波幅值、相位和超聲波發(fā)出到返回的時間差不同,有聲波幅值檢測法、相位檢測法和渡越時間法。本文采用渡越時間檢測法,其基本思想如圖1所示,發(fā)射器發(fā)射超聲波,經(jīng)過障礙物反射后被接收器接收,測量發(fā)射器和接收器發(fā)射和接收超聲波的時間差,利用式(1)即可測得障礙物與測試點之間的距離L:
式中:c為超聲波在空氣中的傳播速度;t為超聲波在空氣中傳播的時間。
同時,超聲波在空氣中的傳播速度c受環(huán)境溫度τ的影響較大,考慮了環(huán)境溫度對傳播速度的影響后,距離公式修正為:
1.2 超聲波換能器
超聲換能器是基于正(負)壓電效應(yīng)制成的聲電傳感器,在超聲頻率范圍內(nèi)將交變的電信號轉(zhuǎn)換成為聲信號(正壓電效應(yīng)),或者是將聲信號轉(zhuǎn)換成為電信號(負壓電效應(yīng))。
本文選用防水型收發(fā)一體式雙晶片壓電振動式超聲換能器TCF40-25TR,其主要性能指標如下:
(1)中心頻率:(40±1)kHz;
(2)發(fā)射聲壓:在10 V(0 dB=0.02 mPa)時大于等于100dB;
(3)接收靈敏度:在40 kHz(0 dB=V/Pa)時大于等于-55 dB;
(4)靜電容量:在1 kHz,小于1 V(PF)時為2 000±20%;
(5)余振時間小于等于1.2 ms;
(6)波束角度特性如圖2所示。
1.3 超聲波測距的波速特性與超聲測距的盲區(qū)
超聲波從換能器發(fā)射后,在空間傳播是有指向性的,指向性最強的為主瓣,其余的為旁瓣,如圖3所示。超聲波的這種指向性的存在可以達到定向集中能量和減小干擾的目的。然而,旁瓣的出現(xiàn)還是造成了一定的干擾。如圖4所示,從障礙物返回的超聲波主瓣被接收器接收,同時,直接從超聲波探頭發(fā)出的旁瓣也可能被接收,造成旁瓣干擾。
通常,在用渡越時間法測距的過程中,壓電換能器中的振子產(chǎn)生機械振動而發(fā)出超聲波,驅(qū)動脈沖停止后,壓電換能器將由于慣性繼續(xù)振動而產(chǎn)生余振,反映到接收端的信號上,產(chǎn)生“拖尾”,如圖5所示。因此,在軟件處理上需要加入一段延時,略過這段時間。常將“拖尾”時間設(shè)置為1 ms。設(shè)標準狀況下,聲速為331.6 m/s,則不可測距離為331.6 m/s×10-3=0.33 m,此即測距盲區(qū)。
2 超聲波測距儀的硬件設(shè)計
超聲波測距需要用到兩個參數(shù):超聲波從發(fā)射到接收的時間t及環(huán)境溫度τ。因此相應(yīng)地,超聲波測距儀的硬件系統(tǒng)包括單片機及其外圍電路、超聲波發(fā)射電路、超聲波接收電路、溫度補償電路和顯示電路等。其硬件系統(tǒng)框圖如圖6所示。
2.1 單片機及其外圍電路的設(shè)計
在本設(shè)計中,主控芯片選擇的是單片機AT89S52。最小系統(tǒng)由AT89S52芯片以及外圍電路組成(如圖7所示)是整個超聲波測距系統(tǒng)的核心部分。
2.2 超聲波發(fā)射電路
超聲波發(fā)射電路在測距時通過方波發(fā)生器產(chǎn)生脈沖信號,從而激發(fā)壓電換能器發(fā)射超聲波。為了提高超聲波的發(fā)送能力,讓其可以傳輸更遠的距離,需要對信號電壓進行放大。因此,超聲波發(fā)射電路主要包括方波發(fā)生器和升壓電路,如圖8所示。
本文選擇NE555芯片搭建超聲波發(fā)射電路。雙極型555時基電路的電壓范圍為4.5~15 V,而CMOS型的電源適應(yīng)范圍更寬,為2~18 V。可以和模擬運算放大器及TLL或CMOS電路共用一個電源。555時基電路中,4腳為復(fù)位輸入端,當(dāng)4腳為低電平時,輸出腳3穩(wěn)定輸出低電平;需要555時基電路輸出波形時,4腳應(yīng)當(dāng)接高電平或者懸空。方波產(chǎn)生以后需要對方波信號的電壓進行放大,因此要求電路產(chǎn)生足夠大的驅(qū)動電壓。本設(shè)計中用MAX232對電路進行升壓,只需要+5 V電源供電。
2.3 超聲波接收電路
超聲波接收電路的作用是將超聲波探頭接收到的微弱信號放大、濾波和整形后,輸出臺階信號,提示單片機計算超聲波在空氣中的傳播時間t。
本設(shè)計中,超聲波接收部分采用紅外遙控方式,所用調(diào)制芯片為CX20106A,其調(diào)制頻率為38~40 kHz,采用脈沖位置調(diào)制法(PPM),提高了紅外接收的抗干擾性能。
超聲波接收電路如圖9所示。回波信號整形輸出為方波信號,之后輸入單片機的外部中斷0的輸入端P3.2,以計算接收到超聲波回波的具體時刻,從而確定超聲波在空氣中的傳播時間t。
2.4 測溫電路
本設(shè)計采用的溫度傳感器是DS18820。它無需任何外圍硬件,直接將溫度數(shù)字信號輸入單片機P1.1口。同時,垓芯片可從單片機I/O口取電,而無需額外電源。DS18B20片內(nèi)含有一個64位的ROM,用于存儲自身的序列號,作為器件獨有的ID號碼,尤其適合進行多點溫度測量。該芯片的的測溫范圍為-55~125℃,在-10~85℃范圍內(nèi)精度為±0.5℃;適用電壓范圍為3.0~5.5 V。測溫電路如圖10所示。
2.5 顯示電路
本設(shè)計中采用四位一體共陽極數(shù)碼管SM410564作為顯示器件。其非公共端接到單片機的P0口上,公共端接到P2口的P2.0~P2.3四個引腳上,以動態(tài)掃描的方式進行掃描。由于P2口的驅(qū)動能力有限,因此數(shù)碼管的公共端沒有直接接到P2口上,而是通過P2口控制四個三極管的導(dǎo)通與關(guān)斷來給數(shù)碼管供電的。顯示電路如圖11所示。
3 超聲波測距儀的軟件系統(tǒng)設(shè)計
超聲波測距的軟件系統(tǒng)主要包括主程序、外部中斷程序、定時中斷程序,以及需要調(diào)用的若干個子程序。
3.1 主程序
主程序流程圖如圖12所示,系統(tǒng)初始化后調(diào)用超聲波發(fā)射子程序送出一個超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器而引起直射波觸發(fā),延時后,方打開外中斷0接收返回的超聲波信號。主程序檢測到成功接收的標志位后,進入計算子程序,獲得被測物體與測距器之間的距離。
3.2 測溫子程序
測距時,單片機與DS18B20通信經(jīng)過如下三個步驟:對DS18B20復(fù)位、復(fù)位之后發(fā)送ROM指令、發(fā)送RAM指令。由于本設(shè)計為單點溫度測量,只用到一片DS18B20,所以,發(fā)送的ROM指令為跳過ROM指令(0CCH)。測溫子程序流程圖如圖13所示。
3.3 定時中斷程序
定時中斷程序的作用是判斷發(fā)射時間、延時時間和接收時間。在不同的時間間斷內(nèi),確保系統(tǒng)內(nèi)的全局變量S作出相應(yīng)的變化。定時中斷程序的流程如圖14所示。
4 結(jié)論
本文設(shè)計了一種基于單片機的超聲波測距儀。設(shè)計中采用MAX232對電路進行升壓,提高了超聲換能器的輸出能力,從而提高了測距的距離。采用了紅外接收芯片CX20106A,減少了電路之間的相互干擾,提高了接收信號的靈敏度。同時,設(shè)計中采用數(shù)字溫度傳感器DS18B20為溫度補償電路,提高了測量精度和智能化程度,并在一定程度上降低了系統(tǒng)成本。本超聲波測距儀經(jīng)試驗運行良好,性能優(yōu)良、成本低、能有效改善測量技術(shù),適合于機器人檢測、家具安防、汽車倒車等小距離測量。