基于VC的闭式蜗轮蜗杆传动计算机辅助设计_第1页
基于VC的闭式蜗轮蜗杆传动计算机辅助设计_第2页
基于VC的闭式蜗轮蜗杆传动计算机辅助设计_第3页
基于VC的闭式蜗轮蜗杆传动计算机辅助设计_第4页
基于VC的闭式蜗轮蜗杆传动计算机辅助设计_第5页
已阅读5页,还剩12页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、#include"iostream.h"#include<cmath>double JCYL1();double JCYL2();double md1();double Kx();const double PAI=3.141592654;double JCYL,JCYL0,m2d1,m,d1,WGY,WLG;/m模数,蜗杆分度圆直径d1; 滑动速vs,许用接触应力JCYL,总效率zxl,m2d1接触强度系数,/WLG:蜗轮蜗杆材料;WGY,蜗杆齿面的硬度;int i,z1,z2;/传动比i,蜗杆的头数z1,应蜗轮齿数z2void main()double P,n

2、1,n2,T,vs1;/ 蜗杆输入功率P,蜗杆转速n1,蜗杆转速n2,使用寿命T,蜗轮速度vs, cout<< "请输入需要传递的名义功率P(kw)(功率P范围在0-1000KW之间):"<<endl;docin>>P;/输入名义功率if(P<0)|(P>1000) cout<<"输入数据有误,请重新输入功率:"<<endl;while (P<0)|(P>1000);cout<< "请输入蜗杆转速n1(r/min)(转速范围在0-4500之间):&q

3、uot;<<endl;docin>>n1;/输入转速n1if(n1<0)|(n1>4500) cout<<"输入数据有误,请重新输入转速:"<<endl;while(n1<0)|(n1>4500); cout<< "请输入蜗轮转速n2(r/min)(转速范围在0-4500之间):"<<endl;docin>>n2;/输入转速n2if(n2<0)|(n2>4500) cout<<"输入数据有误,请重新输入转速:&qu

4、ot;<<endl;while(n2<0)|(n2>4500);cout<<"请输入使用寿命T(小时):"<<endl;cin>>T;/输入使用寿命T i=(int )n1/(int )n2;/计算传动比 cout<<"经计算理论传动比i为:"<<i<<endl;if(i>5&&i<6)/z1和z2推荐值 cout<<"z1和z2的推荐值分别为:z1=6,z2=3036"<<endl;el

5、seif(i>7&&i<13)cout<<"z1和z2的推荐值分别为:z1=4,z2=2852"<<endl;elseif(i>14&&i<27) cout<<"z1和z2的推荐值分别为:z1=2,z2=2854"<<endl;elseif(i>28&&i<80) cout<<"z1和z2的推荐值分别为:z1=1,z2=2880"<<endl;elsecout<<&qu

6、ot;z1和z2无推荐值,请自行输入:"<<endl; cout<<"请输入蜗杆的头数z1:(输入头数在1,2,4,6之间"<<endl;do cin>>z1;if(z1<1)|(z1>6)|(z1=5)|(z1=3) cout<<"输入数据有误,请重新输入头数z1:"<<endl;while (z1<1)|(z1>6)|(z1=5)|(z1=3) ; z2=z1*i;cout<<"对应蜗轮齿数z2="<<

7、z2<<endl; cout<<"实际传动比i="<<i<<endl; vs1=0.025*pow(P*n1*n1,1.0/3);cout<<"初估滑动速度vs="<< vs1<<endl; cout<<"根据初估滑动速度vs可选择蜗杆材料;如下表:"<<endl;cout<<" vs2m/s 灰铸铁 用于低速、轻载或不重要的传动"<<endl;cout<<" v

8、s4m/s 铝铁青铜 抗胶合能力远比锡青铜差,但强度较高,价格便宜;用于速度较低的传动"<<endl;cout<<" vs25m/s铸磷锡青铜减摩、耐磨性好,抗胶合能力强,但其强度较低,价格较贵;用于高速或重要传动"<<endl; if(vs1<=6) JCYL=JCYL1(); while (JCYL=0) cout<<"你的输入所选的相对滑动速度vs不合适!请重新选择:"<<endl; JCYL=JCYL1(); else JCYL0=JCYL2(); double T2,z

9、xl,K,N,KHN;/蜗轮上转矩T2,zxl总效率,应力循环次数N,KHN是寿命系数; /使用系数Ka,Kv动载系数,Kb齿向载荷分布系数,K载荷系数,ZE材料的弹性系数;char Answer0; K=Kx(); if(z1=1)zxl=0.75;else if(z1=2) zxl=0.82;else if(z1=4)zxl=0.92;else if(z1=6)zxl=0.95; T2=i*zxl*9.55e006*P/n1; cout<<"经计算蜗轮轴转矩T2="<<T2/1000<<"N.m"<<e

10、ndl; N=60*n2*T; KHN=pow(1.0e7/N,1.0/8); if(vs1>=6) JCYL=KHN*JCYL0 ; cout<<"蜗轮材料许用接触应力H="<<JCYL<<"MPa"<<endl; m2d1=pow(160/(JCYL*z2),2.0)*K*T2*9; cout<<"接触强度系数m2d1="<<m2d1<<"mm3"<<endl; md1(); cout<<"

11、;是否采用推荐值?Y(是)/N(不是)"<<endl; do cin>>Answer0;if(Answer0!='Y')&&(Answer0!='N')&&(Answer0!='y')&&(Answer0!='n') cout<<"您输入了无效数字,请重新输入:"<<endl;while(Answer0!='Y')&&(Answer0!='N')&&a

12、mp;(Answer0!='y')&&(Answer0!='n'); if(Answer0='N')|(Answer0='n') cout<<"请输入模数m="<<endl; cin>>m; cout<<"蜗杆分度圆直径d1="<<endl; cin>>d1; /验算蜗轮圆周速度v2、相对滑动速度vs; double y,v2,d2,vs,f,n,p;/导程角y,当量摩擦因数f,当量摩擦角p,效率n; d

13、2=m*z2; v2=(PAI*d2*n2)/(60*1000); if(v2<3) cout<<"蜗轮圆周速度v2="<<v2<<"m/s"<<"<3m/s与原假设相符"<<endl; else m2d1=1.2*m2d1; md1(); y=atan(m*z1/d1); cout<<"导程角y="<<y*180/PAI<<endl; vs=(PAI*d1*n1)/(60*1000*cos(y);if(vs

14、1>6)if(vs<=6) cout<<"初估滑动速度vs="<<vs1<<"m/s"<<">6m/s"<<endl;cout<<"相对滑动速度vs="<<vs<<"m/s"<<"6m/s,与原假设不相符"<<endl; cout<<"请重新设计!"<<endl;return;elsecout&l

15、t;<"初估滑动速度vs="<<vs1<<"m/s"<<">6m/s"<<endl;cout<<"相对滑动速度vs="<<vs<<"m/s"<<">6m/s,与原假设相符"<<endl; elseif(vs>6) cout<<"初估滑动速度vs="<<vs1<<"m/s"

16、<<"6m/s"<<endl;cout<<"相对滑动速度vs="<<vs<<"m/s"<<"vs>6m/s,与假设不相符"<<endl;cout<<"请重新设计!"<<endl;return;elsecout<<"初估滑动速度vs="<<vs1<<"m/s"<<"6m/s"&l

17、t;<endl;cout<<"相对滑动速度vs="<<vs<<"m/s"<<"6m/s,与假设相符"<<endl; if(vs<=0.01) if(WLG=0|WLG=1|WLG=2) f=0.18; else f=0.19; else if(vs<=0.05)if(WLG=0|WLG=1|WLG=2) f=0.14; else f=0.16;else if(vs<=0.1)if(WLG=0|WLG=1|WLG=2) f=0.13; else f=0.

18、14;else if(vs<=0.25)if(WLG=0|WLG=1|WLG=2) f=0.1; else f=0.12;else if(vs<=0.5)if(WLG=0|WLG=1|WLG=2) f=0.09; else f=0.1;else if(vs<=1)if(WLG=0|WLG=1|WLG=2) f=0.07; else f=0.09;else if(vs<=1.5)if(WLG=0|WLG=1|WLG=2) f=0.065; else f=0.08;else if(vs<=2)if(WLG=0|WLG=1|WLG=2) f=0.055; else f=

19、0.07;else if(vs<=2.5)if(WLG=0|WLG=1) f=0.05;else if(vs<=3.0)if(WLG=0|WLG=1) f=0.04;else if(vs<=4)if(WLG=0|WLG=1) f=0.035;else if(vs<=5)if(WLG=0|WLG=1) f=0.03; else if(vs<=8)if(WGY=0) f=0.026;else f=0.018; else if(vs<=10)if(WGY=0) f=0.024;else f=0.016; else if(vs<=15)if(WGY=0) f=

20、0.020;else f=0.014; else if(vs<=24)if(WGY=1) f=0.013;elsecout<<"无参考值"<<endl;return;p=atan(f);n=0.95*tan(y)/tan(y+p); if(z1=1)cout<<"初估计蜗杆传动总效率为0.75"<<endl;else if(z1=2) cout<<"初估计蜗杆传动总效率为0.82"<<endl;else if(z1=4)cout<<"初

21、估计蜗杆传动总效率为0.92"<<endl;else if(z1=6) cout<<"初估计蜗杆传动总效率为0.95"<<endl;cout<<"实际效率="<<n<<endl;if(n-zxl<0.05&&n-zxl>-0.05) cout<<"传动效率与原估计值相符,无需修正"<<endl;else cout<<"传动效率与原估计值不相符"<<endl;

22、return; double x,a1,a,da1,df1,da2,df2,R2,R1,ha1,ha2,hf1,hf2,jd1,h1,h2,bt2,jd2,pa1,ps,b2,de2; x=0; a1=(d1+d2)/2; cout<<"理论中心距a="<<a1<<endl; cout<<"请选择实际中心距a=" cin>>a; x=(a-a1)/m; ha1=m; ha2=(1+x)*m; hf1=1.2*m; hf2=(1.2-x)*m; h1=2.2*m; h2=2.2*m; d2=m*z

23、2; da1=d1+2*ha1; da2=d2+2*ha2; df1=d1-2*hf1; df2=d2-2*ha2; bt2=y; jd1=d1+2*x*m; jd2=d2; a=(d1+d2+2*x*m)/2; pa1=PAI*m; ps=z1*pa1; if(z1=1) de2=da2+2*m; else if(z2=2) de2=da2+1.5*m; else de2=da2+m; if(z1<=2) b2=0.75*da1; else b2=0.64*da1; R1=da1/2+0.2*m; R2=df1/2+0.2*m; cout<<"变位系数x=&quo

24、t;<<x<<endl; cout<<"蜗杆头数z1="<<z1<<endl; cout<<"蜗轮齿数z2="<<z2<<endl; cout<<"蜗杆分度圆直径d1="<<d1<<"mm"<<endl; cout<<"蜗轮分度圆直径d2="<<d2<<"mm"<<endl; cout&

25、lt;<"蜗杆齿顶圆直径da1="<<da1<<"mm"<<endl; cout<<"蜗杆齿根圆直径df1="<<df1<<"mm"<<endl; cout<<"蜗轮齿顶圆直径da2="<<da2<<"mm"<<endl; cout<<"蜗轮齿根圆直径df2="<<df2<<"

26、;mm"<<endl; cout<<"蜗杆齿全高h1="<<h1<<"mm"<<endl; cout<<"蜗轮齿全高h2="<<h2<<"mm"<<endl; cout<<"蜗杆节圆直径jd1="<<jd1<<"mm"<<endl; cout<<"蜗轮节圆直径jd2="<&l

27、t;jd2<<"mm"<<endl; cout<<"实际中心距a="<<a<<endl; cout<<"蜗杆轴向齿距pa1="<<pa1<<"mm"<<endl; cout<<"蜗杆螺旋线导程ps="<<ps<<"mm"<<endl; cout<<"蜗轮齿顶圆弧半径Ra2="<<

28、R2<<"mm"<<endl; cout<<"蜗轮齿根圆弧半径Rf2="<<R1<<"mm"<<endl; cout<<"蜗轮顶圆直径da2="<<da2<<"mm"<<endl; cout<<"蜗杆导程角="<<y*180/PAI<<"°"<<endl; cout<<

29、"蜗杆分度圆齿宽b2="<<b2<<"mm"<<endl; cout<<"齿面滑动速度vs="<<vs<<"m/s"<<endl; cout<<"蜗轮分度圆上螺旋角bt2="<<bt2*180/PAI<<"°"<<endl; cout<<"热平衡计算。计算所需面积"<<endl;/热平衡计算。

30、计算所需面积 cout<<"取油温t=70,周围空气温度t_0=20,设通风良好,取散热系统K_s=15W/(m2.)"<<endl; double A; A=1000*P*(1-n)/(15*(70-20); cout<<"热平衡所需面积A="<<A<<endl; cout<<"若箱体散热面积不足此数,则需要加散热片、装置风扇或采用其他散热冷却方式"<<endl; double JCYL1() /选择蜗轮蜗杆材料,许用接触应力 int WLG1,HD

31、SD; /WLG:蜗轮蜗杆材料;HDSD滑动速度; double a47=0,250,230,210,180,160,120, 0,215,200,180,150,135,95, 160,130,115,90,0,0,0, 140,110,90,70,0,0,0; cout<<"请选择蜗轮材料及蜗杆材料及热处理类型(不同类型分别用1,2,3,4表示):"<<endl; cout<<"1-蜗轮材料:铝铁青铜 ZCuAl10Fe3;n 蜗杆材料及热处理类型:钢、淬火"<<endl; cout<<&q

32、uot;2-蜗轮材料:锰铅黄铜 ZCuZn38Mn2Pb2;n 蜗杆材料及热处理类型:钢、淬火"<<endl; cout<<"3-蜗轮材料:灰铸铁 HT150,HT200;n 蜗杆材料及热处理类型:渗碳钢"<<endl;cout<<"4-蜗轮材料:灰铸铁 HT150,HT200;n 蜗杆材料及热处理类型:调质或正火钢"<<endl;cout<<endl; do cin>>WLG1; WLG-; if(WLG1!=0)&&(WLG1!=1)&

33、;&(WLG1!=2)&&(WLG1!=3) cout<<"你的输入没有按要求输入!请重新输入:"<<endl; while(WLG1!=0)&&(WLG1!=1)&&(WLG1!=2)&&(WLG1!=3); cout<<"选择相对滑动速度vs/(m/s)(不同滑动速度分别用1,2,3,4,5,6,7表示):"<<endl; cout<<"1-相对滑动速度vs0.25m/s。"<<endl;

34、 cout<<"2-相对滑动速度vs0.5m/s。"<<endl; cout<<"3-相对滑动速度vs1m/s。"<<endl; cout<<"4-相对滑动速度vs2m/s。"<<endl; cout<<"5-相对滑动速度vs3m/s。"<<endl; cout<<"6-相对滑动速度vs4m/s。"<<endl; cout<<"7-相对滑动速度vs6m/s

35、。"<<endl; do cin>>HDSD; HDSD-; if(HDSD!=0)&&(HDSD!=1)&&(HDSD!=2)&&(HDSD!=3)&&(HDSD!=4)&&(HDSD!=5)&&(HDSD!=6) cout<<"你的输入没有按要求输入!请重新输入:"<<endl; while(HDSD!=0)&&(HDSD!=1)&&(HDSD!=2)&&(HDSD!=3

36、)&&(HDSD!=4)&&(HDSD!=5)&&(HDSD!=6); WLG=WLG1; return aWLG1HDSD; cout<<"蜗轮材料许用接触应力H="<<JCYL<<"MPa"<<endl; double JCYL2() int WGY1 ,WLZ; /WLZ,蜗轮材料,铸造方法; double b42=180,200,200,220,110,125,135,150; cout<<"请选择蜗轮材料及铸造方法(不同类型分别

37、用1,2,3,4表示):"<<endl; cout<<"1-蜗轮材料:铸锡磷青铜 ZCuSn10P1;n 铸造方法:砂模铸造;"<<endl; cout<<"2-蜗轮材料:铸锡磷青铜 ZCuSn10P1;n 铸造方法:金属模铸造;"<<endl; cout<<"3-蜗轮材料:铸锡铅锌青铜 ZCuSn5Pb5Zn5;n 铸造方法:砂模铸造;"<<endl; cout<<"4-蜗轮材料:铸锡铅锌青铜 ZCuSn5Pb5Zn5

38、;n 铸造方法:金属模铸造;"<<endl; cout<<endl; do cin>>WLZ;WLZ-;if(WLZ!=0)&&(WLZ!=1)&&(WLZ!=2)&&(WLZ!=3) cout<<"你的输入没有按要求输入!请重新输入:"<<endl; while(WLZ!=0)&&(WLZ!=1)&&(WLZ!=2)&&(WLZ!=3); cout<<"请选择蜗杆齿面的硬度(不同硬度分别

39、用1,2表示):"<<endl; cout<<"1-蜗杆蜗杆齿面的硬度45HRC"<<endl; cout<<"2-蜗杆蜗杆齿面的硬度>45HRC"<<endl; do cin>>WGY1;WGY1-;if(WGY1!=0)&&(WGY1!=1) cout<<"你的输入没有按要求输入!请重新输入:"<<endl; while(WGY1!=0)&&(WGY1!=1); WGY=WGY1; ret

40、urn bWLZWGY1; double Kx() double K,Ka,Kv,Kb,Answer; cout<<"请选择蜗杆工作类型:"<<endl; cout<<"1-载荷性质:均匀,无冲击;n 每小时起动次数:<25;"<<endl; cout<<"2-载荷性质:不均匀,小冲击;n 每小时起动次数:2550;"<<endl; cout<<"3-载荷性质:不均匀,大冲击;n 每小时起动次数:>50;"<<

41、;endl; do cin>>Answer; if(Answer!=1)&&(Answer!=2)&&(Answer!=3) cout<<"你的输入没有按要求输入!请重新输入"while(Answer!=1)&&(Answer!=2)&&(Answer!=3); if(Answer<2) Ka=1.0,Kb=1.0; else if(Answer<3) Ka=1.15,Kb=1.1; else Ka=1.2,Kb=1.3; Kv=1.0; K=Ka*Kv*Kb; return

42、 K; double md1()/求m,d1,根据m2d1计算:推荐m和d1if(m2d1<=18) cout<<"根据m2d1计算:n 推荐m=1mm,d1=18mm;"<<endl; m=1,d1=18; else if(m2d1<=31.25) cout<<"根据m2d1计算:n 推荐m=1.25mm,d1=20mm;"<<endl; m=1.25,d1=20; else if(m2d1<=35) cout<<"根据m2d1计算:n 推荐m=1.25mm,d1=

43、22.4mm;"<<endl; m=1.25,d1=22.4; else if(m2d1<=51.2) cout<<"根据m2d1计算:n 推荐m=1.6mm,d1=20mm;"<<endl; m=1.6,d1=20;else if(m2d1<=71.68) cout<<"根据m2d1计算:n 推荐m=1.6mm,d1=28mm;"<<endl; m=1.6,d1=28;else if(m2d1<=72) cout<<"根据m2d1计算:n 推荐

44、m=2mm,d1=18mm;"<<endl; m=2,d1=18;else if(m2d1<=98.6) cout<<"根据m2d1计算:n 推荐m=2mm,d1=22.4mm;"<<endl; m=2,d1=22.4;else if(m2d1<=112) cout<<"根据m2d1计算:n 推荐m=2mm,d1=28mm;"<<endl; m=2,d1=28;else if(m2d1<=140) cout<<"根据m2d1计算:n 推荐m=2.

45、5mm,d1=22.4mm;"<<endl; m=2.5,d1=22.4;else if(m2d1<=142) cout<<"根据m2d1计算:n 推荐m=2mm,d1=35.5mm;"<<endl; m=2,d1=35.5;else if(m2d1<=175) cout<<"根据m2d1计算:n 推荐m=2.5mm,d1=28mm;"<<endl; m=2.5,d1=28;else if(m2d1<=221.9) cout<<"根据m2d1计算

46、:n 推荐m=2.5mm,d1=35.5mm;"<<endl; m=2.5,d1=35.5;else if(m2d1<=277.8) cout<<"根据m2d1计算:n 推荐m=3.15mm,d1=28mm;"<<endl; m=3.15,d1=28;else if(m2d1<=281) cout<<"根据m2d1计算:n 推荐m=2.5mm,d1=45mm;"<<endl; m=2.5,d1=45;else if(m2d1<=352.2) cout<<&

47、quot;根据m2d1计算:n 推荐m=3.15mm,d1=35.5mm;"<<endl; m=3.15,d1=35.5;else if(m2d1<=446.5) cout<<"根据m2d1计算:n 推荐m=3.15mm,d1=45mm;"<<endl; m=3.15,d1=45;else if(m2d1<=504) cout<<"根据m2d1计算:n 推荐m=4mm,d1=31.5mm;"<<endl; m=4,d1=31.5;else if(m2d1<=556)

48、cout<<"根据m2d1计算:n 推荐m=3.15mm,d1=56mm;"<<endl; m=3.15,d1=56;else if(m2d1<=640) cout<<"根据m2d1计算:n 推荐m=4mm,d1=40mm;"<<endl; m=4,d1=40;else if(m2d1<=800) cout<<"根据m2d1计算:n 推荐m=4mm,d1=50mm;"<<endl; m=4,d1=50;else if(m2d1<=1000) co

49、ut<<"根据m2d1计算:n 推荐 m=5mm,d1=40mm;"<<endl; m=5,d1=40;else if(m2d1<=1136) cout<<"根据m2d1计算:n 推荐m=4mm,d1=71mm;"<<endl; m=4,d1=71;else if(m2d1<=1250) cout<<"根据m2d1计算:n 推荐m=5mm,d1=50mm;"<<endl; m=5,d1=50;else if(m2d1<=1575) cout<

50、;<"根据m2d1计算:n 推荐m=5mm,d1=63mm;"<<endl; m=5,d1=63;else if(m2d1<=1985) cout<<"根据m2d1计算:n 推荐m=6.3mm,d1=50mm;"<<endl; m=6.3,d1=50;else if(m2d1<=2250) cout<<"根据m2d1计算:n 推荐m=5mm,d1=90mm;"<<endl; m=5,d1=90;else if(m2d1<=2500) cout<<"根据m2d1计算:n 推荐m=6.3mm,d1=63mm;"<<endl; m=6.3,d1=63;else if(m2d1<=3175) cout<<"根据m2d1计算:n 推荐m=6.3mm,d1=80mm;"<<endl; m=6.3,d1=80;else if(m2d1<=4032) cout<<"根据m2d1计算:n 推荐m=8mm,d1=63mm;"<<endl; m=8,d1=63;else if(m2d1<=4

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论