基于STM32的汽車入庫(kù)輔助儀的設(shè)計(jì)
摘 要:
摘 要:國(guó)內(nèi)外目前比較普及的汽車泊車系統(tǒng)為自動(dòng)泊車輔助系統(tǒng)[1]和汽車倒車?yán)走_(dá)影像系統(tǒng),但是這兩種系統(tǒng)都沒有把汽車入庫(kù)和泊車的直觀影像傳遞給司機(jī)。本文提出了一種通過在液晶屏上繪制汽車入庫(kù)時(shí)的俯視平面圖來輔助駕駛?cè)藛T完成入庫(kù)的思想,在原有入庫(kù)輔助系統(tǒng)基礎(chǔ)上,給司機(jī)一種更加直觀的入庫(kù)視覺體驗(yàn)。
關(guān)鍵詞:
關(guān)鍵詞:泊車 液晶屏 平面圖
目前,汽車泊車入庫(kù)輔助技術(shù)伴隨著科技的進(jìn)步也在與時(shí)俱進(jìn)的發(fā)展。汽車倒車影像雷達(dá)系統(tǒng)在國(guó)內(nèi)外很普遍,它是通過在車身后面安裝攝像頭,在車身后視鏡或其他位置安裝超聲波測(cè)距模塊,達(dá)到司機(jī)方便觀測(cè)車尾部分的情況和提醒司機(jī)危險(xiǎn)信息的目的。本文在現(xiàn)有輔助技術(shù)基礎(chǔ)上提出了一種改進(jìn)思想——平面顯示汽車入庫(kù)形態(tài)圖。
1 系統(tǒng)設(shè)計(jì)方案的分析
本文提出設(shè)計(jì)方案主要任務(wù)為以下幾個(gè)方面:在單片機(jī)上移植uC/OS-II操作系統(tǒng)和uC/GUI圖形開發(fā)界面;驅(qū)動(dòng)測(cè)距模塊和地磁傳感器,獲得距離和方位參;在LCD上繪制汽車入庫(kù)形態(tài)圖。
輔助儀工作效果概念圖如圖1所示。
圖1 輔助儀功能概念圖
1.1 單片機(jī)的選擇
由于我們需要運(yùn)行操作系統(tǒng)uC/OS-II,再考慮到功耗和資源利用率問題,,最終使用STM32F103VET6單片機(jī)作為本系統(tǒng)的主控器。該單片機(jī)采用ARM公司的 M3內(nèi)核,擁有512KB的flash程序存儲(chǔ)器和64K字節(jié)的SRAM存儲(chǔ)器,最高工作頻率72MHz,且?guī)в袃陕酚布蘒IC總線,能夠運(yùn)行uC/OS操作系統(tǒng)。
1.2 MAG3110地磁傳感器
飛思卡爾半導(dǎo)體推出首款磁力計(jì)M AG 3110是一款小體積、低功耗的三軸數(shù)字磁力計(jì),它提供增強(qiáng)型數(shù)字電子羅盤功能。它兼容標(biāo)準(zhǔn)IIC串行接口,能夠測(cè)量高達(dá)10高斯的所在位置磁場(chǎng),輸出數(shù)據(jù)率最高可達(dá)80赫茲。本設(shè)計(jì)使用它來測(cè)量車身地磁方位。
2 系統(tǒng)的移植開發(fā)
2.1 uC/OS-II移植
uC/OS-II絕大部分代碼是用標(biāo)準(zhǔn)的ANSI C編寫的,但是在讀/寫處理器寄存器時(shí),uC/OS-II仍需要通過匯編語(yǔ)言來實(shí)現(xiàn),移植工作主要集中在與處理器相關(guān)的三個(gè)文件:os_cpu.h、os_cpu_a.asm、os_cpu_c.c。
2.2 uC/GUI移植
本設(shè)計(jì)采用內(nèi)置ILI9341控制器和XPT2046觸摸芯片的液晶顯示屏,顯示屏的控制模式采用16位并口模式,uC/GUI 移植過程應(yīng)將uC/GUI文件與其它文件分離,本設(shè)計(jì)使用Keil MdK編譯環(huán)境下的uC/GUI的移植主要移植和修改文件為:LCDConf.h文件、GUIConf.h 文件、GUITouchConf.h文件。
2.3 MAG3110的驅(qū)動(dòng)
。1)I2C總線讀寫測(cè)試。上電之后讀 WHO_AM_I (0x07)寄存器,返回值應(yīng)為 0xC4。如果返回錯(cuò)誤值:檢查有無ACK,若無ACK,則MAG3110可能沒有正常工作;檢查時(shí)序及SCL時(shí)鐘是否大于最小時(shí)間要求。
。2)MAG3110初始化。先將MAG3110設(shè)為STANDBY模式(CTRL_REG1寄存器低兩位00),配置OSR、ODR將MAG3110設(shè)為ACTIVE模式(CTRL_REG1寄存器低兩位01),傳感器開始轉(zhuǎn)化數(shù)據(jù)。
。3)讀數(shù)據(jù)。讀DR_STATUS(0x00)狀態(tài)寄存器,如果DR_STATUS&0x08=1,一次轉(zhuǎn)換已經(jīng)完成,此時(shí)可以讀取數(shù)據(jù);讀OUT_X_MSB(0x01)、OUT_X_LSB(0x02)、OUT_Y_MSB(0x03)、OUT_Y_LSB(0x04)、OUT_Z_MSB(0x05)、OUT_Z_LSB(0x06)寄存器,分別得到X、Y、Z三軸十六位的數(shù)據(jù);此時(shí)轉(zhuǎn)動(dòng)MAG3110,三軸數(shù)據(jù)會(huì)發(fā)生變化。
。4)數(shù)據(jù)處理?紤]到只是當(dāng)做電子指南針使用,默認(rèn)是水平放置的,所以只需要處理X、Y軸的數(shù)據(jù)。
2.4 主進(jìn)程程序流程概述
在系統(tǒng)主進(jìn)程中檢測(cè)輔助儀軟件圖標(biāo)button按鈕是否按下,當(dāng)檢測(cè)到button按下后,開啟子進(jìn)程,進(jìn)入軟件繪制了簡(jiǎn)潔的軟件界面,系統(tǒng)界面建立的窗口有兩個(gè)button按鈕,同時(shí)顯示出MAG3110和超聲波模塊返回的數(shù)據(jù)信息接口。
子進(jìn)程阻塞等待檢測(cè)“CarPark”button是否按下,當(dāng)按下左邊CarPark按鈕時(shí),系統(tǒng)進(jìn)入入庫(kù)界面,在軟件主界面開了一個(gè)窗口,白色框代表的是車庫(kù),藍(lán)色線條繪制的圖形表示汽車后部分車身,Mag3110和HC-SR04開始工作,獲取汽車方位和距離信息,當(dāng)檢測(cè)到信息采集完成時(shí),界面開啟窗口,繪制汽車動(dòng)態(tài)圖。然后獲取超聲波和地磁傳感器信息顯示出來。
汽車形態(tài)數(shù)據(jù)計(jì)算部分,使用的是枚舉列表法。把舵機(jī)旋轉(zhuǎn)180度分成20份,當(dāng)舵機(jī)旋轉(zhuǎn)的時(shí)候,把超聲波采集的20個(gè)距離值存進(jìn)表Csb_table中;然后把地磁方位分成20份,中心值為庫(kù)的方位值,即車身正入庫(kù)時(shí)的方位值,方位表為Fw_table。當(dāng)舵機(jī)旋轉(zhuǎn)一遍時(shí),采集到Csb_table數(shù)據(jù)后,根據(jù)MAG3110返回的數(shù)值,和Fw_table(方位數(shù)據(jù))進(jìn)行比較,得到當(dāng)前方位位于表中的位置序號(hào),然后根據(jù)序號(hào),取Csb_table中的相應(yīng)序號(hào)的值作為庫(kù)最里面墻壁和車尾的距離,然后再通過方位差為90度的值的序號(hào),從Csb_table中取出左邊墻壁和右邊墻壁與車尾相應(yīng)的距離數(shù)值。最后便可得到車尾與車庫(kù)里墻、車庫(kù)左墻和車庫(kù)右墻的三個(gè)距離值。然后,通過左右距離值和車身寬度相加計(jì)算出車庫(kù)的寬度,讓它和LCD上開的白色窗口寬度比較得出圖例Bili,便可以很輕松地繪制出車身與車庫(kù)的關(guān)系了。
3 系統(tǒng)測(cè)試與驗(yàn)證
搭建好硬件系統(tǒng)后,移植uC/OS-II和uC/GUI到STM32上,測(cè)試結(jié)果如圖2所示。
圖2 輔助儀實(shí)際效果圖
設(shè)計(jì)效果基本實(shí)現(xiàn)了輔助儀的功能。但由于在設(shè)計(jì)中存在著超聲波分辨率精度的影響和地磁儀穩(wěn)定性的問題,數(shù)據(jù)漂移較大,造成了最終繪制出來的圖形有所扭曲和漂移,但是本設(shè)計(jì)提出的“平面化“思想得到可行性驗(yàn)證。
4 結(jié)論
未來發(fā)展的趨勢(shì)是汽車入庫(kù)輔助儀將廣泛用于各種情況下的泊車和入庫(kù),具有高適應(yīng)性、準(zhǔn)確性和安全性,為司機(jī)創(chuàng)造更好的停車環(huán)境。本文提出的平面繪制汽車入庫(kù)的動(dòng)態(tài)形態(tài)圖思想,將便于司機(jī)更加直觀的觀測(cè)汽車入庫(kù)時(shí)和車庫(kù)的相對(duì)形態(tài),從而利于司機(jī)做出準(zhǔn)確的車身修正和危險(xiǎn)規(guī)避。
參考文獻(xiàn):
[1]張海亮等.汽車底盤技術(shù)發(fā)展趨勢(shì)[J].上海汽車,2011(4):32-35.
[2]石億,黃輝先,趙娟,徐建閩.uC/OS-Ⅱ與uC/GUI在Cortex-M3上的移植研究與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2012(9):159-161.
[3]劉火良,楊森.STM32庫(kù)開發(fā)實(shí)戰(zhàn)指南[M].北京:機(jī)械工業(yè)出版社,2013.
[4]Jean J.Labrosse.嵌入式實(shí)時(shí)操作系統(tǒng)μC/OS-III[M].北京:北京航空航天大學(xué)出版社,2012.
本文編號(hào):14572
本文鏈接:http://sikaile.net/kejilunwen/jisuanjikexuelunwen/14572.html