当前位置:文档之家› V带传动设计说明书(含C语言源程序)

V带传动设计说明书(含C语言源程序)


while(dd1<d[0]||dd1>d[1]) { printf("dd1应在%lf和%lf之间,请重新输入:",d[0],d[1]); scanf("%lf",&dd1); } v1=PI*dd1*n1/(60*1000); if(v1<5||v1>30) { printf("带速v=%lf,不在允许范围内,请选择是否重新选择带 型,y或者n:",v1); b=getchar(); while(b!='y'&&b!='n') { printf("请输入y或者n:"); b=getchar(); db=getchar(); } if(b=='y') { L2: printf("输入所选带型(大写):"); scanf("%c",&daixing); switch(daixing) { case 'E':q=0.970;break; case 'D':q=0.630;break; case 'C':q=0.300;break; case 'B':q=0.170;break; case 'A':q=0.105;break; case 'Z':q=0.060;break; default :printf("未知错误!\n");goto L2; } printf("输入小带轮最小直径:"); scanf("%lf",&d[0]); printf("输入小带轮最大直径:"); scanf("%lf",&d[1]); }
Pr=(P0+dP0)*Ka*KL; z=Pca/Pr; if(z>=10) { printf("应选带的根数为z=%lf,超过10根,重新选择带型\n"); goto L2; } printf("带的根数为z=%lf,输入圆整值:",z); scanf("%lf",&z); while(z>=10) { printf("z应小于10,重新输入:"); scanf("%lf",&z); } F0=500*(2.5-Ka)*Pca/(Ka*z*v1)+q*v1*v1; Fp=2*z*F0*sin(a1/2); printf("带的初拉力F0=%lf,带传动的压轴力Fp=%lf\n",F0,Fp); printf("主要设计结论:\n选用%c型普通V带%.0lf根,带基准长 度%.0lfmm。\n带轮基准直径dd1=%.0lfmm,dd2=%0.lfmm,中心距控制 在%.0lf-%.0lfmm。\n单根带初拉力F0=%.0lfN。\n",daixing,z,Ld,dd1,dd2,a0.015*Ld,a+0.03*Ld,F0); printf("press any key to continue...\n"); scanf("%c",&b); scanf("%c",&b); exit(0); } double f1(double Pca) { double n1; n1=768.65*log10(Pca)*log10(Pca)-2375.8*log10(Pca)+1920.4; return n1; } double f2(double Pca) { double n1; n1=1206.4*log10(Pca)*log10(Pca)-2696.6*log10(Pca)+1888.7;
附录:
(1)c语言源程序
#include<stdio.h> #include<math.h> #include<string.h> #include<stdlib.h> #define PI 3.141592654 double f1(double Pca); double f2(double Pca); double f3(double Pca); double f4(double Pca); double f5(double Pca); double f6(double Pca); double f7(double Pca); double f8(double Pca); double f9(double Pca); void xuandaixing(double b[2],double x,double y,char z); void main() { double P,P0,dP0,Pr,KA,n1,n2,i,Pca,dd1,v1,dd2,d[2],a0,a,Ld0,Ld,KL,z,F0,Fp,a1,Ka,q; char b,db,daixing; int j; double (*f[10])(double pca); f[1]=f1,f[2]=f2,f[3]=f3,f[4]=f4,f[5]=f5,f[6]=f6,f[7]=f7,f[8]=f8,f[9]=f9; printf("输入额定功率P:"); scanf("%lf",&P); printf("输入小带轮转速n1:"); scanf("%lf",&n1); printf("选择输入大带轮转速n2(1)或传动比i(2),"); b=getchar(); while(b!='1'&&b!='2') {
开始 开始 输入P、n1、n2或i、KA等参数 输入P、n1、n2或i、KA等参数
输出计算功率Pca,程序输出应选带型及相应的小带轮直径取值范围 输出计算功率Pca,程序输出应选带型及相应的小带轮直径取值范围
输入小带轮直径 输入小带轮直径
计算并输出带速v 计算并输出带速v
否 否ห้องสมุดไป่ตู้
5<v<30? 5<v<30?
工作情况确定工作情况系数KA=1.1。 2、程序运行和计算得到计算功率Pca=P*KA=4.4,应选带型 为A型,小带轮直径应在75到100之间。 3、输入小带轮直径,其值应在75到100之间,否则程序会 要求重新输入。此处输入=90。 4、计算得到带速v=n**PI*60/1000=6.79m/s,在允许范围 内。若不再允许范围内,程序会要求重新输入小带轮直径或者 重选带型。 5、计算得到大带轮直径为=*i=306,输入圆整值=315,计 算得到传动比误差为2.94%。 6、由大带轮和小带轮直径确定中心距的取值范围为283.5810。初选中心距a0=500。 7、计算得到带长Ld0=1661.5,圆整为Ld=1640,查表得带长 修正系数KL=0.99。 8、由选择的带长得出中心距a=489.3,变化范围为464.7538.5。 9、算得小带轮的包角为153.7°,大于120°,符合要求,查 表得包角不等于180°时的修正系数Ka=0.93。若包角小于120°则 程序会要求重新选择小带轮的直径。 10、由所选带型为A、小带轮的转速为6.79及小带轮的直径 为90查表得单根普通V带的基本额定功率P0=1.064,其增量 ΔP0=0.17。 11、带的根数z=Pca/((P0+detaP0)*KL*Ka)=3.87,将其 圆整为z=4。若z>10则程序会要求重新选择带型。 12、由带的根数算得带的初拉力F0=141.7,压轴力 Fp=1124.9。 13、将主要的设计结论汇总输出。
goto L1; } printf("带速v=%lf\n",v1); dd2=i*dd1; printf("大带轮直径为dd2=%lf,输入圆整后的值:",dd2); scanf("%lf",&dd2); printf("传动比误差为%.2lf%c\n",(dd2/dd1-i)/i*100,'%'); printf("中心距a应在%lf和%lf之间,初选中心距a0:",0.7* (dd1+dd2),2*(dd1+dd2)); scanf("%lf",&a0); while(a0<0.7*(dd1+dd2)||a0>2*(dd1+dd2)) { printf("中心距a应在%lf和%lf之间,初选中心距a0:",0.7* (dd1+dd2),2*(dd1+dd2)); scanf("%lf",&a0); } Ld0=2*a0+PI*(dd1+dd2)/2+(dd2-dd1)*(dd2-dd1)/(4*a0); printf("带长Ld0=%lf,选取基准长度Ld及相应的带长修正系数 KL:",Ld0); scanf("%lf%lf",&Ld,&KL); a=a0+(Ld-Ld0)/2; printf("中心距为a=%lf,其变化范围为%lf-%lf\n",a,a0.015*Ld,a+0.03*Ld); a1=180-(dd2-dd1)*57.2/a; if(a1<120) { printf("小带轮的包角a1=%lf,小于120度,重新选择小带轮直径 \n",a1); goto L1; } printf("小带轮的包角a1=%lf,输入当包角不等于180度时的修正系 数Ka:",a1); scanf("%lf",&Ka); printf("所选带型为%c,小带轮转速为%lf,小带轮直径为%lf,输入 单根普通V带的基本额定功率P0及其增量dP0:",daixing,v1,dd1); scanf("%lf%lf",&P0,&dP0);
相关主题