劉 鑫,朱靖玉
(長安大學 信息工程學院,陜西 西安 710064)
隨著我國經濟的持續發展,人民生活水平的不斷提高,公民汽車保有量大幅上升,同時也伴隨著出現了諸多問題,當汽車行駛在道路狹窄的城市,像泊車、掉頭這類簡單的事對司機朋友們來說也成為了巨大的考驗,由此造成了大量的經濟損失和不必要的爭執。面對如此窘境,基于超聲波測距的倒車雷達登上了歷史的舞臺并開始造福人類。倒車雷達是汽車泊車安全輔助裝置,能以聲音或者更為直觀的顯示方式,告知駕駛員周圍障礙物的情況,解除了駕駛員泊車和啟動車輛時前后左右探視所引起的困擾,并幫助駕駛員掃除了視野死角和視線模糊的缺陷,提高了安全性。系統采用基于單片機控制的倒車雷達系統,由單片機控制時間計數,計算超聲波自發射至接收的往返時間,利用超聲波在空氣中的傳輸速度,從而得到實測距離。
倒車雷達系統采用模塊化設計,根據功能需要主要包括超聲波發射電路、超聲波接收電路、報警電路以及顯示電路等,各信號線與控制線都接單片機,并在其指揮下統一協調工作,如圖1所示。駕駛員將手柄轉到倒車檔后,系統自動啟動,單片機AT89S52產生短暫的40 kHz信號,經放大后通過超聲波傳感器輸出,超聲波經過障礙物反射,由超聲波接收模塊收集,進行放大和比較,單片機將此信號經過處理后,計算得到距離值,并將其送入顯示模塊,當超過一定距離觸發報警電路,對駕駛員進行提示。

圖1 倒車雷達系統原理框圖Fig.1 Reversing radar system block diagram
AT89S52[1]是一種低功耗、高性能的8位微控制器,具有8 k字節在系統可編程Flash存儲器。AT89S52使用Atmel公司高密度非易失性存儲器技術制造,與工業80C51產品指令和引腳完全兼容。片上Flash允許程序存儲器在系統可編程,亦適于常規編程器。在單芯片上,AT89S52擁有靈巧的8位CPU和在系統可編程Flash,使得AT89S52為眾多嵌入式控制應用系統提供高靈活、有效的解決方案。
AT89S52具有以下標準功能:8 k字節 Flash,256字節RAM,32位I/O口線,看門狗定時器,2個數據指針,3個16位定時器/計數器,1個6向量2級中斷結構,全雙工串行口,片內晶振及時鐘電路。另外,AT89S52可降至0 Hz靜態邏輯操作,支持2種軟件可選擇節電模式[2]。空閑模式下,CPU停止工作,允許RAM、定時器/計數器、串口中斷繼續工作。掉電保護方式下,RAM內容被保存,振蕩器被凍結,單片機一切工作停止,直到下一個中斷或硬件復位為止。
超聲波傳感器是利用超聲波的特性研制而成的傳感器。超聲波是一種振動頻率高于聲波的機械波,由換能晶片在電壓的激勵下發生振動產生的,它具有頻率高、波長短、繞射現象小,特別是方向性好、能夠 成為射線而定向傳播等特點。超聲波碰到雜質或分界面會產生顯著反射形成反射成回波,碰到活動物體能產生多普勒效應。因此超聲波檢測廣泛應用在工業、國防、生物醫學等方面以超聲波作為檢測手段,必須產生超聲波和接收超聲波。完成這種功能的裝置就是超聲波傳感器,習慣上稱為超聲換能器,或者超聲探頭。
超聲波探頭主要由壓電晶片組成,既可以發射超聲波,也可以接收超聲波。小功率超聲探頭多作探測作用。它有許多不同的結構,可分直探頭(縱波)、斜探頭(橫波)、表面波探頭(表面波)、蘭姆波探頭(蘭姆波)、雙探頭(一個探頭反射、一個探頭接收)等。
超聲探頭的核心是其塑料外套或者金屬外套中的一塊壓電晶片。構成晶片的材料可以有許多種。晶片的大小,如直徑和厚度也各不相同,因此每個探頭的性能是不同的,我們使用前必須預先了解它的性能。超聲波傳感器的主要性能指標包括:
1)工作頻率 工作頻率就是壓電晶片的共振頻率。當加到它兩端的交流電壓的頻率和晶片的共振頻率相等時,輸出的能量最大,靈敏度也最高。
2)工作溫度 由于壓電材料的居里點一般比較高,特別時診斷用超聲波探頭使用功率較小,所以工作溫度比較低,可以長時間地工作而不產生失效。醫療用的超聲探頭的溫度比較高,需要單獨的制冷設備。
3)靈敏度 主要取決于制造晶片本身。機電耦合系數大,靈敏度高;反之,靈敏度低。
單片機AT89S52編程產生40 kHz的方波,由P1.1口輸出,由于信號較弱,無法直接驅動超聲波發射探頭,所以要再經過放大電路,才能驅動超聲波發射探頭發射超聲波[3]。發射驅動電路其實就是一個信號放大電路,本設計所選用的是美國國家半導體公司生產的音頻功率放大器LM386,超聲波發射電路如圖2所示。

圖2 超聲波發射電路Fig.2 Ultrasonic transmitting circuit
超聲波接收器包括超聲波接收探頭、信號放大電路及波形變換電路3部分[4],超聲波接收電路的設計如圖3所示。超聲波探頭必須采用與發射探頭對應的型號,關鍵是頻率要一致,否則將因無法產生共振而影響接收效果,甚至無法接收。由于經探頭變換后的正弦波電信號非常弱,因此必須經放大電路放大。正弦波信號不能直接被單片機接收,必須進行波形變換。按照上面所討論的原理,單片機需要的只是第一個回波的時刻。
為減少負電源的使用,放大電路采用單電源供電,信號放大和變換采用了一片LM324通用運算放大器,前三級為放大器設計,后一級為比較器設計。合理調節電位器R12,選擇比較基準電壓,可使測量更加準確和穩定。

圖3 超聲波接收電路Fig.3 Ultrasonic receiver circuit
系統報警電路由一個三極管、一個蜂鳴器和一個電阻組成,其中R16的阻值為4.7 kΩ。當倒車雷達探測到的距離小于一定值時,觸發蜂鳴器報警。控制蜂蜜器的晶體管接單片機的P2.3引腳,其引腳電平為高時報警。其電路圖如圖4所示。

圖4 顯示與報警電路Fig.4 The display and alarm circuit
在系統硬件構架了超聲波測距的基本功能之后,系統軟件所實現的功能主要是針對系統功能的實現及數據的處理和應用[5]。程序首先對系統環境初始化,設置定時器T0工作模式為16位的定時計數器模式,置位總中斷允許位EA并給顯示端P0和P2清0。然后調用超聲波發生子程序送出一個超聲波脈沖,為避免超聲波從發射器直接傳送到接收器引起的直接波觸發,需延遲0.1 ms(這也就是測距器會有一個最小可測距離的原因)后,才打開外中斷0接收返回的超聲波信號。由于采用12 MHz的晶振,機器周期為1 μs,當主程序檢測到接收成功的標志位后,將計數器T0中的數(即超聲波來回所用的時間)按下面公式計算即可測得被測物體與測距儀之間的距離,設計時取20℃時的聲速為344 m/s則有:d=9(C×To)÷2=72×T0÷10 000cm (其中 T0為計數器 T0 的計數值)。測出距離后結果將以十進制BCD碼的方式顯示,然后再發射超聲波脈沖重復測量。

圖5 主程序流程圖Fig.5 Flow chart of main program
由于倒車雷達的工作環境比較容易受外界的振動、沖擊、電磁等干擾,必須在硬件和軟件設計中考慮抗干擾的能力。本設計在電源的輸入端串聯了一個LC濾波器和扼流圈,防止干擾信號的串入;在硬件電路設計時增加了信號隔離、接地屏蔽;軟件設計時對脈沖信號進行了濾波。
文中設計的是基于AT89S52單片機的超聲波倒車雷達[6],其結構簡單、體積小、抗干擾性能好,可應用于汽車倒車等場合,提醒駕駛員倒車時有效地避開可能對倒車造成危害的障礙物和行人,從而有效避免由于倒車造成的汽車碰撞或擦傷經濟損失和人身安全問題,具有較強的實用性。當然,要滿足更高的精度要求,還須進行適當改進,例如可增加溫度補償單元;在某些特殊場合的應用中,還要考慮超聲波的入射角、反射角以及超聲波傳播介質的密度、表面光滑度等因素。
[1]沈紅衛.基于單片機的智能系統設計與實現[M].北京:電子工業出版社,2005.
[2]魏澤鼎.單片機應用技術與實例[M].北京:電子工業出版社.2005.
[3]朱利娜.基于單片機的超聲測距倒車雷達的研究[J].微計算機信息,2007,23(23):73.ZHU Li-na.Study of ultrasonic distance-measurement automobile-reversing radar based on microcontroller[J].Microcomputer Information,2007,23(23):73.
[4]邱瑞昌,姜久春.泊車用超聲波測距儀的研制[J].電子產品世界,2001(18):12-13.QIU Rui-chang,JIANG Jiu-chun.Design of ultrasonic range finder for parking[J].Elctronic&Computeb Design World,2001(18):12-13.
[5]張春光.基于單片機的超聲波測距儀系統的設計[J].機床與液壓,2008,36(7):209-211.ZHANG Chun-guang. Design of ultrasonic distance measurement system based on microprocessor[J].Machine Tool&Hydraulics,2008,36(7):209-211.
[6]安宗權,冷護基.基于ATmega8單片機的超聲波測距儀[J].計算測量與控制,2005,13(11):1299-1300.AN Zong-quan,LENG Hu-ji.Ultrasonic distance measurement instrument based on ATmega8 microcontroller[J].Computer Measurement&Control,2005,13(11):1299-1300.