孟旭,郭子英,張浩宇,柯宇佐
汽車A立柱盲區(qū)消除系統(tǒng)軟件設(shè)計(jì)*
孟旭,郭子英,張浩宇,柯宇佐
(遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院,遼寧 錦州 121001)
文章設(shè)計(jì)了以嵌入式C語言編寫單片機(jī)的算法程序,通過具體的實(shí)車測(cè)試數(shù)據(jù)計(jì)算出來單片機(jī)實(shí)際的控制參數(shù),理論與實(shí)際結(jié)合完成了控制系統(tǒng)設(shè)計(jì),保證了動(dòng)態(tài)測(cè)試的準(zhǔn)確性。這套系統(tǒng)程序編譯可拓展性強(qiáng),可適用于各種車型的A立柱盲區(qū)的監(jiān)測(cè)。因此,具有很好的推廣價(jià)值。
嵌入式C語言;單片機(jī);控制參數(shù);A立柱盲區(qū)
近年來,行車安全越來越被人們所重視,由于駕駛員在行車過程中有80%的信息來自于駕駛員的視覺觀察,車輛行駛過程中存在60°的死角范圍[1-2],因此,行駛過程中駕駛員視野盲區(qū)受到了廣泛關(guān)注。其中,汽車A立柱遮擋產(chǎn)生的駕駛員視野盲區(qū)引起的行車安全隱患是其中之一影響行車安全隱患。因此,本文采用單片機(jī)智能控制系統(tǒng),根據(jù)轉(zhuǎn)彎幅度和行駛的車速有效的實(shí)現(xiàn)凸鏡的偏轉(zhuǎn)角度的自動(dòng)控制,從而有效的實(shí)現(xiàn)汽車A立柱盲區(qū)的有效監(jiān)測(cè),達(dá)到消除A立柱盲區(qū)的作用,而對(duì)于單片機(jī)控制系統(tǒng)的良好運(yùn)行是要靠算法的有效實(shí)現(xiàn)來完成的,單片機(jī)又是依靠對(duì)于嵌入式算法程序設(shè)計(jì)來完成相關(guān)的功能,所以本文對(duì)于采用嵌入式C語言設(shè)計(jì)算法程序進(jìn)行了較為詳細(xì)的說明。
應(yīng)用嵌入式C語言來編寫系統(tǒng)程序。本設(shè)計(jì)采用模塊化軟件設(shè)計(jì),編寫了初始化程序、AD轉(zhuǎn)換程序、按鍵程序、繼電器控制程序等,系統(tǒng)軟件總體流程圖如圖1所示。
系統(tǒng)經(jīng)初始化以后,主程序通過調(diào)用各子程序完成預(yù)定動(dòng)作,達(dá)到控制繼電器的導(dǎo)通與斷開的目的。
在單片機(jī)電子系統(tǒng)中,嵌入式軟件程序最先執(zhí)行的是一些初始化程序,包括:系統(tǒng)時(shí)鐘初始化,各部件初始化,設(shè)定引腳的輸入輸出特性等[3]。在本系統(tǒng)設(shè)計(jì)中也需要進(jìn)行一些硬件的初始化代碼編寫。
為使單片機(jī)具有對(duì)外或內(nèi)部隨機(jī)發(fā)生的事件可處理而設(shè)計(jì)的。中斷功能很大程度上提高了單片機(jī)處理外部或內(nèi)部事件的能力。它也是單片機(jī)最重要的功能之一。52單片機(jī)一共有6個(gè)中斷源,當(dāng)定時(shí)器計(jì)數(shù)器記滿后,會(huì)產(chǎn)生中斷,及時(shí)通知CPU該如何處理[4]。
圖1 系統(tǒng)軟件總圖
中斷服務(wù)程序的寫法:
C51的中斷函數(shù)格式如下:
viod函數(shù)名()interrupt 中斷號(hào) using 工作組
中斷服務(wù)程序
中斷函數(shù)不能返回任何值,所以最前面用viod;后面緊跟函數(shù)名,名字可以隨便起,但不要與C語言中的關(guān)鍵字相同;中斷函數(shù)不帶任何參數(shù),所以函數(shù)名后面的小括號(hào)內(nèi)為空;中斷號(hào)是指單片機(jī)中幾個(gè)中斷源的序號(hào),這個(gè)序號(hào)是編譯器識(shí)別不同中斷的唯一符號(hào),因此在寫中斷服務(wù)程序時(shí)務(wù)必要寫正確;最后的“using 工作組”是指這個(gè)中斷函數(shù)使用單片機(jī)內(nèi)存中4組工作寄存器中的哪一組,C51編譯器在編譯程序時(shí)會(huì)自動(dòng)分配工作組,因次,最后這句話我們通常省略不寫。
本系統(tǒng)主要C語言代碼如下所示:
延遲函數(shù)里執(zhí)行的都是空語句,也就是說通過循環(huán)執(zhí)行空語句來達(dá)到延遲的目的[5]。每執(zhí)行一條語句,即使是空語句都要耗費(fèi)電腦一些處理時(shí)間的,就是因?yàn)檫@個(gè),在延遲函數(shù)里寫一些無關(guān)緊要的東西,用來浪費(fèi)電腦處理時(shí)間,從而達(dá)到延遲目的。
延時(shí)函數(shù)具體編程程序代碼如下:
A/D轉(zhuǎn)換程序
首先判斷A/D轉(zhuǎn)換是否允許進(jìn)行,當(dāng)ST由低變高時(shí)AD開始轉(zhuǎn)換,等待EOC變?yōu)榈碗娖?,表明轉(zhuǎn)換結(jié)束,轉(zhuǎn)換結(jié)束后將OE口拉高表明開啟數(shù)據(jù)輸出,再讀取轉(zhuǎn)換數(shù)據(jù)結(jié)果,把數(shù)據(jù)存到DateResult中,完成A/D轉(zhuǎn)換[6]。流程圖如圖2所示。
圖2 A/D轉(zhuǎn)換程序框圖
根據(jù)具體的測(cè)試數(shù)據(jù)對(duì)觀測(cè)視鏡的延時(shí)時(shí)間進(jìn)行計(jì)算。由實(shí)驗(yàn)得出,汽車觀測(cè)視鏡在時(shí)也可見范圍內(nèi)的后視鏡左側(cè)偏轉(zhuǎn)角度是:
Rz=36°-24°=12° (1)
而在視鏡左偏轉(zhuǎn)到約36°會(huì)出現(xiàn)視鏡片內(nèi)視野盲區(qū),而測(cè)定的視鏡的正常位置角度約在24°左右,因此可以計(jì)算得出視鏡右偏轉(zhuǎn)的最長(zhǎng)時(shí)間為:
Tz=7″-3″=4″ (2)
視鏡左偏轉(zhuǎn)的角速度是:
z=(12°)/4=3°/s (3)
同理,視鏡右偏轉(zhuǎn)可見范圍內(nèi)的偏轉(zhuǎn)角為:
RR=32°-19°=13° (4)
因?yàn)樵谝曠R右偏轉(zhuǎn)到約32°左右會(huì)出現(xiàn)視野盲區(qū),而測(cè)定的視鏡右偏的常規(guī)位置約為19°,就能得到視鏡右偏轉(zhuǎn)的最長(zhǎng)時(shí)間是:
TR=8″-4″=3.5″ (5)
計(jì)算得出視鏡右偏轉(zhuǎn)角速度為:
R=(13°)/4≈3.25°/s (6)
最終可以計(jì)算出視鏡平均的偏轉(zhuǎn)角速度為:
=(3.25°/s + 3°/s)/2=3.125°/s (7)
設(shè)定汽車最高時(shí)速為220km/h計(jì)算出每個(gè)檔位的間隔時(shí)速為22km/h[7-8],由此可以采用差值法計(jì)算出對(duì)應(yīng)的每個(gè)車速的具體的延時(shí)時(shí)間。
為了有效的解決A立柱產(chǎn)生盲區(qū),本文設(shè)計(jì)了以單片機(jī)為控制核心的盲區(qū)消除系統(tǒng)設(shè)計(jì),而嵌入式算法程序是單片機(jī)控制核心,對(duì)算法程序進(jìn)行了有效的設(shè)計(jì),結(jié)合具體的實(shí)驗(yàn)測(cè)試數(shù)據(jù)計(jì)算出來視鏡偏角的實(shí)際偏轉(zhuǎn)速度,這樣系統(tǒng)設(shè)計(jì)更加有據(jù)可依,保證系統(tǒng)設(shè)計(jì)更加精確,有利于提高行車的安全性。
[1] 覃定林,黃竟.駕駛盲區(qū):看不見的危險(xiǎn)[J].2011,(4):68-69.
[2] 王昊.汽車視野安全的研究與進(jìn)展[J].江蘇理工大學(xué)學(xué)報(bào)2001,(2): 47-48.
[3] 王暄.現(xiàn)代汽車安全[M].北京:人民交通出版社,2006:124-131.
[4] 曹治琬.電動(dòng)后視鏡[J].汽車電器,2004,(4):58-59.
[5] 黃天澤.汽車車身結(jié)構(gòu)與設(shè)計(jì)[M].北京:機(jī)械工業(yè)出版社,2011: 212 -224.
[6] 龔運(yùn)新.單片機(jī)C語言開發(fā)技術(shù)[M],清華大學(xué)出版社2009:36-43.
[7] 徐本財(cái),鮑宇.轎車智能后視鏡開關(guān)及拄制控制線路優(yōu)化設(shè)計(jì)[J].黑龍交通科技,2008,(11):105-107.
[8] 黃金陵,汪成應(yīng).汽車視野設(shè)計(jì)CAD系統(tǒng)開發(fā)及應(yīng)用[J].吉林工業(yè)大學(xué),2002,(1):21-28.
Software Design of Eliminating Blind Area of A-pillar*
Meng Xu, Guo Ziying, Zhang Haoyu, Ke Yuzuo
( Automobile & Traffic Engineering College, Liaoning University of Technology, Liaoning Jinzhou 121001 )
In this paper, the algorithm program of single-chip microcomputer is designed with embedded C language, and the actual control parameters of single-chip microcomputer are calculated through the specific real vehicle test data. The control system design is completed by combining theory with practice, which ensures the accuracy of dynamic test. This system can be used to monitor the blind area of A-pillar of various models. Therefore, it has a good promotion value.
Embedded C language; Single-chip microcomputer;Control parameters; Blind area of A-pillar
U462.1
A
1671-7988(2019)24-127-03
U462.1
A
1671-7988(2019)24-127-03
10.16638/j.cnki.1671-7988.2019.24.041
孟旭,就職于遼寧工業(yè)大學(xué)汽車與交通工程學(xué)院。
2019年遼寧省/遼寧工業(yè)大學(xué)大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目(20191015 4041汽車A立柱盲區(qū)消除系統(tǒng)的設(shè)計(jì)與開發(fā))。