V带传动电算哈工大机械设计说明.docx

上传人:b****1 文档编号:3495849 上传时间:2023-05-05 格式:DOCX 页数:23 大小:70.52KB
下载 相关 举报
V带传动电算哈工大机械设计说明.docx_第1页
第1页 / 共23页
V带传动电算哈工大机械设计说明.docx_第2页
第2页 / 共23页
V带传动电算哈工大机械设计说明.docx_第3页
第3页 / 共23页
V带传动电算哈工大机械设计说明.docx_第4页
第4页 / 共23页
V带传动电算哈工大机械设计说明.docx_第5页
第5页 / 共23页
V带传动电算哈工大机械设计说明.docx_第6页
第6页 / 共23页
V带传动电算哈工大机械设计说明.docx_第7页
第7页 / 共23页
V带传动电算哈工大机械设计说明.docx_第8页
第8页 / 共23页
V带传动电算哈工大机械设计说明.docx_第9页
第9页 / 共23页
V带传动电算哈工大机械设计说明.docx_第10页
第10页 / 共23页
V带传动电算哈工大机械设计说明.docx_第11页
第11页 / 共23页
V带传动电算哈工大机械设计说明.docx_第12页
第12页 / 共23页
V带传动电算哈工大机械设计说明.docx_第13页
第13页 / 共23页
V带传动电算哈工大机械设计说明.docx_第14页
第14页 / 共23页
V带传动电算哈工大机械设计说明.docx_第15页
第15页 / 共23页
V带传动电算哈工大机械设计说明.docx_第16页
第16页 / 共23页
V带传动电算哈工大机械设计说明.docx_第17页
第17页 / 共23页
V带传动电算哈工大机械设计说明.docx_第18页
第18页 / 共23页
V带传动电算哈工大机械设计说明.docx_第19页
第19页 / 共23页
V带传动电算哈工大机械设计说明.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

V带传动电算哈工大机械设计说明.docx

《V带传动电算哈工大机械设计说明.docx》由会员分享,可在线阅读,更多相关《V带传动电算哈工大机械设计说明.docx(23页珍藏版)》请在冰点文库上搜索。

V带传动电算哈工大机械设计说明.docx

V带传动电算哈工大机械设计说明

HarbinInstituteofTechnology

大作业设计说明书

 

课程名称:

机械设计

设计题目:

V带传动电算

院系:

机电学院

班级:

1208106

设计者:

文奇

学号:

1120810610

指导老师:

设计时间:

2014.10.24

工业大学

 

1、普通V带传动的容和任务..............................

2、变量标识符...........................................

3、程序框图.............................................

4、V带设计程序...........................................

5、程序运行截图..........................................

6、设计总结..............................................

七、参考文献..............................................

一、普通V带传动的容和任务

1、普通V带传动设计容:

给定原始数据:

传递的功率P,小带轮转速n1传动比i及工作条件

设计容:

带型号,基准长度Ld,根数Z,传动中心距a,带轮基准直径dd1、dd2,带轮轮缘宽度B,初拉力F0和压轴力Q

2、CAD任务:

①编制V带传动设计程序框图;

②编制V带传动设计源程序;

③按习题或作业中数据运行程序,要求对每一组数据各按三种V带型号计算,对每一种带型号选三种小带轮直径进行计算并输出所有结果;

④比较结果,从9种方案中选择一个最佳方案并按照此方案提供的几何和结构参数利用AutoCAD软件绘制大带轮零件工作图。

3、设计思路

输入原始数据:

P,n1,i,包括已给定和人为假定的数据。

人为给定的一些条件代号,如Z、A、B、C、D、E六种带型号可使用变量TYPE来表示,TYPE=1—6分别对应六种型号。

然后通过编程计算得出其余参数的标识符及合理数值。

 

二、变量标识符

为了使程序具有较好的可读性易用性,应采用统一的变量标识符,如表1所示。

表1变量标识符表

表1变量标识符表

序号

名称

代号

标识符

单位

1

名义功率

P

P

kW

2

设计功率

Pd

Pd

kW

3

工作情况系数

KA

KA

4

小带轮转速

n1

n1

r/min

5

工作机载荷特性

GZJ

6

原动机类型

YDJ

7

带型号

Z、A—E

TYPE

8

小带轮基准直径

dd1

dd1

mm

9

大带轮基准直径

dd2

dd2

mm

10

最小带轮直径

ddmin

ddMIN

mm

11

带速

V

m/s

12

最大带速

VMAX

m/s

13

中心距

a

a

mm

14

基准长度

Ld

Ld

mm

15

小带轮包角

ALF1

16

V带根数

Z

Z

17

额定功率

P0

P0

kW

18

功率增量

DIFP0

kW

19

弯曲影响系数

Kb

Kb

20

传动比系数

Ki

Ki

21

长度系数

KL

KL

22

包角系数

KALF

23

初拉力

F0

F0

N

24

压轴力

Q

Q

N

25

圆周率

PAI

26

轮缘宽度

B

B

mm

 

N

开始

输入P,n1,i

输入各原始数据

查表求传动比系数Ki

查KA,计算Pd,选型

查表求KA,计算Pd

输入带型号

输出该型号带轮系列直径,选择输入小带轮基准直径dd1

V=

根据型号确定最大带速Vmax,

额定功率P0中系数K1,K2,K3,

弯曲影响系数Kb

V

Y

dd2=

查标准带轮直径表确定dd2

a1=0.7(dd1+dd2),a2=2(dd1+dd2)

输入初估中心距a0,计算Ld0

A

减小直径

B

B

查标准长度确定Ld,同时

查取KL,计算实际中心距a

A

计算小带轮包角

查表确定包角系数

计算Po,

Z<10?

计算Fo,Q,B(取整)

输出结果

计算下一型号带?

结束

计算下一种带轮直径?

Y

Y

Y

N

N

N

图1V带设计程序框图

三、程序框图

四、V带设计程序

#include

#include

#include

#definePAI3.14

intTYPE_TO_NUM(chartype);

floatSelect_Ki(floati);

floatSelect_KA(floatH,intGZJ,intYDJ);

floatSelect_KL(floatLd,intTYPE);

floatSelect_M(intTYPE);

floatSelect_dd1(intTYPE);

floatSelect_dd2(intdd1,floati);

floatCompute_P0(floatV,intTYPE,floatdd1);

floatCompute_DIFP0(intTYPE,floatKi,intn1);

floatCompute_VMAX(intTYPE);

floatCompute_KALF(floatALF1);

floatCompute_B(intTYPE,intz);

float*Compute_LAK(floatdd1,floatdd2,intTYPE);

main()

{

floatP,H,i,n1,KA,Ki,dd1,dd2,V,P0,DIFP0,Pd,VMAX,*LAK,m,Ld,KALF,a,KL,z,F0,ALF1,Q,B;

intYDJ,GZJ,TYPE,ANS;

chartype,ans;

START:

printf("欢迎使用普通V带传动设计电算软件\n");

printf("机械设计电算\n文奇1120810610\n

V带传动设计程序\n");

printf("\n");

printf("请输入各项原始参数\n");

printf("1.传递功率P(单位KW):

");

printf("\n");

scanf("%f",&P);

IF5:

if(P>10)

{

printf("警告:

传递功率过大,请重新输入\n");

printf("1.传递功率P(单位KW):

");

printf("\n");

scanf("%f",&P);

gotoIF5;

}

printf("\n");

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

");

printf("\n");

scanf("%f",&n1);

IF4:

if(n1>10000)

{

printf("警告:

输入转速达到高速带传动,请降低转速并重新输入\n");

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

");

printf("\n");

scanf("%f",&n1);

gotoIF4;

}

printf("\n");

printf("3.传动比i:

");

printf("\n");

scanf("%f",&i);

IF6:

if(i>4)

{

printf("警告:

输入传动比过高,请重新输入\n");

printf("3.传动比i:

");

printf("\n");

scanf("%f",&i);

gotoIF6;

}

printf("\n");

printf("4.原动机类型(I

(1)或II

(2)):

\n说明:

I类-普通鼠笼式电机、同步电机、直流电机(并激),n>600r/min燃机\nII类-交流电动机、直流电动机、单缸发动机、n<600r/min燃机\n");

scanf("%d",&YDJ);

IF1:

if(YDJ!

=2&&YDJ!

=1)

{

printf("输入错误!

请重新输入!

\n");

printf("4.原动机类型(I

(1)或II

(2)):

\n说明:

I类-普通鼠笼式电机、同步电机、直流电机(并激),n>600r/min燃机\nII类-交流电动机、直流电动机、单缸发动机、n<600r/min燃机\n");

scanf("%d",&YDJ);

gotoIF1;

}

printf("\n");

printf("5.载荷类型:

\n0:

载荷平稳\n1:

载荷变动较小\n2:

载荷变动较大\n3:

载荷变动很大\n");

scanf("%d",&GZJ);

IF2:

if(GZJ!

=0&&GZJ!

=1&&GZJ!

=2&&GZJ!

=3)

{

printf("输入错误!

请重新输入!

\n");

printf("5.载荷类型:

\n0:

载荷平稳\n1:

载荷变动较小\n2:

载荷变动较大\n3:

载荷变动很大\n");

scanf("%d",&GZJ);

gotoIF2;

}

printf("\n");

printf("6.每天的工作时间:

\n0:

<10h(一班制)\n1:

10h~16h(两班制)\n2:

>16h(三班制)\n");

scanf("%f",&H);

IF3:

if(H!

=0&&H!

=1&&H!

=2)

{

printf("输入错误!

请重新输入!

\n");

printf("6.每天的工作时间:

\n0:

<10h(一班制)\n1:

10h~16h(两班制)\n2:

>16h(三班制)\n");

scanf("%f",&H);

gotoIF3;

}

printf("\n");

DX:

printf("7.请选择V带带型(Z、A、B、C、D、E):

\n");

scanf("%c",&type);

TYPE=TYPE_TO_NUM(type);

KA=Select_KA(H,GZJ,YDJ);

Pd=KA*P;

VMAX=Compute_VMAX(TYPE);

DD1:

dd1=Select_dd1(TYPE);

V=PAI*dd1*n1/60000;

while(V>VMAX)

{

printf("\n");

printf("警告:

所选小轮基准直径过小!

请重新选择!

\n");

dd1=Select_dd1(TYPE);

V=PAI*dd1*n1/60000;

}

dd2=Select_dd2(dd1,i);

P0=Compute_P0(V,TYPE,dd1);

Ki=Select_Ki(i);

DIFP0=Compute_DIFP0(TYPE,Ki,n1);

LAK=Compute_LAK(dd1,dd2,TYPE);

Ld=LAK[0];

a=LAK[1];

KL=LAK[2];

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

KALF=Compute_KALF(ALF1);

z=ceil(Pd/(KALF*KL*(P0+DIFP0)));

if(z>=10)

gotoDX;

m=Select_M(TYPE);

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

Q=2*z*F0*sin(ALF1*PAI/360);

B=Compute_B(TYPE,z);

printf("\n");

printf("计算结果\n");

printf("\n");

printf("小轮直径:

%fmm\n\n大轮直径:

%fmm\n\n中心距:

%fmm\n\n带长:

%fmm\n\n带宽:

%fmm\n\n带的根数:

%f\n\n初拉力:

%fN\n\n轴压力:

%fN\n\n",dd1,dd2,a,Ld,B,z,F0,Q);

printf("\n");

X:

printf("请选择:

\nY:

计算下一组带轮\nS:

重新开始\nN:

结束\n");

scanf("%c",&ans);

ANS=TYPE_TO_NUM(ans);

if(ANS==6)

gotoDD1;

elseif(ANS==7)

gotoSTART;

elseif(ANS==8)

printf("程序结束");

else

{

printf("输入错误,请重新输入");

gotoX;

}

}

/*工作情况系数选择*/

floatSelect_KA(floatH,intGZJ,intYDJ)

{

/*表5.7工作情况系数KA*/

floatka1[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}};

floatka2[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}};

floatKA;

if(YDJ==1)

{

if(H==0)

KA=ka1[GZJ][0];

elseif(H==2)

KA=ka1[GZJ][2];

else

KA=ka1[GZJ][1];

}

if(YDJ==2)

{

if(H==0)

KA=ka2[GZJ][0];

elseif(H==2)

KA=ka2[GZJ][2];

else

KA=ka2[GZJ][1];

}

returnKA;

}

/*传动比系数*/

floatSelect_Ki(floati)

{

floatm;

/*表5.6传动比系数Ki*/

floatKi[10]={1.0000,1.0136,1.0276,1.0419,1.0567,1.0719,1.0875,1.1036,1.1202,1.1373};

floatI[10]={1.00,1.02,1.05,1.09,1.13,1.19,1.25,1.35,1.52,2.00};

intj=9;

for(j=9;j>=0;j--)

{

m=i-I[j];

if(m>=0)

break;

}

returnKi[j];

}

/*确定选择带型*/

intTYPE_TO_NUM(chartype)

{

intx;

if(type<91)

{

type+=32;

}

switch(type)

{

case'z':

x=0;

break;

case'a':

x=1;

break;

case'b':

x=2;

break;

case'c':

x=3;

break;

case'd':

x=4;

break;

case'e':

x=5;

break;

case'y':

x=6;

break;

case's':

x=7;

break;

case'n':

x=8;

break;

}

returnx;

}

/*计算额定功率*/

floatCompute_P0(floatV,intTYPE,floatdd1)

{

floatP0;

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

floatK2[6]={7.44,19.02,50.6,143.2,507.3,951.5};

floatK3[6]={0.441e-4,0.765e-4,1.31e-4,2.34e-4,4.77e-4,7.06e-4};

P0=(K1[TYPE]*pow(V,-0.09)-K2[TYPE]/dd1-K3[TYPE]*V*V)*V;

returnP0;

}

/*表5.5弯曲影响系数Kb*/

floatCompute_DIFP0(intTYPE,floatKi,intn1)

{

floatKb,DIFP0;

floatKB[6]={0.2925e-3,0.7725e-3,1.9875e-3,5.625e-3,19.95e-3,37.35e-3};

Kb=KB[TYPE];

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

returnDIFP0;

}

/*小带轮基准直径*/

floatSelect_dd1(intTYPE)

{

inti;

floatdd1;

floatDD1[6][4]={{50.0,63.0,71.0,80.0},{75.0,90.0,100.0,125.0},{125.0,140.0,160.0,180.0},

{200.0,250.0,315.0,400.0},{355.0,400.0,450.0,500.0},{500.0,560.0,630.0,710.0}};

printf("\n");

printf("所选型号小带轮系列直径有(mm):

\n");

for(i=0;i<4;i++)

{

printf("%f",DD1[TYPE][i]);

}

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

");

scanf("%f",&dd1);

IF12:

if(dd1!

=DD1[TYPE][0]&&dd1!

=DD1[TYPE][1]&&dd1!

=DD1[TYPE][2]&&dd1!

=DD1[TYPE][3])

{

printf("警告:

未输入有效数据,请重新输入");

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

");

scanf("%f",&dd1);

gotoIF12;

}

returndd1;

}

/*大带轮基准直径*/

floatSelect_dd2(intdd1,floati)

{

floatDD2[]={50,56,63,71,80,90,100,112,125,140,150,160,180,200,224,

250,280,315,355,400,425,450,500,560,600,630,710,800};

floatdd2,temp,t;

intj=0;

temp=i*dd1;

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

{

t=temp-DD2[j];

if(t<=0)

break;

}

if((DD2[j]-temp)<(temp-DD2[j-1]))

dd2=DD2[j];

else

dd2=DD2[j-1];

returndd2;

}

/*估计中心距*/

float*Compute_LAK(floatdd1,floatdd2,intTYPE)

{

intj=0;

floata1,a2,a0,Ld0,temp,KALF,Ld,a,KL;

floatLAK[3];

floatkl[23][6]={{400,0.87},{450,0.89},{500,0.91},

{560,0.94},{630,0.96,0.81},{710,0.99,0.83},{800,1.00,0.85,0.82},{900,1.03,0.87,0.84,0.83},{1000,1.06,0.89,0.86,0.86,0.83},

{1120,1.08,0.91,0.88,0.88,0.86},{1250,1.10,0.93,0.90,0.91,0.89},{1400,1.14,0.96,0.92,0.93,0.91},{1600,1.16,0.99,0.95,0.95,0.93},

{1800,1.18,1.01,0.98,0.97,0.96},{2000,0,1.03,1.00,0.99,0.98},{2240,0,1.06,1.03,1.02,1.00},{2500,0,1.09,1.05,1.04,1.03},

{2800,0,1.11,1.07,1.07,1.06},{3150,0,1.13,1.09,1.09,1.08},{3550,0,1.17,1.13,1.12,1.11},{4000,0,1.19,1.15,1.15,1.14},{4500,0,0,1.18,1.18,1.17},{5000,0,0,0,1.21,1.20}};

a1=0.7*(dd1+dd2);

a2=2*(dd1+dd2);

printf("\n");

printf("9.请选择输入初估中心距a0(围为%.2fmm~%.2fmm):

",a1,a2);

scanf("%f",&a0);

IF11:

if(a0a2)

{

printf("输入中心距超出围,请重新输入\n");

printf("9.请选择输入初估中心距a0(围为%.2fmm~%.2fmm):

",a1,a2);

scanf("%f",&a0);

gotoIF11;

}

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

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

{

temp=Ld0-kl[j][0];

if(temp<=0)

break;

}

if((Ld0-kl[j-1][0])>(kl[j][0]-Ld0))

{Ld=kl[j][0];

KL=kl[j][TYPE+1];

}

else

{Ld=kl[j-1][0];

KL=kl[j-1][TYPE+1];

}

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

LAK[0]=Ld;

LAK[1]=a;

LAK[2]=KL;

returnLAK;

}

/*最大带速*/

floatCompute_VMAX(intTYPE)

{

floatVMAX;

switch(TYPE)

{

case0:

case1:

case2:

case3:

VMAX=25;

break;

case4:

case5:

VMAX=30;

break;

}

returnVMAX;

}

floatSelect_M(intTYPE)

{

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

当前位置:首页 > 党团工作 > 入党转正申请

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2