汽車防撞報警器的核心部件是汽車防撞雷達。
汽車防撞雷達(俗稱電子眼)之所以能實現防
撞報警功能,主要有超聲波這把無形尺子,
它測量最近障礙物的距離,并告知車主。
超聲測距原理簡單:它發射超聲波并接收
反射回波,通過單片機計數器獲得兩者
時間差t,利用公式S=Ct/2計算距離
(S為汽車與障礙物之間的距離;C為聲波
在介質中的傳播速度,C=331.4(1+θ/273);
θ為攝氏溫度。本文介紹的超聲測距系統共
有4只超聲波換能器(俗稱探頭),分別布置
在汽車的前左、前右、后左、后右4個位置上。
能檢測前進和倒車方向障礙物的距離,
通過后視鏡內置的顯示單元顯示距離和方位,
發出一定的聲響,起報警防撞作用。
1 天車防撞報警儀的總體方案設計
1.1 防撞報警儀的主要設計指標
(1)報警距離:5~30 m,
根據用戶的具體需要連續可調;
(2)根據用戶的需要選用分檔:
0.6 m,1.0 m,1.5 m,1.8m,2.4 m;
(3)電源:車載電瓶12 V;
(4)環境溫度:-20~+70℃;
(5)報警器尺寸:155 mm×155 mm×63 mm,
重量:3.5 kg。
1.2 系統總體方案
汽車防撞報警儀采用由AT89C52單片
機為核心組成的微機系統,對儀器進行控制,
其硬件系統如圖1所示。
硬件系統
1.3 工作原理
本防撞裝置利用聲波作為檢測波,
利用超聲波作為機械波,
其頻率為20 kHz~20 MHz。
隨著頻率的增加,檢測距離減小,
使用頻率在15~40 kHz之間,
檢測距離為0.5~3.0 m,
由發射器、接收器、控制器和反射板組成。
發射器、接收器和控制器安裝在防撞主體
(指由產品控制能實現防撞功能的汽車面板)上。
發射器發出檢測波,經反射面反射給接收器,
通過判斷處理后,發送控制器執行規定的功能。
基于單片機的天車防撞系統采用AT89C52單片機
和專用芯片測量超聲波發射到反射回所需的時間t,
由S=vt(v=314 m/s,計算時加入溫度補償)得到
從聲波發射到反射面的距離。此距離隨時顯示在
汽車駕駛室內,軟件可以設置幾級提示和報警,
當車障之間距離小于安全距離時,設置在駕駛室
的聲光報警儀即發出聲光信號,通知駕駛員謹慎操作,
從而有效地防止碰撞事故發生,保證人身及設備的安全。
2 硬件設計
2.1 固有頻率正反饋發生器電路
在硬件電路結構上,很重要的一點
是保證超聲波發射頻率與換能器固
有頻率的一致和穩定,不隨時間或
因溫度而漂移,同時也有利于超聲波
換能器發射能量的轉換。為達到這個目的,
固有頻率正反饋發生器電路是措施之一。
2.2 換能器
只使用一個換能器也有利于達到這個目的,
因為反射回的聲波就是它本身發射的聲波,
振頻率相同,壓電效應最佳。從電路結構講,
發射與接收切換器,使得一個換能器起到
發射與接收的兩個作用。
2.3 線性電路
線性電路包括前置放大、噪音過濾、
線性放大、整形電路。將微弱的聲發射
和接收信號進行處理,使之能與單片機
部分的后續電路相匹配。
2.4 微機處理器(主AT89C52)
通過軟件編程,使之能控制系統的正常工作。
具體功能如下:聲發射控制、報警距離級別
選擇、聲光語音報警、車位距離顯示、
汽車和串口中斷傳送數據。
2.5 顯示部分
顯示部分由從AT89C52和LED數碼管組成,
能將主AT89C52傳過來的信號經過驅動
傳送給位于駕駛室的從AT89C52的串口,
再點亮LED數碼管,起提示作用。
以上電路(除位于駕駛室的顯示部分外)
采用集成電路芯片,使之結構緊湊,
工作可靠。對超聲波進行編碼和解碼,
能完全克服各類頻譜的汽車光源和
自然光源的干擾。因帶有單片機電路結構
的系統必須保證抗干擾,故在本儀器中,
電源電路和相應的抗干擾電路是不可少的,
軟件程序編寫也要與硬件配合,同時解決抗
電磁干擾問題。既然是利用聲波測量距離,
就要考慮使用現場的聲波環境,因為它們
同樣能被超聲波換能器接收到。用于測量
距離的超聲波換能器的固有頻率一般都在
15~40 kHz,而路面的噪音頻率是十分豐富的,
它們中的聲譜頻率有與使用的換能器的固有頻率
相同的部分,則干擾回波測量。因此,在硬件
電路上要解決這個問題,同時在軟件程序的編制
上也要有抗干擾部分。報警距離級別選擇是為了
用戶在不修改程序的情況下,
根據用戶自己的意愿來選擇。
3 軟件設計
為了達到前述儀器的主要功能,
程序采用C51的功能模塊逐一實現。
程序分為主程序(chret.c)和另外
三個模塊文件,即display.c,
eraseint.a51,transplant.c。
3.1 主程序
主程序框圖如圖2所示。
主程序框圖
本程序對工作過程分了8個狀態:
準備狀態(t0~t1)、發射超聲波(t1~t2)、
不接收信號時間(t2~t3)、等待聲波反射時間
(t3~t4)、測反射的個數(t4~t5)、
不計反射波個數,間歇一段時間(t5~t6)、
再測波的個數(t6~t7)、間歇時間(t7~t0)。
為測得超聲波收發時間差 t,換算成距離s和
判斷是否報警,程序中使用了兩個函數:
一個是void t0Interrupt(void)interTupt:
1 using 1,它是t0計時中斷函數,
通過switch語句處理由工作過程分成的8種狀態。
另外一個是函數void intInterrupt(void)
interrupt2 using 2,它處理反射回來的輸入信號,
發生在t3~r4階段,主要是由int1外部中斷來得
出時間distanceIn-time,并啟動T1計數器,
它用來計算反射波個數。
通過以上兩個函數可獲得t,
后面轉換成s和判斷是否報警便迎刃而解。
Chret.c的函數組成:
主程序對抗干擾采取了3個措施(防止誤報警):
(1)t4~t5狀態,給反射回來的波定個窗口,
對于高于33.3 Hz或小于11.1 Hz的波不計數;
(2)t6~t7狀態,通過測10 ms來判斷:
若是干擾在此時能測到;若是正常反射,
此時應根本測不到波;
(3)對報警判斷兩次(1.3 s會自動清0一次)。
3.2 串口通信模塊——transplant.c
主要將主AT89C52的程序中chDis準確
無誤傳給顯示部分(位于駕駛室),
設計一個通信協議,以保證不收亂碼,
即在chDis這個數據前面添加一個報頭數據Head,
而后面添加一個檢驗數據check,這樣顯示部分
就只在Head出現時才接收,且檢驗正確才顯示。
由于測t時,程序的時序已經固定,在此基礎上
進行串口通信,就只能夠采用中斷方式,
而不能采用查詢方式,否則將出現“死機”現象。
對于display.c,eraseint.a51這兩個模塊,
在主程序中調用即可,功能單一:一個用來
顯示數據;一個用來執行iret指令。
4 結 語
本文設計的防撞裝置在結構上采用微電腦技術
和專用芯片設計,具有結構簡單,小型化的特點,
非常適合用于測控系統;在軟件設計上,突出模塊
的靈活性,并且 C51語言簡潔,大大簡化了編寫程序
的工作量。比較現在市場上已有的汽車防撞器,
該系統結構緊湊,成本低,可靠性好,通信能力強,
能有效地避免汽車相撞事故的發生,具有一定的市場價值。
FROM: Company Name: Aunytor Electronic (HK) Co.,Ltd
Contact Person: Charlotte
Skype: Aunytor
whatsapp:+86 13537622113
Email: carrot@aunytorchips.com