呂德乾 李自成 李 奧 郝文杰 王國晶
摘 要 隨著國家的經濟越來越發(fā)達,各種基礎設施越修越好,尤其是公路這一塊,幾乎連通了每家每戶,又隨著人們的生活水平越來越高,使得汽車在每家每戶也越來越普及。但是,絕大多數(shù)人都只知道怎么使用它,卻從沒想過了解和認識它?,F(xiàn)在,我們選擇對汽車上坡這個過程進行研究,通過MATLAB[1-2]仿真設計一個速度比例控制器并且通過封裝子系統(tǒng)技術來讓我們更為簡潔地了解在各種設定速度的條件下汽車上坡的過程。
關鍵詞 MATLAB仿真 比例控制器 封裝子系統(tǒng)
中圖分類號:U461 文獻標識碼:A 文章編號:1007-0745(2022)06-0001-04
1 汽車模型設計
1.1 汽車上坡受力分析圖
汽車上坡受力分析具體如圖1所示。
1.2 根據(jù)汽車受力分析構建數(shù)學模型
1.根據(jù)牛頓第二定律,汽車受力公式為:
ma=Fi-Fb-Fy? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(1)
2.m假定為汽車質量,我們取200。
3.Fi為引擎動力,最大驅動力是2000,最大制動力是-3000,如下:
-3000<=Fi<= 2000? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (2)
4.Fb為空氣阻力,它與汽車運動時的速度成正比,可得如下表達式:
Fb=0.002(v+30sin(0.02a))2? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (3)
“30sin(0.02a)”估算可能為“陣風”引起的,v為汽車在水平路上的正常速度。
5.Fy為重力向下分力,可得表達式:
Fy=40sin(0.0002vx)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(4)
表達式中的正弦項是因為坡和水平路之間有夾角α變化所以引入的。
1.3 汽車上坡的Simulink模型及其參數(shù)配置[3]
根據(jù)上述數(shù)學模型,我們可以建立汽車上坡時的Simulink模型,如圖2,圖中參數(shù)模塊的配置解釋如下:
1.Int模塊:汽車驅動力Fx的輸入端口。
2.Snout模塊:汽車真實速度Sn的輸出端口。
3.Min模塊:驅動力最小值,Constant value欄填:-3000。
4.LowLm模塊(MinMax模塊):在其參數(shù)設置中,在Function欄填:max(缺省設置),Number of input ports欄填:2(缺省設置),這樣的話,模塊輸出欄就是兩個輸入模塊中的最大值,模塊的圖標可以命名為:max。
5.Max模塊:驅動力最大值,Constant value欄填:2000。
6.UpLm模塊:在其參數(shù)設置中,在Function欄填:min,這樣,輸出模塊就是兩個輸入模塊中的最小值,模塊圖標命名為:min。
7.ClockInt 模塊:仿真時間a的輸入端口。
8.Fy模塊(Fcn模塊):在其參數(shù)設置中,完成重力向下的分量Fy,公式(1)-(4),這個模塊的位移標量x,輸出是重力分力:Fy,在Expression欄中填:
40*sin(0.0002*u)
9.Fb模塊:完成空氣的阻力Fb,公式(1)-(3)。這個模塊的輸入是由[v,a]構成的向量,因為Fcn模塊必須要遵循第一個原則,在參數(shù)設置中Expression欄中填:
0.002*(u(1)+30*sin(0.02*u(2)))^2
1.4 比例控制器及其Simulink模型
比例控制器的工作原理:利用假設速度和真實速度的差值作為“指令”驅動力Fx,可以構建數(shù)學模型:
Fx=K(v1-v)? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? (5)
K是比例系數(shù),可取K=60,v1是汽車的假設速度,v是汽車的真實速度?!爸噶睢彬寗恿x和真實驅動力K的區(qū)別就是,第一個只是理論上的驅動力,第二個則是經過物理限制后才能使用的力。
根據(jù)公式(1)-(5),我們可以得出下面的Simu link模型,如圖3:
SnInt-是假設速度的輸入端口,SnInt+是真實速度的輸入端口。FnOut是驅動力Fx的輸出端口模塊。
1.5汽車上坡的完整Simulink模型
將圖2和圖3組合連接放在一個新的模型窗口中,就能得到圖4汽車上坡的完整模型,模型命名為Mod el_1.del。
2 汽車仿真
在圖4中,SG模塊的功能可以完成我們想要的假設速度,打開它的操作窗口,調整里面的數(shù)據(jù)。Low(下限)填0。High(上限)填200,滑動鍵代表可以調整的增益值(圖中是:70,即:假設中汽車的速度)。這個模塊還需要“恒值”輸入信號Ct的激勵。
因為我們需要更好地觀察和比較,所以速度量需要被送到Dp(數(shù)值顯示器)和Sc。這樣,在仿真過程中我們就能在數(shù)值顯示器上看到汽車的真實速度。
將圖4模型窗口的仿真結束時間設置為8000,在仿真前先分別打開SG操作窗口和示波器窗口,開始仿真,仿真結果如圖5,在仿真過程中,凡是在SG操作窗口移動滑鍵,我們都能在SG上看到相對應假設的速度。根據(jù)圖形,我們能知道Dp上的真實速度正在不斷向假設的速度靠近[4]。
3 汽車封裝
3.1 子系統(tǒng)創(chuàng)建
打開Model_1.del模型,在模型窗口中用鼠標左鍵選中整個汽車上坡仿真,然后鼠標右鍵選擇“Create Subsystem”,將選中部分包裝在一個名為Subsystem的模塊中,改名為Sub1,采用類似的操作,將比例控制器整理后改名為:Sub2,打開Sub2子系統(tǒng)模塊的模型窗口,將其兩個輸入端模塊和一個輸出端模塊的缺省名改為In-,In+和Out,然后仿照更改Sub1子系統(tǒng)輸入模塊和輸出模塊的缺省名分別為In,ClockIn1和Out。
最后整理一下圖中的信號線和圖形,得到圖6生成子系統(tǒng)的完整仿真模型。
3.2 把汽車上坡仿真進行子系統(tǒng)封裝
1.打開Sub1子系統(tǒng)模塊的模型窗口。
2.打開Max模塊參數(shù)設置對話框,在Constant value欄填Fmax(驅動力上限)。
3.打開Max Brake模塊參數(shù)對話框,在Constant欄填Fmin(制動力下限)。
4.打開FB模塊參數(shù)對話框,在Expression欄填:
0.02*(u(1)+wn*sin(0.02*u(2)))^2
wn是“陣風”系數(shù)。
5.打開FY模塊參數(shù)對話框,在Expression欄填:
fn*(0.0002*u)
fn是路面起伏系數(shù)。
3.3 為子系統(tǒng)設計提示和設置變量
打開Sub1模塊,用鼠標左鍵單擊Parameters中的Spinbox,然后在Dialog parameters區(qū)域依次增加4個設計提示和設置的變量,參數(shù)更改如下:分別在它們的4個Prompt欄中填:largest driving force;largest braking force;road rough coefficient;flurry intensity coefficient。在所有Variable欄中分別填相關聯(lián)變量名:Fmax;Fmin;wn;fn。Type欄中全部選取缺?。篹dit類型,以方便使Fmax,F(xiàn)min,wn,fn4個變量分別通過編輯框輸入;最后選中Evaluate和Tunable欄。然后就完成了我們需要的設計提示和變量設置。如果想解開封裝操作,就先選中該模塊,鼠標左鍵雙擊選中“Mask...”,然后單擊“Unmask”就行。
3.4 封裝子系統(tǒng)使用
3.4.1 汽車封裝子系統(tǒng)的參數(shù)設置對話框及其賦值
打開Sub1子系統(tǒng)模塊參數(shù)設置對話框,在Param eter區(qū)域中按照下面參數(shù)所示完成賦值。
largest driving force欄:填2000;
largest braking force欄:填-3000;
road rough coefficient欄:填40;
flurry intensity coefficient欄:填30;
3.4.2 參數(shù)傳播途徑
MATLAB命令窗口中的已經賦值好了的變量或直接給定的數(shù)值經過參數(shù)設置對話框直接傳遞給封裝子系統(tǒng),然后通過子系統(tǒng)中各模塊的對話窗口傳遞給各個模塊,在這里,封裝子系統(tǒng)參數(shù)設置對話框是該系統(tǒng)從外界獲得參數(shù)的唯一途徑。
4 結語
采用封裝子系統(tǒng),可以把Simulink子系統(tǒng)封裝成一個模塊,這樣便于我們清晰的觀看到系統(tǒng)中每一個子系統(tǒng)模塊的功能,這樣很方便我們直接輸入想要的數(shù)據(jù),而系統(tǒng)也能夠將結果以圖形的形式給我們以更直觀和簡潔的形式表達出來。
參考文獻:
[1] 李根強,龔文勝,肖要強,等.MATLAB及Ma the matica軟件應用[M].北京:人民郵電出版社,2016:1-170.
[2] 馬東梅.Simulink仿真軟件在自動控制原理教學中的應用[J].現(xiàn)代電子技術,2005:34-35,38.
[3] 胡壽松.自動控制原理基礎教程第四版[M].北京:科學出版社,2017:1-333.
[4] 吳曉燕,張雙選.MATLAB在自動控制中的應用[M].西安:西安電子科技大學出版社,2006:256-259.