歐光,李小靜,劉祥斌
(1.青島世亞精密管件有限公司,山東 青島 266426;2.青島理工大學(xué),山東 青島 266520)
對(duì)制動(dòng)系統(tǒng)采用計(jì)算機(jī)技術(shù)建模并進(jìn)行動(dòng)態(tài)仿真,已成為當(dāng)今汽車制動(dòng)系統(tǒng)設(shè)計(jì)、生產(chǎn)中的一個(gè)重要發(fā)展趨勢(shì)。Matlab/Simulink就是一個(gè)集建模、仿真和分析為一體的軟件包,直觀簡(jiǎn)單、功能強(qiáng)大等優(yōu)點(diǎn)使它在許多領(lǐng)域得到了廣泛應(yīng)用。此外,Matlab還提供了一套可視化的圖形用戶界面GUIDE(Graph User Interface Development Environment),用戶無(wú)須進(jìn)入Simulink工作環(huán)境就能很容易直接的操控模型參數(shù)和顯示仿真結(jié)果。
該研究中以單輪制動(dòng)系統(tǒng)為例,充分利用 Simulink和GUIDE各自強(qiáng)大的功能實(shí)現(xiàn)單輪系統(tǒng)動(dòng)態(tài)仿真,數(shù)據(jù)輸入方便,仿真圖形一目了然。
在對(duì)單輪汽車制動(dòng)防抱死系統(tǒng)(ABS)進(jìn)行 PID控制時(shí),首先必須建立其數(shù)學(xué)模型,并假設(shè):1)車輪承受載荷始終不變,即Fz為常數(shù);2)空氣阻力和滾動(dòng)阻力忽略不計(jì),即Fw=Ff=0。簡(jiǎn)化后的單輪制動(dòng)力學(xué)模型如圖1所示。
其中單輪質(zhì)量為m,車輪滾動(dòng)半徑為Rr,車輪角速度為w,車輪速度為vw,實(shí)際車速所對(duì)應(yīng)的車輪角速度ww=vw/Rr,車輪轉(zhuǎn)動(dòng)慣量為Iw,地面制動(dòng)力為Fxb,車輪制動(dòng)力矩為Tb,滑移率為s,則系統(tǒng)的運(yùn)動(dòng)方程為:
圖1 單輪制動(dòng)力學(xué)模型Fig.1 Single-wheel system dynamics model
PID控制是根據(jù)目標(biāo)值r(t)與實(shí)際輸出值y(t)構(gòu)成控制誤差e(t),e(t)=r(t)-y(t),即PID的控制規(guī)律表示為:
仿真中,以滑移率s作為控制目標(biāo),設(shè)滑移率目標(biāo)值為s0,則控制誤差為e=s0-s,因此應(yīng)用PID的控制規(guī)律可表示為:
所以ABS控制器原理就是根據(jù)ABS動(dòng)態(tài)系統(tǒng)最終確定出KP、KI、KD的值,使車輪的實(shí)際滑移率以最快的方式接近目標(biāo)滑移率s0。
在Matlab/Simulink下建立ABS單輪PID控制模型,文件名為simulate,如圖2所示。該模型中,目標(biāo)滑移率s0為輸入?yún)?shù),實(shí)際滑移率s為輸出參數(shù),將s0-s輸入到PID模塊中,并通過(guò)路面附著系數(shù)和車速的相關(guān)計(jì)算對(duì)其進(jìn)行控制,使車輛獲得最佳的制動(dòng)效能,縮短制動(dòng)距離。
圖2 ABS仿真系統(tǒng)Fig.2 ABS simulation system
仿真所用參數(shù):車輪質(zhì)量m=50kg,車輪轉(zhuǎn)動(dòng)慣量Iw=5kg.m2,車輪半徑Rr=0.5m,制動(dòng)初速度v0=25m/s,其中最佳滑移率s0=0.2,峰值附著系數(shù)uh=1,制動(dòng)抱死時(shí)的附著系數(shù)ug=0.7,確定PID調(diào)節(jié)的一組最佳參數(shù)為KP=100,KI=0.01,KD=4。
在 MATLAB的命令窗口輸入"guide"命令,即可進(jìn)入MATLAB的圖形用戶界面開(kāi)發(fā)環(huán)境,選擇新建一個(gè)空白圖形用戶界面,然后用鼠標(biāo)將所需要的控件拖動(dòng)到編輯區(qū)進(jìn)行編輯和布局,如圖3所示。
圖3 GUIDE布局圖Fig.3 GUIDE interface layout
編寫(xiě)代碼
右擊仿真按鈕,在view callbacks后的子欄目中選中call back,即可調(diào)出按鈕的回調(diào)函數(shù),在后面添加代碼如下:
m=str2num(get(handles.mass_edit,'String'));%獲取質(zhì)量,因?yàn)楂@取的string是一個(gè)字符串,需要使用str2num將其轉(zhuǎn)換為數(shù)值
Iw=str2num(get(handles.Iw_edit,'String'));%獲取轉(zhuǎn)動(dòng)慣量
Rr=str2num(get(handles.Rr_edit,'String'));%獲取車輪半徑R0=str2num(get(handles.v_edit,'String'));% 獲取制動(dòng)時(shí)初速度
KP=str2num(get(handles.Kp_edit,'String'));%獲取積分系數(shù)
KI=str2num(get(handles.KI_edit,'String'));%獲取比例系數(shù)
KD=str2num(get(handles.KD_edit,'String'));%獲取微分系數(shù)
options =simset('SrcWorkspace','current');%設(shè)置Simulink從當(dāng)前工作空間運(yùn)行
sim('simulate',[],options);%仿真模型
%繪制圖形
axes(handles.axes1);%將 axes1設(shè)置為當(dāng)前坐標(biāo)系,便于繪制滑移率曲線
plot(tout,slp);% 繪制滑移率曲線
xlabel('Time(sec)');
ylabel('Relative Slip');
Title('Slip');
axes(handles.axes2);% 將axes2設(shè)置為當(dāng)前坐標(biāo)系,便于繪制實(shí)際車輪角速速和實(shí)際車速對(duì)應(yīng)的角速度曲線
plot(tout,yout);% yout模塊save format為array
xlabel('Time(sec)');
ylabel('speed(rad/sec)');
Title('Vehicle speed and wheel speed');
點(diǎn)擊仿真按鈕,獲得的車輪滑移率和車速曲線如圖3所示,數(shù)據(jù)輸入方便,人機(jī)交互性較好。
圖4 ABS的仿真結(jié)果圖Fig.4 Simulation results With ABS
注意:所建的.Fig文件必須和.mdl文件必須在同一目錄下,最好放在同一個(gè)文件夾,因?yàn)橥ㄟ^(guò)edit編輯框中得到的參數(shù)是字符型的,所以必須進(jìn)行字符型和數(shù)值型轉(zhuǎn)化(str2num()),否則會(huì)出錯(cuò)。
PID控制有效地穩(wěn)定車輪滑移率在目標(biāo)值附近,獲得了較理想的制動(dòng)力,較好地改善了汽車制動(dòng)時(shí)的制動(dòng)效能與方向的穩(wěn)定性。利用Simulink和GUIDE相結(jié)合,充分發(fā)揮了二者的優(yōu)點(diǎn),人機(jī)交互性好,數(shù)據(jù)輸入方便、仿真圖形清晰。
參考文獻(xiàn)
[1] 喻凡,林逸.汽車系統(tǒng)動(dòng)力學(xué)[M].北京:機(jī)械工業(yè)出版社,2005.
[2] 馮鑒,郭世偉.基于 Simulink的機(jī)械系統(tǒng)可視化建模仿真分析[J].煤礦機(jī)械, 2002(6) .
[3] 施陽(yáng).MATLAB語(yǔ)言精要及動(dòng)態(tài)仿真工具 Simulink [M].西安:西北工業(yè)大學(xué)出版社,1999.
[4] 夏瑋.控制系統(tǒng)仿真與實(shí)例詳解[M].北京:人民郵電出版,2008.
[5] 黃全安,于良耀,吳凱輝,張永輝. ABS控制器開(kāi)發(fā)裝置系統(tǒng)與設(shè)計(jì)[J].電子產(chǎn)品世界. 2007(07) .
[6] 孫兵凡,高津利. 汽車 ABS動(dòng)態(tài)性能試驗(yàn)臺(tái)的設(shè)計(jì)[J].科技資訊.2009(12) .
[7] 董良.汽車ABS臺(tái)架檢測(cè)理論與技術(shù)研究[D].長(zhǎng)安大學(xué) 2005.
[8] 張為,丁能根,余貴珍,王偉達(dá),徐向陽(yáng). 汽車 ABS電子控制單元綜合性能測(cè)試試驗(yàn)臺(tái)[J].農(nóng)業(yè)機(jī)械學(xué)報(bào). 2009(09) .