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

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

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

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

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

4 提高測量精度
4.1 溫度補(bǔ)償
    由于超聲波的聲速與溫度有關(guān),如果溫度變化不大,,可認(rèn)為聲速基本不變,。如果測距精度要求很高,則應(yīng)通過溫度補(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,所以通過測溫電路測量出當(dāng)前溫度,,就可以計(jì)算出超聲波在當(dāng)前溫度下的傳輸速度,。
    測溫電路采用的主要元器件是美國Dallas半導(dǎo)體公司生產(chǎn)的單總線數(shù)字溫度傳感器DSl8B20,其具有精度高,、智能化,、體積小、線路簡單等特點(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,在近距離測量時(shí)更要考慮角度補(bǔ)償,。若能夠?qū)⒊暯邮针娐菲帘纹饋?,則可提高抗干擾性能。根據(jù)測量范圍可適當(dāng)調(diào)整與接收換能器并接的濾波電容的大小,,以獲得合適的接收靈敏度和抗干擾能力,。

7h.jpg

7i.jpg

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

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