V带程序说明书.docx

上传人:b****8 文档编号:9258935 上传时间:2023-02-03 格式:DOCX 页数:20 大小:185.06KB
下载 相关 举报
V带程序说明书.docx_第1页
第1页 / 共20页
V带程序说明书.docx_第2页
第2页 / 共20页
V带程序说明书.docx_第3页
第3页 / 共20页
V带程序说明书.docx_第4页
第4页 / 共20页
V带程序说明书.docx_第5页
第5页 / 共20页
点击查看更多>>
下载资源
资源描述

V带程序说明书.docx

《V带程序说明书.docx》由会员分享,可在线阅读,更多相关《V带程序说明书.docx(20页珍藏版)》请在冰豆网上搜索。

V带程序说明书.docx

V带程序说明书

普通V带传动程序设计说明

 

班级:

0808107

******

学号:

**********

一、程序功能简介

本程序旨在实现普通V带传动设计计算的软件化。

要求不是很高的时候,采用全自动的设计不失为一种省时省力的选择;当要求比较严格的时候,可以采用半自动的设计,按照一步步的提示对默认值进行相应的改动,但一些由前面参数按固定公式计算出来的值是不可以改动的(相信您也不希望这些用来验证设计合理性的公式能够随意变化)。

任何程序的功能都是有限的,本程序对于普通V带以外的东西就无能为力了。

而且,鉴于设计者的有限的能力,带轮的结构类型及结构尺寸都没有包含在内,如果这些影响了您的使用,希望能够得到您的原谅。

二、程序使用方法

由于设计流程严格按照课本进行,因此使用过程也很简单。

下面就作一个简单介绍。

采用的示例数据参见课本例题。

首先,双击图标进入程序,欢迎界面如下,

点击运行:

进入界面:

按照相关提示操作

输入中心距后:

在计算完后,还可以选择是否计算其它带轮

当输入错误是,会得到提示。

三、变量标示符

P:

传动功率功率

n1:

小带轮转速

i:

传动比

Pd:

设计功率

Vmax:

最大带速

V:

带速

Ld:

基准长度

Kl:

长度系数

a:

实际中心距

Z:

带的根数

F0:

初拉力

Q:

压轴力

B:

轮缘宽度

四、计算流程及相应代码

 

#include

#include

#include

#definePAI3.141592654

floatselectKi(floati);

floatselectKa();

intchangestotype(chars);

intselectVMAX();

floatselectk1(intTYPE);

floatselectk2(intTYPE);

floatselectk3(intTYPE);

floatselectkb(intTYPE);

showdd(intTYPE);

charselecttype(floatPd,floatn1);

floatselectLd(floatLd0);

floatselectKL(floatLd,intTYPE);

floatselectKALF(floatALF1);

floatselectm(intTYPE);

floatselecte(intTYPE);

floatselectf(intTYPE);

main()

{

floatP,n1,i,Ki,KA,Pd,K1,K2,K3,Kb,V,dd2,dd20,a1,a2,a0,Ld0,Ld,KL,KALF,ALF1,a,P0,DIFP0,FQ,F0,m,e,f;

chars1,s,ans1,ans2,Z;

intVMAX,TYPE,flag1,dd1,flag2,flag3,B;

flag1=1,flag2=0,flag3=0;

printf("请输入传递功率P(单位KW):

");

scanf("%f",&P);

printf("小带轮转速n1(单位r/min):

");

scanf("%f",&n1);

printf("传动比i:

");

scanf("%f",&i);

Ki=selectKi(i);

KA=selectKa();

Pd=KA*P;//计算设计功率Pd

printf("Pd=%f",Pd);

s1=selecttype(Pd,n1);

printf("经过查阅选型图后推荐带型为:

");//调用选型图

printf("推荐带型TYPE=%c\n",s1);

while(flag1)

{

printf("请输入带型:

");

scanf("%s",&s);

TYPE=changestotype(s);//将字符转化为数字(1-6)

printf("TYPE=%d\n",TYPE);

VMAX=selectVMAX(TYPE);//查阅最大速度

K1=selectk1(TYPE);

K2=selectk2(TYPE);

K3=selectk3(TYPE);

Kb=selectkb(TYPE);

while((!

flag2)||flag3)

{

showdd(TYPE);

printf("请选择输入小带轮基准直径dd1:

");

scanf("%d",&dd1);

V=PAI*dd1*n1/60/1000;

printf("dd1=%d\nn1=%f\nV=%f\n",dd1,n1,V);

if(V>VMAX)

{

flag2=0;

printf("所选直径过大,请重新输入该型号下的直径:

\n");

}

else

{flag2=1;

dd20=dd1*i;

printf("dd2=%f\n",dd20);

printf("依据以上每种类型的V带带轮的基准直径选取大带轮直径:

");

scanf("%f",&dd2);

a1=0.7*(dd1+dd2);

a2=2*(dd1+dd2);

printf("根据a1<=a0<=a2初步确定中心距,其中a1=0.7*(dd1+dd2)=%f,a2=2*(dd1+dd2)=%f",a1,a2);

printf("请选择初估(末尾为0或5):

");

scanf("%f",&a0);

printf("a0=%f\n",a0);

Ld0=2*a0+PAI/2*(dd1+dd2)+pow((dd2-dd1),2)/(4*a0);

printf("Ld0=%f\n",Ld0);

Ld=selectLd(Ld0);//选择标准的V带长度

printf("基准长度Ld=%f\n",Ld);

KL=selectKL(Ld,TYPE);

printf("KL=%f\n",KL);

a=a0+(Ld-Ld0)/2;

printf("实际中心距a=%f\n",a);

ALF1=180-(dd2-dd1)/a*57.3;

printf("小轮包角ALF1=%f度\n",ALF1);

KALF=selectKALF(ALF1);

printf("包角修正系数KALF=%f\n",KALF);

P0=(K1*pow(V,(-0.09))-K2/dd1-K3*pow(V,2)/10000)*V;

DIFP0=(1e-3)*Kb*n1*(1-1/Ki);

printf("单根带功率P0=%fKW\n",P0);

printf("功率增量DIFP0=%fKW\n",DIFP0);

Z=(int)(Pd/((P0+DIFP0)*KL*KALF)+1);

printf("带的根数Z=%d\n",Z);

if(Z>=10)

{

flag1=1;

printf("型号不合适,请重新输入!

\n");

}

else

{flag1=0;

printf("带的根数合适!

\n");

m=selectm(TYPE);

printf("单位长度质量m=%f",m);

F0=500*Pd/(Z*V)*(2.5-KALF)/KALF+m*V*V;

FQ=2*Z*F0*sin(ALF1*PAI/360);

printf("F0=%fN",F0);

printf("FQ=%fN\n",FQ);

e=selecte(TYPE);

printf("e=%f",e);

f=selectf(TYPE);

printf("f=%f",f);

B=(int)(Z-1)*e+2*f;

printf("B=%d\n",B);

printf("是否计算下一种带轮直径Y(是),N(否)?

:

");

scanf("%1s",&ans1);

if(ans1=='Y')

{

flag3=1;

printf("用户再次输入直径,该型号带直径如下显示:

\n");

}

else

{

flag3=0;

printf("不再输入其他直径\n");

}

}

}

}

printf("是否计算下一型号带Y(是),N(否)?

\n");

scanf("%1s",&ans2);

if(ans2=='Y')

{

flag1=1;

printf("用户将选择其他带型(Z--E)\n");

flag3=1;

}

else

{

flag1=0;

printf("输入结束!

\n");

}

}

}

 

floatselectKi(floati)//选择Ki

{

floatkix;

if(i>=1.00&&i<=1.01)

kix=1.0000;

elseif(i>=1.02&&i<=1.04)

kix=1.0136;

elseif(i>=1.05&&i<=1.08)

kix=1.0276;

elseif(i>=1.09&&i<=1.12)

kix=1.0419;

elseif(i>=1.13&&i<=1.18)

kix=1.0567;

elseif(i>=1.19&&i<=1.24)

kix=1.0719;

elseif(i>=1.25&&i<=1.34)

kix=1.0875;

elseif(i>=1.35&&i<=1.51)

kix=1.1036;

elseif(i>=1.52&&i<=1.99)

kix=1.1202;

else

kix=1.1373;

returnkix;

}

 

floatselectKa()//选择ka

{

floatkax;

intGZJ,h,YDJ;

doublea[4][6]={{1.0,1.1,1.2,1.1,1.2,1.3},

{1.1,1.2,1.3,1.2,1.3,1.4},

{1.2,1.3,1.4,1.4,1.5,1.6},

{1.3,1.4,1.5,1.5,1.6,1.8}};

printf("请输入原动机类型YDJ(1或2):

");

scanf("%d",&YDJ);

printf("请选择工作机的载荷特性:

\n");

printf("0---载荷平稳\n液体搅拌机;离心式水泵;通风机和鼓风机(<=7.5KW);离心式压缩机;轻型运输机\n");

printf("1---载荷变动小\n带式运输机(运送沙石、谷物),通风机(>7.5KW);发电机;旋转式水泵;金属切削机床;剪床;压力机;印刷机;振动机\n");

printf("2---载荷变动较大\n螺旋式运输机;斗式提升机;往复式水泵和压缩机;锻锤;磨粉机;锯木机;和木工机械;纺织机械\n");

printf("3---载荷变动很大\n破碎机(旋转式、颚式等);球磨机,棒磨机;起重机;挖掘机;橡胶辊压机\n");

scanf("%d",&GZJ);

printf("请选择带轮每天工作时间:

\n");

printf("0---小于10h\n");

printf("1---大于10h且小于16h\n");

printf("2---大于16h\n");

scanf("%d",&h);

if(YDJ==1)

kax=a[GZJ][h];

else

kax=a[GZJ][h+3];

returnkax;

}

intchangestotype(chars)

{

inta;

if(s=='Z')

a=1;

elseif(s=='A'||'a')

a=2;

elseif(s=='B')

a=3;

elseif(s=='C')

a=4;

elseif(s=='D')

a=5;

elseif(s=='E')

a=6;

returna;

}

intselectVMAX()//VMAX选择

{

inta,TYPE;

if(TYPE>=1&&TYPE<=4)

a=25;

else

a=30;

returna;

}

floatselectk1(intTYPE)//k1选择

{

floatk1xx;

floatk1x[6]={0.246,0.449,0.794,1.48,3.15,4.57};

k1xx=k1x[TYPE-1];

returnk1xx;

}

floatselectk2(intTYPE)

{

floatk2xx;

floatk2x[6]={7.44,19.02,50.6,143.2,507.3,951.55};

k2xx=k2x[TYPE-1];

returnk2xx;

}

floatselectk3(intTYPE)

{

floatk3xx;

floatk3x[6]={0.441,0.765,1.31,2.34,4.77,7.06};

k3xx=k3x[TYPE-1];

returnk3xx;

}

floatselectkb(intTYPE)//弯曲影响系数Kb

{

floatkbxx;

floatkbx[6]={0.2925,0.7725,1.9875,5.625,19.95,37.35};

kbxx=kbx[TYPE-1];

returnkbxx;

}

showdd(intTYPE)

{

printf("该型号的带轮系列直径为:

\n");

switch(TYPE)

{

case1:

printf("50,63,71,75,80,90,100,112,125,132,140,150,160,180,200,224,250,280,315\n");

break;

case2:

printf("75,80,85,90,100,106,112,118,125,132,140,150,160,180,200,224,250,280,315\n");

break;

case3:

printf("125,132,140,150,160,170,180,200,224,250,280,315,355,400,450,500\n");

break;

case4:

printf("200,212,224,236,250,265,280,315,355,400,450,500\n");

break;

case5:

printf("355,375,400,425,450,475,500,530,600\n");

break;

case6:

printf("500,530,560,600,630,710\n");

break;

}

}

charselecttype(floatPd,floatn1)

{

charsx;

floatc;

c=1.17;

if(n1>=447*pow(Pd,c))

sx='Z';

elseif((n1>=101.9*pow(Pd,c))&&(n1<447*pow(Pd,c)))

sx='A';

elseif((n1>=28*pow(Pd,c))&&(n1<101.9*pow(Pd,c)))

sx='B';

elseif((n1>=8.2*pow(Pd,c))&&(n1<28*pow(Pd,c)))

sx='C';

elseif((n1>=1.06*pow(Pd,c))&&(n1<8.2*pow(Pd,c)))

sx='D';

else

sx='E';

returnsx;

}

floatselectLd(floatLd0)

{intj,k;

floatA,Amin;

floatLLdd[33]={400,450,500,560,630,710,800,900,1000,1120,1250,1400,1600,1800,2000,2240,2500,2800,3150,3550,4000,4500,5000,5600,6300,7100,8000,9000,10000,11200,12500,14000,16000};

Amin=Ld0-LLdd[0];

for(j=0;j<33;j++)

{if(LLdd[j]>Ld0)

A=LLdd[j]-Ld0;

elseA=Ld0-LLdd[j];

if(Amin>A)

{Amin=A;

k=j;}

}

returnLLdd[k];

}

floatselectKL(floatLd,intTYPE)

{

floatLLdd[33]={400,450,500,560,630,710,800,900,1000,1120,1250,1400,1600,1800,2000,2240,2500,2800,3150,3550,4000,4500,5000,5600,6300,7100,8000,9000,10000,11200,12500,14000,16000};

floatKKLL[33][6]={{0.87,10,10,10,10,10,},{0.89,10,10,10,10,10},{0.91,10,10,10,10,10},{0.94,10,10,10,10,10},{0.96,0.81,10,10,10,10},

{0.99,0.83,10,10,10,10},{1.00,0.85,10,10,10,10},{1.03,0.87,0.82,10,10,10},{1.06,0.89,0.84,10,10,10},{1.08,0.91,0.86,10,10,10},

{1.10,0.93,0.88,10,10,10},{1.14,0.96,0.90,10,10,10},{1.16,0.99,0.92,0.83,10,10},{1.18,1.01,0.95,0.86,10,10},{-10,1.03,0.98,0.88,10,10},

{-10,1.06,1.00,0.91,10,10},{-10,1.09,1.03,0.93,10,10},{-10,1.11,1.05,0.95,0.83,10},{-10,1.13,1.07,0.97,0.86,10},{-10,1.17,1.09,0.99,0.89,10},

{-10,1.19,1.13,1.02,0.91,10},{-10,-10,1.15,1.04,0.93,0.90},{-10,-10,1.18,1.07,0.96,0.92},{-10,-10,-10,1.09,0.98,0.95},

{-10,-10,-10,1.12,1.00,0.97},{-10,-10,-10,1.15,1.03,1.00},{-10,-10,-10,1.18,1.06,1.02},{-10,-10,-10,1.21,1.08,1.05},{-10,-10,-10,1.23,1.11,1.07},

{-10,-10,-10,-10,1.14,1.10},{-10,-10,-10,-10,1.17,1.12},{-10,-10,-10,-10,1.20,1.15},{-10,-10,-10,-10,1.22,1.18}};

intm,n;

m=0;

while(LLdd[m]!

=Ld)

{

m++;

}

n=m;

returnKKLL[n][TYPE-1];

}

floatselectKALF(floatALF1)

{

floatKALFx[14]={0.68,0.73,0.78,0.82,0.86,0.89,0.92,0.95,0.98,1.00,1.05,1.10,1.15,1.20};

intj;

floatALF1x;

j=(ALF1-90)/10;

ALF1x=KALFx[j]+(KALFx[j+1]-KALFx[j])*0.1*(ALF1-90-j*10);

returnALF1x;

}

floatselectm(intTYPE)

{

floatmx;

floatmass[6]={0.06,0.1,0.17,0.3,0.6,0.9};

mx=mass[TYPE-1];

returnmx;

}

floatselecte(intTYPE)

{

floatexx;

floatex[6]={12,15,19,25.5,37,44.5};

exx=ex[TYPE-1];

returnexx;

}

floatselectf(intTYPE)

{

floatfxx;

floatfx[6]={8,10,12.5,17,23,29};

fxx=fx[TYPE-1];

returnfxx;

}

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

当前位置:首页 > 高等教育 > 医学

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

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