您好,欢迎访问三七文档
当前位置:首页 > 临时分类 > 基于matlab的四杆机构运动分析
1平面连杆机构的运动分析1.1机构运动分析的任务、目的和方法曲柄摇杆机构是平面连杆机构中最基本的由转动副组成的四杆机构,它可以用来实现转动和摆动之间运动形式的转换或传递动力。对四杆机构进行运动分析的意义是:在机构尺寸参数已知的情况下,假定主动件(曲柄)做匀速转动,撇开力的作用,仅从运动几何关系上分析从动件(连杆、摇杆)的角位移、角速度、角加速度等运动参数的变化情况。还可以根据机构闭环矢量方程计算从动件的位移偏差。上述这些内容,无论是设计新的机械,还是为了了解现有机械的运动性能,都是十分必要的,而且它还是研究机械运动性能和动力性能提供必要的依据。机构运动分析的方法很多,主要有图解法和解析法。当需要简捷直观地了解机构的某个或某几个位置的运动特性时,采用图解法比较方便,而且精度也能满足实际问题的要求。而当需要精确地知道或要了解机构在整个运动循环过程中的运动特性时,采用解析法并借助计算机,不仅可获得很高的计算精度及一系列位置的分析结果,并能绘制机构相应的运动线图,同时还可以把机构分析和机构综合问题联系起来,以便于机构的优化设计。1.2机构的工作原理在平面四杆机构中,其具有曲柄的条件为:a.各杆的长度应满足杆长条件,即:最短杆长度+最长杆长度≤其余两杆长度之和。b.组成该周转副的两杆中必有一杆为最短杆,且其最短杆为连架杆或机架(当最短杆为连架杆时,四杆机构为曲柄摇杆机构;当最短杆为机架时,则为双曲柄机构)。在如下图1所示的曲柄摇杆机构中,构件AB为曲柄,则B点应能通过曲柄与连杆两次共线的位置。1.3机构的数学模型的建立1.3.1建立机构的闭环矢量位置方程在用矢量法建立机构的位置方程时,需将构件用矢量来表示,并作出机构的封闭矢量多边形。如图1所示,先建立一直角坐标系。设各构件的长度分别为L1、L2、L3、L4,其方位角为、、、。以各杆矢量组成一个封闭矢量多边形,即ABCDA。其个矢量之和必等于零。即:式1式1为图1所示四杆机构的封闭矢量位置方程式。对于一个特定的四杆机构,其各构件的长度和原动件2的运动规律,即为已知,而=0,故由此矢量方程可求得未知方位角、。角位移方程的分量形式为:式2闭环矢量方程分量形式对时间求一阶导数(角速度方程)为:式3其矩阵形式为:式4联立式3两公式可求得:式5式6闭环矢量方程分量形式对时间求二阶导数(角加速度方程)矩阵形式为:式7由式7可求得加速度:式8式9注:式1~式9中,Li(i=1,2,3,4)分别表示机架1、曲柄2、连杆3、摇杆4的长度;(i=1,2,3,4)是各杆与x轴的正向夹角,逆时针为正,顺时针为负,单位为rad;是各杆的角速度,,单位为rad/s;为各杆的角加速度,单位为。1.3.2求解方法(1)求导中应用了下列公式:式10(2)在角位移方程分量形式(式2)中,由于假定机架为参考系,矢量1与x轴重合,=0,则有非线性超越方程组:式11可以借助牛顿-辛普森数值解法或Matlab自带的fsolve函数求出连杆3的角位移和摇杆4的角位移。(3)求解具有n个未知量(i=1,2,…,n)的线性方程组:式12式中,系列矩阵是一个阶方阵:式13的逆矩阵为;常数项b是一个n维矢量:式14因此,线性方程组解的矢量为:式15式11是求解连杆3和摇杆4角速度和角加速度的依据。2基于MATLAB程序设计四连杆机构的解析法同样可以用MATLAB的计算工具来求值,并结合MATLAB的可视化手段,把各点的计算值拟合成曲线,得到四连杆机构的运动仿真轨迹。2.1程序流程图2.2M文件编写首先创建函数FoutBarPosition,函数fsolve通过他确定。functiont=fourbarposition(th,th2,L2,L3,L4,L1)t=[L2*cos(th2)+L3*cos(th(1))-L4*cos(th(2))-L1;…L2*sin(th2)+L3*sin(th(1))-L4*sin(th(2))];主程序如下:disp'******平面四杆机构的运动分析******'L1=304.8;L2=101.6;L3=254.0;L4=177.8;%给定已知量,各杆长L1,L2,L3,L4th2=[0:1/6:2]*pi;%曲柄输入角度从0至360度,步长为pi/6th34=zeros(length(th2),2);%建立一个N行2列的零矩阵,第一列存放options=optimset('display','off');%θ_3,第二列存放θ_3form=1:length(th2)%建立for循环,求解θ_3,θ_4th34(m,:)=fsolve('fourbarposition',[11],…%调用fsove函数求解关于θ_3,θ_4options,th2(m),L2,L3,L4,L1);%的非线性超越方程,结果保存在th34中endy=L2*sin(th2)+L3*sin(th34(:,1)');%连杆3的D端点Y坐标值x=L2*cos(th2)+L3*cos(th34(:,1)');%连杆3的D端点X坐标值xx=[L2*cos(th2)];%连杆3的C端点X坐标值yy=[L2*sin(th2)];%连杆3的C端点Y坐标值figure(1)plot([x;xx],[y;yy],'k',[0L1],[00],…%绘制连杆3的几个位置点'k--^',x,y,'ko',xx,yy,'ks')title('连杆3的几个位置点')xlabel('水平方向')ylabel('垂直方向')axisequal%XY坐标均衡th2=[0:2/72:2]*pi;%重新细分曲柄输入角度θ_2,步长为5度th34=zeros(length(th2),2);options=optimset('display','off');form=1:length(th2)th34(m,:)=fsolve('fourbarposition',[11],…options,th2(m),L2,L3,L4,L1);endfigure(2)plot(th2*180/pi,th34(:,1),th2*180/pi,th34(:,2))%绘制连杆3的角位移关于曲柄2的角位移图plot(th2*180/pi,th34(:,1)*180/pi,…th2*180/pi,th34(:,2)*180/pi)%绘制摇杆4的角位移关于曲柄2的角位移图axis([03600170])%确定XY边界值grid%图形加网格xlabel('主动件转角\theta_2(度)')ylabel('从动件角位移(度)')title('角位移线图')text(120,120,'摇杆4角位移')text(150,40,'连杆3角位移')w2=250;%设定曲柄角速度fori=1:length(th2)A=[-L3*sin(th34(i,1))L4*sin(th34(i,2));…L3*cos(th34(i,1))-L4*cos(th34(i,2))];B=[w2*L2*sin(th2(i));-w2*L2*cos(th2(i))];w=inv(A)*B;w3(i)=w(1);w4(i)=w(2);endfigure(3)plot(th2*180/pi,w3,th2*180/pi,w4);%绘制角速度线图axis([0360-175200])text(50,160,'摇杆4角速度(\omega_4)')text(220,130,'连杆3角速度(\omega_3)')gridxlabel('主动件转角\theta_2(度)')ylabel('从动件角速度(rad\cdots^{-1})')title('角速度线图')fori=1:length(th2)C=[-L3*sin(th34(i,1))L4*sin(th34(i,2));…L3*cos(th34(i,1))-L4*cos(th34(i,2))];D=[w2^2*L2*cos(th2(i))+w3(i)^2*L3*cos(th34(i,1))-w4(i)^2*L4*cos(th34(i,2));...w2^2*L2*sin(th2(i))+w3(i)^2*L3*sin(th34(i,1))-w4(i)^2*L4*sin(th34(i,2))];a=inv(C)*D;a3(i)=a(1);a4(i)=a(2);endfigure(4)plot(th2*180/pi,a3,th2*180/pi,a4);%绘制角加速度线图axis([0360-7000065000])text(50,50000,'摇杆4角加速度(\alpha_4)')text(220,12000,'连杆3角加速度(\alpha_3)')gridxlabel('从动件角加速度')ylabel('从动件角加速度(rad\cdots^{-2})')title('角加速度线图')disp'曲柄转角连杆转角-摇杆转角-连杆角速度-摇杆角速度-连杆加速度-摇杆加速度'ydcs=[th2'*180/pi,th34(:,1)*180/pi,th34(:,2)*180/pi,w3',w4',a3',a4'];disp(ydcs)2.3程序运行结果输出******平面四杆机构的运动分析******曲柄转角连杆转角-摇杆转角-连杆角速度-摇杆角速度-连杆加速度-摇杆加速度1.0e+004*00.00440.0097-0.0125-0.0125-0.54784.84580.00050.00420.0094-0.0126-0.01070.23005.56300.00100.00390.0092-0.0124-0.00860.89466.05200.00150.00370.0091-0.0119-0.00651.41436.29820.00200.00340.0090-0.0114-0.00431.78016.31740.00250.00320.0089-0.0107-0.00212.00276.14670.00300.00300.0089-0.01000.00002.10465.83390.00350.00280.0089-0.00930.00202.11345.42720.00400.00260.0090-0.00850.00382.05664.96870.00450.00250.0091-0.00780.00541.95784.49180.00500.00230.0092-0.00720.00691.83564.01980.00550.00220.0093-0.00650.00821.70403.56800.00600.00210.0095-0.00600.00941.57253.14500.00650.00190.0097-0.00550.01041.44742.75450.00700.00180.0099-0.00500.01131.33282.39680.00750.00170.0102-0.00450.01211.23072.07020.00800.00170.0104-0.00410.01281.14251.77160.00850.00160.0107-0.00370.01341.06871.49710.00900.00150.0110-0.00340.01381.00951.24260.00950.00140.0112-0.00300.01420.96531.00350.01000.00140.0115-0.00270.01450.93640.77520.01050.00130.0118-0.00240.01480.92320.55300.01100.00130.0121-0.00200.01490.92690.33190.01150.00130.0124-0.00170.01500.94850.10690.01200.00120.0127-0.00140.01500.9899-0.12760.01250.00120.0130-0.00100.01491.0530-0.377
本文标题:基于matlab的四杆机构运动分析
链接地址:https://www.777doc.com/doc-6618876 .html