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

  • 格式:pdf
  • 大小:251.12 KB
  • 文档页数:13

下载文档原格式

  / 13
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

是 是
计算dd2,Ld0,a0,小带轮包角 计算dd2,Ld0,a0,小带轮包角
否 否
小带轮包角大于120°? 小带轮包角大于120°?
是 是
输出主要的设计结论 输出主要的设计结论 计算带的根数z,初拉力F0,压轴力Fp 计算带的根数z,初拉力F0,压轴力Fp 结束 结束
二、程序运行过程说明 下面用一个具体的例子来说明程序的运行过程。 例:设计某带式输送机传动系统中第一级用的普通V带传 动。已知电机输入V带传动的功率P=4kW,小带轮转速 =1440r/min,传动比i=3.4,每天工作8小时。 运行过程: 1、输入额定功率P=4和小带轮转速=1440。选择输入大带轮 转速或传动比i并输入,此处输入2选择输入传动比i,i=3.4。由
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;
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);
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]); }
开始 开始 输入P、n1、n2或i、KA等参数 输入P、n1、n2或i、KA等参数
输出计算功率Pca,程序输出应选带型及相应的小带轮直径取值范围 输出计算功率Pca,程序输出应选带型及相应的小带轮直径取值范围
输入小带轮直径 输入小带轮直径
计算并输出带速v 计算并输出带速v
Baidu Nhomakorabea
否 否
5<v<30? 5<v<30?
V 带 传 动设计计算程序说明书
V带传动设计计算程序说明书
一、程序设计思路及框图 在V带的设计中,已知条件包括:带传动的工作条件;传 动位置与总体尺寸限制;所需传递的额定功率P;小带轮转 速;大带轮的转速或传动比i。设计内容包括选择带的型号、 确定基准长度、根数、中心距、带轮的材料、基准直径以及结 构尺寸、初拉力和压轴力、张紧装置等。 一个真正意义上的设计程序,应该在输入已知条件后,就 可以输出满足要求的设计结果,这不仅要求程序可以自动的从 一些表中选择计算所需的参数、带轮直径和带的基准长度的圆 整值,而且当其带速、带的根数及中心距等不在允许范围内 时,程序可以自动的重新选择参数并重新设计,直至输出符合 要求的结果。如果要求优化的话还应由程序找出最优解。这样 一个灵活性和自动化程度都非常高的程序设计起来太过复杂, 而且灵活和自动化常常是互相矛盾的,自动化程度太高,可能 会使其应用范围受到限制。 故本程序只进行一些计算及简单的判断,主要的选择工作 由人来完成。本来还可以进一步要求程序可以通过已知条件查 表来确定参数,但由于表的数据量较大,我没有找到一个较好 的可以查表的算法,所以查表的工作也由人来完成。 综上所述,本程序的程序框图如下:
工作情况确定工作情况系数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、将主要的设计结论汇总输出。
附录:
(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') {
printf("请输入1或者2:"); b=getchar(); db=getchar(); } switch(b) { case '1':printf("输入n2:");scanf("%lf",&n2);i=n1/n2;break; case '2':printf("输入i:");scanf("%lf",&i);break; default : printf("未知错误!");exit(0); } db=getchar(); printf("输入工作情况系数KA:"); scanf("%lf",&KA); Pca=P*KA; printf("功率Pca=%lf\n",Pca); for(j=1;j<10;j++) { if(n1<(*f[j])(Pca)) break; } switch(j) { case 1: xuandaixing(d,500,70000,'E');daixing='E';q=0.970;break; case 2: xuandaixing(d,450,500,'D');daixing='D';q=0.630;break; case 3: xuandaixing(d,355,400,'D');daixing='D';q=0.630;break; case 4: xuandaixing(d,200,315,'C');daixing='C';q=0.300;break; case 5: xuandaixing(d,160,200,'B');daixing='B';q=0.170;break; case 6: xuandaixing(d,125,140,'B');daixing='B';q=0.170;break; case 7: xuandaixing(d,112,140,'A');daixing='A';q=0.105;break; case 8: xuandaixing(d,75,100,'A');daixing='A';q=0.105;break; case 9: xuandaixing(d,80,100,'Z');daixing='Z';q=0.060;break; case 10: xuandaixing(d,50,71,'Z');daixing='Z';q=0.060;break; default :printf("未知错误!");exit(0); } L1: printf("输入小带轮的直径dd1:"); scanf("%lf",&dd1);