基于單片機的倒車防撞預警系統(tǒng)設(shè)計和實現(xiàn)
為了避免接收到超聲波傳感器余振的直射波產(chǎn)生的中斷申請,延時2.8 ms后,才允許外部中斷0中斷,等待接收返回的超聲波信號。所以,最小探測距離(盲區(qū))Smin=Ct/2=346×0.002 8/2△0.48 m。四路探測處理完畢,將四路中最小值送入顯示緩沖區(qū)。若在四路探測中有些路在有效探測范圍內(nèi)發(fā)射的超聲波未遇障礙物,無返回波,外部中斷0不產(chǎn)生中斷申請信號,或者是進入探測盲區(qū),外部中斷0產(chǎn)生的中斷申請不被受理,則定時器T1計時到定時器T0產(chǎn)生中斷,在T0中斷服務(wù)程序中,用三位BCD碼999(三位十進制數(shù)最大值999 cm)置夠四組數(shù)據(jù)。若顯示緩沖區(qū)的四組數(shù)據(jù)都是999時,則對應(yīng)字形段碼顯示“---”。倒車伊始,LED數(shù)碼顯示器就顯示“-.--”,表明在安全距離內(nèi)沒有障礙物;若發(fā)出報警聲后,又顯示“-.--”,表明進入了探測盲區(qū)。
3.3 外部中斷0服務(wù)程序
外部中斷O服務(wù)程序流程圖如圖7所示。單片機一旦接收到返回超聲波信號(即INT0引腳由高電平跳變?yōu)榈碗娖?,立即進入外部中斷0服務(wù)程序。首先停止定時器T1計時,禁止外部中斷0中斷。然后將定時器T1中的數(shù)N,也即將超聲波往返所用的時間N(單位:μs),按式S=CT/2=(346 x N×10-6)/2=173×N÷10 000計算,即得被測物的距離(單位:cm),將計算結(jié)果以百位、十位、個位BCD碼方式送入比較大小的緩沖區(qū),以備比較大小使用。然后等待定時器T0定時56 ms中斷的產(chǎn)生,繼續(xù)下一路的探測處理。
3.4 超聲波發(fā)生子程序
超聲波發(fā)生子程序通過P3.3端口發(fā)送16個周期是25μs(即頻率40 kHz,1個周期內(nèi)高電平持續(xù)13μs、低電平持續(xù)12 μs)的矩形脈沖電壓。脈沖串個數(shù)在10~20個比較合適。脈沖個數(shù)太少,發(fā)射強度小,探測距離短;脈沖個數(shù)太多,發(fā)射持續(xù)時間長,在離障礙物距離近時,脈沖串尚未發(fā)射完畢,先發(fā)射出去的脈沖產(chǎn)生的回波就到達接收端,影響測距結(jié)果,造成測距盲區(qū)增大。
4 實現(xiàn)應(yīng)用分析
本系統(tǒng)在實驗室條件下進行了可行性的研究設(shè)計,要實際應(yīng)用中就必須考慮測量精度和工作穩(wěn)定性的問題。因此,本系統(tǒng)可采取幾項措施來提高測量精度和工作穩(wěn)定性。
(1)超聲波的傳播速度與溫度有關(guān)。為了適應(yīng)不同環(huán)境溫度下的測距需要,提高測量精度,硬件電路上可增加檢測車外環(huán)境溫度的環(huán)節(jié)。單片機根據(jù)實測的溫度值,再計算確定超聲波的傳播速度,即C=331.4+0.6lt。t是環(huán)境溫度?;蛘咴诓辉黾佑布杀厩闆r下,可考慮通過實驗數(shù)據(jù)分析,找到測量值與實際值偏差特點和規(guī)律,通過軟件編程對測量數(shù)據(jù)進行校正處理。
(2)軟件設(shè)計中采用數(shù)字濾波中的算術(shù)平均濾波程序?qū)γ總€測距點進行連續(xù)多次測量,取平均值作為該測距點的測量數(shù)據(jù),以提高數(shù)據(jù)采樣的可靠性。要盡量減小探測盲區(qū),所設(shè)定的延時時間可根據(jù)實際所用超聲波傳感器余振時間而定,可在實際調(diào)試中確定最小延時時間。
(3)倒車雷達安裝在車上,倒車雷達的工作環(huán)境非常惡劣,汽車倒車工作時,高壓點火產(chǎn)生很強的電磁輻射,會影響電路正常工作。所以在硬件及軟件方面要考慮采取抗干擾措施,提高系統(tǒng)工作的可靠性。如用金屬殼屏蔽電路,采用屏蔽線連接超聲波傳感器;在滿足測量距離的情況下,可適當調(diào)大超聲波電信號放大和整形電路中檢波電容C3的容量。硬件上可增加“看門狗”電路,軟件設(shè)計添加指令冗余、軟件陷阱、或設(shè)置軟件“看門狗”,防止程序“跑飛”或者進入死循環(huán)。對于駕駛員來說,倒車時主要關(guān)心的是車后方有無障礙物、以及障礙物離車大約有多遠等問題。由于車子制動時存在慣性,倒車遇到障礙物時,駕駛員總要提前制動??紤]性價比,倒車雷達測量精度不必很高。但從倒車安全考慮,此時的測量顯示值寧大勿小。
5 結(jié) 語
本系統(tǒng)充分利用了單片機的內(nèi)部資源,用軟件編程產(chǎn)生超聲波矩形脈沖,代替硬件的超聲波發(fā)生電路,節(jié)省了硬件成本。采用一塊集成器件實現(xiàn)超聲波接收放大和整形,避免了采用多級集成運放組成高增益放大電路易產(chǎn)生自激等問題。實驗表明設(shè)計可行。在不增加硬件成本時,通過完善軟件設(shè)計,可提高系統(tǒng)測量精度和工作的可靠性,能夠滿足使用要求。在考慮功能擴展時,可以采用帶“看門狗”的AT89S52單片機,以增加擴展端口。在超聲波測距的基礎(chǔ)上,如可增加防盜報警功能、車載蓄電池電壓檢測功能等,若增加微型攝像頭和小型液晶顯示器,便成為可直接觀察車后方的可視倒車雷達。本系統(tǒng)實用性強,性價比高。
評論