简单的机械设计作品【机械设计大作业】
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
简单的机械设计作品【机械设计大作业】《机械设计》齿轮设计程序
姓名吴磊班级:08机械二班学号:[1**********]34
#include
#include
float min(float x,float y);
float max(float x,float y);
void main()
{int B1,B2,b,z1,z2;
float
P1,u,T1,Kt,FAId,CHlim1,CHlim2,S,n1,j,l,ZE,N1,N2,KHN1,KHN2,
d1t,v,mt,h,p,KA,KV,KH1,KH2,KF1,KF2,YFa1,YFa2,YSa1,YSa2,CFE1 ,CFE2,
KFN1,KFN2,CH1,CH2,CH,CF1,CF2,a,d1,d2,m,w,K,bt,z1t,z2t,q;
printf("请选择齿轮的精度等级、和处理方法\n");
printf("请输入小齿轮的齿数z1和齿数比u:\n");
scanf("%f%f",&z1t,&u);
printf("下面进行齿面强度计算\n");
printf("请输入输入功率P1,小齿轮的转速n1,j,齿轮工作时间
l:\n");
scanf("%f%f%f%f",&P1,&n1,&j,&l);
T1=(9550000*P1)/n1;
N1=60*n1*j*l;
N2=N1/u;
printf("T1=%10.4e N1=%10.4e N2=%10.4e \n",T1,N1,N2);
printf("请输入大小齿轮的接触疲劳强度极限CHlim1,CHlim2和系数S:\n"); scanf("%f%f%f",&CHlim1,&CHlim2,&S);
printf("请输入接触疲劳寿命系数KHN1,KHN2:\n");
scanf("%f%f",&KHN1,&KHN2);
CH1=KHN1*CHlim1/S;
CH2=KHN2*CHlim2/S;
CH=min(CH1,CH2);
printf("CH1=%10.4f\nCH2=%10.4f\nCH=%10.4f\n",CH1,CH2,CH); printf("\n");
printf("请输入载荷系数Kt,齿宽系数FAId,弹性影响系数ZE:\n");
scanf("%f%f%f",&Kt,&FAId,&ZE);
q=pow(ZE/CH,2)*Kt*T1*(u+1)/(FAId*u);
d1t=2.32*pow(q,1.0/3.0);
v=3.1415926*d1t*n1/60000;
bt=FAId*d1t;
mt=d1t/z1t;
h=2.25*mt;
p=bt/h;
printf("d1t=%10.4f v=%10.4f mt=%10.4f
p=%10.4f\n",d1t,v,mt,p);
printf("\n");
printf("根据v,P和精度等级查KV,KH1,KF1,KH2,KF2,KA:\n"); scanf("%f%f%f%f%f%f",&KV,&KH1,&KF1,&KH2,&KF2,&KA);
K=KA*KV*KH1*KH2;
d1=d1t*pow(K/Kt,1.0/3.0);
m=d1/z1t;
printf("d1=%10.4f m=%10.4f\n",d1,m);
printf("\n");
printf("请输入齿根弯曲强度计算所需的弯曲疲劳强度极限CFE1和CFE2,KFN1,KFN2,S:\n");
scanf("%f%f%f%f%f",&CFE1,&CFE2,&KFN1,&KFN2,&S);
CF1=KFN1*CFE1/S;
CF2=KFN1*CFE2/S;
K=KA*KV*KF1*KF2;
printf("请输入齿形系数YFa1、YFa2和应力校正系数YSa1、YSa2\n");
scanf("%f%f%f%f",&YFa1,&YFa2,&YSa1,&YSa2);
w=max(YFa1*YSa1/CF1,YFa2*YSa2/CF2);
m=pow(2*Kt*T1*w/(FAId*z1t*z1t),1.0/3.0);
printf("m=%10.4f\n",m);
printf("请根据上述计算值选取m:\n");
scanf("%f",&m);
z1t=d1/m;
z2t=u*z1t;
printf("z1t=%10.4f z2t=%10.4f\n",z1t,z2t); printf("请根据z1t,z2t选择合适的z1,z2:\n"); scanf("%d%d",&z1,&z2);
d1=z1*m;
d2=z2*m;
a=(d1+d2)/2;
bt=FAId*d1;
printf("bt=%f\n",bt);
printf("请选择合适的b值:\n");
scanf("%d",&b);
B2=b;
B1=B2+5;
printf("z1=%d z2=%d d1=%5.2f d2=%5.2f\nm=%5.2f B2=%d\n",z1,z2,d1,d2,m,a,B1,B2);
printf("\n");
}
float min(float x,float y)
{
if(x>=y)
return y;
else
return x; a=%5.2f B1=%d
}
float max(float x,float y) {
if(x>=y)
return x;
else
return y;
}
程序中未说明的参数说明:
z1,z2——小齿轮、大齿轮的齿数; d1,d2——小齿轮、大齿轮的分度圆直径; m——模数; a——中心距; B1,B2——大小齿轮的宽度;
N1,N2——应力循环次数; K——载荷系数;
KFN1,KFN2——弯曲疲劳寿命系数;
j——齿轮每转一圈,同一齿面啮合的次数
内容仅供参考。