资源描述
大作业1 连杆机构运动分析
1、运动分析题目
如图所示机构,已知机构各构件的尺寸为,,,, ,,,构件1的角速度为,试求构件2上点F的轨迹及构件5的角位移、角速度和角加速度,并对计算结果进行分析。
2、建立坐标系
建立以点A为原点的固定平面直角坐标系
图 1
3、对机构进行结构分析
该机构由I级杆组RR(原动件1)、II级杆组RRR(杆2、杆3)和II级杆组RPR(滑块4及杆5)组成。I级杆组RR,如图2所示;II级杆组RRR,如图3所示;II级杆组RPR,如图4所示。
图 2
图 3
图 4
4、 各基本杆组运动分析的数学模型
(1) 同一构件上点的运动分析:
图 5
如图5所示的构件AB,,已知杆AB的角速度,AB杆长=280mm,可求得B点的位置、,速度、,加速度、。
;
;
;
;
。
(2) RRRII级杆组的运动分析:
图 6
如图6所示是由三个回转副和两个构件组成的II级组。已知两杆的杆长、和两个外运动副B、D的位置(、、、)、速度()和加速度()。求内运动副C的位置()、速度()、加速度()以及两杆的角位置()、角速度()和角加速度()。
1)位置方程
为求解上式,应先求出或,将上式移相后分别平方相加,消去得
式中:
其中,。
为保证机构的装配,必须同时满足
和
解三角方程式可求得
上式中,“+”表示B、C、D三个运动副为顺时针排列;“—”表示B、C、D为逆时针排列。
将代入中可求得,而后即可求得
2) 速度方程
将式对时间求导可得两杆的角速度为
式中:
内运动副C点的速度为
3) 加速度方程
两杆的角加速度为
式中:
内运动副C的加速度为
(3) RPRII级杆组的运动分析
图 7
图7是由两个构件与两个外转动副和一个内移动副组成的RPRII级组。
已知G点的坐标()以及F点的运动参数(),求杆5的角位移、角速度、角加速度。
5、 计算编程
程序流程:
1) 已知杆AB的角速度和杆AB的长度可求出B点的运动参数;
2) 已知B、D两点的运动参数可求出C点的运动参数及杆2、杆3的运动参数,然后再通过同一构件上点的运动分析可求出F点的运动参数,从而求出F点的轨迹;
3) 已知F点和G点的运动参数可求出杆5的角位移、角速度、角加速度。
6、 计算结果
1)F点的运动参数
图 8 点F的运动轨迹
图 9 点F的x坐标和y坐标随杆AB角位移的变化
图 10 点F的速度在x和y方向的分量随杆AB的角位移的变化
图 11 点F的绝对速度随杆B的角位移的变化
图 12 点F的加速度在x和y方向的分量随杆AB角位移的变化
图 13 点F的绝对加速度随杆AB角位移的变化
对结果的分析:实线分别表示表示点F的在x方向上的坐标、速度、加速度随AB角位移的变化,虚线表示其在y方向上的坐标、速度、加速度随AB角位移的变化。可以看出点F的轨迹是一个封闭的类似于“8”字的图形。另外可以发现杆AB旋转一周,点F类似于转了两周。点F的速度在x方向的分量和在y方向的分量在大小上变化规律基本一致,在AB杆角位移在50°——100°是速度增加很快,其绝对速度增加也较快,从加速度的图像可以明显看出此时加速度增加迅速。
2) 构件5的角位移、角速度、角加速度
图 14 构件5的角位移
图 15 构件5的角速度
图 16 构件5的角加速度
结果分析:从图像可以看出AB杆转动一周,GF杆转动两周,而且其角速度变化较大,适合应用于要求在不同阶段速度差异较大的场合。其角加速度变化规律不明显且起伏较大,这对杆件的冲击较大,应注意杆件的强度。
附录:程序清单
yy=(0:0.1:360); %杆AB的角位移,每隔0.1度计数
yy1=yy/180*pi;%转化为弧度
xb=280*cos(yy1);%点B的x坐标
yb=280*sin(yy1);%点B的y坐标
w=10;%杆AB的角速度
vxb=-w*yb;%点B的速度在x方向的分量
vyb=w*xb;% 点B的速度在y方向的分量
axb=-w*w*xb;% 点B的加速度在x方向的分量
ayb=-w*w*yb;% 点B的加速度在y方向的分量
xd=0;%点D的x坐标
yd=160;% 点D的y坐标
vxd=0;%点D的速度在x方向的分量
vyd=0;% 点D的速度在y方向的分量
axd=0;% 点D的加速度在x方向的分量
ayd=0;%点D的加速度在y方向的分量
jbcd=ones(1,3601);%给角BCD赋初值
fdb=ones(1,3601);%?给角BD赋初值
li=350;%杆BC的长度
lj=320;%杆CD的长度
lbd=ones(1,3601);%给BD赋初值
fi=ones(1,3601);% 给杆BC的角位移赋初值
fj=ones(1,3601);%给杆CD的角位移赋初值
xc=ones(1,3601);% 给点Cx坐标赋初值
yc=ones(1,3601);% 给点Cy坐标赋初值
ci=ones(1,3601);%给中间变量赋初值
cj=ones(1,3601);% 给中间变量赋初值
wi=ones(1,3601);% 给杆BC的角速度赋初值
wj=ones(1,3601);% 给杆CD的角速度赋初值
ss=ones(1,3601);% 给ss赋初值
ffg=ones(1,3601);%给构件5的角位移赋初值
xg=-25;%点G的x坐标
yg=80;% 点G的y坐标
vxg=0;%点G的速度在x方向的分量
vyg=0;% 点G的速度在y方向的分量
axg=0;% 点G的加速度在x方向的分量
ayg=0;% 点G的加速度在y方向的分量
wgf=ones(1,3601);%给杆GF的角速度赋初值
%求角BCD,角BD
for m=1:3601
lbd(1,m)=sqrt((xd-xb(1,m))^2+(yd-yb(1,m))^2);
if (lbd(1,m)<(li+lj)&&lbd(1,m)>abs(lj-li))
jbcd(1,m)=acos((li*li+lbd(1,m)*lbd(1,m)-lj*lj)/(2*li*lbd(1,m)));
elseif lbd(1,m)==(li+lj)
jbcd(1,m)=0;
elseif (lbd(1,m)==abs(lj-li)&&(li>lj))
jbcd(1,m)=0;
elseif (lbd(1,m)==abs(lj-li)&&(li<lj))
jbcd(1,m)=pi;
end
if (xd>xb(1,m) && yd>=yb(1,m))
fdb(1,m)=atan((yd-yb(1,m))/(xd-xb(1,m)));
elseif (xd==xb(1,m) && yd>yb(1,m))
fdb(1,m)=pi/2;
elseif (xd<xb(1,m)&&yd>=yb(1,m))
fdb(1,m)=atan((yd-yb(1,m))/(xd-xb(1,m)))+pi;
elseif (xd==xb(1,m)&&yd<yb(1,m))
fdb(1,m)=3*pi/2;
elseif (xd>xb(1,m)&&yd<yb(1,m))
fdb(1,m)=atan((yd-yb(1,m))/(xd-xb(1,m)))+2*pi;
elseif (xd<xb(1,m)&&yd<yb(1,m))
fdb(1,m)=atan((yd-yb(1,m))/(xd-xb(1,m)))+pi;
end
fi(1,m)=fdb(1,m)-jbcd(1,m);% 杆BC的角位移
if fi(1,m)<0
fi(1,m)=fi(1,m)+2*pi;
end
end
%求点C的坐标
xc=xb+li*cos(fi);
yc=yb+li*sin(fi);
for n=1:3601%求杆CD的角位移
if (xc(1,n)>xd && yc(1,n)>=yd)
fj(1,n)=atan((yc(1,n)-yd)/(xc(1,n)-xd));
elseif (xc(1,n)==xd && yc(1,n)>yd)
fj(1,n)=pi/2;
elseif (xc(1,n)<xd && yc(1,n)>=yd)
fj(1,n)=atan((yc(1,n)-yd)/(xc(1,n)-xd))+pi;
elseif (xc(1,n)<xd && yc(1,n)<yd)
fj(1,n)=atan((yc(1,n)-yd)/(xc(1,n)-xd))+pi;
elseif (xc(1,n)==xd && yc(1,n)<yd)
fj(1,n)=pi/2*3;
elseif (xc(1,n)>xd && yc(1,n)<=yd)
fj(1,n)=atan((yc(1,n)-yd)/(xc(1,n)-xd))+2*pi;
end
end
ci=li*cos(fi);
cj=lj*cos(fj);
si=li*sin(fi);
sj=lj*sin(fj);
g1=ci.*sj-cj.*si;
%求杆BC、CD的角速度
wi=(cj*vxd-cj.*vxb+sj*vxd-sj.*vyb)./g1;
wj=(ci*vxd-ci.*vxb+si*vxd-si.*vyb)./g1;
g2=-axb+wi.^2.*ci-wj.^2.*cj;
g3=-ayb+wi.^2.*si-wj.^2.*sj;
%求杆BC、CD的角加速度
ei=(g2.*cj+g3.*sj)./g1;
ej=(g2.*ci+g3.*si)./g1;
lbf=281.113856;
ai=51.499/180*pi;
fii=fi+ai*ones(1,3601);
%求点F的坐标、速度、加速度
xf=xb+lbf*cos(fii);
yf=yb+lbf*sin(fii);
vxf=vxb-lbf*wi.*sin(fii);
vyf=vyb+lbf*wi.*cos(fii);
axf=axb-lbf*wi.^2.*cos(fii)-lbf*ei.*sin(fii);
ayf=ayb-lbf*wi.^2.*sin(fii)-lbf*ei.*cos(fii);
%求杆GF的角位移
for i=1:3601
ss(1,i)=sqrt((xg-xf(1,i))^2+(yg-yf(1,i))^2);
if xf(1,i)>xg && yf(1,i)>=yg
ffg(1,i)=atan((yf(1,i)-yg)/(xf(1,i)-xg));
elseif xf(1,i)==xg && yf(1,i)>yg
ffg(1,i)=pi/2;
elseif xf(1,i)<xg && yf(1,i)>=yg
ffg(1,i)=atan((yf(1,i)-yg)/(xf(1,i)-xg))+pi;
elseif xf(1,i)<xg && yf(1,i)<yg
ffg(1,i)=atan((yf(1,i)-yg)/(xf(1,i)-xg))+pi;
elseif xf(1,i)==xg && yf(1,i)<yg
ffg(1,i)=3*pi/2;
elseif xf(1,i)>xg && yf(1,i)<yg
ffg(1,i)=atan((yf(1,i)-yg)/(xf(1,i)-xg))+2*pi;
end
end
%求杆GF的角速度
for i=1:3601
if ss(1,i)==0
wgf(1,i)=0;
else wgf(1,i)=(vyf(1,i)*cos(ffg(1,i))-vxf(1,i)*sin(ffg(1,i)))/ss(1,i);
end
end
%求杆GF的角加速度
vss=vxf.*cos(ffg)+vyf.*sin(ffg);
egf=(ayf.*cos(ffg)-axf.*sin(ffg)-2*vss.*wgf)./ss;
%画图
%plot(xf,yf,'r')
%plot(yy,xf,'k-',yy,yf,'r--')
%plot(yy,vxf,'k-',yy,vyf,'r--')
%plot(yy,vf,'k-')
%plot(yy,axf,'k-',yy,ayf,'r--')
%plot(yy,af,'k-')
%plot(yy,ffg,'k-')
%plot(yy,wgf,'k-')
plot(yy,egf,'k-')
grid on%画网格线
展开阅读全文