馮學(xué)齊
[摘要]介紹并設(shè)計(jì)一種基于單片機(jī)的超聲測距系統(tǒng)。該系統(tǒng)以超聲波的傳播速度為確定條件,利用發(fā)射超聲波與反射回波時間差來測量待測距離。概述超聲波檢測的基本原理。并且在介紹超聲測距系統(tǒng)功能的基礎(chǔ)上,提出系統(tǒng)的總體構(gòu)成。
[關(guān)鍵詞]超聲波測距系統(tǒng)單片機(jī)
中圖分類號:059文獻(xiàn)標(biāo)識碼:A文章編號:1671—7597(2009)0210030-01
一、引言
目前,非接觸式測距儀常采用超聲波、激光和雷達(dá)。但激光和雷達(dá)測距儀造價偏高,不利于廣泛的普及應(yīng)用,在某些應(yīng)用領(lǐng)域有其局限性,一般僅用于軍事工業(yè)。相比之下,超聲波測距系統(tǒng)電路易實(shí)現(xiàn)、結(jié)構(gòu)簡單和造價低,且超聲波在傳播過程中不受煙霧、空氣能見度等因素的影響對外界光線、色彩和電磁場不敏感,更適于黑暗、電磁干擾強(qiáng)、有毒、灰塵或煙霧的惡劣環(huán)境,在識別透明及漫反射性差的物體上也更有優(yōu)勢。所以超聲波測距在各種場合均得到廣泛應(yīng)用,如倒車防撞雷達(dá)、海洋測量、物體識別、工業(yè)自動控制,建筑工程測量和機(jī)器人視覺識別。
二、系統(tǒng)原理
超聲波測距的方法有多種,如相位檢測法、聲波幅值檢測法和渡越時間檢測法等。相位檢測法雖然精度高,但檢測范圍有限;聲波幅值檢測法易受反射波的影響,故本系統(tǒng)采用超聲波渡越時間檢測法。其原理為:檢測從超聲波發(fā)射器發(fā)出的超聲波,經(jīng)氣體介質(zhì)的傳播到接收器的時間,即渡越時間。渡越時間與氣體中的聲速相乘,就是聲波傳輸?shù)木嚯x。該距離的計(jì)算公式如下:
d=s/2=vt/2
其中:d為被測物與測距器的距離;s為聲波的來回路程;v為聲速;t為聲波來回所用時間。
三、系統(tǒng)硬件設(shè)計(jì)
超聲波測距系統(tǒng)包括單片機(jī)系統(tǒng),超聲波發(fā)射電路,超聲波檢測接收電路,數(shù)碼管顯示電路四部分。綜合各方面因素,本系統(tǒng)采有AT89S52單片機(jī)為主控制器。由單片機(jī)的晶振電路產(chǎn)生4MHz方波信號,經(jīng)分頻器分頻輸出40kHz的驅(qū)動信號給超聲波發(fā)射器T,使發(fā)射器起振發(fā)出超聲波。同時啟動單片機(jī)的計(jì)數(shù)器開始計(jì)時。超聲波信號在空氣中傳播至障礙物后產(chǎn)生反射,反射回波被超聲波接收器R接收,轉(zhuǎn)換為電信號脈沖,經(jīng)放大,濾波,比較,整形后,輸入到外部中斷口產(chǎn)生中斷,計(jì)數(shù)器停止,通過,計(jì)數(shù)器的脈沖個數(shù)就能算出渡越時間大小,從而求出間距d。數(shù)碼管顯示電路用動態(tài)掃描法實(shí)現(xiàn)。
如圖1所示為超聲測距系統(tǒng)總體電路圖,發(fā)射部分采用三極管S9013作為功率放大電路,以提供足夠的輸出功率,一般情況下,不要求功率放大電路提供很大的電壓放大倍數(shù)。所以用升壓變壓器產(chǎn)生足夠的驅(qū)動電壓驅(qū)動探頭。功率放大電路輸出給負(fù)載的功率是由電路中的直流電源提供的,在輸入信號的控制下,將直流電源的直流功率轉(zhuǎn)換成為負(fù)載所需要的交流功率。
超聲波檢測電路采用集成芯片CX20106A,這是一款紅外線檢波接收的專用芯片,它由前置放大器,限幅放大器路,帶通濾波電路,峰值檢波器,波形整形電路等組成。它常用的載波頻率38khz與測距超聲波頻率40khz較為接近,可以利用它作為超聲波檢測電路。超聲波接受換能器收到超聲波時,通過共振板壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)化電信號,信號經(jīng)過CX20106A濾波,放大,整形送到單片機(jī)。
LED顯示器為簡單實(shí)用的4位共陰LED數(shù)碼管,采用動態(tài)掃描法。P2口作為位掃描口,PO口作為段數(shù)據(jù)口,經(jīng)2K排阻直接驅(qū)動顯示器。
四、系統(tǒng)軟件設(shè)計(jì)
超聲波測距軟件采用匯編語言編程,其具有較高的效率并且容易精確計(jì)算程序運(yùn)行的時間。主程序首先對系統(tǒng)環(huán)境初始化,設(shè)置定時器TOI作模式為16位的定時計(jì)數(shù)器模式,置位總中斷允許位EA并給顯示端口PO和P2清0。然后調(diào)用超聲波發(fā)生子程序送出一個超聲波脈沖,為避免超聲波從發(fā)射器直接傳送到接收器引起的直接波觸發(fā),需延遲0.1ms(這也就是測距器會有一個最小可測距離的原因)后才打開外中斷0接收返回的超聲波信號。由于采用12MHz的晶振,機(jī)器周期為1us,當(dāng)主程序檢測到接收成功的標(biāo)志位后,將計(jì)數(shù)器TO中的數(shù)按式(2)計(jì)算即可測得被測物體與測距儀之間的距離:
d=CTO/2(其中TO為計(jì)數(shù)器TO的計(jì)數(shù)值)
(2)
測出距離后結(jié)果將以十進(jìn)制BCD送往LED,顯示約0.5s,然后再發(fā)超聲波脈沖重復(fù)測量過程。
五、系統(tǒng)性能及誤差分析
設(shè)測量設(shè)備基準(zhǔn)確面距被測物距離為h,則空氣傳播的超聲波波動方程為:A=A(h)cos(ωt+kt)=Aê-2atcos(ωt+kt)
(3)
由(3)式知超聲波頻率越高,衰減越快,但頻率的增高有利于超聲波的指向性,測量環(huán)境對超聲波測距測量精度的影響遠(yuǎn)遠(yuǎn)要比收發(fā)時間的影響嚴(yán)重。超聲波的傳播速度與介質(zhì)密度和彈性特性有關(guān)。因此,利用超聲波測量距離,就要考慮這些因素。實(shí)際情況下,溫度每升高或下降I'C,聲速將增加或減少0.607m/s,這個影響對于較高精度的測量是相當(dāng)嚴(yán)重的。因此提高超聲波測量精度的重中之重就是獲得準(zhǔn)確的聲速。聲波傳播過程中,聲壓的幅度由于媒質(zhì)中聲吸收而衰減,聲強(qiáng)隨頻率增高衰減增加,在給定的頻率時衰減是濕度的函數(shù)。產(chǎn)生最大衰減時的濕度值視頻率而不同。
當(dāng)超聲波波束對探測目標(biāo)是垂直入射垂直反射時,測量距離才是精確的,但實(shí)際情況下,超聲波波束對探測目標(biāo)有一定的入射角,使測量結(jié)果比實(shí)際測量距離偏大。
六、結(jié)束語
本課題論述超聲波測距系統(tǒng)的基本原理,測量計(jì)算方法簡單,實(shí)現(xiàn)方案容易。采用軟件控制,提高了測量精度和整機(jī)的可靠性。通過超聲波換能器和LED數(shù)碼管可以測量和顯示0.01~12.00m內(nèi)的物體距離,分辨率可達(dá)到0.01m。這種測距系統(tǒng)可用于物面和液面測量,汽車倒車報警裝置。硬件采用模塊化設(shè)計(jì),可以嵌入到其他系統(tǒng)中。