齿轮设计Word格式.docx

上传人:b****2 文档编号:15175939 上传时间:2022-10-28 格式:DOCX 页数:25 大小:63.03KB
下载 相关 举报
齿轮设计Word格式.docx_第1页
第1页 / 共25页
齿轮设计Word格式.docx_第2页
第2页 / 共25页
齿轮设计Word格式.docx_第3页
第3页 / 共25页
齿轮设计Word格式.docx_第4页
第4页 / 共25页
齿轮设计Word格式.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

齿轮设计Word格式.docx

《齿轮设计Word格式.docx》由会员分享,可在线阅读,更多相关《齿轮设计Word格式.docx(25页珍藏版)》请在冰豆网上搜索。

齿轮设计Word格式.docx

由此建立12个不等式约束条件式

g1(X)=x1–3.5≥0

g2(X)=8–x1≥0

g3(X)=x2–3.5≥0

g4(X)=10–x2≥0

g5(X)=x3–14≥0

g6(X)=22–x3≥0

g7(X)=x4–16≥0

g8(X)=22–x4≥0

g9(X)=x5–5.8≥0

g10(X)=7–x5≥0

g11(X)=x6–8≥0

g12(X)=15–x6≥0

(2)按齿面接触强度公式

δH=≤[δH],N/mm2

得到高速级和低速级齿面接触强度条件分别为

–cos3β≥0①

–cos3β≥0

式中,[δH]——许用接触应力,Mpa

T1,T2——分别为高速轴和中间轴的转矩,N·

mm

K1,K2——分别为高速级和低速级载荷系数.

(3)按轮齿弯曲强度计算公式

δF1=≤[δF]1,N·

mm2

δF2=δF1≤[δF]2,N·

得到高速级和低速级大小齿轮的弯曲强度条件分别为

(1+i1)mn13Z12–cos2β≥0

和(1+i2)mn23Z32–cos2β≥0

(1+i2)mn23Z32–cos2β≥0⑥

其中[δF]1,[δF]2,[δF]3,[δF]4——分别为齿轮1,2,3,4的许用弯曲应力,N/mm2;

y1,y2,y3,y4——分别为齿轮1,2,3,4的齿形系数.

(4)按高速级大齿轮与低速轴不干涉相碰的条件

a2–E–de2/2≥0

得mn2Z3(1+i2)–2cosβ(E+mn1)–mn1Z1i1≥0

式中E——低速轴轴线与高速级大齿轮齿顶圆之间的距离,mm;

de2——高速级大齿轮齿的齿顶圆直径,mm.

对式①至代入有关数据:

[δH]=836N·

[δF]1=[δF]3=444N·

mm,[δF]2=[δF]4=410.3N·

T1=144700N·

mm,T2=146789i1N·

K1=1.225,K2=1.204

y1=0.248,y2=0.302,y3=0.256,y4=0.302

E=50mm

g13(X)=5.3×

10-6x13x33x5–cos3x6≥0

g14(X)=2.317×

10-5x23x43–x5cos3x6≥0

g15(X)=3.117×

10-4(1+x5)x13x32–cos2x6≥0

g18(X)=3.422×

10-5(1+x5)x13x32–cos2x6≥0

g16(X)=3.45×

10-6(31.5+x5)x23x42–x52cos2x6≥0

g19(X)=3.32×

10-5(31.5+x5)x23x42–x52cos2x6≥0

g17(X)=x2x4(31.5+x5)–2x5cosx6(x1+50)–x1x3x52≥0

g18(X)、g19(X)和g15(X)、g16(X)相比为明显的消极约束,可省略。

共取g1(X)至g17(X)的17个约束条件。

至此已形成了完整的数学模型。

2.初始搜索区间的确定

1)将x0=[3+α;

4;

17;

20;

6;

8];

代入目标函数得

2)确定其搜索区间[a,b]。

设初始点,初始步长h=1。

function[a,b]=jian

a0=0;

h=1;

a1=a0+h;

f0=60.1*a0+1/(1+a0)+1/(5-a0);

f1=60.1*a1+1/(1+a1)+1/(5-a1);

iff1<

=f0

whiletrue

h=2*h;

a2=a1+h;

f2=60.1*a2+1/(1+a2)+1/(5-a2);

iff1<

=f2%此时结束,得出下单峰区间

a=a0;

b=a2;

break;

else

a0=a1;

a1=a2

f0=f1;

f1=f2;

end

end

iff1>

f0

a2=a0-h;

%大的a1赋给a2作为边界,a1则缩短再比较,若此时f1<

f0了,则结束

f2=60.1*a2+1/(1+a2)+1/(5-a2);

iff0<

=f2

a=a2;

b=a1;

a1=a0;

a0=a2;

f1=f0;

f0=f2;

a

b

得到运行结果:

a=-2.80,b=-1.12

所以初始区间为[-2.80,-1.12]。

3.然后用黄金分割法求其最优解

以下是基于c-free4.0上运行的C程序:

#include<

stdio.h>

math.h>

voidmain()

{

floata1,a2,f1,f2,f3,a,b,am;

a=-2.8089,b=-1.1236;

while(b-a>

0.01)

{

a1=b-0.618*(b-a),

f1=60.1*a1+1/(1+a1)+1/(5-a1),

a2=a+0.618*(b-a),

f2=60.1*a2+1/(1+a2)+1/(5-a2),

if(f1<

=f2)

b=a2,a2=a1,f2=f1,a1=b-0.618*(b-a),

f1=60.1*a1+1/(1+a1)+1/(5-a1),

a=a1,a1=a2,f1=f2,a2=a+0.618*(b-a),

}

am=0.5*(b+a);

f3=60.1*a3+1/(1+a3)+1/(5-a3);

printf("

a[min]=%.4f\nf(min)=%.4f\n"

am,f3);

getchar();

}

得出结果为

a[min]=-1.5035

2.鲍威尔法

#definem10/***********数组长度m>

=维数n****/

#definepi3.1416

floatf(floatx[]);

voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[]);

voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[]);

voidmpowell(intn,floatx0[],floath,floatflag1,floatflag2,floata[],floatb[],floatx[]);

floatf(floatx[])

floatresult;

result=(x[0]*x[2]*(1+x[4])+x[1]*x[3]*(1+31.5/x[4]))/2/cos(x[5]*pi/180)

+1/(x[0]-3.5)+1/(8-x[0])+1/(x[1]-3.5)+1/(10-x[1])+1/(x[2]-14)+1/(22-x[2])

+1/(x[3]-16)+1/(22-x[3])+1/(x[4]-5.8)+1/(7-x[4])+1/(x[5]-8)+1/(15-x[5])

+1/(x[0]*x[2]-68.3722)+1/(x[1]*x[3]-66.7325)+

1/(0.0003099*(1+x[4])*x[0]*x[0]*x[0]*x[2]*x[2]-cos(x[5]*pi/180)*cos(x[5]*pi/180))

+1/(0.00000354*(31.5+x[4])*x[1]*x[1]*x[1]*x[3]*x[3]-x[4]*x[4]*cos(x[5]*pi/180)*cos(x[5]*pi/180))

+1/(x[1]*x[3]*(x[4]+31.5)-x[4]*(2*(x[0]+50)*cos(x[5]*pi/180)+x[0]*x[2]*x[4]));

returnresult;

/*搜索区间子程序*/

voidmjtf(intn,floatx0[],floath,floats[],floata[],floatb[])

a[0]=2,b[0]=10;

a[1]=2,b[1]=13;

a[2]=14,b[2]=22;

a[3]=16,b[3]=22;

a[4]=5,b[4]=7;

a[5]=8,b[5]=15;

/*多维黄金分割法子程序*/

voidmhjfgf(intn,floata[],floatb[],floatflag,floatx[])

inti;

floatx1[m],x2[m],f1,f2,sum;

for(i=0;

i<

n;

i++)/*计算初始两试点*/

x1[i]=b[i]-(float)0.618*(b[i]-a[i]);

f1=f(x1);

i++)

x2[i]=a[i]+(float)0.618*(b[i]-a[i]);

f2=f(x2);

do

=f2)/*判断消去区间*/

{/*消去右*/

b[i]=x2[i];

x2[i]=x1[i];

f2=f1;

{/*消去左*/

a[i]=x1[i];

x1[i]=x2[i];

sum=0;

sum+=(b[i]-a[i])*(b[i]-a[i]);

}while(sqrt(sum)>

flag);

x[i]=(float)0.5*(b[i]+a[i]);

/*已达到,输出极小点*/

/*鲍威尔法子程序*/

voidmpowell(intn,floatx0[],floath,floatflag1,

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

当前位置:首页 > 医药卫生 > 预防医学

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

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