收藏 分销(赏)

V带传动设计c程序的编制.doc

上传人:人****来 文档编号:9748192 上传时间:2025-04-05 格式:DOC 页数:19 大小:109KB
下载 相关 举报
V带传动设计c程序的编制.doc_第1页
第1页 / 共19页
V带传动设计c程序的编制.doc_第2页
第2页 / 共19页
点击查看更多>>
资源描述
#include<stdio.h> #include<math.h> #include<stdlib.h> #define PI 3.14159 //int ; //其它参数 float KA,P0,P0_1,Kb,Ki,Kl,Kv; //,P0_1为传递功增量 float b1,bp,h,q; float Pc,N1,N2,Centerdistance,SmallpulleysAngle,F0,V,flag_a,flag_b,flag_c; //Pc为功率,N1为主动轮转速,N2为从动轮转速,Small pulleys Angle为小带轮包角,Z传动带根数,F0为初拉力 //Kv为包角系数 float pressure_Q,transmissionratio,Z_1; //pressure_Q轴上压力,transmissionratio为传动比 int TYPE,D1,D2,Ld,Z,ch1; //TYPE为V带的类型,D1为主动轮基准直径,D2为从动轮直径, //V为带速,Ld为基准长度,Centerdistance为中心距 float KA_softstart[4][3]={{1.0,1.1,1.2},{1.1,1.2,1.3},{1.2,1.3,1.4},{1.3,1.4,1.5}}, //工作情况系数KA 软起动时KA KA_loadstart[4][3]={{1.1,1.2,1.3},{1.2,1.3,1.4},{1.4,1.5,1.6},{1.5,1.6,1.8}}; //负载起动时KA void CHOOSE_KA(); void CHOOSE_type(); void CHOOSE_gaugediameter(); void LengthandCenterdistance(); void Beltingthenumber(); void initialtension(); void Axispressure(); void display(); void explain(); void otherparameters_dis(); int Forclosetothenumber(int min,int max,int z); /************************************主函数*****************************************/ void main() { int goon; do { explain(); CHOOSE_KA(); CHOOSE_type(); CHOOSE_gaugediameter(); LengthandCenterdistance(); Beltingthenumber(); initialtension(); Axispressure(); display(); scanf("%d",&goon); //if(goon!=1) //break; }while(goon==1); } /******************************* 1.确定计算功率Pc ********************************************/ void CHOOSE_KA() { int workingcondition,start_flag; float dayhour,nominalpower; printf("载荷变动选择:\n"); printf("\n"); printf("1.载荷变动微小:液体搅拌机;通风和鼓风机(<=7.5KW);离心式水泵和压缩机;轻型输送机。\n"); printf("\n"); printf("2.载荷变动小:带式输送机(不均匀载荷);通风机(>=7.5KW);旋转式水泵和压缩机;发电机; 金属切削机床;印刷机;锯木机和木工机械。\n"); printf("\n"); printf("3.载荷变动较大:制砖机;斗式提升机;往复式水泵和压缩机;起重机;磨粉机;冲剪机床;橡胶 机械;振动筛;纺织机械;重载输送机。\n"); printf("\n"); printf("4.载荷变动很大:破碎机(旋转式、颚式等);磨碎机(球磨、棒磨、管磨)。\n"); printf("\n"); printf("请选择工况(以数字标号输入):\n"); scanf("%d",&workingcondition); printf("\n"); printf("请选择起动方式: "); printf("1为软起动,2为负载起动\n"); scanf("%d",&start_flag); printf("\n"); printf("请输入每天工作小时数(h):\n"); scanf("%f",&dayhour); printf("\n"); printf("请输入名义功率(KW):\n"); scanf("%f",&nominalpower); printf("\n"); if(start_flag==1) { if(dayhour<10) { switch(workingcondition) { case 1: KA=KA_softstart[0][0] ;break; case 2: KA=KA_softstart[1][0] ;break; case 3: KA=KA_softstart[2][0] ;break; case 4: KA=KA_softstart[3][0] ;break; } } if(dayhour>=10&&dayhour<=16) { switch(workingcondition) { case 1: KA=KA_softstart[0][1] ;break; case 2: KA=KA_softstart[1][1] ;break; case 3: KA=KA_softstart[2][1] ;break; case 4: KA=KA_softstart[3][1] ;break; } } if(dayhour>16) { switch(workingcondition) { case 1: KA=KA_softstart[0][2] ;break; case 2: KA=KA_softstart[1][2] ;break; case 3: KA=KA_softstart[2][2] ;break; case 4: KA=KA_softstart[3][2] ;break; } } } if(start_flag==2) { if(dayhour<10) { switch(workingcondition) { case 1: KA=KA_loadstart[0][0] ;break; case 2: KA=KA_loadstart[1][0] ;break; case 3: KA=KA_loadstart[2][0] ;break; case 4: KA=KA_loadstart[3][0] ;break; } } if(dayhour>=10&&dayhour<=16) { switch(workingcondition) { case 1: KA=KA_loadstart[0][1] ;break; case 2: KA=KA_loadstart[1][1] ;break; case 3: KA=KA_loadstart[2][1] ;break; case 4: KA=KA_loadstart[3][1] ;break; } } if(dayhour>16) { switch(workingcondition) { case 1: KA=KA_loadstart[0][2] ;break; case 2: KA=KA_loadstart[1][2] ;break; case 3: KA=KA_loadstart[2][2] ;break; case 4: KA=KA_loadstart[3][2] ;break; } } } Pc=KA*nominalpower; } /***************************** 2.选型 ************************************************/ void CHOOSE_type() { int i,t; float np[6],a[6]={677,100,24,7,1.16,0.32},b[6]={1.454,1.488,1.470,1.488,1.545,1.5}; printf("请输入转速n1(r/min):\n"); scanf("%f",&N1); printf("\n"); printf("请输入转速n2(r/min):\n"); scanf("%f",&N2); printf("\n"); for(i=0;i<6;i++) { np[i]=a[i]*(pow(Pc,b[i])); } // n=N1; for(i=0;i<6;i++) if(N1>np[i]||i==5) { t=i; break; } switch(t) { case 0:printf("带型TPYE:Z型\n");break; case 1:printf("带型TPYE:Z 或 A型\n");break; case 2:printf("带型TPYE:A 或 B型\n");break; case 3:printf("带型TPYE:B 或 C型\n");break; case 4:printf("带型TPYE:C 或 D型\n");break; case 5:printf("带型TPYE:D 或 E型\n");break; case 6:printf("带型TPYE:E 或 F型\n");break; } printf("\n"); TYPE=t; } /******************************** 3.基准直径选择 *********************************/ void CHOOSE_gaugediameter() { int num,num_1,value_min,value_max; float transmissionratio,transmissionratio1,transmissionratio2; int gaugediameter_all[50]={ 20,25,40,45,56,63,71,75,80,85, 90,95,100,106,112,118,125,132,140,150, 160,170,180,200,212,224,236,250,265,280, 315,355,375,400,425,450,475,500,530,560, 630,710,800,900,1000,1120,1250,1600,2000,2500}, gaugediameter_min[7]={20,50,75,125,200,355,500}, gaugediameter_Y[12]={20,25,40,45,56,63,71,80,90,100,112,125}, gaugediameter_Z[21]={56,63,71,75,80,90,100,112,125,140,150,160,180,200,250,280,315,355,400,500,630}, gaugediameter_A[22]={75,80,85,90,95,100,106,112,118,125,132,140,150,160,180,200,250,315,400,500,630,800}, gaugediameter_B[21]={125,132,140,150,160,170,180,200,212,224,236,250,280,315,355,400,500,630,800,1000,1120}, gaugediameter_C[18]={200,212,224,236,250,265,280,315,355,400,450,500,530,560,630,800,1000,1250}, gaugediameter_D[17]={355,375,400,425,450,475,500,530,560,630,710,800,900,1000,1250,1600,2000}, gaugediameter_E[12]={500,560,630,710,800,900,1000,1120,1250,1600,2000,2500}; printf("最小基准直径:Dmin=%d\n",gaugediameter_min[TYPE]); printf("\n"); LOOP: printf("该型号带轮基准直径(mm):\n"); switch(TYPE) { case 0: for(num=0;num<12;num++) { printf(" %d",gaugediameter_Y[num]); }; break; case 1: for(num=0;num<21;num++) { printf(" %d",gaugediameter_Z[num]); }; break; case 2: for(num=0;num<22;num++) { printf(" %d",gaugediameter_A[num]); }; break; case 3: for(num=0;num<21;num++) { printf(" %d",gaugediameter_B[num]); }; break; case 4: for(num=0;num<18;num++) { printf(" %d",gaugediameter_C[num]); }; break; case 5: for(num=0;num<17;num++) { printf(" %d",gaugediameter_D[num]); }; break; case 6: for(num=0;num<12;num++) { printf(" %d",gaugediameter_E[num]); }; break; } printf("\n"); printf("请选择主动轮基准直径D1(mm):\n"); scanf("%d",&D1); printf("\n"); V=PI*D1*N1/60000; if(V>25) { printf("主动轮直径过大,请重新选择小主动轮直径D1:\n"); goto LOOP; } if(V<5) { printf("主动轮直径过小,请重新选择大主动轮直径D1:\n"); goto LOOP; } D2=(N1/N2)*D1*0.99; //计算从动轮直径D2 for(num_1=0;num_1<50;num_1++) { if(D2<=gaugediameter_all[num_1]) break; } if(num_1!=0) { value_min=gaugediameter_all[num_1-1]; value_max=gaugediameter_all[num_1]; D2=Forclosetothenumber(value_min,value_max,D2); //(比较) } else D2=gaugediameter_all[num_1]; transmissionratio=N1/N2; transmissionratio1=D2/(D1*0.99); transmissionratio2=(transmissionratio-transmissionratio1)/transmissionratio*100; if(transmissionratio2>5) { printf("传动比不适用,请重新选择主动轮直径D1:\n"); goto LOOP; } } /********************************* 4.V带长度及中心距 *************************************/ void LengthandCenterdistance() { int length_Ld[39]={200,224,250,280,315,335,400,450,500,560, 630,710,800,900,1000,1120,1250,1400,1600,1800, 2000,2240,2500,2800,3150,3350,4000,4500,5000,5600, 6300,7100,8000,9000,10000,11200,12500,14000,16000}; int a_0,Ld_0,num,value_min,value_max; here: printf("请输入初选中心距(mm):\n"); scanf("%d",&a_0); Ld_0=2*a_0+PI*(D1+D2)/2+pow((D2-D1),2)/(4*a_0); for(num=0;num<39;num++) { if(Ld_0<=length_Ld[num]) break; } /* value_max=length_Ld[num-1]; value_min=length_Ld[num]; Ld=Forclosetothenumber(value_min,value_max,Ld_0);*/ if(Ld_0==length_Ld[num]) Ld=length_Ld[num]; else Ld=length_Ld[num-1]; Centerdistance=a_0+(Ld-Ld_0)/2; SmallpulleysAngle=180-(D2-D1)/Centerdistance*53.7; if(SmallpulleysAngle<120) { printf("SmallpulleysAngle=%f度<120度",SmallpulleysAngle); printf(",小带轮包角不适宜,请重新选择初选中心距:\n"); goto here; } } /********************************* 5.确定V带根数 *****************************************/ void Beltingthenumber() { float i; int wrapangle,num,value_min,value_max; int wrap_angle[16]={180,175,170,165,160,155,150,145,140,135,130,125,120,110,100,90}; for(num=0;num<16;num++) { if(SmallpulleysAngle>=wrap_angle[num]) break; } if(num!=0) { value_min=wrap_angle[num]; value_max=wrap_angle[num-1]; wrapangle=Forclosetothenumber(value_min,value_max,SmallpulleysAngle); } else wrapangle=180; switch(wrapangle) { case 180: Kv=1;break; case 175: Kv=0.99;break; case 170: Kv=0.98;break; case 165: Kv=0.96;break; case 160: Kv=0.95;break; case 155: Kv=0.93;break; case 150: Kv=0.92;break; case 145: Kv=0.91;break; case 140: Kv=0.89;break; case 135: Kv=0.88;break; case 130: Kv=0.86;break; case 125: Kv=0.84;break; case 120: Kv=0.82;break; case 110: Kv=0.78;break; case 100: Kv=0.73;break; case 90: Kv=0.68;break; } switch(TYPE) //传递功率的计算 { case 0: P0=V*(0.147*(pow(V,-0.09))-4.79/D1-(0.479E-4)*V*V)-0.32;break; case 1: P0=V*(0.450*(pow(V,-0.09))-19.62/D1-(0.799E-4)*V*V)-0.32;break; case 2: P0=V*(0.769*(pow(V,-0.09))-50.79/D1-(1.385E-4)*V*V)-0.32;break; case 3: P0=V*(1.477*(pow(V,-0.09))-143.66/D1-(2.369E-4)*V*V)-0.32;break; case 4: P0=V*(3.223*(pow(V,-0.09))-505.48/D1-(4.791E-4)*V*V)-0.32;break; case 5: P0=V*(4.844*(pow(V,-0.09))-1037.7/D1-(6.947E-4)*V*V)-0.32;break; } switch(TYPE) //弯曲影响系数 { case 0: Kb=0.00006;break; case 1: Kb=0.00039;break; case 2: Kb=0.00103;break; case 3: Kb=0.00265;break; case 4: Kb=0.00750;break; case 5: Kb=0.02660;break; case 6: Kb=0.04980;break; } //////////////////// 长度系数Kl图表 /////////////////////// if(TYPE==0) { switch(Ld) { case 200: Kl=0.81;break; case 224: Kl=0.82;break; case 250: Kl=0.84;break; case 280: Kl=0.87;break; case 315: Kl=0.89;break; case 335: Kl=0.92;break; case 400: Kl=0.96;break; case 450: Kl=1.00;break; case 500: Kl=1.02;break; } } if(TYPE==1) { switch(Ld) { case 400: Kl=0.87;break; case 450: Kl=0.89;break; case 500: Kl=0.91;break; case 560: Kl=0.94;break; case 630: Kl=0.96;break; case 710: Kl=0.99;break; case 800: Kl=1.00;break; case 900: Kl=1.03;break; case 1000: Kl=1.06;break; case 1120: Kl=1.08;break; case 1250: Kl=1.11;break; case 1400: Kl=1.14;break; case 1600: Kl=1.16;break; case 1800: Kl=1.18;break; } } if(TYPE==2) { switch(Ld) { case 630: Kl=0.81;break; case 710: Kl=0.82;break; case 800: Kl=0.85;break; case 900: Kl=0.87;break; case 1000: Kl=0.89;break; case 1120: Kl=0.91;break; case 1250: Kl=0.93;break; case 1400: Kl=0.96;break; case 1600: Kl=0.99;break; case 1800: Kl=1.01;break; case 2000: Kl=1.03;break; case 2240: Kl=1.06;break; case 2500: Kl=1.09;break; case 2800: Kl=1.11;break; case 3150: Kl=1.13;break; case 3550: Kl=1.17;break; case 4000: Kl=1.19;break; } } if(TYPE==3) { switch(Ld) { case 900: Kl=0.81;break; case 1000: Kl=0.84;break; case 1120: Kl=0.86;break; case 1250: Kl=0.88;break; case 1400: Kl=0.90;break; case 1600: Kl=0.93;break; case 1800: Kl=0.95;break; case 2000: Kl=0.98;break; case 2240: Kl=1.00;break; case 2500: Kl=1.03;break; case 2800: Kl=1.05;break; case 3150: Kl=1.07;break; case 3550: Kl=1.10;break; case 4000: Kl=1.13;break; case 4500: Kl=1.15;break; case 5000: Kl=1.18;break; } } if(TYPE==4) { switch(Ld) { case 1600: Kl=0.84;break; case 1800: Kl=0.85;break; case 2000: Kl=0.88;break; case 2240: Kl=0.91;break; case 2500: Kl=0.93;break; case 2800: Kl=0.95;break; case 3150: Kl=0.97;break; case 3550: Kl=0.98;break; case 4000: Kl=1.02;break; case 4500: Kl=1.04;break; case 5000: Kl=1.07;break; case 5600: Kl=1.09;break; case 6300: Kl=1.12;break; case 7100: Kl=1.15;break; case 8000: Kl=1.18;break; case 9000: Kl=1.21;break; case 10000: Kl=1.23;break; } } if(TYPE==5) { switch(Ld) { case 2800: Kl=0.83;break; case 3150: Kl=0.86;break; case 3550: Kl=0.88;break; case 4000: Kl=0.91;break; case 4500: Kl=0.93;break; case 5000: Kl=0.96;break; case 5600: Kl=0.98;break; case 6300: Kl=1.00;break; case 7100: Kl=1.03;break; case 8000: Kl=1.06;break; case 9000: Kl=1.08;break; case 10000: Kl=1.11;break; case 11200: Kl=1.14;break; case 12500: Kl=1.17;break; case 14000: Kl=1.20;break; case 16000: Kl=1.22;break; } } if(TYPE==6) { switch(Ld) { case 4500: Kl=0.90;break; case 5000: Kl=0.92;break; case 5600: Kl=0.95;break; case 6300: Kl=0.97;break; case 7100: Kl=1.00;break; case 8000: Kl=1.02;break; case 9000: Kl=1.05;break; case 10000: Kl=1.07;break; case 11200: Kl=1.10;break; case 12500: Kl=1.12;break; case 14000: Kl=1.15;break; case 16000: Kl=1.18;break; } } ///////////////////////// 确定传动比系数Ki ////////////////// i=N1/N2; //传动比i transmissionratio=i; if(1<=i&&i<=1.04) Ki=1; if(1.04<i&&i<=1.19) Ki=1.03; if(1.19<i&&i<=1.49) Ki=1.08; if(1.49<i&&i<=2.95) Ki=1.12; if(i>2.95) Ki=1.14; P0_1=Kb*Ki*N1; //传递功率增量 flag_b=P0; flag_c=P0_1; Z_1=Pc/((P0+P0_1)*Kv*Kl); //V带根数 //flag_a=Z_1; if(Z_1!=(int)Z_1) Z=(int)Z_1+1; else Z=Z_1; } /******************* 6.计算初拉力F0 ****************************/ void initialtension() { switch (TYPE) //表15-1 三角胶带剖面尺寸及每米长质量 { case 0: b1=6;bp=5.3;h=4;q=0.04; break; case 1: b1=10;bp=8.5;h=6;q=0.06; break; case 2: b1=13;bp=11;h=8;q=0.10; break; case 3: b1=17;bp=14;h=11;q=0.17; break; case 4: b1=22;bp=19;h=14;q=0.30; break; case 5: b1=32;bp=27;h=19;q=0.60; break; case 6: b1=38;bp=32;h=25;q=0.8
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传
相似文档                                   自信AI助手自信AI助手

当前位置:首页 > 包罗万象 > 大杂烩

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2025 宁波自信网络信息技术有限公司  版权所有

客服电话:4009-655-100  投诉/维权电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服