在現(xiàn)代工業(yè)生產(chǎn)過程中,利用超聲波進(jìn)行近距離非接觸式測量越來越廣泛,例如液位的測量、煤層的測厚、機(jī)器人定位、輔助視覺系統(tǒng)、車輛的定位與導(dǎo)航、汽車防撞雷達(dá)、井深及管道長度測量等方面。根據(jù)超聲波縱向分辨力高、對色彩和光照度不敏感、抗電磁干擾能力強(qiáng)等特點(diǎn),可以設(shè)計(jì)出精度較高的超聲波測距系統(tǒng),應(yīng)用于漫反射差和有毒等惡劣環(huán)境中。但傳統(tǒng)的超聲波測距儀由于采用固定閾值的比較器比較輸出,測量精度普遍較低。本文從回波信號處理的角度出發(fā),分析了超聲波回波曲線的特性,利用回波包絡(luò)的峰值檢測以確定回波到達(dá)時(shí)刻的方法,并介紹一種以89C52單片機(jī)為核心、具有自動(dòng)增益控制和峰值包絡(luò)檢測、高精度的收發(fā)一體式超聲波測距系統(tǒng)的硬件電路和軟件設(shè)計(jì)。
1 回波信號包絡(luò)研究
傳統(tǒng)的利用固定電平判斷回波到達(dá)時(shí)刻的超聲波測距方法存在較大誤差。針對這種誤差提出的可變閾值的超聲波測距方法,由于干擾信號的存在,超聲波測距主芯片會(huì)產(chǎn)生誤判回波時(shí)刻的到來,從而導(dǎo)致測量數(shù)據(jù)不準(zhǔn)確。
超聲傳感器通過壓電晶片的逆效應(yīng)——電致伸縮,在空氣介質(zhì)中產(chǎn)生超聲波。測距所用超聲波一般都是以間斷的高壓單脈沖發(fā)射,每測距一次,需要發(fā)射、接收一次。所以在測距脈沖的發(fā)射過程中,傳感器晶片經(jīng)歷了起震、加強(qiáng)和衰減三種狀態(tài),并產(chǎn)生多個(gè)諧振周期的超聲波;接收過程中,傳感器晶片在多個(gè)諧振周期的超聲脈沖作用下,通過壓電效應(yīng)在晶片兩端產(chǎn)生起伏電壓。廈門大學(xué)的童峰等研究了單脈沖發(fā)射時(shí)超聲回波的起伏特性,并根據(jù)聲的發(fā)射、反射理論及應(yīng)用力——聲類比,推導(dǎo)出了理想條件下的測距回波包絡(luò)曲線方程。在此理論基礎(chǔ)上,通過大量實(shí)驗(yàn),每次發(fā)射1個(gè)脈沖寬度為時(shí)間T的脈沖,來驗(yàn)證這種超聲波回波起伏特性。圖1為通過放大、帶通濾波、AGC電路以后,用Tektronix數(shù)字存儲(chǔ)示波器存儲(chǔ)得到的回波波形。
可以驗(yàn)證:超聲回波在脈寬時(shí)間T處,電壓峰值達(dá)到最大,和童峰的理論分析基本吻合,這也為本文應(yīng)用在判斷回波到達(dá)時(shí)刻的處理方法提供了理論和事實(shí)依據(jù)。根據(jù)上述對超聲回波波形特性的分析,本文提出了一種確定回波到達(dá)時(shí)刻的思路:在接收電路中加入精密的絕對值轉(zhuǎn)換電路,把回波信號的負(fù)電壓翻轉(zhuǎn)為正電壓,然后通過檢波電路,對波形進(jìn)行包絡(luò),接著輸入到微分電路,求出包絡(luò)曲線的峰值點(diǎn),再通過過零檢測電路,向單片機(jī)發(fā)出外部中斷信號,停止計(jì)數(shù)器計(jì)時(shí)。單片機(jī)在發(fā)射完1個(gè)脈沖后,啟動(dòng)內(nèi)部計(jì)數(shù)器計(jì)時(shí)到外部中斷觸發(fā)計(jì)數(shù)器停止計(jì)時(shí),這段時(shí)間即為超聲波脈沖的渡越時(shí)間t。
2 超聲波測距原理及系統(tǒng)組成
超聲波測距是借助于超聲脈沖回波渡越時(shí)間法來實(shí)現(xiàn)的。設(shè)超聲波脈沖由傳感器發(fā)出到接收所經(jīng)歷的時(shí)間為t,超聲波在空氣中的傳播速度為c,則從傳感器到目標(biāo)物體的距離d可用下式求出:
從式(1)可知,只要知道超聲波在空氣中的傳播速度c,則測出傳播聲時(shí)t就可求出傳感器到目標(biāo)物體的距離d。本超聲波測距系統(tǒng)原理框圖如圖2所示。
該系統(tǒng)由ATMEL公司生產(chǎn)的AT89C52單片機(jī)、超聲波發(fā)射電路、發(fā)射接收轉(zhuǎn)換電路、接收前置放大電路、帶通濾波電路、自動(dòng)增益控制(AGC)電路、絕對值變換電路、檢波電路、過零檢測電路、環(huán)境溫度采集電路、E2PROM存儲(chǔ)電路、顯示電路和超聲波傳感器組成。AT89C52單片機(jī)為整個(gè)系統(tǒng)的核心部件,協(xié)調(diào)各部分電路的工作。傳感器選用TCF40-16型收發(fā)一體式超聲波傳感器,諧振頻率為40kHz;單片機(jī)產(chǎn)生脈沖信號,經(jīng)三極管和變壓器放大后,通過發(fā)射接收轉(zhuǎn)換電路驅(qū)動(dòng)超聲波傳感器;每次發(fā)射1個(gè)脈沖,當(dāng)脈沖發(fā)射后,啟動(dòng)計(jì)數(shù)器開始計(jì)數(shù);回波信號經(jīng)過發(fā)射驅(qū)動(dòng)接收轉(zhuǎn)換電路、前置放大電路、帶通濾波電路、自動(dòng)增益控制(AGC)電路、絕對值變換電路、檢波電路、過零檢測電路后輸入AT89C52單片機(jī)中,觸發(fā)外部中斷,單片機(jī)AT89C52停止計(jì)數(shù)器計(jì)數(shù)并計(jì)算出渡越時(shí)間t;環(huán)境溫度采集電路將現(xiàn)場溫度數(shù)據(jù)送到單片機(jī)中,通過計(jì)算來補(bǔ)償聲速,最后利用公式(1)計(jì)算出距離,并由顯示電路顯示出米。
3 系統(tǒng)硬件電路設(shè)計(jì)
3.1 超聲波發(fā)射驅(qū)動(dòng)及接收轉(zhuǎn)換電路
本系統(tǒng)的發(fā)射驅(qū)動(dòng)及接收轉(zhuǎn)換電路如圖3所示。
工作原理為:由AT89C52單片機(jī)產(chǎn)生40KHz的TTL脈沖信號通過P1.0輸出,再經(jīng)過三極管Q1和變壓器TR1進(jìn)行功率放大,在變壓器副線圈上將電壓10倍放大,這時(shí)換能器上加載的正弦電壓幅值約為100V。在變壓器TR1原線圈上,串聯(lián)了限流電阻R2;變壓器TR1副線圈上,R3是與超聲波換能器進(jìn)行阻抗匹配的電阻,在副線圈導(dǎo)通時(shí),由于加在換能器上的電壓很大(100V),接地的兩個(gè)反向并聯(lián)的二極管對后面接收電路的前置放大電路輸入端進(jìn)行鉗位,使其電壓最大不超過0.7V,以免前置放大電路的輸入端電壓因?yàn)檫^高而發(fā)生阻塞。
超聲波在空氣中傳播,遇到目標(biāo)物體反射的回波信號加載到超盧波換能器上,換能器由于壓電效應(yīng)產(chǎn)生微弱電壓信號,輸出的這種回波信號是mV級的電壓信號。由于二極管的導(dǎo)通電壓為0.7V,回波信號不能經(jīng)過兩個(gè)反向并聯(lián)的IN4148和變壓器副線圈構(gòu)成回路,只能經(jīng)過電阻R4、電容C3送入前置放大電路的輸入端。
3.2 自動(dòng)增益控制(AGC)電路
超聲波回波信號隨著被測距離的變化,其幅值變化也很大,必須經(jīng)過增益控制,以滿足整形電路的要求。實(shí)現(xiàn)增益隨時(shí)間呈指數(shù)變化的AGC電路有多種,本文設(shè)計(jì)了通過軟、硬件結(jié)合的AGC電路,它由可編程放大器AD620AN、數(shù)字電位器MAX5400結(jié)合單片機(jī)聯(lián)合實(shí)現(xiàn)。
AD620AN是一種電阻可編程放大器,內(nèi)部由三運(yùn)放組成,具有很高的精度和共模抑制比。增益范圍為1~1000,由管腳1、8之間的電阻調(diào)節(jié)。增益公式為:
MAX5400是一種具有256抽頭的數(shù)字電位器,端一端阻值為50kΩ,溫度系數(shù)小于5ppm/℃,并帶有SPI接口。在本文中管腳3、4、5與單片機(jī)相連,實(shí)現(xiàn)電阻阻值的變化,管腳1、8與AD620AN的1、8端相連,從而實(shí)現(xiàn)增益的調(diào)節(jié)。
事先通過實(shí)驗(yàn),在0~3米的距離內(nèi),每隔30厘米測量一次,把較為理想的放大倍數(shù)換算成數(shù)字電位器的抽頭位置,并把這些位置參數(shù)列表并固化到E2PROM中。單片機(jī)以計(jì)時(shí)器中斷的方式來設(shè)置增益,到了一定時(shí)刻就由內(nèi)部定時(shí)器產(chǎn)生一次中斷,中斷服務(wù)子程序通過查表方式獲得對應(yīng)的增益,然后通過SPI接口設(shè)置對應(yīng)增益。
3.3 溫度補(bǔ)償
超聲波在同體中傳播速度最快,在氣體中傳播速度最慢,而且聲速c與溫度有關(guān)。如果環(huán)境溫度變化顯著,必須考慮溫度補(bǔ)償問題。空氣中聲速與溫度的關(guān)系可以表示為:
式中,T為環(huán)境攝氏溫度℃。
為了提高系統(tǒng)的測量精度,本文設(shè)計(jì)了溫度補(bǔ)償電路。系統(tǒng)采用數(shù)字溫度計(jì)DS1820采集溫度。DS1820是美國DALAS公司推出的單線串行數(shù)字溫度計(jì),可直接與單片機(jī)連接,并且接線形式簡單,測量范圍為-55~+125℃,在-10~+850℃范圍內(nèi)測量精度為0.5℃。傳感器輸出的是用9位二進(jìn)制編碼表示的溫度值。根據(jù)實(shí)際溫度的值,利用公式(3)可計(jì)算補(bǔ)償聲速。
3.4 絕對值變換和包絡(luò)電路
本系統(tǒng)的絕對值變換和包絡(luò)電路原理圖如圖4所示。
絕對值變換電路中,當(dāng)輸入信號Vin為負(fù)時(shí),D7導(dǎo)通,U13B為倒相放大器;Vin為正時(shí),D8導(dǎo)通,U13A為非倒相放大器。無論輸入信號的電壓極性如何,其輸出總是正電壓,且幅值不變。如前所述,網(wǎng)波信號經(jīng)過絕對值變換電路以后,負(fù)電壓被翻轉(zhuǎn)為正電壓,且頻率倍增,然后通過二極管D9、電容C56組成的檢波電路對新波形進(jìn)行包絡(luò)。根據(jù)超聲波回波起伏特性,頻率倍增后包絡(luò)曲線更加平滑。在本電路中,檢波電路中的電容值要匹配合適,絕對值變換電路中集成運(yùn)算放大器選用TL082。波形包絡(luò)原理如圖5所示。
3.5 微分電路和過零檢測
回波包絡(luò)信號通過微分電路,電壓峰值點(diǎn)處取導(dǎo)數(shù)為零,過零檢測電路在信號的過零點(diǎn)時(shí)刻發(fā)送脈沖信號給單片機(jī)外部中斷INTO,單片機(jī)停止計(jì)時(shí),從而捕捉到同波信號到達(dá)時(shí)刻。包絡(luò)信號微分和過零檢測原理如圖6所示。
4 系統(tǒng)軟件設(shè)計(jì)
本測距系統(tǒng)軟件包括主程序、溫度采集子程序、發(fā)射子程序、計(jì)算子程序、數(shù)碼顯示子程序、外部中斷子程序和定時(shí)器中斷子程序。主程序完成初始化后調(diào)用發(fā)射子程序,由P1.0口發(fā)射1個(gè)脈沖,驅(qū)動(dòng)超聲波傳感器發(fā)射超聲波,并關(guān)外部中斷,計(jì)數(shù)器T0、T1同時(shí)開始計(jì)時(shí);為防止虛假回波的干擾,在延時(shí)一段時(shí)間后,開中斷,此時(shí)判斷計(jì)數(shù)器T1有否溢出中斷,單片機(jī)根據(jù)不同的時(shí)間,以查表的方式設(shè)置自動(dòng)增益控制電路的增益;當(dāng)有外部中斷信號時(shí),單片機(jī)就停止T0的計(jì)時(shí),計(jì)算出渡越時(shí)間t并存儲(chǔ)到E2PROM中;然后調(diào)用測溫子程序,采集超聲波測距時(shí)的環(huán)境溫度,并換算出準(zhǔn)確的聲速c,存儲(chǔ)到E2PROM巾;單片機(jī)再調(diào)用計(jì)算子程序,計(jì)算出傳感器到目標(biāo)物體之間的距離,最后把測量結(jié)果存儲(chǔ)并通過數(shù)碼管電路顯示出來,完成一次測量。主程序流程如圖7。
木超聲波測距系統(tǒng)采用新的設(shè)計(jì)方法,并在實(shí)驗(yàn)室環(huán)境中進(jìn)行測量,測量精度較高。由于采用收發(fā)一體式的測距電路,換能器振子必須在余震消除后才能進(jìn)行接收,因此該測距系統(tǒng)有很大的盲區(qū)。因?yàn)殡娐返难舆t及包絡(luò)峰值點(diǎn)后移,導(dǎo)致測量計(jì)時(shí)有所增大,進(jìn)而導(dǎo)致測量數(shù)據(jù)的偏大。本系統(tǒng)采用前置放大器、AGC電路、過零檢測等電路對接收信號進(jìn)行處理,取得了良好的效果。在近距離測量范圍內(nèi),這種方法可以達(dá)到厘米級。
責(zé)任編輯:gt
-
傳感器
+關(guān)注
關(guān)注
2545文章
50451瀏覽量
751096 -
單片機(jī)
+關(guān)注
關(guān)注
6030文章
44489瀏覽量
632005 -
超聲波
+關(guān)注
關(guān)注
63文章
2981瀏覽量
138147
發(fā)布評論請先 登錄
相關(guān)推薦
評論