摘 要: 以AT89S52單片機(jī)為主控制器完成一種較高精度超聲波測距器的設(shè)計。對系統(tǒng)存在的測量誤差進(jìn)行詳細(xì)分析并給出提高精度的可行性方案。
關(guān)鍵詞: 超聲波;發(fā)射;接收;溫度補(bǔ)償
現(xiàn)代工業(yè)正向著智能化、自動化的方向發(fā)展,測距技術(shù)作為工業(yè)生產(chǎn)的重要組成部分對穩(wěn)定度和精度的要求也日益嚴(yán)格。傳統(tǒng)測量手段由于受環(huán)境、工具和人為因素影響,已經(jīng)不能滿足現(xiàn)代工業(yè)測量的要求。超聲波測距作為一種非接觸式的測距方式,以其抗干擾能力強(qiáng)[1-2]、測量范圍廣、易于控制、測量精度高等優(yōu)點(diǎn),已經(jīng)在工業(yè)測量領(lǐng)域得到廣泛應(yīng)用。本系統(tǒng)設(shè)計應(yīng)用于石油泥漿液位測量,設(shè)計測量范圍為50 cm~600 cm,設(shè)計測量精度為厘米級,特點(diǎn)在于系統(tǒng)采用溫度補(bǔ)償對測量數(shù)據(jù)進(jìn)行修正,確保準(zhǔn)確性。
1 工作原理及系統(tǒng)設(shè)計
1.1 超聲波測距原理
超聲波傳感器主要由雙壓電晶片振子、圓錐共振板和電極等部分構(gòu)成。兩電極間加上一定的電壓時壓電晶片就會被壓縮產(chǎn)生機(jī)械形變,撤去電壓后壓電晶片恢復(fù)原狀。若在兩極間按照一定的頻率加上電壓,則壓電晶片也會保持一定的頻率振動。經(jīng)試驗(yàn)測得此型號壓電晶片的固有頻率為38.4 kHz,則在兩極外加頻率為40 kHz的方波脈沖信號,此時壓電晶片產(chǎn)生共振,向外發(fā)射出超聲波。同理,沒有外加脈沖信號的超聲波傳感器在共振板接收到超聲波時也會產(chǎn)生共振,在兩極間產(chǎn)生電信號[3]。
1.2 系統(tǒng)原理設(shè)計
本系統(tǒng)硬件主要由超聲波發(fā)射、超聲波接收及放大、單片機(jī)控制與液晶顯示、溫度采集和補(bǔ)償?shù)炔糠纸M成,如圖1所示。當(dāng)按下復(fù)位鍵啟動系統(tǒng)工作時,單片機(jī)向傳感器發(fā)射頭送出若干40 kHz的方波脈沖,同時啟動定時器對超聲波傳播時間進(jìn)行計時。當(dāng)接收頭收到反射回的超聲波(在有效測距范圍內(nèi))并經(jīng)放大濾波傳入單片機(jī)時,定時器停止計時。查表得到測距溫度下的聲速,按式(1)計算出測量距離,送液晶顯示。
s=Ct/2 (1)
式中s為測量距離,C為超聲波傳播速度,t為傳播時間。
2 系統(tǒng)電路設(shè)計
2.1 超聲波發(fā)射電路
由于系統(tǒng)工作環(huán)境比較惡劣,為保證測距的范圍和精度,需要保證傳感器發(fā)射頭的外加壓差足夠大。因此采用轉(zhuǎn)換范圍較大、工作穩(wěn)定的16位CMOS轉(zhuǎn)換器CD4049組成超聲波發(fā)射電路的主體(CD4049最大轉(zhuǎn)換電壓與探頭最大驅(qū)動電壓同為20 V)。超聲波發(fā)射電路如圖2所示[4]。
考慮到發(fā)射頭一般需要5個方波周期達(dá)到穩(wěn)定震蕩狀態(tài)的95%,經(jīng)1.5倍上升時間達(dá)穩(wěn)定震蕩狀態(tài)的99%[5]。為保證最大程度的觸發(fā),單片機(jī)每組產(chǎn)生12個帶寬為12 μs的方波經(jīng)調(diào)理電路傳到發(fā)射頭。
2.2 超聲波接收放大電路
超聲波在空氣中傳播的衰減程度隨傳播距離的增加而增大,所以反射回來被接收頭收到的信號非常微弱,不能直接送入后級電路處理,首先要經(jīng)過信號放大。超聲波接收放大電路如圖3所示[6]。
被接收頭收到的回波信號為正弦波信號,信號強(qiáng)度一般只有幾十毫伏。接收部分前置放大電路是由集成運(yùn)放NE5532組成的自舉式同向交流放大電路。前兩級放大電路構(gòu)成10 000倍的放大器,對正弦波信號進(jìn)行足夠放大。后級采用集成LM311-8比較器對前級放大信號進(jìn)行調(diào)理,通過IN-引腳引入一個標(biāo)準(zhǔn)電平,輸入包絡(luò)信號的電位高于標(biāo)準(zhǔn)電平則為1,低于標(biāo)準(zhǔn)電平則為0,將包絡(luò)信號轉(zhuǎn)變?yōu)閱纹瑱C(jī)可識別的中斷脈沖信號。當(dāng)與單片機(jī)的中斷輸入端相連的LM311的第7管腳輸出一個低電平時,計數(shù)器立即停止計時并保存數(shù)據(jù)。
2.3 單片機(jī)控制和顯示電路
本系統(tǒng)的主控模塊是AT89S52單片機(jī)。該控制器具有8 KB的RAM內(nèi)存空間,在線編程與調(diào)試比較方便。單片機(jī)控制單元主要包括復(fù)位電路、液晶顯示電路、發(fā)射控制端、回波接收端幾部分。由于測量距離需要直觀顯示,且系統(tǒng)安裝于戶外功耗要盡可能低、體積盡可能小,因此采用易于與CMOS電路相匹配的128×64點(diǎn)陣式液晶顯示模塊。接口電路如圖4。
3 軟件設(shè)計及流程
3.1 軟件整體流程
系統(tǒng)軟件主要由主程序、初始化程序、發(fā)射子程序、中斷子程序、顯示子程序組成。軟件整體流程如圖5。
系統(tǒng)上電后首先初始化,設(shè)置定時器、計數(shù)器工作方式,打開總中斷,顯示端口清零等。為避免從發(fā)射頭發(fā)出的超聲波直接被接收頭作為回波接收,在調(diào)用定時器中斷子程序(發(fā)射方波)后設(shè)置0.2 ms的延時,然后打開外部中斷0接收回波[7]。系統(tǒng)采用晶振頻率為12 MHz,機(jī)器周期為1 μs,主程序檢測到回波接收成功后將計數(shù)器T0中的值T0按下式計算即可得測量距離(設(shè)20 ℃時聲速為340 m/s)[8]:
s=(CT0)/2=170T0/100 000 (2)
最后將所得數(shù)值以二進(jìn)制數(shù)形式通過P0口直接傳入液晶顯示。
3.2 發(fā)射和中斷子程序
超聲波發(fā)射子程序的作用是通過P1.2口在定時器的設(shè)定時刻取反交替產(chǎn)生寬度為12 μs的高低電平輸出方波脈沖。定時器中斷程序[9]流程如圖6。外部中斷程序流程如圖7。
4 誤差分析及系統(tǒng)精度提高
在系統(tǒng)測試過程中發(fā)現(xiàn)對系統(tǒng)性能和測量精度影響較大的主要有測量盲區(qū)、回波時間的確定、控制器定時器偏差、溫度對速度的影響等幾方面。
4.1 測量盲區(qū)
造成測量盲區(qū)存在主要有兩方面因素:超聲波發(fā)射頭在發(fā)射出一串方波信號后經(jīng)過一段延時才打開外部中斷入口,防止方波信號直接進(jìn)入接收頭作為回波引起中斷,產(chǎn)生誤測量,延時對應(yīng)的距離即為盲區(qū);另一方面,在測量較近距離時,回波信號會與發(fā)射余波重疊造成尋峰失敗,同樣產(chǎn)生測量盲區(qū)。
對于第一種測量盲區(qū),經(jīng)試驗(yàn)證明,在可承受范圍內(nèi)減小脈沖寬度、減少脈沖發(fā)射個數(shù),從而間接減小了延時時間,擴(kuò)大測量范圍。但同時會由于脈沖個數(shù)的減少對測量上限造成影響。對第二種測量盲區(qū),主要做法是在回波接收電路中加入余振吸收電路,改變接收放大倍數(shù),適當(dāng)延時,并利用部分未飽和余波等方式共同減小盲區(qū)[10]。
4.2 回波時間的確定
發(fā)射的方波信號由于強(qiáng)度所限,在經(jīng)過傳播和反射后,回波信號強(qiáng)度有所衰減,出現(xiàn)包絡(luò)現(xiàn)象,但其頻率與發(fā)射波相同,沒有變化。單片機(jī)確定接收到回波的時刻實(shí)際是一個高低電平的變化時刻,與回波頻率無關(guān)。而包絡(luò)信號不是優(yōu)質(zhì)的電平信號,直接輸入單片機(jī)會造成較大誤差。解決方案是接收電路中加入一個電平比較器,其輸出頻率也為40 kHz,輸出標(biāo)準(zhǔn)方波電平信號作為比對,在接收電路的放大器輸入(接收到)高于0.4 V的電平信號時,通過比較器的輸出電壓變?yōu)闃?biāo)準(zhǔn)的+5 V電平輸入單片機(jī),此時刻即為回波接收時刻[11]。
4.3 溫度補(bǔ)償
在常溫常壓下聲速可以認(rèn)為是定值,但液位監(jiān)測的工作環(huán)境溫度變化較大。聲速與溫度的關(guān)系為[12-13]:
v=311.5+0.607t (3)
溫度變化范圍為-20℃~+40℃,則聲速會產(chǎn)生36 m/s的巨大變化,必須設(shè)置溫度對聲速的補(bǔ)償。
離線條件下計算出不同溫度下的聲速值并放存儲器存儲,18B20測得現(xiàn)場溫度傳入單片機(jī)后,查找對應(yīng)溫度的聲速并以此作為校正值進(jìn)行距離的計算??諝庵新曀俦磉_(dá)式可寫為:
由此可見經(jīng)過溫度補(bǔ)償后的精度達(dá)到厘米級,可以較好地達(dá)到測量要求。測量溫度為11.2℃時的實(shí)驗(yàn)數(shù)據(jù)如表1。由表1可以看出測量上限為600 cm,下限為50 cm,有效測距范圍內(nèi)測量誤差小于±2 cm。
通過大量實(shí)現(xiàn)數(shù)據(jù)表明,本系統(tǒng)測量誤差小于±2 cm,滿足設(shè)計要求,并且符合工業(yè)標(biāo)準(zhǔn)。基于超聲波受粉塵、震動及電磁波等惡劣工業(yè)因素影響極小的特點(diǎn),本系統(tǒng)還可廣泛用于工業(yè)測距、汽車行駛、金屬探傷等領(lǐng)域,具有較好的應(yīng)用前景。
參考文獻(xiàn)
[1] VOEGELIA F A, SMALEB M J, WEBBERC D M, et al. Ultrasonic Telemetry, Tracking and Automated Monitoring Technology for Sharks[J]. Environmental Biology of Fishes, 2001(60):267-281.
[2] HORN O, CAOURCELLF A. Interpretation of ultrasonic readings for autonomous robot localization. Journal of Intelligent and Robotic Systems: Theory and Applications[J]. 2004,39:265-285.
[3] 陳勇,劉金.超聲波測距儀電路及程序設(shè)計[J].電子測量技術(shù),1998(3):18-20.
[4] 凌陽科技.超聲波測距模組V2.0使用說明書[Z].2006.
[5] 鄭志聰.超聲波測距技術(shù)[J].福建農(nóng)機(jī),2008(2):28-29.
[6] 凌陽科技.超聲波測距模組V1.0使用說明書[Z].2005.
[7] 朱士虎,何培忠,王立?。贏T89S52超聲波測距儀設(shè)計[J].儀表技術(shù),2009(6):22-24.
[8] 周功明,周陳?。贏T89C52單片機(jī)的超聲波測距器設(shè)計[J].綿陽師范學(xué)院學(xué)報,2008,27(8):49-53.
[9] 王維斌.超聲波測距系統(tǒng)的設(shè)計[J].電子技術(shù),2009(3):18-20.
[10] 陳先中,張爭.復(fù)雜工況下超聲波液位測量系統(tǒng)的設(shè)計[J].傳感器技術(shù),2005,24(11):41-43.
[11] 王啟宇.超聲波測距系統(tǒng)的研究[J].農(nóng)機(jī)使用與維修,2009(3):43-44.
[12] 雷建龍.便攜式液位測量儀的研制[J].傳感技術(shù)學(xué)報,2006,19(4):1117-1120.
[13] 黃邦彥,胡于進(jìn).制動裝置的超聲波檢測方法研究[J].武漢船舶職業(yè)技術(shù)學(xué)院學(xué)報,2002(2).