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

上传人:b****5 文档编号:6016249 上传时间:2023-01-03 格式:DOCX 页数:25 大小:21.33KB
下载 相关 举报
V带传动设计c程序的编制.docx_第1页
第1页 / 共25页
V带传动设计c程序的编制.docx_第2页
第2页 / 共25页
V带传动设计c程序的编制.docx_第3页
第3页 / 共25页
V带传动设计c程序的编制.docx_第4页
第4页 / 共25页
V带传动设计c程序的编制.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

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

《V带传动设计c程序的编制.docx》由会员分享,可在线阅读,更多相关《V带传动设计c程序的编制.docx(25页珍藏版)》请在冰豆网上搜索。

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

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

#include

#include

#include

#definePI3.14159

//int;//其它参数

floatKA,P0,P0_1,Kb,Ki,Kl,Kv;//,P0_1为传递功增量

floatb1,bp,h,q;

floatPc,N1,N2,Centerdistance,SmallpulleysAngle,F0,V,flag_a,flag_b,flag_c;//Pc为功率,N1为主动轮转速,N2为从动轮转速,SmallpulleysAngle为小带轮包角,Z传动带根数,F0为初拉力

//Kv为包角系数

floatpressure_Q,transmissionratio,Z_1;//pressure_Q轴上压力,transmissionratio为传动比

intTYPE,D1,D2,Ld,Z,ch1;//TYPE为V带的类型,D1为主动轮基准直径,D2为从动轮直径,

//V为带速,Ld为基准长度,Centerdistance为中心距

floatKA_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

voidCHOOSE_KA();

voidCHOOSE_type();

voidCHOOSE_gaugediameter();

voidLengthandCenterdistance();

voidBeltingthenumber();

voidinitialtension();

voidAxispressure();

voiddisplay();

voidexplain();

voidotherparameters_dis();

intForclosetothenumber(intmin,intmax,intz);

/************************************主函数*****************************************/

voidmain()

{

intgoon;

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********************************************/

voidCHOOSE_KA()

{

intworkingcondition,start_flag;

floatdayhour,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)

{

case1:

KA=KA_softstart[0][0];break;

case2:

KA=KA_softstart[1][0];break;

case3:

KA=KA_softstart[2][0];break;

case4:

KA=KA_softstart[3][0];break;

}

}

if(dayhour>=10&&dayhour<=16)

{

switch(workingcondition)

{

case1:

KA=KA_softstart[0][1];break;

case2:

KA=KA_softstart[1][1];break;

case3:

KA=KA_softstart[2][1];break;

case4:

KA=KA_softstart[3][1];break;

}

}

if(dayhour>16)

{

switch(workingcondition)

{

case1:

KA=KA_softstart[0][2];break;

case2:

KA=KA_softstart[1][2];break;

case3:

KA=KA_softstart[2][2];break;

case4:

KA=KA_softstart[3][2];break;

}

}

}

if(start_flag==2)

{

if(dayhour<10)

{

switch(workingcondition)

{

case1:

KA=KA_loadstart[0][0];break;

case2:

KA=KA_loadstart[1][0];break;

case3:

KA=KA_loadstart[2][0];break;

case4:

KA=KA_loadstart[3][0];break;

}

}

if(dayhour>=10&&dayhour<=16)

{

switch(workingcondition)

{

case1:

KA=KA_loadstart[0][1];break;

case2:

KA=KA_loadstart[1][1];break;

case3:

KA=KA_loadstart[2][1];break;

case4:

KA=KA_loadstart[3][1];break;

}

}

if(dayhour>16)

{

switch(workingcondition)

{

case1:

KA=KA_loadstart[0][2];break;

case2:

KA=KA_loadstart[1][2];break;

case3:

KA=KA_loadstart[2][2];break;

case4:

KA=KA_loadstart[3][2];break;

}

}

}

Pc=KA*nominalpower;

}

/*****************************2.选型************************************************/

voidCHOOSE_type()

{

inti,t;

floatnp[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)

{

case0:

printf("带型TPYE:

Z型\n");break;

case1:

printf("带型TPYE:

Z或A型\n");break;

case2:

printf("带型TPYE:

A或B型\n");break;

case3:

printf("带型TPYE:

B或C型\n");break;

case4:

printf("带型TPYE:

C或D型\n");break;

case5:

printf("带型TPYE:

D或E型\n");break;

case6:

printf("带型TPYE:

E或F型\n");break;

}

printf("\n");

TYPE=t;

}

/********************************3.基准直径选择*********************************/

voidCHOOSE_gaugediameter()

{

intnum,num_1,value_min,value_max;

floattransmissionratio,transmissionratio1,transmissionratio2;

intgaugediameter_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)

{

case0:

for(num=0;num<12;num++)

{

printf("%d",gaugediameter_Y[num]);

};

break;

case1:

for(num=0;num<21;num++)

{

printf("%d",gaugediameter_Z[num]);

};

break;

case2:

for(num=0;num<22;num++)

{

printf("%d",gaugediameter_A[num]);

};

break;

case3:

for(num=0;num<21;num++)

{

printf("%d",gaugediameter_B[num]);

};

break;

case4:

for(num=0;num<18;num++)

{

printf("%d",gaugediameter_C[num]);

};

break;

case5:

for(num=0;num<17;num++)

{

printf("%d",gaugediameter_D[num]);

};

break;

case6:

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");

gotoLOOP;

}

if(V<5)

{

printf("主动轮直径过小,请重新选择大主动轮直径D1:

\n");

gotoLOOP;

}

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);//(比较)

}

elseD2=gaugediameter_all[num_1];

transmissionratio=N1/N2;

transmissionratio1=D2/(D1*0.99);

transmissionratio2=(transmissionratio-transmissionratio1)/transmissionratio*100;

if(transmissionratio2>5)

{

printf("传动比不适用,请重新选择主动轮直径D1:

\n");

gotoLOOP;

}

}

/*********************************4.V带长度及中心距*************************************/

voidLengthandCenterdistance()

{

intlength_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};

inta_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");

gotohere;

}

}

/*********************************5.确定V带根数*****************************************/

voidBeltingthenumber()

{

floati;

intwrapangle,num,value_min,value_max;

intwrap_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);

}

elsewrapangle=180;

switch(wrapangle)

{

case180:

Kv=1;break;

case175:

Kv=0.99;break;

case170:

Kv=0.98;break;

case165:

Kv=0.96;break;

case160:

Kv=0.95;break;

case155:

Kv=0.93;break;

case150:

Kv=0.92;break;

case145:

Kv=0.91;break;

case140:

Kv=0.89;break;

case135:

Kv=0.88;break;

case130:

Kv=0.86;break;

case125:

Kv=0.84;break;

case120:

Kv=0.82;break;

case110:

Kv=0.78;break;

case100:

Kv=0.73;break;

case90:

Kv=0.68;break;

}

switch(TYPE)//传递功率的计算

{

case0:

P0=V*(0.147*(pow(V,-0.09))-4.79/D1-(0.479E-4)*V*V)-0.32;break;

case1:

P0=V*(0.450*(pow(V,-0.09))-19.62/D1-(0.799E-4)*V*V)-0.32;break;

case2:

P0=V*(0.769*(pow(V,-0.09))-50.79/D1-(1.385E-4)*V*V)-0.32;break;

case3:

P0=V*(1.477*(pow(V,-0.09))-143.66/D1-(2.369E-4)*V*V)-0.32;break;

case4:

P0=V*(3.223*(pow(V,-0.09))-505.48/D1-(4.791E-4)*V*V)-0.32;break;

case5:

P0=V*(4.844*(pow(V,-0.

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

当前位置:首页 > 求职职场 > 简历

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

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