基于MATLAB/Simulink的四連桿機(jī)構(gòu)動(dòng)力學(xué)仿真及改進(jìn)
張建軍,黃慶學(xué),馬麗楠
(太原科技大學(xué)重型機(jī)械教育部工程研究中心,太原 030024)
摘要:針對(duì)四連桿機(jī)構(gòu)的動(dòng)力學(xué)仿真,提出了一種通用化的改進(jìn)方案。只需輸入連桿機(jī)構(gòu)的部分初始參數(shù),再執(zhí)行一個(gè)腳本程序,即可進(jìn)行四連桿機(jī)構(gòu)的動(dòng)力學(xué)仿真。此外,額外提供了一種求解機(jī)構(gòu)位置解的新方法。輸入一組容易獲取且誤差較小的初始角度參數(shù),再執(zhí)行一個(gè)基于牛頓辛普森算法的m函數(shù)文件,即可得到連桿機(jī)構(gòu)的位移曲線與其相應(yīng)的誤差曲線。這不僅為求解機(jī)構(gòu)位置解開辟了新方法,而且還提供了精度比較高的初始值參數(shù),進(jìn)一步保證了動(dòng)力學(xué)仿真的可靠運(yùn)行。
關(guān)鍵詞:四連桿機(jī)構(gòu);動(dòng)力學(xué)仿真;通用性改進(jìn)
收稿日期:2015-01-06
基金項(xiàng)目:山西科技創(chuàng)新團(tuán)隊(duì)項(xiàng)目(20131006);山西省自然科學(xué)
作者簡(jiǎn)介:張建軍(1987-),男,碩士研究生,主要研究方向?yàn)闄C(jī)電系統(tǒng)控制及其自動(dòng)化。
中圖分類號(hào):TG659文獻(xiàn)標(biāo)志碼:B
1四連桿機(jī)構(gòu)動(dòng)力學(xué)數(shù)學(xué)建模及仿真模型
1.1運(yùn)動(dòng)學(xué)部分
在對(duì)四連桿機(jī)構(gòu)進(jìn)行動(dòng)力學(xué)分析之前,需先進(jìn)行運(yùn)動(dòng)學(xué)分析,分析結(jié)果主要包括以下3個(gè)矢量方程:位置方程、速度方程及加速度方程[1-3]。在用矢量法建立機(jī)構(gòu)的位置方程時(shí),需將構(gòu)件用矢量來表示,并做出機(jī)構(gòu)的封閉矢量多邊形[4],如圖1所示。由矢量多邊形:
得其復(fù)數(shù)表達(dá)式:
r2eiθ2+r3eiθ3=r1eiθ1+r4eiθ4
(1)
圖1 四連桿機(jī)構(gòu)運(yùn)動(dòng)簡(jiǎn)圖
利用歐拉公式將式(1)展開,有:
(2)
式(2)是關(guān)于θ3、θ4非線性超越方程組,其解由三角函數(shù)的關(guān)系可求出,但該解法卻不適合計(jì)算機(jī)編程實(shí)現(xiàn),現(xiàn)采用數(shù)值解法,并借助MATLAB工具編程實(shí)現(xiàn)。對(duì)位置方程組(2),根據(jù)求解非線性超越方程的數(shù)值解法——牛頓辛普森算法[5-6],編寫相應(yīng)的位置求解函數(shù)m文件,求出四連桿機(jī)構(gòu)的位置初始值。
得到位置初始值后,接下來需求解機(jī)構(gòu)的速度初始值。對(duì)式(2)求兩次導(dǎo)數(shù),依次得到該機(jī)構(gòu)的速度與加速度方程,這里直接給出其相應(yīng)的矩陣表達(dá)式,即式(3)和式(4).
(3)
(4)
把位置初值代入式(3),求得速度初值。根據(jù)式(4),編寫m文件并搭建Simulink模型,如圖2所示,crank.m與rrrki.m分別為曲柄和從動(dòng)桿組的運(yùn)動(dòng)仿真模塊。用已求得的位置、速度值作為相應(yīng)積分模塊的初始值,設(shè)置好仿真時(shí)間,即可進(jìn)行運(yùn)動(dòng)學(xué)仿真。
圖2 運(yùn)動(dòng)學(xué)仿真Simulink模型
1.2動(dòng)力學(xué)部分
在運(yùn)動(dòng)學(xué)分析的基礎(chǔ)上,對(duì)該機(jī)構(gòu)進(jìn)行動(dòng)力學(xué)分析。先對(duì)圖1中四連桿機(jī)構(gòu)中的活動(dòng)構(gòu)件進(jìn)行受力分析,如圖3所示。列出相應(yīng)的力平衡方程,如式(5)~式(7).
圖3 各活動(dòng)構(gòu)件的受力分析圖
原動(dòng)件AB的力平衡方程:
(5)
連桿BC的力平衡方程:
(6)
從動(dòng)件CD的力平衡方程:
(7)
式(5)~式(7)中,m2~m4及J2~J4分別為活動(dòng)構(gòu)件2~4的平動(dòng)與繞質(zhì)心Si(i=2,3,4)的轉(zhuǎn)動(dòng)慣量,F(xiàn)xi、Fyi以及Mi(i=2,3,4)分別為活動(dòng)構(gòu)件質(zhì)心處所受的外力在實(shí)虛軸上的分力以及外力矩,ri與rci(i=2,3,4)為各活動(dòng)構(gòu)件的桿長(zhǎng)及質(zhì)心位置值,M1為施加在原動(dòng)件AB上的平衡力矩,其余符號(hào)參考圖3.
為便于計(jì)算機(jī)編程,將式(5)~式(7)整理成矩陣形式(8)與式(9):
式(8)為原動(dòng)件AB的力平衡方程(5)的矩陣形式,式(9)為從動(dòng)件BC及連桿CD的力平衡方程(6)、(7)的矩陣形式。結(jié)合該機(jī)構(gòu)的運(yùn)動(dòng)學(xué)仿真模型,根據(jù)式(8)與式(9),建立四連桿機(jī)構(gòu)的動(dòng)力學(xué)仿真模型,如圖4所示,式(8)與式(9)分別用來構(gòu)建曲柄動(dòng)力學(xué)仿真模塊crankdy.m與從動(dòng)桿組動(dòng)力學(xué)仿真模塊rrrrdy.m:
設(shè)置圖4中各模塊的值,即可進(jìn)行仿真。通過仿真發(fā)現(xiàn),積分模塊的初始值參數(shù)對(duì)整個(gè)仿真有著決定性的作用。然而,這些初值的獲得,需要之前逐次調(diào)用位置求解函數(shù)以及角速度求解函數(shù)。如果Simulink模型文件設(shè)置有變化(比如常數(shù)模塊改變),還得重新求取位置與速度的初始值,這將大大增加仿真前期的工作量[7-10]。因此,仿真的通用性不強(qiáng),有必要對(duì)原來的仿真進(jìn)行改進(jìn),使其函數(shù)調(diào)用靈活且重復(fù)修改量少,本文的下一節(jié)將提供這些思想的MATLAB實(shí)現(xiàn)。
(8)
(9)
圖4 動(dòng)力學(xué)仿真Simulink模型
2四連桿機(jī)構(gòu)運(yùn)動(dòng)學(xué)仿真通用性的改進(jìn)及其實(shí)例驗(yàn)證
所謂的通用性是指,對(duì)任意的四連桿機(jī)構(gòu),只需在MATLAB命令窗口給出桿長(zhǎng)矩陣、角度初值矩陣、原動(dòng)件運(yùn)動(dòng)及動(dòng)力參數(shù)等,通過調(diào)用一段程序代碼,即可實(shí)現(xiàn)動(dòng)力學(xué)仿真。為了提高原仿真的通用性,本節(jié)提供一種改進(jìn)方案,并給出相應(yīng)的實(shí)例。
2.1改進(jìn)方案及其MATLAB實(shí)現(xiàn)
首先,需先設(shè)置Simulink模型文件中的積分模塊的初始值。在Simulink中有兩種方法建立其仿真的初始條件。第一種,就是直接在相關(guān)屬性欄中填入數(shù)字。遺憾的是,這種方法對(duì)于更復(fù)雜的初始條件會(huì)變得非常笨拙,且不適合通用化程序設(shè)計(jì)的要求。另一種方法是為MATLAB環(huán)境變量設(shè)置初始值,即用變量名代替數(shù)字,該變量的值由MATLAB工作空間提供,因此需在仿真前在MATLAB的命令窗口給同樣變量名的變量賦值。使用第二種方法,很容易在MATLAB環(huán)境中用一系列命令改變初始值,而無需在每次初始條件改變時(shí),返回Simulink模型圖,修改相應(yīng)模塊的設(shè)置。本節(jié)將采取第二種方法。
其次,也是比較重要的,編制一個(gè)腳本m文件,以調(diào)用其他m函數(shù)文件。該m文件中用代碼依次調(diào)用了處于同一工作目錄的位置初值求解函數(shù)、速度初值求解函數(shù)以及Simulink模型文件。通過m文件的內(nèi)部調(diào)用,符合模塊化編程思想,調(diào)試方便,減少了重復(fù)編程量。此外,為了給程序調(diào)試帶來便捷,考慮到要單獨(dú)調(diào)用某個(gè)m函數(shù)文件,故將以上各m文件單獨(dú)保存在同一工作目錄,而沒有將其作為子程序整合到腳本文件中。
2.2實(shí)例佐證
如圖3所示,鉸鏈四連桿機(jī)構(gòu)各構(gòu)件的幾何尺寸為r1=1 200 mm,r2=400 mm,r3=1 000 mm,r4=700 mm;質(zhì)心為rc2=200 mm,rc3=500 mm,rc4=350 mm;質(zhì)量為m2=1.2 kg,m3=3 kg,m4=2.2 kg;繞質(zhì)心的轉(zhuǎn)動(dòng)慣量J2=0.016 kg/m2,J3=0.25 kg/m2,J4=0.09 kg/m2,構(gòu)件4的工作阻力矩M4=100 N/m,順時(shí)針方向,其他構(gòu)件所受外力和外力矩均為零,且不考慮摩擦。構(gòu)件2(即原動(dòng)件)以等角速度ω2=10 rad/s逆時(shí)針旋轉(zhuǎn)。
設(shè)置完成后,在MATLAB命令提示符下輸入:
th=[0,45,100,0];rs=[0.4,1,0.7,1.2];
om20=10;
該品種由福建省泉州市農(nóng)業(yè)科學(xué)研究所(福建省泉州市晉江市池店鎮(zhèn)泉安北路,郵編:362212)和云南省農(nóng)業(yè)科學(xué)院經(jīng)濟(jì)作物研究所培育。
r10=[1,0.7,0.5,0.35,3,2.2,0.25,0.09,0,0,0,0,0];
cr10=[0.4,0.2,1.2,0.016,0,0,0,0,0];ts=1;Ini;
并回車即可。其動(dòng)力學(xué)仿真結(jié)果如圖5和圖6所示。
圖5依次為連桿3和從動(dòng)件4的角位移、角速度和角加速以及鉸接副C的加速度分量隨時(shí)間的變化曲線,圖6依次為鉸接副A的水平與豎直方向的分力和曲柄AB上的平衡力矩及其所做的功隨時(shí)間的變化曲線。
綜上所述,為提高動(dòng)力學(xué)仿真程序的通用性,本節(jié)僅通過在外部調(diào)用一個(gè)腳本文件Ini.m,實(shí)現(xiàn)了對(duì)任意四連桿機(jī)構(gòu)的動(dòng)力學(xué)仿真。整個(gè)操作過程簡(jiǎn)單且通用性強(qiáng),如果仿真條件有變化(如仿真時(shí)間或者初始位置預(yù)估值變化),只需在外部命令上進(jìn)行修改,而無需修改相應(yīng)的m函數(shù)文件或者Simulink模型文件。
3四連桿機(jī)構(gòu)的位置解求解新途徑
上一節(jié)介紹了動(dòng)力學(xué)仿真的通用化改進(jìn)——只要給定連桿長(zhǎng)度及初始位置等參數(shù),即可得到整個(gè)機(jī)構(gòu)的動(dòng)力學(xué)動(dòng)態(tài)參數(shù)。該機(jī)構(gòu)的動(dòng)態(tài)位置解,是反饋的加速度值經(jīng)過積分模塊處理后的輸出,該輸出又作為下一步仿真的輸入,如此循環(huán)下去,最終得到全程的位置解曲線。本節(jié)將介紹另外一種求解機(jī)構(gòu)位置信息的途徑,該方案以一組容易獲得且誤差較小的初始位置解為起點(diǎn),將原動(dòng)件等間距地旋轉(zhuǎn)一周,通過反復(fù)使用牛頓辛普森方法,進(jìn)而求出若干位置的位置解。
以圖1的四連桿機(jī)構(gòu)為例,其初始條件以容易獲取為選擇標(biāo)準(zhǔn)。編寫一個(gè)MATLAB函數(shù)文件fourbar.m,在代碼中建立以下循環(huán):曲柄角度θ2從0°開始,以2°為步長(zhǎng),遞增至360°;對(duì)應(yīng)每個(gè)θ2值調(diào)用位置函數(shù)求解位置角。
在MATLAB命令提示符下,輸入以下代碼:>>clear;th=[045100];rs=[0.41 0.71.2];n=180;theta=fourbar(th,rs,n);執(zhí)行函數(shù)文件fourbar.m,將得到一個(gè)關(guān)于機(jī)構(gòu)位置解和誤差的矩陣theta,以及從動(dòng)件角位移及其誤差的曲線圖,如圖7所示。
圖5 四連桿機(jī)構(gòu)運(yùn)動(dòng)學(xué)仿真結(jié)果
由圖7的誤差曲線可知,從動(dòng)件角位移誤差在±1.5°范圍。此外,可以改變輸入的n值,修改步長(zhǎng)得到更為精確的仿真曲線。通過查詢?cè)摲抡媲€或者矩陣theta(可以編寫m文件實(shí)現(xiàn)),可以獲取任意位置的位置解,為該機(jī)構(gòu)以其他位置為起點(diǎn)進(jìn)行仿真提供可靠的初值。
4結(jié)束語
本文依次推導(dǎo)了與四連桿機(jī)構(gòu)動(dòng)力學(xué)學(xué)相關(guān)的數(shù)學(xué)模型, 并且建立其仿真模型進(jìn)行了相關(guān)分析與改進(jìn)。改進(jìn)后的動(dòng)力學(xué)仿真模型,操作簡(jiǎn)單,調(diào)試方便,通用性強(qiáng)。
圖7 從動(dòng)件角位移及誤差仿真曲線
此外,本文還提供了四連桿機(jī)構(gòu)位置解的另一種求解途徑,通過執(zhí)行腳本文件fourbar.m發(fā)現(xiàn),這種方法的結(jié)果誤差也比較小且操作簡(jiǎn)單,而且能給仿真前提供可靠的初始值。
總之,與以往的對(duì)四連桿機(jī)構(gòu)動(dòng)力學(xué)仿真的程序相比,本文設(shè)計(jì)的程序充分利用了MATLAB軟件的編程特點(diǎn)—m文件之間的內(nèi)部調(diào)用的便捷性,大大提高了程序的通用性與操作簡(jiǎn)易的程度,這給方便地修改參數(shù)以適應(yīng)任意四連桿機(jī)構(gòu)的動(dòng)力學(xué)仿真提供了高效的通道。
參考文獻(xiàn):
[1]李明磊,賈育秦.基于MATLAB/Simulink的齒輪五桿機(jī)構(gòu)運(yùn)動(dòng)仿真研究[J].太原科技大學(xué)學(xué)報(bào),2009,30(1):59-62.
[2]武娟,任家駿,吳鳳林,等.基于MATLAB軟件中SIMULINK的機(jī)構(gòu)運(yùn)動(dòng)仿真[J].機(jī)械工程與自動(dòng)化,2004,124(3):4-6.
[3]徐梓斌.六桿機(jī)構(gòu)運(yùn)動(dòng)學(xué)仿真的MATLAB實(shí)現(xiàn)[J].煤礦機(jī)械,2006,27(4):617-618.
[4]孫桓,陳作模,葛文杰.機(jī)械原理[M].北京:高等教育出版社,2006.
[5]曲秀全.基于MATLAB/Simulink平面連桿機(jī)構(gòu)的動(dòng)態(tài)仿真[M].哈爾濱:哈爾濱工業(yè)大學(xué)出版社,2007.
[6]GARDNER J F.機(jī)構(gòu)動(dòng)態(tài)仿真:使用MATLAB和Simulink[M].周進(jìn)雄,張陵,譯.西安:西安交通大學(xué)出版社,2002.
[7]陸鳳儀,孫占營(yíng),徐格寧.基于桿組理論的連桿機(jī)構(gòu)運(yùn)動(dòng)精度及運(yùn)動(dòng)仿真研究[J].太原重型機(jī)械學(xué)院學(xué)報(bào),2003,24(1):57-61.
[8]薛定宇,陳陽泉.基于MATLAB/Simulink的系統(tǒng)仿真技術(shù)與應(yīng)用[M].北京:清華大學(xué)出版社,2002.
[9]王永超.基于MATLAB的機(jī)構(gòu)運(yùn)動(dòng)學(xué)仿真方法及其比較[J].計(jì)算機(jī)仿真,2004,21(8):81-84.
[10]王芳,張海燕.基于Simulink的連桿機(jī)構(gòu)運(yùn)動(dòng)學(xué)仿真[J].機(jī)械設(shè)計(jì)與研究,2004,20(2):35-37.
Improvement for Dynamical Simulation of Four-bar Linkage
Mechanism Based on MATLAB/Simulink
ZHANG Jian-jun,HUANG Qing-xue,MA Li-nan
(Heavy Machinery Ministry of Education Engineering Research Center,Taiyuan University of
Science and Technology,Taiyuan 030024,China)
Abstract:To improve dynamical simulation program of four-bar linkage mechanism,a general scheme for better simulation was studied.After providing the required initial parameters,one script will be run to proceed dynamic simulation program.Besides,one more new solution will be introduced to confirm the dynamic positions of mechanism.After inputting some starting angles, a function file based on Newton-Rapson algorithm was executed to draw displacement and its error diagrams.The new method not only solves the location problem of driven links,but also provides more precision initial angles when starting simulation from any other positions to make sure dynamic simulation successful and precise.
Key words:four bar linkage mechanism,dynamical simulation,improvement for generality