用解析法作牛头刨床的运动分析
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
用解析法作牛头刨床的运动分析—Matlab程序
一、题意分析:如图先建立坐标系,并标出各构建的尺寸为:=125mm,
=600mm,=150mm,原动件1的方位角==-?和等角速度=1
rad/s。试用矩阵法求该机构中各从动的方位角、角速度、和角加速度以及E 点的位移、速度和加速度的运动曲线图。
解:如图所示,先建立一直角坐标系,并标出各矢量及其方位角。其中共有四个未知量及。为求解需要建立两个封闭矢量方程,为此需要利用两个封闭图形ABCA及CDEGC,由此可得
?+ = ??????+ ?= ?+
并写成投影方程为
cos=cos
sin=+sin
cos+cos-=0
sin+sin=
由以上各式即可求得、、、四个运动变量,而滑块2的方位角=
然后,分别将上列各式对时间取一次二次导数,并写成矩阵形式,即得一下速度和加速度方程:
=
=
+
二、源程序:
clear all;clc;
w1=1;l1=0.125;l3=0.6;l6=0.275;l61=0.575;l4=0.15;
for m=1:3601
o1(m)=pi*(m-1)/1800;o31(m)=atan((l6+l1*sin(o1(m)))/(l1*cos(o1(m))));
if o31(m)>=0
o3(m)=o31(m);
else o3(m)=pi+o31(m);
end;
s3(m)=(l1*cos(o1(m)))/cos(o3(m));o4(m)=pi-asin((l61-l3*sin(o3(m)))/l4);
se(m)=l3*cos(o3(m))+l4*cos(o4(m));
if o1(m)==pi/2
o3(m)=pi/2; s3(m)=l1+l6;
end
if o1(m)==3*pi/2
o3(m)=pi/2; s3(m)=l6-l1;
end
A1=[cos(o3(m)),-s3(m)*sin(o3(m)),0,0;sin(o3(m)),s3(m)*cos(o3(m)),0,0;0,-l3*sin(o3 (m)),-l4*sin(o4(m)),-1;0,l3*cos(o3(m)),l4*cos(o4(m)),0];
B1=w1*[-l1*sin(o1(m));l1*cos(o1(m));0;0];D1=A1\B1;E1(:,m)=D1;ds(m)=D1(1);w3 (m)=D1(2);w4(m)=D1(3);ve(m)=D1(4);
A2=[cos(o3(m)),-s3(m)*sin(o3(m)),0,0;sin(o3(m)),s3(m)*cos(o3(m)),0,0;0,-l3*sin(o3
(m)),-l4*sin(o4(m)),-1;0,l3*cos(o3(m)),l4*cos(o4(m)),0];
B2=-[-w3(m)*sin(o3(m)),(-ds(m)*sin(o3(m))-s3(m)*w3(m)*cos(o3(m))),0,0;w3(m)* cos(o3(m)),(ds(m)*cos(o3(m))-s3(m)*w3(m)*sin(o3(m))),0,0;0,-l3*w3(m)*cos(o3(m )),-l4*w4(m)*cos(o4(m)),0;0,-l3*w3(m)*sin(o3(m)),-l4*w4(m)*sin(o4(m)),0]*[ds(m) ;w3(m);w4(m);ve(m)];
C2=w1*[-l1*w1*cos(o1(m));-l1*w1*sin(o1(m));0;0];B=B2+C2;D2=A2\B;E2(:,m)= D2;dds(m)=D2(1);a3(m)=D2(2);a4(m)=D2(3);ae(m)=D2(4);
end;
o11=o1*180/pi;y=[o3*180/pi;o4*180/pi];w=[w3;w4];a=[a3;a4];figure;
subplot(221);h1=plotyy(o11,y,o11, se); axis equal;
title('位置线图');xlabel('\it\theta1');ylabel('\it\theta3,\theta4,Se');
subplot(222);h2=plotyy(o11,w,o11,ve);
title('速度线图');
xlabel('\it\theta1');ylabel('\it\omega3,\omega4,Ve');
subplot(212);h3=plotyy(o11,a,o11,ae);
title('加速度线图');
xlabel('\it\theta1');ylabel('\it\alpha3,\alpha4,\alphaE');
F=[o11;o3./pi*180;o4./pi*180;se;w3;w4;ve;a3;a4;ae]';G=F(1:100:3601,:)
二、程序运行结果:
图表结果:
三、心得体会
一直抱怨大学的课程中,我们自己动手参与的活动不多,这一回体验了“靠自己”的感受。总的体会是辛苦,虽然前后我只熬了两次夜。主要是刚开始一直都没有重视,但是终于还是完成了,而且最重要的是,我因此而喜欢上了Matlab。Matlab 很有用,用老外的话就是“It is a useful tool”。它比我们以前学过的C语言功能强大多了,很有体会的是:C语言中很长的一段语句,用Matlab只需一个函数,而且Matlab以矩阵为基础,在处理数据的时候很有优势。还有一个值得提起的是,Matlab还可以通过plot以及plotty等函数直接画图表,很简单而且不容易出