廈門惠爾潔衛浴科技有限公司 楊 斌 鄭翔驥
湄洲灣職業技術學院 佘明輝
超聲波具有較強指向性,能量損耗少,較遠的傳播距離,因此距離的測量通常用超聲波來測量。易于實時控制、計算簡便、使用方便迅速是超聲波檢測的特點,而且在測量精度上,超聲波檢測也能夠達到工業設備控制的需求[1-4]。為了使測距系統及時獲取距障礙物的距離信息(距離和方向),設計一種超聲波測距器,能使被測量物在測量時沒有直接接觸,就能夠直觀地且穩定顯現所測結果數據。廣泛應用于汽車倒車、機器人、建筑業等位置的檢測監控,還可以用在水位深度、管道長度的測量等場合[5-7]。
系統框圖如圖1所示,系統主要由單片機控制器、超聲波發射器、超聲波接收器、LED顯示器、電源電路等五大部分組成。單片機控制器(微處理器8051)先把P2.7口置0,啟動超聲波傳感器發射超聲波,同時啟動內部定時器T0開始計數進行檢查是否有聲波返回,當發射出來的超聲波信號遇到物體時信號立即反射回來,此時單片機控制器不停地計數掃描INT0引腳,當INT0接收到的超聲波反射信號由高電平變為低電平,此時表明超聲波信號已經返回,單片機控制器進入中斷關閉定時器[1]。同時定時器中的數據經過換算就可得到超聲波傳感器所測得的有關數值,并通過單片機控制器處理送至LED顯示器而顯示出來。

圖1 系統框圖
采用超聲波往返時間檢測法是數字顯示超聲波測距系統的硬件設計指導思想,其原理為:假設傳播介質為氣體,從超聲波發射器發出的超聲波進行檢測,就是超聲波往返時間。即經氣體介質的傳播到接收器的時間[2]。從而可推算出聲波傳輸的距離,即氣體介質中的聲速與往返時間的乘積。然而聲波傳輸距離的一半才是真正所要測距離,設待測距離用L表示,為超聲波的聲速用V表示,往返時間T表示。則:

前方測距電路的輸出端接至單片機控制器INT0端口,中斷優先級最高。左、右測距電路的輸出端接至單片機INT1端口,而左、右測距電路的輸出是通過與門電路輸出的,與門電路的輸入端接到單片機P1.3口和P1.4口,中斷優先級為先右后左,中斷源的識別是由單片機控制器程序查詢來處理[3]。
系統發射電路實際上是用單片機控制器中的壓控晶振控制產生波形為方波、頻率為40KHz的超聲波信號,然后該信再通過驅動放大后進行發射。而單片機控制器中傳感器發射電壓信號的大小主要取決于發射信號損失程度和接收器的靈敏度,其中信號損失包括往返傳播、聲波傳輸和聲波反射以及環境噪聲等損失。由于系統的電源容易對發射端產生干擾,會影響系統發射電路的正常工作,為此,可選擇容量大小適當的濾波電容把相關的干擾信號消除掉。發射電路如圖2所示。圖中單片機P1.0口輸出為單片機控制產生40KHz的方波信號,三極管8050構成放大器為驅動電路。驅動電路的作用是對方波信號進行放大。

圖2 超聲波發射電路
系統接收電路的作用是對發射信號進行接收,并對有用的信號進行放大,同時對一些的噪聲和干擾信號加以抑制,從而使該系統接收電路達到最大的信噪比,提高了系統的可靠性和穩定性。如圖3超聲波接收電路原理圖。超聲波接收傳感器接收到超聲波回波信號,該信號通過隔直電容進行濾波后,再經過一級放大器和二級放大器進行兩級放大后,信號通過耦合電容送入單片機P0端口。在解碼器的輸出端有信號時將得到低電平進入單片機以產生中斷用于計時。

圖3 超聲波接收電路原理圖
當接收模塊接收到發送模塊發出的40KHZ超聲波信號時候,便產生諧振,經過VT1和VT2組成直耦式放大電路放大后,經過C1后送入單片機口,給予中斷。如圖3所示由于在距離較遠的情況下,聲的回波很弱,因而轉換為電信號的幅值也較小,因為本設計對超聲波檢測的距離要求太遠,因此只需將這較為微弱的信號放大100倍左右。為此采用三級管兩級放大,前級放大器放大50倍后再由后級放大器進行放大到要求的倍數即可。
集成鎖相環路解碼LM567連接電路圖如圖4所示。集成LM567為鎖相環路解碼,鎖相環路利用相位同步的原理,使可變頻率振蕩器的頻率鎖定在基準頻率上。解碼器的輸出頻率為可變振蕩器的頻率,將可變頻率振蕩器的頻率與晶體振蕩器的基準頻率一起,加到相位檢波電路上進行鑒相,當可變頻率振蕩器發生頻率漂移時,相應發生相位漂移,鑒相器便輸出一個直流電壓,再用此直流電壓去控制可變振蕩器,將其頻率拉回到原始值,即把振蕩器的頻率鎖定在基準頻率上。解碼器中心頻率由電壓控制振蕩器確定。該壓控振蕩器中心頻率大小由外接電阻R和電容C元件來獨立設定。

圖5 顯示電路

圖6 電源電路

圖4 LM567外部連接圖
鎖相環的解碼集成塊LM567,其內部的壓控振蕩器的中心頻f0,當環路鎖定時,可變分頻器的輸出頻率fN等于參考頻率fR,而fR=f0/N,所以VCO輸出頻率f0與參考頻率fR的關系是f0=NfR,則集成塊LM567輸出端8腳由高電平跳變為低電平,作為中斷請求信號,送至單片機處理[4]。
顯示電路由單片機8051中的P1口、P2口、4位共陰LED顯示器。如圖5所示。
LED選用共陰極的四段譯碼管,并采用動態顯示原理,即由低位到高位,一位一位顯示。對于每一位顯示器來說,每隔一段時間點亮一次。因此,控制顯示器公共陰極電位的I/O口只需一個,現選用PB口(稱為掃描口)、即用PB口輸出位選碼[5]。位選碼中為0的位是被選中的顯示位。4位二進制代碼中,每次只有一位為0的被選位。此外,控制各位顯示器所顯示的字形也需一個I/O口,現選用PA口。PA口的輸出與LED相連,完成“段選”功能[6]。
整個系統需要+5V的電源供電,由交流電220V經過變壓器變壓變為交流電15V,然后通過橋式整流電路后變成脈動的直流電,再經過和濾波電路進行濾波后得到較平穩的直流電信號,最后將較平穩的直流電信號經過一個穩壓管7805組成三端穩壓電路進行穩壓后得到一個穩定的直流電5V。本電源電路設計就是采用直流穩壓電源提供,電源電路如圖6所示。
軟件設計主要分為兩部分分別是主程序和中斷服務程序。以下是超聲波測距離的程序流程框圖,主程序流程圖如圖7所示,中斷服務程序流程圖如圖8所示。

圖7 主程序流程圖

圖8 中斷服務程序流程圖
如圖7主程序流程圖主要是完成單片機初始化工作、定時中斷服務子程序和外部中斷服務子程序的控制。主程序處于鍵控循環工作方式,當按下測量鍵時,單片機進入初始化工作,然后轉入定時中斷服務子程序,此時主程序開始調用發射子程序進行超聲波發射。之后查詢接收子程序判斷是否有回波,若有,則進入外部子程序工作,若無,則進入定時子程序。如圖8中斷服務程序流程圖主要是外部子程序、定時子程序的工作。其中,定時中斷服務子程序主要完成輪流發射三方向超聲波的控制和關斷發射等,外部中斷服務子程序主要完成超聲波信號的讀取、計算以及結果輸出等,并將測量結果用數碼顯示器上顯示出來[7]。
本系統硬件設汁采用模塊化設計,由發射電路模塊、接收電路模塊、集成鎖相環路解碼模塊、顯示電路模塊、電源電路模塊等組成。并對系統接收的發射電路、接收電路、集成鎖相環路解碼電路、顯示電路、電源電路等進行了較全面的分析論述。該系統軟件設計主要由主程序和中斷服務程序兩部分組成。由于超聲波測距系統是基于單片機設計的,故該系統具有硬件結構簡單、電路工作可靠、測量誤差小等優點。因此,本系統電路廣泛應用于各種電子設備和檢測系統中。
[1]牛余朋.基于單片機的高精度超聲波測距電路[J].電子世界,2005.
[2]佘明輝.電子信息類專業畢業設計指導書[M].機械工業出版社,2012.
[3]陸軍,米文龍,朱齊丹,王艷.超聲波測距系統在移動機器人中的設計與應用[J].電子技術應用,2007.
[4]趙珂,向瑛,王忠,施琴紅.高精度超聲波測距儀的研制[J].電子技術應用,2003.
[5]李娣娜,劉麗麗,薛寧靜,樊延虎. 一種新超聲波測距系統的設計[J].延安大學學報(自然科學版),2008.
[6]趙海鳴,王紀嬋,劉軍,史春雪.一種高精度超聲波測距系統的改進[J].電子技術應用,2007.
[7]張珂,劉鋼海.提高超聲波測距精度方法的研究[J].現代電子技術應用,2007.