梁鐸耀 梁雅淇 武斌 付向上



摘? 要:采用STC89C52RC單片機作為汽車超聲波雷達輔助泊車系統的控制器,配合超聲波測距模塊HC-SR04實現超聲波測距功能,輔助駕駛員泊車。為了補償超聲波傳播速度受溫度變化的影響,使用DS18B20溫度傳感器測取環境溫度,提高測距精度。在液晶顯示器(LCD)顯示測距結果的同時,使用語音播報模塊ISD1700播報實測距離,改善用戶的使用體驗。系統的有效測距范圍為0.2cm~250cm,1m以內測距誤差小于1cm,100cm~250cm內測距誤差小于3cm。
關鍵詞:超聲波雷達;溫度補償;語音播報;STC89C52RC單片機
中圖分類號:TP216? ? ? ? 文獻標志碼:A
0 引言
由于汽車及其駕駛員的數量激增,車位緊缺和緊湊型車位對駕駛員的泊車技術提出更高的要求。為了輔助駕駛員泊車,開發具有語音播報功能的高精度汽車超聲波雷達輔助泊車系統。該系統可以實時監測車體與障礙物的距離,有效擴大駕駛員的視場,幫助駕駛員正確判斷車體位置,采取正確的泊車操作,避免剮蹭事件發生。
1 超聲波測距原理
超聲波測距原理如圖1所示,通過測量超聲波傳播的回波時間T,計算超聲波探頭與障礙物之間的距離,計算公式如式1所示。
(1)
式中:S為所測距離;T為超聲波的回波時間;v聲:為超聲波的傳播速度。
圖1 超聲波測距原理
2 系統硬件設計
采用STC89C52RC單片機作為輔助泊車系統的控制中心,配合超聲波測距模塊、溫度補償模塊和語音播報模塊等硬件,通過單片機中斷控制及串口通信等實現6點測距的輔助泊車系統。為了改善駕駛員的使用體驗,在實時顯示車體到障礙物的最小距離的同時,伴隨語音播報,方便駕駛員及時判斷車體的位置。
超聲波雷達輔助泊車系統由單片機、超聲波模塊、溫度補償模塊、語音播報模塊和數碼顯示模塊5部分組成,各部分安裝位置如圖2所示,6個超聲波模塊分別布置在車體的前部、側部和尾部;單片機和LCD顯示器布置在駕駛員右前方,便于查看的位置;語音播報的揚聲器布置在駕駛員座椅旁。
輔助泊車系統的硬件電路如圖3所示。由于測距、語音播報和數字顯示需要的資源少、程序簡單,故選用單片機STC89C52RC。數據的采集處理和所有模塊的控制均由STC89C52RC實施。該單片機有4個8位可編程并行I/O口,兩個16位定時器/計數器,1個全雙工串行口,具有中斷系統和特殊功能寄存器SFR。CPU與各功能模塊通過內部總線相連接,進行信息交互。
令一個定時器記錄超聲波模塊的ECHO口保持高電平時間。另一個定時器產生5ms一次的中斷。每個中斷,LCD顯示刷新一次。每60個中斷,測距值更新一次。每70個中斷,ISD1700語音模塊播放距離值中的一位。
兩個外部中斷INIT0和INIT1連接按鍵,用于修改語音播報限值和安全距離報警限值。
由超聲波測距模塊HC-SR04模塊發射和接收超聲波。HC-SR04可非接式觸感測0.2cm~ 400cm的距離,模塊包括超聲波發射器、接收器及其控制電路。該模塊的超聲波發射接收口處于同一側,如圖1所示。單片機的I/O口連接HC-SR04的控制端Trig口,給Trig一個至少10μs的高電平觸發測距,HC-SR04模塊自動發射8個40kHz的方波,并自動檢測是否有回波信號,接收端ECHO一旦接收到回波信號,立即輸出一個高電平送至單片機I/O口,單片機檢測到高電平持續的時間就是超聲波的回波時間,由公式(1)可算出所測距離。
因為介質溫度變化時,超聲波的傳播速度會發生較大變化,所以測距雷達要在戶外精確測量,必須補償空氣溫度變化對測距的影響。式(2)所示為超聲波傳播速度V與空氣溫度T間的關系。在系統中配置一個溫度傳感器來檢測實時溫度,編寫溫度—聲速的對應數組,就能夠通過實測溫度來確定實時聲速。將經過溫度補償的聲速代入式(1),得到更精確被測距離。選用測溫精準、引腳少、成本低的數字化溫度傳感器DS18B20測取溫度。
V=331+0.6T? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
式中:V為超聲波的實際傳播速度;T為空氣溫度。
運算處理后的最小距離由LCD實時顯示,同時語音模塊播報實測距離。語音播報功能由ISD1700語音模塊搭載一個ISD1760語音芯片實現。ISD1700與單片機的通信遵循SPI通信協議,硬件連接只需要4根線(SCLK,MOSI,MISO,/SS)。在SPI模式下,用戶可以對任意存儲地址進行錄放,故逐個在地址內錄入“0”、“1”、“2”、“3”、“4”、“5”、“6”、“7”、“8”、“9”、“十”、“點”、“米”、“當前距離”的聲音信號,通過編程使得音頻地址和距離值對應就可以實現語音播報。
3 程序設計
汽車超聲波雷達輔助泊車系統的控制程序包括主程序、超聲波發送子程序、超聲波接收中斷程序、溫度補償子程序、LCD顯示子程序、語音模塊驅動子程序以及蜂鳴器報警子程序。對單片機進行各子程序的初始化;通過測溫程序測出當前溫度,并查找溫度對應的聲速;初始化定時器T0,啟動超聲波測距子程序,打開定時器,直至接收到回波信號停止計時;利用最短回波時間參數計算出最小距離,用LCD顯示并通過語音播報實時距離。當測得的距離L≤設定的報警距離時,蜂鳴器報警,提醒駕駛員制動。主程序流程如圖4所示。
4 測試結果與結論
經溫度補償的超聲波測距系統具有較高的測距精度,由實測數據可知,測試結果與實際距離基本一致,且數據穩定。汽車超聲波雷達輔助泊車系統測距范圍在0.2cm~250cm,在100cm以內誤差小于1cm,100cm~250cm內誤差小于3cm,測距精度1.2。該系統以聲音播報和蜂鳴器報警方式,提醒駕駛員做出相應操作,方便駕駛員泊車。
參考文獻
[1]武斌,王琦,袁文囿,等.超聲波倒車雷達系統設計[J].科技創新與生產力,2017(12):110-113.
[2]杜寧.基于溫度補償的超聲波測距系統設計[J].輕工標準與質量,2017(4):72-73.
[3]甕嘉民,翟子楠,馮賽賽.多功能超聲波測距儀的設計與研究[J].平頂山學院學報,2016(5):34-37.
[4]沈燕,高曉蓉,孫增友,等.基于單片機的超聲波測距儀設計[J].現代電子技術,2012,35(7):126-129.
[5]李軍,申俊澤.超聲測距模塊HC-SR04的超聲波測距儀設計[J].單片機與嵌入式系統應用,2011,11(10):77-78.
[6]夏繼強,鄭昆,鄭健峰,等.基于STM32的收發一體式超聲波測距系統[J].儀表技術與傳感器,2014(8):43-45,52.
[7]魏憲明.論超聲波測距儀技術[J].黑龍江科學,2013,4(9):124.