張 禾 李俊蘭 葛 亮 胡 澤
(西南石油大學(xué)電氣信息學(xué)院1,四川 成都 610500;中國石油集團(tuán)工程設(shè)計有限責(zé)任公司西南分公司2,四川 成都 610041)
超聲波在傳輸過程中具有不易受干擾、能量消耗緩慢、在介質(zhì)中傳播的距離較遠(yuǎn)等優(yōu)點,因而超聲波經(jīng)常用于距離的測量[1]。因為超聲波測距是非接觸式的,所以它可以在某些特定場合或環(huán)境比較惡劣的情況下使用。如在低滲氣藏微流量監(jiān)測過程中,需要實時對井徑進(jìn)行測量。超聲波測距是一種非接觸式距離測量的方法,伴隨著虛擬儀器技術(shù)的發(fā)展而發(fā)展,它克服了傳統(tǒng)的測距方式在井下惡劣環(huán)境距離測量中存在的缺陷。因此,結(jié)合虛擬技術(shù)研究超聲波測距技術(shù)具有十分重要的現(xiàn)實意義。
超聲波是指頻率高于20 kHz的機(jī)械波。為了將超聲波作為檢測手段,必須產(chǎn)生超生波和接收超聲波[2]。完成這種功能的裝置就是超聲波傳感器,習(xí)慣上稱為超聲波換能器或超聲波探頭。超聲波傳感器分為發(fā)送器和接收器,但一個超聲波傳感器也可具有發(fā)送和接收聲波的雙重作用。超聲波傳感器是利用壓電效應(yīng)的原理將電能和超聲波相互轉(zhuǎn)化[3]。
超聲波測距系統(tǒng)組成如圖1所示。
圖1 系統(tǒng)組成框圖Fig.1 Block diagram of system composition
整個測距系統(tǒng)以單片機(jī)為核心,系統(tǒng)開始工作時,由單片機(jī)發(fā)出一個控制信號去觸發(fā)發(fā)射電路,使發(fā)射電路起振,發(fā)生器產(chǎn)生振蕩波。電能的振蕩波通過換能器轉(zhuǎn)變成機(jī)械能的超聲波,當(dāng)超聲波到達(dá)被測目標(biāo)時發(fā)生反射,換能器根據(jù)壓電原理將超聲波信號轉(zhuǎn)換為電能信號[4]。信號經(jīng)放大濾波電路處理,送至單片機(jī)系統(tǒng)進(jìn)行時間的測量和距離的計算。單片機(jī)系統(tǒng)與計算機(jī)之間進(jìn)行串口通信,由LabVIEW軟件程序?qū)τ嬎銠C(jī)接收到的數(shù)據(jù)進(jìn)行處理,實現(xiàn)數(shù)據(jù)的實時顯示、存儲、報警和打印等功能[5]。為實現(xiàn)高精度測量,考慮溫度對超聲波速度的影響,通過溫度變化將聲速作相應(yīng)的處理,對最終測試結(jié)果進(jìn)行校正。此外,為實現(xiàn)近距離的高精度測量,單片機(jī)根據(jù)距離自動調(diào)整超聲波頻率。
超聲波測距原理的表達(dá)式如下[6]:
式中:V為超聲波在空氣中的傳播速度,0℃時為331 m/s、25℃時為347 m/s;T為環(huán)境濕度。由此可見,聲速與溫度有著密切關(guān)系。實際應(yīng)用中,如果溫度變化不大且無特殊要求,可認(rèn)為聲速基本不變,否則必須進(jìn)行溫度補(bǔ)償[7]。溫度測量主要采用測溫電路來實現(xiàn),設(shè)計中采用鎧裝LM35實現(xiàn)[8]。溫度傳感器將測得的數(shù)據(jù)送入單片機(jī),單片機(jī)就會根據(jù)溫度變化對聲速作相應(yīng)的處理,并對最終測試結(jié)果進(jìn)行校正。
超聲波發(fā)射電路主要由555振蕩器和1個共發(fā)射極放大電路構(gòu)成,如圖2所示。555定時器為一多用途模數(shù)混合集成電路,本設(shè)計利用該特點構(gòu)造了多諧振蕩器,它能產(chǎn)生頻率為40 kHz的波形。為了提高測量精度和單片機(jī)的計時精度,在555振蕩器后面外加了1個共射極放大電路,以作為受控開關(guān)使用。
圖2 超聲波發(fā)射電路Fig.2 Ultrasonic transmitting circuit
超聲波接收器主要由超聲波接收探頭和紅外線檢波接收集成電路兩部分組成。超聲波接收電路如圖3所示。
圖3 超聲波接收電路Fig.3 Ultrasonic receiving circuit
CX20106A是日本索尼公司生產(chǎn)的彩電專用紅外遙控接收器,采用單列8腳直插式,超小型封裝,5 V供電。當(dāng)超聲波接收探頭接收到超聲波信號時,壓迫壓電晶片作振動,將機(jī)械能轉(zhuǎn)化成電信號。紅外線檢波接收集成芯片CX20106A接到電信號后,對所接收到的信號進(jìn)行識別,若頻率在38~40 kHz左右,則芯片將輸出低電平,否則將輸出高電平[10]。當(dāng)接收電路輸出端產(chǎn)生負(fù)脈沖時,單片機(jī)INT0端產(chǎn)生一個中斷請求信號,單片機(jī)響應(yīng)外部中斷請求,執(zhí)行外部中斷服務(wù)子程序,讀取時間差,計算距離。
串口通信對單片機(jī)而言意義重大,其不但可以實現(xiàn)將單片機(jī)的數(shù)據(jù)傳輸?shù)接嬎銠C(jī)端,而且能實現(xiàn)計算機(jī)對單片機(jī)的控制。由于計算機(jī)的串口是RS-232電平,而單片機(jī)的串口是TTL電平,因此,要實現(xiàn)通信,兩者之間必須有一個電平轉(zhuǎn)換電路。本系統(tǒng)使用的串行通信芯片為MAX3222,在保持RS-232協(xié)議輸出電平的前提下,MAX3222可確保120 kbit/s的數(shù)據(jù)傳輸速率。
系統(tǒng)軟件分為單片機(jī)軟件和計算機(jī)軟件兩個部分。單片機(jī)軟件使用匯編語言進(jìn)行編寫,主要實現(xiàn)時間的測量和距離的計算功能。計算機(jī)軟件使用LabVIEW的圖形語言編程,實現(xiàn)數(shù)據(jù)的實時顯示、存儲和打印等功能。主單片機(jī)軟件程序主要由主程序、溫度采集子程序、發(fā)射子程序、計算子程序、外部中斷子程序和定時器中斷子程序組成。主程序流程如圖4所示。
圖4 主程序流程圖Fig.4 Flowchart of the main program
主程序完成初始化后調(diào)用發(fā)射子程序,置單片機(jī)P1.0為高電平,發(fā)射超聲波信號,然后開啟計數(shù)通道。為防止串繞波,延時1 ms,等待接收回波。當(dāng)P3.2為低電平時,檢測到回波,調(diào)用測溫子程序,采集超聲波測距時的環(huán)境溫度,并換算出準(zhǔn)確的聲速v。單片機(jī)再調(diào)用計算子程序,計算出傳感器到目標(biāo)物體之間的距離。這樣即完成一次測量。單片機(jī)與計算機(jī)進(jìn)行串口通信,利用LabVIEW圖形語言編程實現(xiàn)數(shù)據(jù)的實時顯示、存儲、報警和打印等功能。
當(dāng)距離比較近時,發(fā)射探頭與接收探頭的距離會影響測量的精度。如實際距離為3 cm,兩探頭之間的距離為3 cm,利用勾股定理可以計算出實際距離應(yīng)為3.35 cm。隨著測量距離的增加,誤差將減小。當(dāng)測量距離大于9 cm時,誤差基本不變且保持在1 mm之內(nèi)。由于接收電路產(chǎn)生的第一個負(fù)脈沖寬度為1 ms左右,在負(fù)脈沖期間接收到回波時,接收電路無法把兩次脈沖分開,使得在距離為18 cm以下時無法測量。測試過程中通過改變超聲波發(fā)射頻率來實現(xiàn)近距離的測量。系統(tǒng)測試結(jié)果如表1所示。
表1 系統(tǒng)測試結(jié)果Tab.1 Test results of the system
本文設(shè)計的高精度超聲波測距系統(tǒng)具有結(jié)構(gòu)簡單、體積小、抗干擾性強(qiáng)等優(yōu)點,若要滿足更高的精度要求,還需進(jìn)行適當(dāng)改進(jìn)。為實現(xiàn)近距離的高精度測量,單片機(jī)根據(jù)距離自動調(diào)整超聲波頻率。設(shè)計由各個單元模塊化組合,可移植或構(gòu)建到其他系統(tǒng)中,還可以根據(jù)需要修改子程序,靈活性較好。此外,系統(tǒng)與虛擬儀器開發(fā)軟件LabVIEW相結(jié)合,達(dá)到了直觀、方便的效果,實現(xiàn)了功能多樣化。
[1]張紅蓮.基于單片機(jī)的超聲波測距系統(tǒng)的設(shè)計[J].PLC&FA,2008(9):89-91.
[2]黃曉紅,范曉志,蔡建平.超聲波測量電路設(shè)計[J].河北理工學(xué)院學(xué)報,2002(S1):15 -18.
[3]曹茂永,王霞.超聲測距數(shù)字信號采集系統(tǒng)[J].電測與儀表,2000(8):26-27.
[4]劉鳳然.基于單片機(jī)的超聲波測距系統(tǒng)[J].傳感器世界,2001(5):29 -32.
[5]丁鷺飛,耿富錄.超聲原理[M].3版.西安:西安電子科技大學(xué)出版社,2002:25-33.
[6]張易剛,彭喜元,譚曉昀.CS-51單片機(jī)應(yīng)用設(shè)計[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2006:45-50.
[7]李嚴(yán),張民.基于超聲波傳感器的水位自動控制系統(tǒng)[J].微計算機(jī)信息,2009(13):134-136.
[8]李飛,陳峰.基于BP神經(jīng)網(wǎng)絡(luò)的超聲測距誤差補(bǔ)償[J].傳感器與微系統(tǒng),2006(6):31-33.
[9]張和生,宋明耀.提高超聲測距精度的設(shè)計[J].電子產(chǎn)品世界,2004(13):87-89.
[10]滕艷菲,陳尚松.超聲波測距精度的研究[J].國外電子測量技術(shù),2006(2):23-25.