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