用解析法作牛头刨床的运动分析

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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等函数直接画图表,很简单而且不容易出

相关文档
最新文档