机械原理大作业平面连杆机构报告1.docx

上传人:b****6 文档编号:3303626 上传时间:2022-11-21 格式:DOCX 页数:23 大小:305.76KB
下载 相关 举报
机械原理大作业平面连杆机构报告1.docx_第1页
第1页 / 共23页
机械原理大作业平面连杆机构报告1.docx_第2页
第2页 / 共23页
机械原理大作业平面连杆机构报告1.docx_第3页
第3页 / 共23页
机械原理大作业平面连杆机构报告1.docx_第4页
第4页 / 共23页
机械原理大作业平面连杆机构报告1.docx_第5页
第5页 / 共23页
点击查看更多>>
下载资源
资源描述

机械原理大作业平面连杆机构报告1.docx

《机械原理大作业平面连杆机构报告1.docx》由会员分享,可在线阅读,更多相关《机械原理大作业平面连杆机构报告1.docx(23页珍藏版)》请在冰豆网上搜索。

机械原理大作业平面连杆机构报告1.docx

机械原理大作业平面连杆机构报告1

 

平面连杆机构的运动分析

(题号:

平面六杆机构)

 

 

一、题目:

计算平面连杆机构的运动学分析

二、平面连杆机构的运动分析方程

三、程序流程图

四、计算源程序

五、计算结果数据

六、运动线图及分析

七、体会及建议

八、参考书

 

一、题目说明:

1、题目简介:

(1)如图所示平面六杆机构,设已知各构件的尺寸如下表一,又知原动件1以角速度为1rad/s沿逆时针方向回转,试求个从动件的角位移、角速度、及角加速度以及E点的位移、速度及加速度变化情况。

(2)已知其尺寸参数如下表所示:

组号

L1

L2

L3

L4

L5

L6

α

XG

YG

2-A

26.5

116.6

67.5

87.5

52.4

43.0

60°

153.5

41.7

2、题目要求与成员组成及分工:

(1)题目要求:

两人一组计算出原动件从0°到360°时(计算点数N=36)所要求的各运动变量的大小,并绘出运动曲线图以及E点的轨迹曲线,本组题号为:

2—A。

二、题目分析:

1、建立封闭图形:

L1+L2=L3+L4

L1+L2=L5+L6+AG

2、机构运动分析:

(1)角位移分析

由图形封闭性得:

将上式化简可得:

(2)角速度分析

上式对时间求一阶导数,可得速度方程:

化为矩阵形式为:

(3)角加速度分析:

矩阵对时间求一阶导数,可得加速度矩阵为:

(4)E点的运动状态

位移:

速度:

加速度:

三、流程图:

四、源程序

#include

#include

#include

#definePI3.1415926

#defineN4

voidSolutionangle(double[18],double);/*矢量法求角位移*/

voidSolutionspeed(double[N][N],double[N],double[18],double);/*角速度求解*/

voidSolutionacceleration(double[N][N],double[N][N],double[N],double[18]);/*角加速度求解*/

voidGaussianE(double[N][N],double[N],double[N]);/*高斯消去*/

voidFoundmatrixA(double[18],double[N][N]);//创建系数矩阵A

voidFoundmatrixB(double[18],double,double[N]);//创建系数矩阵B

voidFoundmatrixDA(double[18],double[N][N]);//创建矩阵DA

voidFoundmatrixDB(double[18],double,double[N]);//创建矩阵DB

//定义全局变量

doublel1=26.5,l2=111.6,l3=67.5,l4=87.5,l5=52.4,l6=43.0;

doublel2g=65.0,xg=153.5,yg=41.7,inang=60*PI/180,as1=1.0;

//主函数

voidmain()

{

inti,j;

FILE*fp;

doubleshuju[36][18];

doublepsvalue[18],a[N][N],da[N][N],b[N],db[N],ang1;

//建立文件,并制表头

if((fp=fopen("filel","w"))==NULL)

{

printf("Cann'topenthisfile.\n");

exit(0);

}

fprintf(fp,"\nTheKinematicParametersofPoint5\n");

fprintf(fp,"ang2ang3ang5ang6");

fprintf(fp,"as2as3as5as6");

fprintf(fp,"aas2aas3aas5aas6");

fprintf(fp,"xeyevexveyaexaey\n");

//计算数据并写入文件

for(i=0;i<36;i++)

{

ang1=i*PI/18;

Solutionangle(psvalue,ang1);

FoundmatrixB(psvalue,ang1,b);

FoundmatrixA(psvalue,a);

Solutionspeed(a,b,psvalue,ang1);

FoundmatrixDA(psvalue,da);

FoundmatrixDB(psvalue,ang1,db);

Solutionacceleration(a,da,db,psvalue);

for(j=0;j<4;j++)

{shuju[i][j]=psvalue[j]*180/PI;}

for(j=4;j<18;j++)

{shuju[i][j]=psvalue[j];}

fprintf(fp,"\n");

for(j=0;j<18;j++)

fprintf(fp,"%12.3f",shuju[i][j]);

}

fclose(fp);

//输出数据

for(i=0;i<36;i++)

{

ang1=i*PI/18;

printf("\n输出ang1=%d时的求解\n",i*10);

printf("angleangspeedangaccelerationE:

\n");

for(j=0;j<4;j++)

printf("%lf\t",shuju[i][j]);

printf("\n");

for(j=4;j<8;j++)

printf("%lf\t",shuju[i][j]);

printf("\n");

for(j=8;j<12;j++)

printf("%lf\t",shuju[i][j]);

printf("\n");

for(j=12;j<18;j++)

printf("%lf\t",shuju[i][j]);

printf("\n");

}

}

/*矢量法求角位移*/

voidSolutionangle(doublevalue[18],doubleang1)

{

doublexe,ye,A,B,C,phi,alpha,csn,ang5g,d2,d,ang2,ang3,ang5,ang6;

A=2*l1*l3*sin(ang1);

B=2*l3*(l1*cos(ang1)-l4);

C=l2*l2-l1*l1-l3*l3-l4*l4+2*l1*l4*cos(ang1);

ang3=2*atan((A+sqrt(A*A+B*B-C*C))/(B-C));

if(ang3<0)//限定ang3大小

{ang3=2*atan((A-sqrt(A*A+B*B-C*C))/(B-C));}

ang2=asin((l3*sin(ang3)-l1*sin(ang1))/l2);

xe=l4+l3*cos(ang3)+l2g*cos(ang2-inang);

ye=l3*sin(ang3)+l2g*sin(ang2-inang);

phi=atan2((yg-ye),(xg-xe));

d2=(yg-ye)*(yg-ye)+(xg-xe)*(xg-xe);

d=sqrt(d2);

csn=(l5*l5+d2-l6*l6)/(2.0*l5*d);

alpha=atan2(sqrt(1.0-csn*csn),csn);

ang5g=phi-alpha;

ang5=ang5g-PI;

ang6=atan2(ye+l5*sin(ang5g)-yg,xe+l5*cos(ang5g)-xg);

value[0]=ang2;value[1]=ang3;value[2]=ang5;value[3]=ang6;

value[12]=xe;value[13]=ye;

//限定角度大小

for(inti=0;i<4;i++)

{

while(value[i]>2*PI)

value[i]-=2*PI;

while(value[i]<0)

value[i]+=2*PI;

}

}

/*角速度求解*/

voidSolutionspeed(doublea2[N][N],doubleb2[N],doublevalue[18],doubleang1)

{

doubleang2,ang3;

ang2=value[0];ang3=value[1];

doublep2[N];

GaussianE(a2,b2,p2);

value[4]=p2[0];

value[5]=p2[1];

value[6]=p2[2];

value[7]=p2[3];

value[14]=-l3*value[5]*sin(ang3)-l2g*value[4]*sin(ang2-inang);

value[15]=l3*value[5]*cos(ang3)+l2g*value[4]*cos(ang2-inang);

}

/*角加速度求解*/

voidSolutionacceleration(doublea3[N][N],doubleda3[N][N],doubledb3[N],doublevalue[18])

{

inti,j;

doubleang2,ang3;

ang2=value[0];ang3=value[1];

doublebk[N]={0};

doublep3[N];

for(i=0;i

{

for(j=0;j

{

bk[i]+=-da3[i][j]*value[4+j];

}

bk[i]+=db3[i]*as1;

}

GaussianE(a3,bk,p3);

value[8]=p3[0];

value[9]=p3[1];

value[10]=p3[2];

value[11]=p3[3];

value[16]=-l3*value[9]*sin(ang3)-l3*value[5]*value[5]*cos(ang3)-l2g*value[8]*sin(ang2-inang)-l2g*value[4]*value[4]*cos(ang2-inang);

value[17]=l3*value[9]*cos(ang3)-l3*value[5]*value[5]*sin(ang3)+l2g*value[8]*cos(ang2-inang)-l2g*value[4]*value[4]*sin(ang2-inang);

}

/*高斯消去法解矩阵方程*/

voidGaussianE(doublea4[N][N],doubleb4[N],doublep4[N])

{

inti,j,k;

doublea4g[N][N],b4g[N],t;

for(i=0;i

for(j=0;j

a4g[i][j]=a4[i][j];

for(i=0;i

b4g[i]=b4[i];

//使主对角线上的值尽可能大

if(a4g[0][0]a4g[1][1])

{

for(j=0;j

{t=a4g[0][j];a4g[0][j]=a4g[1][j];a4g[1][j]=t;}

t=b4g[0];b4g[0]=b4g[1];b4g[1]=t;

}

if(a4g[2][2]a4g[3][3])

{

for(j=0;j

{t=a4g[2][j];a4g[2][j]=a4g[3][j];a4g[3][j]=t;}

t=b4g[2];b4g[2]=b4g[1];b4g[3]=t;

}

//初等行变换

for(j=0;j

for(i=0;i

{

if(i!

=j)

{

for(k=0;k

if(k!

=j)

{a4g[i][k]-=a4g[i][j]/a4g[j][j]*a4g[j][k];}

b4g[i]-=b4g[j]*a4g[i][j]/a4g[j][j];

a4g[i][j]=0;

}

}

for(i=0;i

b4g[i]/=a4g[i][i];

p4[0]=b4g[0];

p4[1]=b4g[1];

p4[2]=b4g[2];

p4[3]=b4g[3];

}

//创建系数矩阵A

voidFoundmatrixA(doublevalue5[18],doublea5[N][N])

{

doubleang2,ang3,ang5,ang6;

ang2=value5[0];ang3=value5[1];ang5=value5[2];ang6=value5[3];

a5[0][0]=-l2*sin(ang2);a5[0][1]=l3*sin(ang3);

a5[1][0]=l2*cos(ang2);a5[1][1]=-l3*cos(ang3);

a5[2][0]=-l2*sin(ang2)-l2g*sin(ang2-inang);

a5[2][2]=l5*sin(ang5);a5[2][3]=l6*sin(ang6);

a5[3][0]=l2*cos(ang2)+l2g*cos(ang2-inang);

a5[3][2]=-l5*cos(ang5);a5[3][3]=-l6*cos(ang6);

a5[0][2]=a5[0][3]=a5[1][2]=a5[1][3]=a5[2][1]=a5[3][1]=0;

}

//创建系数矩阵B

voidFoundmatrixB(doublevalue6[18],doubleang1,doubleb6[N])

{

b6[0]=b6[2]=l1*sin(ang1)*as1;

b6[1]=b6[3]=-l1*cos(ang1)*as1;

}

//创建矩阵DA

voidFoundmatrixDA(doublevalue7[18],doubleda7[N][N])

{

doubleang2,ang3,ang5,ang6,as2,as3,as5,as6;

ang2=value7[0];ang3=value7[1];ang5=value7[2];ang6=value7[3];

as2=value7[4];as3=value7[5];as5=value7[6];as6=value7[7];

da7[0][0]=-l2*as2*cos(ang2);da7[0][1]=l3*as3*cos(ang3);

da7[1][0]=-l2*as2*sin(ang2);da7[1][1]=l3*as3*sin(ang3);

da7[2][0]=as2*(-l2*cos(ang2)-l2g*cos(ang2-inang));

da7[2][2]=as5*l5*cos(ang5);da7[2][3]=as6*l6*cos(ang6);

da7[3][0]=as2*(-l2*sin(ang2)-l2g*sin(ang2-inang));

da7[3][2]=as5*l5*sin(ang5);da7[3][3]=as6*l6*sin(ang6);

da7[0][2]=da7[0][3]=da7[1][2]=da7[1][3]=da7[2][1]=da7[3][1]=0;

}

//创建矩阵DB

voidFoundmatrixDB(doublevalue8[18],doubleang1,doubledb8[N])

{

db8[0]=db8[2]=l1*as1*cos(ang1);

db8[1]=db8[3]=l1*as1*sin(ang1);

}

五、计算结果及相关曲线图:

A组:

数据

ang2

ang3

ang5

ang6

31.416

59.518

274.846

60.933

27.441

56.107

267.104

47.459

24.319

54.603

261.96

39.404

22.071

54.839

257.865

35.153

20.587

56.482

254.057

33.433

19.725

59.178

250.122

33.168

19.356

62.621

245.733

33.4

19.38

66.57

240.472

33.145

19.724

70.84

233.659

31.158

20.338

75.287

224.179

25.656

21.188

79.799

210.788

14.566

22.253

84.282

193.987

357.785

23.518

88.659

177.339

339.158

24.973

92.859

164.018

322.764

26.61

96.825

154.479

309.822

28.423

100.501

147.803

299.87

30.402

103.84

142.952

292.122

32.533

106.8

139.123

285.905

34.799

109.344

135.751

280.708

37.173

111.44

132.448

276.145

39.622

113.061

128.955

271.914

42.105

114.183

125.1

267.78

44.569

114.784

120.784

263.564

46.952

114.839

115.961

259.15

49.182

114.323

110.623

254.486

51.174

113.203

104.779

249.588

52.829

111.44

98.434

244.523

54.036

108.986

91.547

239.386

54.673

105.789

83.996

234.241

54.607

101.797

75.52

229.036

53.708

96.972

65.573

223.378

51.867

91.32

52.837

215.831

49.035

84.93

33.036

200.978

45.27

78.038

355.866

164.371

40.797

71.08

313.857

116.276

36.012

64.679

288.382

82.34

as2

as3

as5

as6

-0.434

-0.434

-1.783

-2.79

-0.357

-0.245

-1.285

-2.163

-0.267

-0.059

-1.053

-1.748

-0.184

0.1

-0.973

-1.493

-0.115

0.223

-0.984

-1.365

-0.06

0.311

-1.059

-1.344

-0.016

0.373

-1.185

-1.418

0.019

0.414

-1.361

-1.585

0.049

0.438

-1.584

-1.842

0.074

0.45

-1.817

-2.151

0.096

0.451

-1.916

-2.343

0.117

0.444

-1.703

-2.175

0.136

0.43

-1.316

-1.762

0.155

0.409

-1.029

-1.409

0.173

0.383

-0.792

-1.132

0.19

0.352

-0.561

-0.872

0.206

0.316

-0.423

-0.689

0.22

0.276

-0.352

-0.563

0.232

0.232

-0.328

-0.482

0.242

0.186

-0.336

-0.435

0.247

0.138

-0.365

-0.415

0.248

0.087

-0.407

-0.415

0.244

0.033

-0.457

-0.43

0.232

-0.023

-0.508

-0.454

0.213

-0.081

-0.559

-0.479

0.184

-0.143

-0.609

-0.5

0.145

-0.21

-0.66

-0.512

0.094

-0.282

-0.719

-0.515

0.031

-0.359

-0.795

-0.515

-0.046

-0.44

-0.908

-0.532

-0.136

-0.524

-1.1

-0.62

-0.234

-0.605

-1.507

-0.964

-0.332

-0.67

-2.666

-2.29

-0.417

-0.702

-4.566

-4.892

-0.471

-0.68

-4.309

-5.087

-0.477

-0.589

-2.745

-3.75

aas2

aas3

aas5

aas6

0.367

1.02

2.386

0.349

0.5

1.109

2.464

1.617

0.506

1.005

1.991

1.827

0.44

0.807

1.573

1.686

0.356

0.6

1.333

1.514

0.281

0.425

1.273

1.446

0.224

0.287

1.393

1.549

0.182

0.182

1.737

1.904

0.154

0.1

2.418

2.671

0.135

0.036

3.589

4.093

0.122

-0.017

4.816

5.81

0.114

-0.062

4.198

5.589

0.109

-0.101

1.884

3.163

0.105

-0.135

0.167

1.128

0.1

-0.166

1.639

1.722

0.095

-0.193

1.033

1.255

0.08

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 小学教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1