机械原理大作业2凸轮机构大作业.docx

上传人:b****3 文档编号:3887267 上传时间:2022-11-26 格式:DOCX 页数:17 大小:359.43KB
下载 相关 举报
机械原理大作业2凸轮机构大作业.docx_第1页
第1页 / 共17页
机械原理大作业2凸轮机构大作业.docx_第2页
第2页 / 共17页
机械原理大作业2凸轮机构大作业.docx_第3页
第3页 / 共17页
机械原理大作业2凸轮机构大作业.docx_第4页
第4页 / 共17页
机械原理大作业2凸轮机构大作业.docx_第5页
第5页 / 共17页
点击查看更多>>
下载资源
资源描述

机械原理大作业2凸轮机构大作业.docx

《机械原理大作业2凸轮机构大作业.docx》由会员分享,可在线阅读,更多相关《机械原理大作业2凸轮机构大作业.docx(17页珍藏版)》请在冰豆网上搜索。

机械原理大作业2凸轮机构大作业.docx

机械原理大作业2凸轮机构大作业

大作业

(二)

凸轮机构设计

 

(题号:

_________)

 

班级:

________________________

学号:

________________________

姓名:

________________________

同组其他人员:

________________________

完成日期:

________________________

 

凸轮机构大作业题目

 

目录

 

1、题目及原始数据;

2、推杆的运动规律及凸轮廓线方程;

3、计算程序框图

4、计算程序;

5、计算结果及分析;

6、凸轮机构图(包括推杆及凸轮理论和实际廓线,并标出有关尺寸及计算结果

7、体会及建议

8、参考书

 

利用计算机辅助设计完成下列偏置式直动滚子推杆盘形凸轮机构(推杆的移动副导路位于凸轮盘回转中心的右侧)或摆动滚子推杆盘形凸轮机构的设计,设计已知数据如下表所示,机构中凸轮沿着逆时针方向做匀速转动。

 

表1两种凸轮机构的从动件运动规律

直动推杆组题号

推程运动规律

回程运动规律

5-B

等加速等减速运动

五次多项式运动

表2两种凸轮机构的推杆在近休、推程、远休及回程阶段的凸轮转角

题号

近休凸轮转角

推程凸轮转角

远休凸轮转角

回程凸轮转角

B

0゜~45゜

45゜~225゜

225゜~270゜

270゜~360゜

表3偏置直动滚子推杆盘形凸轮机构的已知参数

题号

初选基圆半径r0/mm

偏距e/mm

滚子半径rt/mm

推杆行程h/mm

许用压力角

许用最小曲率半径[ρamin]

[α1]

[α2]

B

20

+10

15

35

30゜

75゜

0.3rt

要求:

每两人一组,每组中至少打印出一份源程序。

每人都要打印:

原始数据;凸轮理论轮廓曲线和实际轮廓曲线的坐标值;推程和回程的最大压力角,以及出现最大压力角时凸轮相应的转角,凸轮实际轮廓曲线的最小曲率半径,以及相应的凸轮转角;凸轮的基圆半径。

整个设计过程所选取的计算点数N=72~120。

利用计算机绘出凸轮的理论轮廓曲线和实际轮廓曲线。

二、推杆运动规律及凸轮轮廓方程

推程:

等加速

远休:

等减速

回程:

五次多项式整理得;

理论轮廓廓线方程

工作廓线方程

实际廓线方程

三、计算程序框图

 

 

四、计算程序

#include

#include

#include

#definePI3.141592653

doublefact[72][2];

doubletheory[72][2];

intang1=180,ang2=225,ang3=315;

doubleh=35,rb=20,b=1;

doubleA1=30*PI/180,A2=75*PI/180;

doubleP=18.2,e=10;

doubleSo,r=15;

doubleS(intI)

{

doubles;

doubleA;

doubleB;

if(I<=ang1/2)

{

A=I*PI/180;

B=ang1*PI/180;

s=2*h*pow(A/B,2);

}

elseif((I>ang1/2)&&(I<=ang1))

{

A=I*PI/180;

B=ang1*PI/180;

s=h-2*h*pow((B-A)/B,2);

}

elseif(I<=ang2)s=h;

elseif(I<=ang3)

{

A=(I-ang2)*PI/180;

B=(ang3-ang2)*PI/180;

s=h*(1-10*pow(A/B,3)+15*pow(A/B,4)-6*pow(A/B,5));

}

elses=0;

return(s);

}

doubleds(intQ)

{

doubleA,B,C;

if(Q<=ang1/2)

{

A=Q*PI/180;

B=ang1*PI/180;

C=4*h*A/(B*B);

}

elseif((Q>ang1/2)&&(Q<=ang1))

{

A=Q*PI/180;

B=ang1*PI/180;

C=4*h*(B-A)/(B*B);

}

elseif(Q<=ang2)C=0;

elseif(Q<=ang3)

{

A=(Q-ang2)*PI/180;

B=(ang3-ang2)*PI/180;

C=h*(-30*A*A/pow(B,3)+60*pow(A,3)/pow(B,4)-30*pow(A,4)/pow(B,5));

}

elseC=0;

returnC;

}

doubledss(intB3)

{

doubleA,B,C;

if(B3<=ang1/2)

{

A=B3*PI/180;

C=ang1*PI/180;

B=4*h/(C*C);

}

elseif(B3>ang1/2&&B3<=ang1)

{

A=B3*PI/180;

C=ang1*PI/180;

B=-4*h/(C*C);

}

elseif(B3<=ang2)B=0;

elseif(B3<=ang3)

{

A=(B3-ang2)*PI/180;

C=(ang3-ang2)*PI/180;

B=h*(-60*A/pow(C,3)+240*A*A/pow(C,4)-120*A*A*A/pow(C,5));

}

elseB=0;

return(B);

}

voidxy(intang)

{

doubleA,B,C,E,F,dx,dy;

A=ang*PI/180;

B=S(ang);

C=ds(ang);

dx=(So+B)*cos(A)+sin(A)*C-e*sin(A);

dy=-sin(A)*(So+B)+C*cos(A)-e*cos(A);

E=r*dy/sqrt(dx*dx+dy*dy);

F=r*dx/sqrt(dx*dx+dy*dy);

theory[ang/5][0]=(So+B)*sin(A)+e*cos(A);

theory[ang/5][1]=(So+B)*cos(A)-e*sin(A);

fact[ang/5][0]=theory[ang/5][0]-E;

fact[ang/5][1]=theory[ang/5][1]+F;

}

doublea(intB1)/*****求解压力角****/

{

doubleA,B;

A=sqrt((ds(B1)-e)*(ds(B1)-e));

B=S(B1);

returnatan(A/(B+So));

}

doublep(intB2)

{

doubledx,dy,dxx,dyy;

doubleA,B,C,D,E;

A=B2*PI/180;

B=ds(B2);

C=S(B2);

D=dss(B2);

dx=(So+C)*cos(A)+sin(A)*B-e*sin(A);

dy=-sin(A)*(So+C)+B*cos(A)-e*cos(A);

dxx=-(C+So)*sin(A)+cos(A)*B+D*sin(A)-e*cos(A);

dyy=-cos(A)*(So+C)-B*sin(A)+D*cos(A)-sin(A)*B+e*sin(A);

E=sqrt(pow(dx*dx+dy*dy,3))/sqrt(pow((dx*dyy-dxx*dy),2));

return(E);

}

voidmain()

{FILE*fp;

inti;

intk,h,l;

doubleangle1max=0,angle2max=0,pmin=1000;

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

{

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

exit(0);

}

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

fprintf(fp,"xyx'y'");

 

//计算数据并写入文件

for(;i!

=360;)

{

rb=rb+b;

So=sqrt(rb*rb-e*e);

for(i=0;i<=ang1;i=i+5)

{

if(a(i)>A1||p(i)

break;

}

if(ang1+5-i)continue;

for(i=ang1+5;i<=ang2;i=i+5)

{

if(p(i)

}

if(ang2+5-i)continue;

for(i=ang2+5;i<=ang3;i=i+5)

{

if(a(i)>A2||p(i)

break;

}

if(ang3+5-i)continue;

for(i=ang3+5;i<360;i=i+5)

{

if(p(i)

break;

}

}

for(i=0;i<360;i=i+5)

{

xy(i);

}

for(i=0;i<=ang1;i=i+5)

{

if(angle1max

{

angle1max=a(i);

k=i;

}

if(pmin>p(i))

{

pmin=p(i);

h=i;

}

}

for(i=ang2;i<=ang3;i=i+5)

{

if(angle2max

{

angle2max=a(i);

l=i;

}

if(pmin>p(i))

{

pmin=p(i);

h=i;

}

}

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

{

fprintf(fp,"\n");

{

fprintf(fp,"%12.3f\t%12.3f\t%12.3f\t%12.3f\t",theory[i][0],theory[i][1],fact[i][0],fact[i][1]);

}

}

fclose(fp);

printf("理论坐标(x,y)");printf("实际坐标(x,y)");printf("\n");

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

{

printf("%f",theory[i][0]);

printf("");

printf("%f",theory[i][1]);

printf("");

printf("%f",fact[i][0]);

printf("");

printf("%f",fact[i][1]);

printf("\n");

}

printf("基圆半径是:

%f\n",rb);

printf("推程最大压力角是:

%f\n",angle1max*180/PI);

printf("此时角度是是:

%d\n",k);

printf("回程最大压力角是:

%f\n",angle2max*180/PI);

printf("此时角度是是:

%d\n",l);

printf("最小曲率半径是:

%f\n",pmin);

printf("此时角度是:

%d\n",h);

}

五、计算结果及分析

理论坐标x

理论坐标y

实际坐标x

实际坐标y

10.000000

115.568162

11.293103

130.512321

20.039083

114.310639

22.471855

129.112046

29.953795

112.288707

33.510983

126.860818

39.696314

109.511629

44.356597

123.769320

49.219138

105.990427

54.955228

119.850344

58.474959

101.737938

65.253713

115.118838

67.416557

96.768902

75.199098

109.592009

75.996725

91.100103

84.738564

103.289453

84.168209

84.750527

93.819387

96.233330

91.883691

77.741555

102.388932

88.448558

99.095810

70.097185

110.394698

79.963042

105.757223

61.844259

117.784398

70.807912

111.820717

53.012716

124.506104

61.017774

117.239363

43.635834

130.508432

50.630961

121.966731

33.750482

135.740792

39.689778

125.957144

23.397353

140.153683

28.240731

129.165998

12.621184

143.699049

16.334732

131.550116

1.470946

146.330683

4.027279

133.068162

-10.000000

148.004678

-8.621416

133.573478

-21.724363

148.573242

-21.808621

132.927116

-33.592903

147.847706

-35.134332

131.110804

-45.483796

145.811871

-48.463499

128.119609

-57.273502

142.463995

-61.659683

123.962059

-68.838237

137.816884

-74.586611

118.660100

-80.055446

131.897811

-87.109735

112.248890

-90.805265

124.748264

-99.097770

104.776442

-100.971946

116.423537

-110.424205

96.303108

-110.445244

106.992155

-120.968754

86.900923

-119.121725

96.535156

-130.618748

76.652799

-126.906010

85.145215

-139.270430

65.651605

-133.711915

72.925643

-146.830160

53.999112

-139.463485

59.989261

-153.215507

41.804845

-144.095912

46.457159

-158.356205

29.184835

-147.556319

32.457365

-162.194985

16.260293

-149.804408

18.123425

-164.688249

3.156226

-150.812955

3.592926

-165.806597

-10.000000

-150.568162

-10.994037

-165.535189

-23.084827

-149.123647

-25.379543

-163.947084

-35.993964

-146.544211

-39.571896

-161.111243

-48.629166

-142.849486

-53.463083

-157.049248

-60.894270

-138.067589

-66.947384

-151.792013

-72.695933

-132.234915

-79.922175

-145.379550

-83.944335

-125.395853

-92.288709

-137.860660

-94.553870

-117.602453

-103.952871

-129.292568

-104.443793

-108.914028

-114.825889

-119.740481

-113.538836

-99.396700

-124.825012

-109.277097

-121.727552

-89.087472

-133.938976

-97.798450

-128.743333

-77.939306

-141.897783

-85.147665

-134.320004

-66.002685

-148.296955

-71.447391

-138.263460

-53.439531

-152.846268

-56.952612

-140.469540

-40.484954

-155.392740

-42.000903

-140.930485

-27.409448

-155.923766

-26.960506

-139.731023

-14.484083

-154.553686

-12.184372

-137.035532

-1.950857

-151.498994

2.025104

-133.068162

10.000000

-147.047187

15.439380

-128.088062

21.244452

-141.522791

27.915887

-122.362091

31.730004

-135.252561

39.400453

-116.137463

41.471701

-128.531014

49.921547

-109.616799

50.539030

-121.587644

59.577772

-102.937962

59.034539

-114.558437

68.519504

-96.160813

67.065477

-107.466118

76.923981

-89.262781

74.710218

-100.213894

84.960735

-82.144699

81.981660

-92.593366

92.743879

-74.647963

88.790099

-84.300717

100.271577

-66.625338

94.958224

-75.240684

107.237305

-58.095654

100.403660

-65.608023

113.386892

-49.123827

105.084964

-55.476046

118.673537

-39.778138

108.966507

-44.921863

123.057004

-30.129713

112.018750

-34.025797

126.503933

-20.251983

114.218463

-22.870774

128.988091

-10.220123

115.548903

-11.541691

130.490572

-0.110482

115.999947

-0.124769

130.999941

分析

基圆半径是:

116.000000

推程最大压力角是:

5.273246此时角度是是:

90

回程最大压力角是:

21.408137此时角度是是:

275

最小曲率半径是:

18.384284此时角度是:

315

 

(六)心得体会

在解决大作业过程中不仅仅让自己更熟悉课本知识同时使得自己重温C语言让自己更加熟练与程序的设计,提高了自己的逻辑运用能力,这种对运行的机构的认识,我相信对以后的理论知识求解也有帮助。

对于下一次的工程设计也充满了信心。

通过对凸轮机构的编程设计:

(1)、熟悉了推杆的运动规律特别是等加速等减速和五次多项式运动规律;

(2)、掌握了已知推杆运动规律用解析法对凸轮轮廓曲线的进行设计的方法以及设计时应该注意的各个性能要求;

(八)、参考书

《机械原理》第七版高等教育出版社

 

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

当前位置:首页 > 工程科技 > 能源化工

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

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