《電子技術(shù)應(yīng)用》
您所在的位置:首頁(yè) > 嵌入式技術(shù) > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)
基于單片機(jī)的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)
山西電子技術(shù)
易麗華,彭勁松 湖南科技職業(yè)學(xué)院
摘要: 摘要:基于超聲波實(shí)現(xiàn)無(wú)接觸式測(cè)距原理,介紹了一種基于單片機(jī)控制的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)方法。由單片機(jī)軟件產(chǎn)生40kHz超聲波,并測(cè)量回波時(shí)間,可精確到us級(jí)。為提高測(cè)距精度,采取了溫度補(bǔ)償、角度補(bǔ)償措施。實(shí)驗(yàn)表
Abstract:
Key words :

摘要:基于超聲波實(shí)現(xiàn)無(wú)接觸式測(cè)距原理,介紹了一種基于單片機(jī)控制的超聲波測(cè)距系統(tǒng)的設(shè)計(jì)方法。由單片機(jī)軟件產(chǎn)生40kHz超聲波,并測(cè)量回波時(shí)間,可精確到us級(jí)。為提高測(cè)距精度,采取了溫度補(bǔ)償、角度補(bǔ)償措施。實(shí)驗(yàn)表明系統(tǒng)具有較高的測(cè)量精度和實(shí)用價(jià)值。
關(guān)鍵詞:起聲波;測(cè)距;單片機(jī)

O 引言
    超聲波是指頻率大于20 kHz的在彈性介質(zhì)中產(chǎn)生的機(jī)械震蕩波。由于超聲波頻率較高,穿透力強(qiáng),指向性強(qiáng),傳輸過(guò)程中衰減少,能量消耗緩慢,在介質(zhì)中傳播的距離較遠(yuǎn),遇到雜質(zhì)或分界面時(shí)會(huì)產(chǎn)生反射波,因此常被用于非接觸式測(cè)距。并且超聲波對(duì)光線、色彩和電磁場(chǎng)不敏感,因此超聲波測(cè)距對(duì)環(huán)境有較好的適應(yīng)能力。廣泛應(yīng)用于汽車(chē)倒車(chē)、機(jī)器人避障、工業(yè)測(cè)井、水庫(kù)液位測(cè)量、管道長(zhǎng)度測(cè)量等需要自動(dòng)進(jìn)行非接觸測(cè)距的場(chǎng)合。

1 超聲波測(cè)距原理
    Pellarn和Galt于1946年提出了脈沖回波法,其工作原理是:用超聲脈沖激勵(lì)超聲探頭向外輻射超聲波,同時(shí)接收從被測(cè)物體反射回來(lái)的超聲波(簡(jiǎn)稱(chēng)回波),通過(guò)檢測(cè)或估計(jì)從發(fā)射超聲波至接收回波所經(jīng)歷的射程時(shí)間ToF(Time of Flight),按下式計(jì)算超聲波探頭與被測(cè)物體之間的距離d,即
    a.JPG
    其中。c為聲波在空氣介質(zhì)中的傳播速度。

2 系統(tǒng)構(gòu)成
    本系統(tǒng)硬件電路由單片機(jī)、超聲波發(fā)射電路、超聲波接收電路、測(cè)溫電路、顯示電路、報(bào)警電路等構(gòu)成,如圖1所示。

b.JPG

3 系統(tǒng)程序設(shè)計(jì)
3.1 主程序
    主程序首先對(duì)系統(tǒng)環(huán)境初始化,設(shè)置定時(shí)器TO工作模式為16位定時(shí)/計(jì)數(shù)器模式,總中斷允許位置1并給顯示端口清0;然后調(diào)用超聲波發(fā)生子程序送出若干個(gè)超聲波脈沖,為了避免超聲波從發(fā)射器直接傳送到接收器引起直射渡觸發(fā),從發(fā)射開(kāi)始一直到“虛假反射波”結(jié)束這段時(shí)間內(nèi),不開(kāi)放外部中斷(INTO)申請(qǐng),便可有效躲避干擾,但同時(shí)也會(huì)造成測(cè)試“盲區(qū)”。假設(shè)延時(shí)約0.1 ms后,才打開(kāi)外部中斷接收返回的超聲波信號(hào),當(dāng)溫度為20℃,測(cè)量盲區(qū)為d=1×10-2×344=1.72 cm。
3.2 超聲波發(fā)生子程序和接收子程序
    超聲波發(fā)生子程序的作用是通過(guò)P1.0端口發(fā)送超聲波換能器所需的40kHz的方波信號(hào)(脈沖寬度為12μs左右),同時(shí)把計(jì)數(shù)器TO打開(kāi)進(jìn)行計(jì)時(shí)。超聲波發(fā)生子程序較簡(jiǎn)單,但要求程序運(yùn)行準(zhǔn)確,所以采用匯編語(yǔ)言編程。
    超聲波接收子程序利用外部中斷O檢測(cè)返回超聲波,一旦接收到返回超聲波信號(hào)(即INT0引腳出現(xiàn)低電平),立即進(jìn)入中斷服務(wù)子程序,關(guān)閉定時(shí)器TO停止計(jì)時(shí),并將測(cè)距成功標(biāo)志位賦值1。如果當(dāng)計(jì)時(shí)器溢出時(shí)還未檢測(cè)到超聲波返回信號(hào),則說(shuō)明障礙物過(guò)遠(yuǎn),超出量程,將關(guān)閉外部中斷,并標(biāo)志此次測(cè)距不成功。
    最大測(cè)試距離將取決于:兩次脈沖群發(fā)送之間的最小時(shí)間間隔和脈沖的能量。一般來(lái)說(shuō),發(fā)射端脈沖個(gè)數(shù)越多,能量越大,所能測(cè)量的距離也越遠(yuǎn)。但也不是無(wú)限制的,本方案是讀取定時(shí)器TO的計(jì)數(shù)值,最大能測(cè)試的距離是TO尚未溢出時(shí)檢測(cè)到超聲波回波信號(hào),故在溫度20℃下,最大測(cè)試距離為。在一些周期性發(fā)射超聲波設(shè)備中,如果要測(cè)試的最大距離是10 m,則兩次脈沖群之間的最小時(shí)間為。
    由于采用12 MHz的晶振,機(jī)器周期為1μs,當(dāng)主程序檢測(cè)到接收成功的標(biāo)志位后,將計(jì)數(shù)器TO中的數(shù)值按式(1)計(jì)算,即可測(cè)得被測(cè)物與測(cè)距儀之間的距離,取20℃時(shí)的聲速為344 m/s。則有:
    c.JPG
    其中,TO為計(jì)數(shù)器TO的計(jì)數(shù)值。

4 提高測(cè)量精度
4.1 溫度補(bǔ)償
    由于超聲波的聲速與溫度有關(guān),如果溫度變化不大,可認(rèn)為聲速基本不變。如果測(cè)距精度要求很高,則應(yīng)通過(guò)溫度補(bǔ)償?shù)姆椒右孕U?/p>

d.JPG


    可知,超聲波在空氣中的傳播速度與溫度T(單位:攝氏度)有如下近似關(guān)系:
    e.JPG
    其中,C0為0℃時(shí)的聲波速度為331.45 m/s,T為實(shí)際溫度(℃)。在常溫下,溫度每變化1攝氏度,超聲波速度變化約為O.6 m/s,所以通過(guò)測(cè)溫電路測(cè)量出當(dāng)前溫度,就可以計(jì)算出超聲波在當(dāng)前溫度下的傳輸速度。
    測(cè)溫電路采用的主要元器件是美國(guó)Dallas半導(dǎo)體公司生產(chǎn)的單總線數(shù)字溫度傳感器DSl8B20,其具有精度高、智能化、體積小、線路簡(jiǎn)單等特點(diǎn)。
4.2 角度補(bǔ)償
    由于發(fā)射與反射之間存在一定的夾角2α,當(dāng)α很小時(shí),可直接按式(1)計(jì)算距離;當(dāng)α較大時(shí),則必須進(jìn)行距離修正,其修正公式為:
    f.JPG
    在式(4)中,夾角α與超聲波發(fā)射裝置和接收裝置的安裝位置有關(guān),在實(shí)際應(yīng)用中應(yīng)保持兩換能器中心軸線盡量平行并相距2 cm~4 cm,在近距離測(cè)量時(shí)更要考慮角度補(bǔ)償。若能夠?qū)⒊暯邮针娐菲帘纹饋?lái),則可提高抗干擾性能。根據(jù)測(cè)量范圍可適當(dāng)調(diào)整與接收換能器并接的濾波電容的大小,以獲得合適的接收靈敏度和抗干擾能力。

7h.jpg

7i.jpg

5 結(jié)論
    為防止在測(cè)量過(guò)程中測(cè)距儀的抖動(dòng)而引起的測(cè)量誤差,一般情況下應(yīng)測(cè)量幾次取其平均值。由于系統(tǒng)的分辨率為1μs,系統(tǒng)引起的固定誤差約為0.3mm,再加上本設(shè)計(jì)只考慮了溫度補(bǔ)償和角度補(bǔ)償?shù)挠绊懀鴽](méi)有考慮其他環(huán)境因素(如:氣壓、濕度……)的影響,所以在測(cè)量的時(shí)侯給測(cè)量結(jié)果帶來(lái)了一定的誤差。
 

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。