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