机械原理大作业平面六杆机构的运动分析.docx
- 文档编号:1904912
- 上传时间:2022-10-25
- 格式:DOCX
- 页数:24
- 大小:159.76KB
机械原理大作业平面六杆机构的运动分析.docx
《机械原理大作业平面六杆机构的运动分析.docx》由会员分享,可在线阅读,更多相关《机械原理大作业平面六杆机构的运动分析.docx(24页珍藏版)》请在冰豆网上搜索。
机械原理大作业平面六杆机构的运动分析
平面六杆机构的运动分析
(题号1-B)
成绩___________________________
指导老师
班级
学号
姓名
1、题目说明
如右图所示平面六杆机构,试用计算机完成其运动分析。
已知其尺寸参数如下表所示:
组号
L1
L2
L2’
L3
L4
L5
L6
α
xG
yG
1-B
24.0
105.6
65.0
67.5
87.5
34.4
25.0
600
153.5
41.7
题目要求:
三人一组计算出原动件从0到360时(计算点数37)所要求的各运动变量的大小,并绘出运动曲线图与轨迹曲线。
2、题目分析
1)建立封闭图形:
L1+L2=L3+L4
L1+L2=L5+L6+AG
2)机构运动分析
a、角位移分析
由图形封闭性得:
将上式化简可得:
b、角速度分析
上式对时间求一阶导数,可得速度方程:
化为矩阵形式为:
c、角加速度分析:
矩阵对时间求一阶导数,可得加速度矩阵为:
d、E点的运动状态
位移:
速度:
加速度:
3、流程图
4、源程序
#include
#include
#include"agaus.c"
#include"dnetn.c"
#include"conio.h"
#defineAlpha(PI/3)
#definePI3.979
#defineAngle(PI/180)
FILE*fp;
structmotion
{
inttheta1;
doubletheta[5];/*theta1,2,3,5,6*/
doublew[4];/*w2,3,5,6*/
doublealpha[4];
doubleXYe[2],Ve[3],ae[3];
};
structmotionmot[37];
structmotion*p;
intk=100;
doubleL[7]={65.0,24.0,105.6,67.5,87.5,34.4,25.0};
doubleXG=153.5;
doubleYG=41.7;
doublew1=1.0;
doublet=0.1;
doubleh=0.1;
doubleeps=0.0000001;
main()
{
intn,i,m;
doublex[4]={26.23*Angle,49.75*Angle,87.16*Angle,37.25*Angle};
fp=fopen("num-output.txt","w");
for(n=0,p=mot;n<=36;n++,p++)
{doublea[4][4];
doubleb[4];
(*p).theta1=n*10;
(*p).theta[0]=n*10*Angle;
i=dnetn(4,eps,t,h,x,k);
for(m=0;m<4;m++)
(*p).theta[m+1]=x[m];
printf("%d%d",n,i);
getchar();
a[0][0]=-L[2]*sin((*p).theta[1]);
a[0][1]=L[3]*sin((*p).theta[2]);
a[0][2]=0.;
a[0][3]=0.;
a[1][0]=L[2]*cos((*p).theta[1]);
a[1][1]=-L[3]*cos((*p).theta[2]);
a[1][2]=0.;
a[1][3]=0.;
a[2][0]=-L[0]*sin((*p).theta[1]-Alpha);
a[2][1]=-L[3]*sin((*p).theta[2]);
a[2][2]=-L[5]*sin((*p).theta[3]);
a[2][3]=L[6]*sin((*p).theta[4]);
a[3][0]=L[0]*cos((*p).theta[1]-Alpha);
a[3][1]=L[3]*cos((*p).theta[2]);
a[3][2]=L[5]*cos((*p).theta[3]);
a[3][3]=-L[6]*cos((*p).theta[4]);
b[0]=L[1]*sin((*p).theta[0])*w1;
b[1]=-L[1]*cos((*p).theta[0])*w1;
b[2]=0.;
b[3]=0.;
if(agaus(a,b,4)!
=0)
for(m=0;m<4;m++)
(*p).w[m]=b[m];
a[0][0]=-L[2]*sin((*p).theta[1]);
a[0][1]=L[3]*sin((*p).theta[2]);
a[0][2]=0.;
a[0][3]=0.;
a[1][0]=L[2]*cos((*p).theta[1]);
a[1][1]=-L[3]*cos((*p).theta[2]);
a[1][2]=0.;
a[1][3]=0.;
a[2][0]=-L[0]*sin((*p).theta[1]-Alpha);
a[2][1]=-L[3]*sin((*p).theta[2]);
a[2][2]=-L[5]*sin((*p).theta[3]);
a[2][3]=L[6]*sin((*p).theta[4]);
a[3][0]=L[0]*cos((*p).theta[1]-Alpha);
a[3][1]=L[3]*cos((*p).theta[2]);
a[3][2]=L[5]*cos((*p).theta[3]);
a[3][3]=-L[6]*cos((*p).theta[4]);
b[0]=L[2]*cos((*p).theta[1])*(*p).w[0]*(*p).w[0]-L[3]*cos((*p).theta[2])*(*p).w[1]*(*p).w[1]+w1*w1*L[1]*cos((*p).theta[0]);
b[1]=L[2]*sin((*p).theta[1])*(*p).w[0]*(*p).w[0]-L[3]*sin((*p).theta[2])*(*p).w[1]*(*p).w[1]+w1*w1*L[1]*sin((*p).theta[0]);
b[2]=L[0]*cos((*p).theta[1]-Alpha)*(*p).w[0]*(*p).w[0]+L[3]*cos((*p).theta[2])*(*p).w[1]*(*p).w[1]+L[5]*cos((*p).theta[3])*(*p).w[2]*(*p).w[2]-L[6]*cos((*p).theta[4])*(*p).w[3]*(*p).w[3];
b[3]=L[0]*sin((*p).theta[1]-Alpha)*(*p).w[0]*(*p).w[0]+L[3]*sin((*p).theta[2])*(*p).w[1]*(*p).w[1]+L[5]*sin((*p).theta[3])*(*p).w[2]*(*p).w[2]-L[6]*sin((*p).theta[4])*(*p).w[3]*(*p).w[3];
if(agaus(a,b,4)!
=0)
for(m=0;m<4;m++)
(*p).alpha[m]=b[m];
(*p).XYe[0]=XG+L[6]*cos((*p).theta[4])-L[5]*cos((*p).theta[3]);
(*p).XYe[1]=YG+L[6]*sin((*p).theta[4])-L[5]*sin((*p).theta[3]);
(*p).Ve[0]=-L[6]*sin((*p).theta[4])*(*p).w[3]+L[5]*sin((*p).theta[3])*(*p).w[2];
(*p).Ve[1]=L[6]*cos((*p).theta[4])*(*p).w[3]-L[5]*cos((*p).theta[3])*(*p).w[2];
(*p).Ve[2]=sqrt((*p).Ve[0]*(*p).Ve[0]+(*p).Ve[1]*(*p).Ve[1]);
(*p).ae[0]=-L[6]*cos((*p).theta[4])*(*p).w[3]*(*p).w[3]-L[6]*sin((*p).theta[4])*(*p).alpha[3]+L[5]*cos((*p).theta[3])*(*p).w[2]*(*p).w[2]+L[5]*sin((*p).theta[3])*(*p).alpha[2];
(*p).ae[1]=-L[6]*sin((*p).theta[4])*(*p).w[3]*(*p).w[3]+L[6]*cos((*p).theta[4])*(*p).alpha[3]+L[5]*sin((*p).theta[3])*(*p).w[2]*(*p).w[2]-L[5]*cos((*p).theta[3])*(*p).alpha[2];
(*p).ae[2]=sqrt((*p).ae[0]*(*p).ae[0]+(*p).ae[1]*(*p).ae[1]);
fprintf(fp,"%d\t",(*p).theta1);
for(m=0;m<=4;m++)
fprintf(fp,"%lf\t",(*p).theta[m]);
for(m=0;m<=3;m++)
fprintf(fp,"%lf\t",(*p).w[m]);
for(m=0;m<=3;m++)
fprintf(fp,"%lf\t",(*p).alpha[m]);
for(m=0;m<=1;m++)
fprintf(fp,"%lf\t",(*p).XYe[m]);
for(m=0;m<=2;m++)
fprintf(fp,"%lf\t",(*p).Ve[m]);
for(m=0;m<=2;m++)
fprintf(fp,"%lf\t",(*p).ae[m]);
fprintf(fp,"\n");
}
fclose(fp);
}
voiddnetnf(x,y,n)
intn;
doublex[],y[];
{
y[0]=L[1]*cos((*p).theta[0])+L[2]*cos(x[0])-L[3]*cos(x[1])-L[4];
y[1]=L[1]*sin((*p).theta[0])+L[2]*sin(x[0])-L[3]*sin(x[1]);
y[2]=L[3]*cos(x[1])+L[0]*cos(x[0]-Alpha)+L[5]*cos(x[2])-L[6]*cos(x[3])-XG+L[4];
y[3]=L[3]*sin(x[1])+L[0]*sin(x[0]-Alpha)+L[5]*sin(x[2])-L[6]*sin(x[3])-YG;
n=n;
return;
}
5、计算结果和曲线图:
①各从动件的角位移与θ1的关系曲线和计算数据:
θ1
θ2
θ3
θ5
θ6
0
0
0.656023
1.267191
2.309382
1.934332
10
0.174533
0.593275
1.2122
1.9611
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 机械 原理 作业 平面 机构 运动 分析