當前位置:編程學習大全網 - 編程語言 - 雷達預警程序設計

雷達預警程序設計

看看這個。

original/article/87/82/2009/20091219139294 . html

基於單片機的倒車防撞預警系統的設計與實現

0報價

汽車倒車防撞預警系統俗稱倒車雷達,是汽車停車的輔助裝置。倒車雷達在倒車時,利用超聲波測距的原理來檢測車尾與障礙物之間的距離。當車尾與障礙物的距離達到探測範圍時,倒車雷達通過數碼管動態實時顯示距離。當車尾與障礙物的距離達到設定的安全警示值時,倒車雷達發出警報聲,警示駕駛員,輔助駕駛員安全倒車。現在生產的中高檔車大多都裝了倒車雷達,但為了節約成本,其他車輛如經濟型轎車、公交車等都沒有裝倒車雷達。有市場需求的產品必然會帶動產品的開發和設計。倒車雷達電路有很多種。介紹了壹種基於單片機控制的倒車雷達系統,該系統采用通用單片機作為控制電路,便於系統功能的擴展。系統電路主要由集成器件組成,外圍元件少,電路簡單,調試方便,成本低,有利於商業化生產。

1系統的組成及工作原理

倒車防撞報警系統由四個封閉式(防水)超聲波傳感器及其超聲波發射和回波接收電路、超聲波信號放大電路、單片機控制電路、LED數碼管顯示電路和蜂鳴器聲音報警電路組成。系統組成框圖如圖1所示。

汽車倒車時,倒車換擋裝置自動接通系統電源,系統上電復位進入工作狀態。單片機編程產生壹系列40 kHz的矩形脈沖電壓,通過四選模擬開關加到超聲波發射和回波接收電路。超聲波傳感器被放大驅動發出超聲波,同時單片機開始計時。發射的超聲波碰到障礙物後形成反射波,部分反射波返回作用在超聲波傳感器上,通過聲/電轉換轉換成微弱的電信號。微弱電信號經放大整形後產生負跳變電壓,並向單片機發送中斷申請。單片機收到中斷申請的信號後,立即響應中斷,執行外部中斷服務程序,停止計時,獲得超聲波發出和返回的時間t,計算出發射點與障礙物的距離s,即s = (c t)/2。c為超聲波在空氣中的傳播速度,室溫25℃時約為346 m/s。如果發射的超聲波在測距範圍內沒有遇到障礙物,直到單片機產生定時器中斷,執行定時器中斷服務程序,選擇下壹條路徑,依次按左後路徑、左後中間路徑、右後中間路徑、右後路徑的順序連續發射和接收超聲波,並進行計算和處理。四路檢測處理完成後,四路選擇中測得的最小距離值由LED數碼管顯示。當最小距離小於預設報警距離時,單片機接通蜂鳴器電源,蜂鳴器發出報警聲。如果四路檢測沒有回音中斷應用,“-”。將顯示“-”,表示安全距離內無障礙物,然後繼續下壹輪循環檢測處理。

2系統硬件電路設計

2.1超聲波發射和回波接收電路

超聲波發射和回波接收電路的主要作用是提高驅動超聲波傳感器的脈沖電壓的幅度,有效地進行電/聲轉換,增加超聲波的發射距離,並通過集成收發器的超聲波傳感器將返回的超聲波轉換成微弱的電信號。超聲波發射和回波接收電路如圖2所示(畫了壹個電路,其他三個電路與此相同)。

EFR40RS是壹種帶有集成收發器的封閉式(防水)超聲波傳感器。其中心頻率F0 = (40.0 1.0) kHz,-3 dB帶寬1 kHz。峰峰值驅動電壓要求60 ~ 150 V,CD4052是壹個雙向四選模擬開關。單片機P3.4和P3.5端口輸出選通信號,單片機P3.3端口輸出壹系列40 kHz的脈沖電壓,通過CD4052的X通道加到選通開關晶體管Q1的基極,通過脈沖變壓器t 1升壓到100 VP-P左右,驅動超聲波傳感器EFR40RS。傳輸過程中脈沖電壓的幅度直接影響測距的距離,所以要使用超聲波專用的脈沖變壓器。反射的超聲波通過集成收發器的原始封閉式超聲波傳感器轉換成壹系列毫伏級的脈沖電信號。由於回波信號的幅度較小,VD3和VD4二極管關斷,信號不會通過T1變壓器的二次繞組形成短路。二極管VD1和VD2也關斷,因此回波信號通過R1和C1以及CD4052的Y通道送到超聲波信號放大整形電路。R1、VD1、VD2組成雙向限幅電路,避免大信號在傳輸過程中對超聲放大整形電路造成阻塞甚至損壞。

2.2超聲波電信號放大電路

超聲波信號放大電路由集成電路CX20106A組成。CX20106A是日本索尼公司生產的紅外遙控信號接收集成電路。通過外部電阻將內部帶通濾波電路的中心頻率f0設置為40 kHz,就可以接收到放大後的超聲波信號,並對負脈沖電壓進行整形輸出。

應用電路如圖3所示。1腳是超聲波信號的輸入端,RC串聯網絡連接在2腳和地之間,是內部前置放大電路負反饋網絡的壹部分。電阻器R5的值決定了前置放大器電路的增益。R5電阻降低,負反饋減弱,放大倍數增加;反之,放大倍數降低。檢測電容C3連接在引腳3和地之間,通過適當改變電容C3的大小,可以改變超聲信號放大整形電路的靈敏度和抗幹擾能力。C3電容大,靈敏度低,抗幹擾能力強;C3容量小,靈敏度高,抗幹擾能力弱,容易造成誤操作。在引腳5和電源之間連接壹個電阻,以設置內部帶通濾波器電路的中心頻率f0。

當R6 = 200kω時,f0=40 kHz。在引腳6和地之間連接壹個標準值為330 pF的積分電容。如果電容值過大,探測距離會縮短。引腳7是電路的集電極開路輸出,R7是該引腳的上拉電阻。當集成電路CX20106A沒有信號輸入時,7腳輸出高電平。當輸入的超聲信號被放大和整形後,引腳7輸出負脈沖電壓。

2.3單片機控制電路及顯示和報警電路

電路如圖4所示。由於系統中使用的單片機輸入/輸出端口不多,在不考慮功能擴展的情況下,從功能充足和成本低廉的角度出發,采用AT89C2051單片機作為控制電路的核心器件。AT89C2051 MCU * * *有20個管腳,包括15個I/O口(P3.6沒有管腳)。兩個16位定時器/計數器體積小,價格低。使用12 MHz的高精度晶體振蕩器來獲得穩定的時鐘頻率並減小測量誤差。單片機的P3.3口周期性地輸出壹系列40 kHz的矩形脈沖,通過兩路四取四模擬開關CD4052周期性地加到四路超聲波發射和回波接收電路中。單片機的P3.4和P3.5端口輸出模擬開關CD4052的選通信號。MCU的P3.2端口是外部中斷0中斷申請信號的輸入端。三位LED數碼管采用動態掃描顯示。U4的小數點壹直開著,U4的單位是m,U5的單位是dm,U6的單位是cm。采用有源蜂鳴器作為報警發聲裝置,成本低,便於動態掃描顯示的軟件編程。

3系統軟件設計

系統軟件采用模塊化設計,便於擴展和移植。匯編語言編程。有主程序、T0中斷服務程序、外部中斷0服務程序和超聲波發生子程序。

3.1主程序

該系統有四個測距通道,分時工作,按左後、左後、左後、右後、中後、右後的順序循環測距。每路發射超聲波後等待外界中斷的時間應大於超聲波在最大有效探測距離內的往返時間。因此,可以根據最大有效探測距離來估計最短循環間隔時間。因為超聲波在空氣中的傳播能量會不斷衰減,所以超聲波測距存在壹個最大有效探測距離。這個最大有效探測距離與許多因素有關:

與超聲波傳感器的性能、驅動超聲波傳感器的脈沖電壓的幅度(功率)、障礙物的大小和形狀、障礙物的吸波特性、反射波與入射波的夾角、超聲波放大整形電路的靈敏度等因素有關。將最大有效探測距離設置為8 m(集成收發器的封閉式超聲波傳感器很難實現,實際上也不需要探測遠處的障礙物,在設計上留個余量就可以了。由於顯示位數有限,最大探測距離也必須受到限制),那麽循環操作的間隔時間TM = 2s/c = 2× 8/346a46ms,加上避免接收超聲波傳感器余震的延時和程序執行時間,留有足夠的余量,設置Tm△56 ms。

主程序流程圖如圖5所示。首先是初始化系統。端口p1.0和P3.3設置為0;設置堆棧,中斷使能總控制位EA允許中斷(EA = 1);允許外部中斷0(EX0 = 1),采用邊沿觸發方式(IT0 = 1);設置定時器T0允許中斷(ET0=1),時間約56 ms在16位工作模式下;在16位工作模式下,將定時器T1設置為time/count,計數初始值0000H,然後開始T0計時。設置顯示數據的初始值為三位BCD碼999(cm),對應字形段碼顯示“-”。四路檢測處理完成後,將四組數據的最小值送入顯示緩沖區,由LED數碼管顯示。同時,將該值與設定值100 cm進行比較。如果四組數據的最小值小於100 cm,P3.7口置0,Q2晶體管導通,有源蜂鳴器上電,發出報警聲。

由於單片機使用的是12 MHz的晶振,而1機器的周期是1μs,所以計數器的每次計數都是1μs,定時器T1的工作模式設置為16位定時/計數器模式,其最大定時為65.536 ms由於定時器T0每56 ms產生壹次中斷,所以T65438的定時完成壹輪四向檢測處理大約需要56 ms×4=224 ms,時間很短,倒車速度較慢,可以實時動態顯示。

3.2 T0中斷服務程序

T0中斷服務程序的流程如圖6所示。每隔56 ms,按左後→左後中心→右後中心→右後的順序選通下壹個超聲波發射和回波接收電路,調用超聲波發生子程序發出16個40 kHz的超聲波脈沖電壓。定時器T1開始計時,定時器T0開始計時56 ms,這樣每個通道工作56 ms..

為了避免接收到超聲波傳感器後振直達波引起的中斷申請,外部中斷0允許在延遲2.8 ms後中斷,等待接收返回的超聲波信號。因此,最小檢測距離(盲區)Smin = CT/2 = 346× 0.002 8/2 △ 0.48m。在檢測到四條路徑後,將四條路徑的最小值發送到顯示緩沖區。在四路檢測中,如果有效檢測範圍內部分路徑發射的超聲波沒有遇到障礙物或回波,或者外部中斷0沒有產生中斷申請信號,或者進入檢測盲區,外部中斷0產生的中斷申請不被接受,定時器T1計數到定時器t 0產生中斷,在t 0中斷服務程序中,四組數據設置三位BCD碼999(三位十進制數最大值為999 cm)。如果顯示緩沖區中的四組數據都是999,對應字體段代碼會顯示“--”。倒車開始時,LED數字顯示器會顯示“-”。-”,表示安全距離內沒有障礙物;如果警報聲響起並且“-”。-"顯示,表示已進入檢測盲區。

3.3外部中斷0服務程序

服務程序的外部中斷流程如圖7所示。單片機壹旦接收到返回的超聲波信號(即INT0引腳從高電平跳到低電平),立即進入外部中斷0服務程序。首先停止定時器T1,禁止外部中斷0。然後根據公式S = CT/2 =(346 xn×10-6)/2 = 173 xn÷10000計算出定時器T1中的數字n,即超聲波往返所用的時間n(單位:μs)。然後等待定時器T0計時56 ms中斷,並繼續下壹個檢測過程。

3.4超聲波生成子程序

超聲波發生子程序通過P3.3端口發送16個25μs的矩形脈沖電壓(即在1個周期中,頻率為40 kHz,高電平持續13 μ s,低電平持續12 μs)。脈沖串數量為10 ~ 20。脈沖太少,發射強度低,探測距離短;脈沖太多,傳輸持續時間長。當距離障礙物較近時,先發射的脈沖產生的回波會到達接收端,影響測距結果,增加測距盲區。

4.實施應用程序分析

該系統的可行性已在實驗室條件下進行了研究和設計,在實際應用中必須考慮測量精度和工作穩定性問題。因此,本系統可以采取多種措施來提高測量精度和工作穩定性。

(1)超聲波的傳播速度與溫度有關。為了滿足不同環境溫度下測距的需要,提高測量精度,可以在硬件電路中增加檢測車外環境溫度的環節。單片機根據測得的溫度值計算確定超聲波的傳播速度,即c = 331.4+0.6lt. T為環境溫度。或者,在不增加硬件成本情況下,通過分析實驗數據,找出測量值與實際值偏差的特征和規律,並通過軟件編程對測量數據進行修正。

(2)在軟件設計中,采用數字濾波中的算術平均濾波程序,對每個測距點進行多次連續測量,取平均值作為該測距點的測量數據,提高數據采樣的可靠性。為了最小化檢測盲區,可以根據實際使用的超聲波傳感器的剩余振動時間來確定設定的延遲時間,最小延遲時間可以在實際調試中確定。

(3)倒車雷達安裝在車內,倒車雷達的工作環境非常惡劣。汽車倒車時,高壓點火產生強烈的電磁輻射,會影響電路的正常工作。因此,應在硬件和軟件上考慮抗幹擾措施,以提高系統的可靠性。如果用金屬外殼屏蔽電路,用屏蔽線連接超聲波傳感器;在滿足測量距離的情況下,可以適當調整超聲信號放大整形電路中檢測電容C3的容量。硬件上可增加看門狗電路,軟件設計上可增加指令冗余、軟件陷阱或軟件看門狗,防止程序“跑偏”或進入死循環。對於司機來說,倒車時主要關心的是車後是否有障礙物,障礙物離車有多遠。由於汽車剎車時的慣性,駕駛員倒車遇到障礙物時總是要提前剎車。考慮到性價比,倒車雷達的測量精度不需要很高。但考慮到倒車的安全性,此時測得的顯示值與其說小,不如說大。

5結論

該系統充分利用單片機內部資源,用軟件編程產生超聲波矩形脈沖代替硬件超聲波發生電路,節省了硬件成本。采用集成器件實現超聲波接收、放大和整形,避免了多級集成運算放大器組成的高增益放大電路的自激問題。實驗表明,該設計是可行的。在不增加硬件成本的情況下,通過改進軟件設計,可以提高系統的測量精度和工作可靠性,滿足使用要求。在考慮功能擴展時,可以使用帶看門狗的AT89S52單片機來增加擴展端口。在超聲波測距的基礎上,如果能增加防盜報警功能,車載電池電壓檢測功能等。,如果再加上壹個微型攝像頭和壹個小液晶,就變成了壹個可以直接觀察車尾的視覺倒車雷達。這個系統是實用的和有成本效益的。

  • 上一篇:每天幾道法語題
  • 下一篇:熱電偶是什麽?
  • copyright 2024編程學習大全網