趙雪苗 吳堅(jiān)強(qiáng)
摘要:汽車(chē)儀表盤(pán)反映了汽車(chē)行駛過(guò)程的多種參數(shù),虛擬儀表的指針設(shè)計(jì)與實(shí)現(xiàn)具有重要意義。汽車(chē)儀表是駕駛員與車(chē)輛進(jìn)行信息交流的重要接口和界面,它是安全行駛和經(jīng)濟(jì)行駛不可缺少的裝置。早期,汽車(chē)上裝備的儀表均是通過(guò)機(jī)械結(jié)構(gòu)模擬顯示,它們存在精度低、響應(yīng)慢、顯示信息量少、信息顯示方式單一等缺點(diǎn)。隨著計(jì)算機(jī)技術(shù)的日漸成熟、汽車(chē)電子的發(fā)展、和嵌入式技術(shù)的廣泛應(yīng)用,對(duì)儀表的數(shù)字化和多信息綜合顯示已成一種重要的發(fā)展趨勢(shì)。
關(guān)鍵詞:汽車(chē);虛擬儀表;指針設(shè)計(jì)
1 虛擬指針控制設(shè)計(jì)
1.1 汽車(chē)虛擬儀表系統(tǒng)結(jié)構(gòu)
設(shè)計(jì)的虛擬儀表硬件平臺(tái)采用的是富士通系統(tǒng)級(jí)芯片MB86R01微控制器,其內(nèi)部集成高性能的ARM9處理器內(nèi)核和MB86296圖形顯示控制器。汽車(chē)虛擬儀表系統(tǒng)結(jié)構(gòu)如圖1所示。在車(chē)輛行駛過(guò)程中,MB86R01微控制器通過(guò)IO口、CAN總線等信號(hào)輸入通道完成整車(chē)信息的采集;經(jīng)過(guò)軟件對(duì)原始信號(hào)進(jìn)行加工、運(yùn)算和邏輯分析處理后,在顯示器面板上通過(guò)繪制各種圖形圖像來(lái)表達(dá)車(chē)輛信息。
1.2 虛擬指針控制的程序設(shè)計(jì)
汽車(chē)在行駛過(guò)程中,車(chē)速表指針轉(zhuǎn)到的具體位置是由汽車(chē)發(fā)動(dòng)機(jī)轉(zhuǎn)速和汽車(chē)輪胎直徑等參數(shù)根據(jù)相應(yīng)公式計(jì)算得出,其中發(fā)動(dòng)機(jī)轉(zhuǎn)速是汽車(chē)虛擬儀表通過(guò)CAN總線接收汽車(chē)發(fā)動(dòng)機(jī)ECU發(fā)送的CAN報(bào)文而得到。車(chē)速表指針的控制流程如圖2所示。首先,計(jì)算車(chē)速信號(hào)值和指針目標(biāo)位置;然后,計(jì)算當(dāng)前位置的角度差,如果角度差為0則結(jié)束當(dāng)前周期位置更新操作。
指針運(yùn)轉(zhuǎn)速度控制任務(wù)是通過(guò)與速度步進(jìn)閾值相比較得到當(dāng)前位置差下理論速度,而后對(duì)其進(jìn)行校正,防止速度變化快于最大加速度,或超出最大速度限定。確定當(dāng)前周期指針的運(yùn)行速度后重繪指針并更新指針對(duì)象的狀態(tài)參數(shù),結(jié)束當(dāng)前周期操作。其程序流程如圖3所示。
其中Speed代表指針當(dāng)前運(yùn)行的速度,Last_Speed用于記錄上一個(gè)周期中指針的運(yùn)行速度,Speed_Deviate代表指針當(dāng)前運(yùn)行速度和上一個(gè)周期指針運(yùn)行速度差;SPEED_THERSHOLD是速度閾值參數(shù),用于判斷當(dāng)前周期角度差下支持的最大運(yùn)行速度。MAX_SPEED和MAX_ACC兩個(gè)參數(shù)分別限定虛擬指針的最大運(yùn)行速度和最大加速度。其中Cur_Pos代表指針當(dāng)前的位置,文中MIN_POS代表車(chē)速表最小刻度0 km/h位置即0°,MAX_POS代表車(chē)速表最大刻度150 km/h位置即180°。該控制方法通過(guò)使用毫秒級(jí)中斷進(jìn)行計(jì)算能在應(yīng)用中使指針得到平滑的運(yùn)動(dòng)。
2 虛擬指針運(yùn)動(dòng)控制實(shí)現(xiàn)
2.1 虛擬指針的步進(jìn)角實(shí)現(xiàn)
文中配置的液晶顯示器的刷新頻率為60 Hz,即顯示器更新畫(huà)面的時(shí)間間隔為16.67 ms,理想的情況下虛擬指針的更新時(shí)間與場(chǎng)同步信號(hào)一致。設(shè)定虛擬指針的步進(jìn)角為固定值,測(cè)試并標(biāo)定指針在不同速度下勻速運(yùn)動(dòng)的顯示效果,結(jié)果如表1所示。
從表1可以看到:根據(jù)角度差的大小選擇合適的步進(jìn)角是虛擬指針運(yùn)動(dòng)控制的基本思路。綜合考慮虛擬指針的顯示效果和動(dòng)態(tài)跟蹤實(shí)時(shí)性,實(shí)際應(yīng)用中將步進(jìn)角的取值限定在0.1~3.5°/幀之間,最高角速度限定在210°/s。設(shè)計(jì)中步進(jìn)角取值為2.5°/幀,角速度為150°/s,足夠滿足車(chē)速表、轉(zhuǎn)速表的實(shí)時(shí)顯示要求。
2.2 虛擬指針控制參數(shù)的實(shí)現(xiàn)
指針運(yùn)動(dòng)中最重要的參數(shù)是最大加速度MAX_ACC和最大速度MAX_SPEED,前者用于限制速度的變化快慢,作用于指針運(yùn)動(dòng)的起始和結(jié)束階段,模擬機(jī)械指針的慣性特征;后者限制最大角度差,防止更新過(guò)快出現(xiàn)拖影等現(xiàn)象。
在CANoe硬件在環(huán)仿真環(huán)境中,初始設(shè)置電機(jī)的轉(zhuǎn)速為0,而后跳變?yōu)樽畲笾?0 000 r/min(對(duì)應(yīng)車(chē)速130 km/h),配置MAX_SPEED為20,速度切換閾值為20,測(cè)試MAX_ACC分別為1、3和6時(shí)車(chē)速表指針的運(yùn)動(dòng)速度和實(shí)時(shí)位置變化過(guò)程,如圖4所示。
從圖4(a)可以看到:MAX_ACC越大,指針越快到達(dá)最大運(yùn)動(dòng)速度,到達(dá)目標(biāo)位置的90%所消耗的時(shí)間越少,可以提高指針的響應(yīng)速度;不過(guò),MAX_ACC越小,指針的啟動(dòng)和結(jié)束過(guò)程越平緩,更符合人的視覺(jué)習(xí)慣。從圖4(b)中可以看出:MAX_ACC值的增加對(duì)于縮短指針響應(yīng)時(shí)間的作用有限,大于一定值后指針加速直線和位置曲線接近重合。所以,文中MAX_ACC取值為2。同樣的,速度切換閾值仍為20,MAX_ACC取值為2,測(cè)試MAX_SPEED分別為10、20和30時(shí)車(chē)速表指針的運(yùn)動(dòng)速度和實(shí)時(shí)位置變化過(guò)程,如圖5所示??梢钥吹?,指針運(yùn)動(dòng)速度呈現(xiàn)同樣的線性增長(zhǎng)關(guān)系,但車(chē)速表指針的運(yùn)動(dòng)過(guò)程差別明顯。MAX_SPEED越大,指針的加速過(guò)程越長(zhǎng),減速越早。分析報(bào)文數(shù)據(jù)可以得到:最大速度分別為10、20和30時(shí),指針到達(dá)目標(biāo)位置的90%的時(shí)間分別為2.734 389、1.501 770和1.185 731 s。所以,MAX_SPEED的值可以明顯改變指針的響應(yīng)速度,文中MAX_SPEED的值取20。
3結(jié)語(yǔ)
如今的汽車(chē)行業(yè)已經(jīng)不是一個(gè)傳統(tǒng)行業(yè),虛擬儀表是是對(duì)汽車(chē)儀表數(shù)字化和多信息綜合顯示的一個(gè)有益嘗試,對(duì)后期汽車(chē)儀表的設(shè)計(jì)發(fā)展有重要的推動(dòng)意義。
參考文獻(xiàn):
[1]鄧宗權(quán),蔣向東,王繼岷,等.基于嵌入式Linux汽車(chē)智能儀表系統(tǒng)的設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2014,(4):26-28.doi:10.3969/j.issn.1674-7720.2014.04.010.
[2]廖雄方,劉淼,金星,等. 全液晶汽車(chē)儀表測(cè)試方法的研究[J]. 電子設(shè)計(jì)工程,2016,(16):82-85.doi:10.3969/j.issn.1674-6236.2016.16.026
(作者單位:長(zhǎng)城汽車(chē)股份有限公司-哈弗技術(shù)中心)
第一作者簡(jiǎn)介:趙雪苗,女,漢,河北保定唐縣,本科,初級(jí)工程師,汽車(chē)電子電器開(kāi)發(fā)。