呂德深,梁承權
(1. 華南師范大學 物理與電信工程學院,廣州 510006;2. 南寧學院,南寧 530200)
隨著經濟的快速增長,人民生活水平不斷提高,私家車的數量大幅度增加,造成道路擁擠,交通事故頻頻發生,對人們生命造成嚴重的威脅,給人們財產帶來了巨大的損失。安全駕駛成為人們關注的焦點,其中汽車防撞報警器的設計顯得非常重要與迫切。針對這種情況,本文設計一種汽車防撞報警系統。該系統采用超聲波測距原理,在車輛行駛時自動檢測前方的車距[1]和相對速度并通過液晶顯示,同時根據車距和相對速度通過聲光報警電路發出預警信號,實時提醒駕駛員安全駕駛。
超聲波是一種頻率高于20000赫茲的機械波,指向性強,能量消耗慢,常溫下在空氣中的傳播速度為 v0= 3 40m/s。超聲波測距原理如圖1所示,其在空氣中傳播的距離L:

式中t為超聲波在空氣中的傳播時間。
由圖1中的三角形關系可知:防撞報警系統與障礙物之間的距離d:

式中S為報警系統中超聲波發射頭與接收頭之間的距離。
超聲波在空氣中傳播速度v0受溫度影響較大,所以必須考慮溫度對速度的影響,速度與溫度的關系為:

式中T為防撞報警系統的環境攝氏溫度[2]。
由式(1)、(2)、(3)可知,考慮了溫度影響后,報警系統與障礙物之間的距離d:


圖1 超聲波測距原理圖
該汽車防撞報警系統總體結構如圖2所示,主要由主控制電路、超聲波發射與接收電路、溫度測量電路、液晶顯示電路、聲光報警提示電路等組成。主控制電路是該汽車防撞報警系統的核心組成部分,負責產生超聲波發射電路所需的40KHz方波信號;同時對超聲波接收電路檢測分析的回波信號進行運算處理。溫度測量電路主要采集環境溫度,對超聲波速度進行校正,提高測量精度。所測量的溫度、距離、速度等信息最終通過液晶顯示出來,同時系統根據所得的距離和相對速度進行控制聲音報警提示電路和LED狀態提示電路,達到提醒駕駛員安全駕駛的目的。

圖2 系統總體框圖
主控制電路一方面負責產生超聲波發射電路所需的超聲波信號;另一方面對超聲波接收電路的回波信號進行處理,并控制聲光報警電路進行預警提示。
系統采用ATMEL公司的AT89C51單片機作為主控制器。該單片機采用高密度、非易失性存儲技術集成了豐富的片內外設資源,內含4K的flash,256字節的RAM,四組8位的IO口,2個外部中斷,2個定時計數器和一個串行中斷[3]。本系統主控制電路主要包括AT89C51單片機、時鐘電路、復位電路等,其電路如圖3所示。

圖3 主控制電路圖
發射電路與接收電路在距離測量中至關重要。發射電路功率較小,或者頻率不對,接收電路將難以接收到回波;接收電路放大倍數不夠,或者周圍環境干擾太大,容易造成接收不到回波信號或接收錯誤回波信號。
3.2.1 超聲波發射電路
超聲波產生的方式主要有:電氣方式和機械方式,本系統采用電氣方式的壓電型超聲波傳感器,其主要利用壓電晶體諧振工作,超聲波發射電路如圖4所示。單片機由定時器產生40KHz的方波信號經74HC04后送入轉換器,最終以超聲波形式發射出去。

圖4 超聲波發射電路
3.2.2 超聲波接收電路
由于超聲波在空氣中傳播受到空氣阻礙作用,距離越遠,反射回來的回波越弱。因此,接收到的回波信號必須進行放大、濾波、整形等處理。為了使電路簡單可行,綜合各方面考慮,本系統采用CX20106A為接收電路的核心器件[4],其芯片及外圍電路如圖5所示。CX20106A是索尼公司生產的一款紅外解碼芯片,解碼中心頻率由R14阻值決定,其內部集成了前置放大、限幅放大、寬頻帶濾波器、檢波及比較器、整形、滯后比較器等電路。系統采用CX20106A,大大降低了接收電路的復雜程度。

圖5 超聲波接收電路
由于超聲波在空氣中傳播的速度受溫度影響較大,在溫度變化較大的場合必須考慮溫度對速度的影響[5]。為了得到較高精度的溫度,系統使用DALLAS公司的單總線數字式溫度傳感器DS18B20。其優勢明顯:抗干擾能力較強;外圍電路較少,只需一個10kΩ的上拉電阻;單片機只需一個IO口就可對其讀寫。DS18B20傳感器的電路如圖6所示。

圖6 DS18B20測溫電路
傳統電子設備通常采用LED數碼管顯示,其亮度高、價格低等優勢而得到廣泛應用。其缺點卻很明顯,顯示內容較少、線路復雜,部分應用領域已被近年興起的LCD液晶逐步取代。LCD液晶顯示內容豐富、亮度均勻、性價比較高。本系統采用LCD12864液晶對溫度、距離、速度、提示語進行顯示。其電路接口如圖7所示。

圖7 LCD12864顯示電路
該防撞報警系統的報警提示電路如圖8所示。當報警系統檢測到障礙物距離大于5米并相對速度小于1m/s時,單片機控制蜂鳴器關閉,綠色LED亮,液晶上顯示“安全”字樣;否則,蜂鳴器發出報警聲音,紅色LED開始閃爍,液晶屏上顯示“危險”字樣;同時,距離越小,相對速度越大,報警聲音頻率越高,紅色LED閃爍越快,從而起到提示駕駛員注意保持車距安全駕駛的作用[6]。
該防撞報警系統軟件設計主要包括:超聲波信號產生子程序、超聲波接收中斷和超時中斷子程序、溫度測量子程序、液晶顯示子程序、預警處理子程序、距離修正子程序。系統軟件流程圖如圖9所示。系統一開始進入初始化程序,包括LCD12864初始化、外部中斷與定時器中斷初始化、單片機IO口初始化等。單片機發送10個40KHz的方波后,單片機等待外部中斷或定時器中斷的發生。若單片機發生定時器中斷,變量Test=2,說明超聲波接收超時,此時定時器數據無效。若單片機接收回波的IO口P3.2發生外部中斷,Test=1,此時讀取定時器寄存器TH0、TL0的值,即可得到(4)式中的t,并根據t計算出報警系統與障礙物間的距離d。

圖8 報警提示電路

圖9 系統軟件流程圖
超聲波反射的回波有一定的離散性,為了克服偶然誤差,得到更精準的測量結果,系統采用遞推中位值平均濾波法對測量結果進行修正。該方法是采用軟件濾波對數據進行修正:采用遞推的方法對每個測距點連續采樣N個數據,去掉一個最大值和一個最小值,然后計算N-2個數據的平均值作為該測距點的測量數據。這樣的處理能夠克服偶然引起的脈沖性干擾,消除脈沖干擾引起的采樣值偏差,使測量數據更準確可靠[7]。
為驗證設計方案和程序設計的正確性,對系統進行了仿真測試和硬件測試。
5.1.1 Proteus軟件介紹及仿真元件創建
Proteus是一款非常出色的EDA工具,能夠對常見的元器件進行準確仿真。該軟件和大多數仿真軟件一樣,可進行元件創建及層次原理圖的設計。Proteus元件庫中沒有超聲波發射和接收電路,故本文主要通過自制元件生成相應的電路。具體實現步驟如下:1)利用常用工具箱中的2D Graphics Line Mode和Device Pins Mode工具繪出整個線路連接圖;2)利用Make Device工具將線路連接圖組合成單一的元件;3)編輯元件的子原理圖。
本系統的超聲波發射接收模塊元件如圖10所示,其子原理圖是由NE555組成的單穩型壓控振蕩器,如圖11所示。當單片機發送40KHz的脈沖到NE555的2腳時,觸發壓控振蕩器工作,此時3腳輸出一定脈寬的方波,調節5腳電壓可輸出不同占空比,即實現了不同距離的調節。

圖10 超聲波發射接收電路線路圖

圖11 超聲波發射接收 電路的子原理圖
5.1.2 系統仿真測試
系統仿真如圖12所示,調節圖中的RV1可實現模擬不同距離的測量。
仿真測試實現了:1)環境溫度的實時測量及修正;2)兩車間距離、相對速度的顯示;3)根據距離與相對速度判斷車輛是否在安全范圍內,并給出相應的聲音報警和LED提示。

圖12 系統仿真原理圖
根據設計方案設計了如圖13所示的實物,并進行不同距離和相對速度的測試。測試結果表明:1)當距離大于5m且相對速度小于1m/s時,綠色LED亮,液晶屏給出安全提示;否則,液晶屏給出危險提示,并且紅色LED閃爍、蜂鳴器發出報警。2)實際距離越大,偏差越大。在10m范圍內測量數據較準確,能很好地提醒駕駛員安全駕駛,超出10m系統誤差大。
報警系統與障礙物的實際距離較大時,反射的回波較弱,容易受周圍環境影響而導致偏差較大,但相對誤差較小。

圖13 系統實物圖
本文設計的汽車防撞報警系統采用AT89C51為主控器,實現了實時的超聲波測距、測速,并將所測距離和相對速度顯示,同時系統根據距離和相對速度判斷汽車是否在安全范圍內,若不在安全范圍內系統將進行聲音報警和LED狀態提示。系統進行了Proteus仿真和硬件測試,驗證了系統的可行性和可靠性,此外,系統成本低,使用方便,能有效提醒駕駛員小心、安全駕駛,避免汽車相撞事故的發生,具有較大的實用價值和市場價值。
[1] 王業琴.基于AT89C52單片機的煤礦電機車防撞預警系統設計[J].煤礦機械,2013,34(3):248-250.
[2] 卜英勇,王紀嬋,趙海鳴,等.基于單片機的高精度超聲波測距系統[J].儀表技術與傳感器,2007,(3):66-68.
[3] 李錄鋒.基于AT89C51超聲波測距控制系統設計[J].制造業自動化,2012,34(4):45-47.
[4] 秦偉,顏文俊.基于CX20106A的超聲波倒車雷達設計[J].壓電與聲光,2011,33(1):161-164.
[5] 蘇煒,龔壁建,潘笑.超聲波測距誤差分析[J].傳感器與微系統,2004,23(6):8-11.
[6] 袁佑新,吳妍,劉蘇敏,等.可視汽車倒車雷達預警系統設計[J].微計算機信息, 2007,23(5):268-270.
[7] 張俊.匠人手記[M].北京:北京航空航天大學出版社,2008.