,
(重慶交通大學 機電與車輛工程學院,重慶 400074)
每年新增汽車的數量不斷增多,駕駛員對車輛安全的要求也越來越高。車輛與車輛,車輛與路障設施,車輛與行人等安全問題也越來越突出。目前現有的全方位雷達顯示設計方案,不能直觀顯示到車身周圍障礙物距離情況,也不能預警提示駕駛人員當前車速下的方位距離已經進入了危險值。傳統(tǒng)抬頭顯示系統(tǒng)只能顯示車輛速度,油耗等儀表上面的參數。為此提出一個基于STM32便攜式全方位雷達抬頭顯示器的設計方案,增加了車身方位雷達預警距離,增加了匹配當前車速所對應的預警閾值。
駕駛人員通過平視前擋風玻璃就可以觀察車身距離預警信息,在整個過程中不影響駕駛員正常駕駛[1]。該方案實用性強、安裝便捷、功耗低、制造成本低,可為以后的智能駕駛和智能泊車系統(tǒng)提供相關的數據參考。通過對該系統(tǒng)介紹,重點講述了整個系統(tǒng)搭建與程序設計。
抬頭顯示器將整個車身雷達距離信息點投影在前擋風玻璃上,包括左右兩側車門、前后車頭和車位、安全提示距離。通過嵌入式檢測車身8個位置點的雷達傳感器的距離信息,通過抬頭顯示器呈現出來。設定速度與安全距離公式閾值D。小于該閾值檢測距離,抬頭顯示器對應位置LED才會進入激活狀態(tài)。與此同時,預警頻率會隨著距離縮小而增加響應頻率。
該設計方案區(qū)別傳統(tǒng)全方位雷達,不僅于此,而且系統(tǒng)具備汽車CAN通信功能,可以在駕駛過程中根據ODB II接口讀取車輛速度信息、制動、油門信息,配合車輛全方位雷達信息,產生一個系統(tǒng)危險系數[2]。同時配合LED顏色(白色漸變紅色)線性與該系數,讓駕駛人員更加醒目地知道車身周圍距離情況。系統(tǒng)整體構架如圖1所示。
圖1 統(tǒng)整體構架
車載抬頭顯示器(車載平視顯示器)主要是利用LED顯示器投影前擋風玻璃,然后反射進入人眼成像[3]。通過合理的亮度調節(jié)就會在前擋風玻璃上形成一個適中半透明的區(qū)域,會產生一個路面圖像和顯示LED重疊區(qū)域,當需要顯示車輛信息時可直接投影顯示,而駕駛人員一直保持抬頭駕駛狀態(tài),在駕駛人員觀察信息過程中并不影響駕駛員正常駕駛。車載抬頭顯示示意圖如圖2所示。
避免因低頭查看汽車儀表信息而產生安全隱患,而且巧妙結合STM32提示休眠式模式,只有在車輛相應角度進入警戒范圍過后,才會顯示車輛對應位置距離信息,大大降低了對正常駕駛的影響。
圖2 車載抬頭顯示示意圖
本系統(tǒng)硬件主 要 由STM32、ODB解碼芯片、CAN物理收發(fā)器、RGB LED驅動控制單元TM1620(發(fā)光二極管陣列組成的顯示器)、全方位雷達檢測模塊組成。整體硬件組成如圖3所示,硬件包括了STM32控制單元,ODB接口通過CAN物理芯片接收到數據傳遞給ODB解碼芯片TDA61,可以提取出車輛的車速、油量大小信息。由于STM32內部集成CAN控制器,這樣可以省掉外掛,CAN控制器就可以實現對汽車ODB總線上數據進行監(jiān)控,也大大降低了硬件成本。
圖3 整體硬件組成
系統(tǒng)控制單元選用的是意法半導體公司生產的基于Cortex-M3內核的STM32F103單片機。該單片機采用精簡指令集,配合高速72 MHz工作主頻,有很高的運行速度,同時功耗又大大降低。STM23系列的單片機有豐富的外設,適用于很多目標設計,是目前運用最為廣泛的單片機之一。
在設計之初ODB有多重協(xié)議,協(xié)議之間又不能相互兼容。剛開始,ODB只是針對于監(jiān)控汽車尾氣排放的一種接口。發(fā)展到了ODB II后,市場就統(tǒng)一采用ODB II作為實時監(jiān)控汽車組件,運行各個參數的接口。如有異常則將故障碼保存下來[4]。該數據也能夠精準定位,維修人員便于維護。
為了大大簡化設計成本并易于推廣,采用TDA61的OBD II解碼方案,芯片體積小、功耗低、外設豐富,它能夠通過汽車的OBD II接口直接讀取車輛運行的速度和油門開度。單片機只需要幾條簡短的指令就可以讀取多條數據。TDA61支持12種OBD II,支持市面上絕大多數汽車,有著很好的推廣價值[5]。該硬件系統(tǒng)通過汽車OBD接口取電,在汽車沒有啟動的時候并不工作,不會因此而導致汽車虧電。
采用市場比較成熟的方案——超聲波測距模塊[6]。相比于紅外線測距模塊容易受到環(huán)境光照和紅外線對影響,鏡頭要交較高,該模塊對于汽車運行環(huán)境沒有苛刻的要求,在下雨或者晴天時,室內室外都能及時檢測到距離信號。相比于車用毫米波和激光雷達,容易受到電磁干擾、維護成本高等特點。超聲波測距是最為成熟穩(wěn)定的測量方式,容易安裝,可以24小時不間斷工作,而被大量應用于車身距離預警系統(tǒng)中。
選擇RT收發(fā)一體傳感器探頭,工作頻率為40 kHz[7]。超聲波測距傳感器分為8個測量通道,在汽車的每一個方位安裝一個傳感器,可實時不間斷地對車輛周圍距離進行掃描。通過多個超聲波檢測才能反映出障礙物方位,同時能實時顯示障礙物動態(tài)距離并提供給駕駛人員。
3.4.1一體式超聲波傳感器測量電路
采用多個測量通道,STM32通過定時器產生8通道信號PWM周期為40 kHz,占空比為50%方波信號。如果通過STM32直接驅動功率是遠遠不夠的,可通過Q1、Q2增強驅動能力,經過二級升壓變壓器將信號傳遞到傳感器上。采用升壓線圈是為了防止在接收回波信號時對輸入信號產生影響,可起到隔離的作用。超聲波發(fā)送電路如圖4所示。
圖4 超聲波發(fā)送電路
采用了發(fā)送和接收一體的方案,存在較高的發(fā)射電壓信號與較低微弱的回波信號混在一起的情況,有必要將發(fā)射電壓信號進行濾波處理,保證信號的穩(wěn)定性。通過傳感器檢測回來的信號比較微弱,達到mV級別,所以要濾波并同時去掉直流成分。通過STM32自帶高速ADC,對輸出信號out_sin采集即可完成。圖5為超聲波接收電路。
圖5 超聲波接收電路
3.4.2距離檢測技術
超聲波測距有多種技術,本文采用超聲波返回時間檢測方案,通過STM32驅動發(fā)送8個40 kHz脈沖,同時STM32開啟定時。超聲波經過空氣物體反射,接收到反射回來的信號,定時結束,時間差為T。所測得距離如下:
S=CT/2
(1)
其中,S為超聲探頭距離障礙物的距離(單位為m),C為超聲波在空氣中的傳播速度(單位為m/s),T為超聲波一個來回所需要的時間(單位為s)。
超聲波傳輸模型如圖6所示。
圖6 超聲波傳輸模型
傳遞回來的信號通過一個預先設定的閾值作為比較,同時為了保證數據可靠性,采用卡爾曼濾波最終測得數據。STM32的運行速度可達72 MHz,可以提供高精度定時器和高速ADC采集速度,保證系統(tǒng)的測量精度。
測量時間模型如圖7所示。
圖7 測量時間模型
超聲波在空氣中的傳播速度如下:
V=C0+0.607×T
(2)
式中:C0為0 ℃時的聲波速度332 m/s;T為實際溫度(℃)。溫度傳感器直接采用STM32內部集成溫度傳感器進行補償,計算出來的數值是補償過后的數值[8]。
TM1620驅動LED陣列,反向投影在前擋風玻璃上,可以直接將車身周圍的距離投影到前擋風玻璃上。當測距模塊檢測距離小于安全距離,顯示車輛的具體方位安全距離。該LED顯示可以自動根據環(huán)境光照強度,合理控制LED的占空比,在不影響駕駛人員操作的情況下達到顯示效果。TM1620是發(fā)光二極管顯示器,內部帶有數據RAM、LED掃描電路,同時可以設置8級占空比可調電路,支持8×10 LED驅動位數,設計電路簡單時應用成本低,是目前運用較為廣泛的LED驅動器之一。
圖8 超聲波測量程序流程圖
在系統(tǒng)開始運行時,通過抬頭顯示器模擬小車形狀,投影到前擋風玻璃上。針對車身雷達距離檢測,首先要注意超聲波傳輸收到的溫度和空氣影響參數,然后作系統(tǒng)補償。初始化完STM32時鐘、定時器TIMER、ADC后選擇12位采樣精度。然后就定時采樣計算得到距離參數,其程序流程圖如8圖所示。
系統(tǒng)軟件部分包含了汽車OBD接口數據讀取部分、車身雷達距離監(jiān)測部分和抬頭顯示部分。首先要完成對TDA61的初始化過程,通過STM32初始化串口對解碼芯片TDA61進行讀取數據。OBD與顯示程序流程圖如圖9所示。
圖9 OBD與顯示程序流程圖
STM32-UART0設置通信波特率為9 600 bps,TDA61上電默認9 600 bps無符號和驗證位,然后在初始化之前一定要注意TDA61-CAN的物理端必須要加入終端匹配電阻,目前主流PCA82C251的匹配電阻為120 Ω。
對于不同車輛所支持的協(xié)議存在差異性TDA61支持目前主流的12種協(xié)議方式,其適用多種車型,設計者不必對協(xié)議本身花費過多時間,而主要關心設計所獲取的數據。獲取指令命令如表1所列。
表1 OBD指令
綜合考慮超聲波本身的固有誤差和測量精度,選擇STM32定時器時間分辨率為100 μs,該傳感器理論最小值為17 cm(在室溫條件下為100 μs×340 m/s×0.5)。因為沒有采用固定坐標時間,所以可以測量很長的距離間隔。但實際測量最大距離受環(huán)境和傳感器本身工藝限制,在超聲波距離10 m以外,ADC采集回來的信號非常微弱。
由于本次設計重點不在信號處理本身,而是實現方案。雖然采用了多個方位的傳感器,但在實驗室測試只針對其中一個方向傳感器做數據監(jiān)測處理。這樣更有利于分析超聲波傳感器在單一變量下的數據測量情況,如表2為單一方位測量的數據。
表2 超聲波雷達測量數據
由數據所得,實際距離S<0.1 m,其誤差為20 cm>17 cm。隨著距離增長,累計誤差也在增加,當超過10 m測量距離時,傳輸回的放大器處理信號微弱,其產生誤差已經達到17.8%以上。本系統(tǒng)是安全距離預警系統(tǒng),在遠距離的數據精度上滿足要求。
當汽車開始啟動后,分別考慮行駛和泊車這兩種條件。在泊車過程中,車速非常慢所以只需要全方位預警雷達極限檢測距離S。隨著與障礙物距離拉近,預警提示就越頻繁[9]。
在行駛過程中,小車經典模型D=K×S×V,K為設置比較率,取值范圍為0~0.9之間。D(m)最終為預警參數,V/(m/s)為車輛當前速度,同時設置預警強度參數m(30%,50%,90%),最終建立比較模型閾值D×m。處理汽車防撞安全距離的相關數據和技術都比較成熟,本文只是提供一種設計方案與思路[10]。最終正常行駛抬頭顯示器顯示車輛運行速度,達到預警強度比較閾值時就會產生報警提示。
本文主要討論一個基于低成本、便攜車身雷達抬頭顯示器的基本組成部分和設計思路。配合汽車CAN總線的OBD II預留接口,監(jiān)測車身周圍距離信息,提供給駕駛人員實時預警值??梢郧宄貙④嚿砻恳粋€方位的安全距離直觀投影到車載抬頭顯示器上,精準定位到車身角度安全距離參數,為駕駛人員提供駕駛或泊車過程預警。
[1] 王興,秦齊.車載平視顯示技術[D].長春:長春理工大學,2014.
[2] 鐘一鳴.車輛信息采集系統(tǒng)設計[D].杭州:杭州電子科技大學,2014.
[3] 林昱宏.反射式光學系統(tǒng)之設計與應用: 雙焦系統(tǒng)與汽車抬頭顯示器系統(tǒng)[D].臺北: 臺灣大學電機資訊學院光電工程學研究所,2011.
[4] 孟磊.基于OBD II的車載遠程故障診斷系統(tǒng)設計[D].武漢:武漢理工大學,2012.
[5] 徐輝,李英祥,余樂韜.車載診斷系統(tǒng)OBD II的汽車接口數據處理技術[D].成都:成都信息工程大學,2017.
[6] 黃燦勝,盤世準,黃露. 基于 AT89S52 單片機超聲波測距器的設計與制作[J]. 南寧師范高等??茖W校學報,2009,26(1):141-143.
[7] 李軍,申俊澤.超聲測距模塊HC-SR04的超聲波測距儀設計[J].單片機與嵌入式系統(tǒng)應用,2011(10).
[8] 聶瓊,嚴云煒,秦明明,等.基于溫度補償的超聲波精準測距智能車的設計[D].蘇州:蘇州農業(yè)職業(yè)技術學院,2017.
[9] 郭清.基于STC89C52的超聲波測距防撞系統(tǒng)設計[J].儀表技術與傳感器,2011(6).
[10] 韓星.基于毫米波雷達的汽車主動防撞預警目標識別[D].長春:吉林大學,2013.
陳星旭(碩士),主要研究方向為車輛電子、單片機嵌入式系統(tǒng)。