基于P89LPC932的無接觸式空氣測(cè)距方法
摘要:為了克服一些傳統(tǒng)距離測(cè)量方式在某些特殊場(chǎng)合無法測(cè)量的缺陷,設(shè)計(jì)以P89LPC932為核心,利用超聲波傳感器實(shí)現(xiàn)了無接觸式空氣測(cè)距的方法,充分考慮聲速與溫度的密切關(guān)系,進(jìn)行溫度補(bǔ)償,進(jìn)一步獲得測(cè)距最遠(yuǎn)700 cm左右,精度最優(yōu)達(dá)到1%。該設(shè)計(jì)具有較強(qiáng)的抗干擾能力,安裝簡(jiǎn)單,體積小,功耗低,便于嵌入其他系統(tǒng)的特點(diǎn)。
關(guān)鍵詞:P89LPC932;超聲波;測(cè)距儀;無接觸式空氣測(cè)距
引言
一些傳統(tǒng)的距離測(cè)量方式在某些特殊場(chǎng)合存在不可克服的缺陷。例如,液面測(cè)量就是一種距離測(cè)量,傳統(tǒng)的電極法是采用差位分布電極,通過給電或脈沖來檢測(cè)液面,電極長(zhǎng)時(shí)間浸泡于水中或其他液體中,極易被腐蝕、電解,失去靈敏性。利用超聲波測(cè)量距離可以解決這些問題。
本文設(shè)計(jì)的超聲波測(cè)距儀用三種測(cè)距模式選擇跳線J1(短距、中距、可調(diào)距)。其整體方案為當(dāng)按下測(cè)量鍵,探頭就發(fā)送超聲波,當(dāng)超聲波遇到障礙物時(shí)將產(chǎn)生回波信號(hào);系統(tǒng)將探頭接收到的回波信號(hào)放大送入控制器;溫度測(cè)量電路測(cè)出溫度,通過計(jì)算得到所測(cè)距離,顯示在數(shù)碼顯示器上,后4位顯示距離,前2位顯示溫度。
1 超聲波測(cè)距儀基本原理
利用超聲波測(cè)量距離的原理如圖1示所示,簡(jiǎn)單描述為:定期發(fā)送的超聲波遭遇到障礙物時(shí)發(fā)生反射,反射波經(jīng)由接收器接收并轉(zhuǎn)化為電信號(hào),這樣只要測(cè)出發(fā)送和接收的時(shí)間差△t,然后按照式(1)即可求出距離:
式中:C為超聲波在空氣中的傳播速度,0℃時(shí)C為331 m/s,25℃時(shí)C為347 m/s,其與環(huán)境溫度T(單位:℃)的關(guān)系如式(2):
由此可見,聲速與溫度有密切關(guān)系。在應(yīng)用中,如果溫度變化不大,并且無特殊精度要求,可認(rèn)為聲速是基本不變的,否則,必須進(jìn)行溫度補(bǔ)償。溫度補(bǔ)償方法為每次先按照式(2)計(jì)算當(dāng)時(shí)聲速C,然后再按照式(1)計(jì)算距離。
另外,從圖1還可以看出,由于超聲波利用接收反射波來進(jìn)行距離的計(jì)算,因而不可避免地存在發(fā)射與反射之間的夾角,其大小為2a。當(dāng)a很小時(shí),可直接按式(1)進(jìn)行計(jì)算得到距離;當(dāng)a較大時(shí),則必須進(jìn)行距離修正,修正公式如式(3):
2 系統(tǒng)硬件
超聲波測(cè)距儀主要包括:溫度檢測(cè)電路,超聲波發(fā)射及控制電路,超聲波接收及信號(hào)處理電路,顯示電路,微處理和其輔助電路以及RS 232通信接口電路,其結(jié)構(gòu)框圖如圖2所示。
2.1 超聲波發(fā)射及控制電路
超聲波探頭的型號(hào)選用CSB40T,利用軟件產(chǎn)生40 kHz的超聲波信號(hào),通過輸出引腳輸入至驅(qū)動(dòng)器,經(jīng)驅(qū)動(dòng)器驅(qū)動(dòng)后推動(dòng)探頭產(chǎn)生超聲波,如圖3所示。從圖中可看出,40 kHz超聲波信號(hào)是利用555時(shí)基電路震蕩產(chǎn)生的。震蕩頻率計(jì)算式如下:
將R10設(shè)計(jì)為可調(diào)電阻的目的是為了調(diào)節(jié)信號(hào)頻率,使之與換能器的40 kHz固有頻率一致。為保證555時(shí)基具有足夠的驅(qū)動(dòng)能力,宜采用+12 V電源。CNT為超聲波發(fā)射控制信號(hào),由微處理器進(jìn)行控制。
2.2 超聲波接收器的設(shè)計(jì)
超聲波接收器包括超聲波接收探頭、信號(hào)放大電路及波形變換電路三部分。超聲波探頭必須采用與發(fā)射探頭對(duì)應(yīng)的型號(hào),這里采用CSB 40R。由于經(jīng)探頭變換后的正弦波電信號(hào)非常弱,因此必須經(jīng)放大電路放大。正弦波信號(hào)不能直接被微處理器接收,因此必須進(jìn)行波形變化。如圖4所示,前級(jí)采用NE5532構(gòu)成10 000倍放大器,對(duì)接收信號(hào)進(jìn)行放大;后級(jí)采用LM311比較器對(duì)接收信號(hào)進(jìn)行調(diào)整,LM311的3管腳的輸入為比較電壓,可由J1跳線選擇不同的比較電壓以選擇不同的測(cè)距模式,如圖5所示。
模組提供了測(cè)距模式選擇跳線J1,可以選擇短距測(cè)量模式、中距測(cè)量模式或距離可調(diào)模式。跳線選擇LOW時(shí)為近距測(cè)量模式,選擇HIGH時(shí)為中距測(cè)量模式;選擇SET時(shí)為距離可調(diào)模式。
2.3 溫度測(cè)量電路
當(dāng)環(huán)境溫度變化時(shí),超聲波波速會(huì)隨之變化,所以要進(jìn)行修正。因而系統(tǒng)中設(shè)置了一個(gè)溫度檢測(cè)電路,實(shí)時(shí)采集溫度,對(duì)波速進(jìn)行修正。測(cè)溫電路使用的傳感器為DS1820,如圖6所示。具有9,10,11,12位轉(zhuǎn)換精度,未編程時(shí)默認(rèn)精度為12位,測(cè)量誤差一般為0.5℃,軟件處理后可達(dá)0.1℃。
3 系統(tǒng)軟件
系統(tǒng)流程圖如圖7所示。
微處理器P89LPC932先把P1.6置0,啟動(dòng)超聲波探頭發(fā)射超聲波,同時(shí)啟動(dòng)內(nèi)部定時(shí)器T0開始計(jì)時(shí)。然后檢測(cè)溫度并進(jìn)行溫度補(bǔ)償,當(dāng)超聲波信號(hào)遇到障礙物時(shí)信號(hào)立刻返回,微處理器不停掃描P2.7引腳,如果P2.7接收的信號(hào)由高電平變?yōu)榈碗娖?,表明信?hào)已經(jīng)返回,微處理器進(jìn)入中斷關(guān)閉定時(shí)器。再把定時(shí)器中的數(shù)據(jù)經(jīng)過換算就可以得出所測(cè)距離。
4 結(jié)語
本系統(tǒng)具有三種模式跳線選擇,因此具有測(cè)量準(zhǔn)確度較高、抗干擾能力強(qiáng)、反應(yīng)速度快等特點(diǎn)。實(shí)驗(yàn)表明,本測(cè)距儀實(shí)測(cè)精度最優(yōu)達(dá)到1%,最遠(yuǎn)測(cè)距為700 cm左右。