MATLAB机械设计——二级齿轮减速器

  • 理论参考书籍:《机械原理与设计》(下册)—马履中

  • 以下代码为MATLAB编写,用于博主的曾经编程(纯手敲)结合课程设计:二级齿轮减速器


1. 斜齿齿轮传动

 % 机械设计----斜齿齿轮传动
 clear;clc
 P=input('请输入P=');
 n_1=input('请输入n_1=');
 z_1=input('请输入z_1=');
 i=input('请输入i=');
 
 z_2=ceil(i.*z_1);
 disp('z_2的值为:');disp(z_2);
 
 % 按齿根弯曲疲劳强度设计
 T_1=9.55.*10.^6.*(P./n_1);
 disp('T_1的值为:');disp(T_1);
 
 K_t=input('请输入K_t=');
 beta=input('请输入beta=');
 fai_d=input('请输入fai_d=');
 Sigma_FE1=input('请输入Sigma_FE1=');
 Sigma_FE2=input('请输入Sigma_FE2=');
 S_Fmin=input('请输入S_Fmin=');
 j=input('请输入j=');L_h=input('请输入L_h=');
 
 N_1=60.*n_1.*j.*L_h;
 disp('N_1的值为:'); disp(N_1);
 N_2=N_1./i;
 disp('N_2的值为:'); disp(N_2);
 
 K_FN1=input('请输入K_FN1=');
 K_FN2=input('请输入K_FN2=');
 
 Sigma_F1_xy=K_FN1.*Sigma_FE1./S_Fmin;
 disp('Sigma_F1_xy的值为:');  disp(Sigma_F1_xy);
 Sigma_F2_xy=K_FN2.*Sigma_FE2./S_Fmin;
 disp('Sigma_F2_xy的值为:'); disp(Sigma_F2_xy);
 
 % 计算当量齿数
 z_v1=z_1./((cos(beta)).^3);
 z_v2=z_2./((cos(beta)).^3);
 disp('z_v1的值为:');  disp(z_v1);
 disp('z_v2的值为:');  disp(z_v2);
 
 Y_Fa1=input('请输入Y_Fa1=');
 Y_Sa1=input('请输入Y_Sa1=');
 Y_Fa2=input('请输入Y_Fa2=');
 Y_Sa2=input('请输入Y_Sa2=');
 
 YYSigma1=Y_Fa1.*Y_Sa1./Sigma_F1_xy;
 YYSigma2=Y_Fa2.*Y_Sa2./Sigma_F2_xy;
 disp('YYSigma1的值为:');disp(YYSigma1);
 disp('YYSigma2值为:');disp(YYSigma2);
 
 Epsilon_a=input('请输入Epsilon_a=');
 Epsilon_beta=0.318.*fai_d.*z_1.*tan(beta);
 if   Epsilon_beta > 1;
      Epsilon_beta = 1;
 else
     Epsilon_beta = Epsilon_beta;
 end
 
 disp('Epsilon_beta的值为:');disp(Epsilon_beta);
 
 a_n=input('请输入a_n=');
 a_t=atan(tan(a_n)./cos(beta));
 disp('a_t的值为:');disp(a_t);
 
 beta_b=atan(tan(beta).*cos(a_t));
 disp('beta_b的值为:');disp(beta_b);
 
 Y_Epsilon=0.25+(0.75.*(cos(beta_b)).^2)./Epsilon_a;
 Y_beta=1-Epsilon_beta.*beta./(120*pi/180);
 disp('Y_Epsilon的值为:');disp(Y_Epsilon);
 disp('Y_beta的值为:');disp(Y_beta);
 
 m_n=((2.*K_t.*T_1.*(cos(beta)).^2./(fai_d.*(z_1).^2)).*max(YYSigma1,YYSigma2).*Y_Epsilon.*Y_beta).^(1/3);
 disp('m_n的值为:');disp(m_n);
 m_n_bz=ceil(m_n);
 disp('m_n_bz的值为:');disp(m_n_bz);
 
 d_1=m_n_bz.*z_1./cos(beta);
 disp('d_1的值为:');disp(d_1);
 
 v=pi.*d_1.*n_1./60000;
 disp('v的值为:');disp(v);
 
 b=fai_d.*d_1;
 disp('b的值为:');disp(b);
 
 % 计算载荷系数K
  K_A=input('请输入K_A=');
  K_v=input('请输入K_v=');
  K_Ha=input('请输入K_Ha=');
  K_Fa=input('请输入K_Fa=');
 K_H_beta=1.05+0.26.*(1+0.6.*(fai_d).^2).*(fai_d).^2+0.16.*10.^(-3).*b;% 硬齿面齿轮中小齿轮相对支撑非对称布置,6级精度
 disp('K_H_beta的值为:');disp(K_H_beta);
 K_F_beta=K_H_beta;
 disp('K_F_beta的值为:');disp(K_F_beta);
 
 K= K_A.*K_v.*K_Fa.*K_F_beta;
 disp('K的值为:');disp(K);
 
 % 几何尺寸计算
 a=(z_1+z_2).*m_n_bz./(2.*cos(beta));
 a_bz=ceil(a);
 disp('a_bz的值为:');disp(a_bz); 
​ 
beta_xz=acos((z_1+z_2).*m_n_bz./(2.*a_bz)); 
disp('beta_xz的值为:');disp(beta_xz); 
​ 
d_1_xz=m_n_bz.*z_1./cos(beta_xz); 
d_2_xz=m_n_bz.*z_2./cos(beta_xz); 
disp('d_1_xz的值为:');disp(d_1_xz); 
disp('d_2_xz的值为:');disp(d_2_xz); 
​ 
b_xz=fai_d.*d_1_xz; 
disp('b_xz的值为:');disp(b_xz); 
b_xz_bz_2=ceil(b_xz); 
disp('b_xz_bz_2的值为:');disp(b_xz_bz_2); 
b_xz_bz_1=b_xz_bz_2+5; 
disp('b_xz_bz_1的值为:');disp(b_xz_bz_1); 
​ 
% 校核齿面接触疲劳强度 
Sigma_Hlim1=input('请输入Sigma_Hlim1='); 
Sigma_Hlim2=input('请输入Sigma_Hlim2='); 
S_Hlim=input('请输入S_Hlim='); 
K_HN1=input('请输入K_HN1='); 
K_HN2=input('请输入K_HN2='); 
​ 
Sigma_H1_xy=K_HN1.*Sigma_Hlim1./S_Hlim; 
Sigma_H2_xy=K_HN2.*Sigma_Hlim2./S_Hlim; 
Sigma_H_xy=(Sigma_H1_xy+Sigma_H2_xy)./2; 
disp('Sigma_H1_xy的值为:');disp(Sigma_H1_xy); 
disp('Sigma_H2_xy的值为:');disp(Sigma_H2_xy); 
disp('Sigma_H_xy的值为:');disp(Sigma_H_xy); 
​ 
Z_E=input('请输入Z_E='); 
Z_H=input('请输入Z_H='); 
Epsilon_a_jc=input('请输入Epsilon_a_jc='); 
Epsilon_beta_jc=input('请输入Epsilon_beta_jc='); 
Z_Epsilon=((4-Epsilon_a_jc).*(1-Epsilon_beta_jc)./3+Epsilon_beta_jc./Epsilon_a_jc).^(1/2); 
disp('Z_Epsilon的值为:');disp(Z_Epsilon); 
​ 
Z_beta=(cos(beta_xz)).^(1/2); 
disp('Z_beta的值为:');disp(Z_beta); 
​ 
% 外啮合 
Sigma_H=Z_E.*Z_H.*Z_Epsilon.*Z_beta.*((2.*K.*T_1)./(fai_d.*(d_1_xz).^3).*((i+1)./i)).^(1/2);  
disp('Sigma_H的值为:');disp(Sigma_H); 
​ 
if Sigma_H <= Sigma_H1_xy; 
  Sigma_H <= Sigma_H2_xy; 
   disp('齿面接触疲劳强度合格');  
else 
   disp('齿面接触疲劳强度不合格');  
end

2. 直齿齿轮传动

 % 机械设计----直齿齿轮传动
 clear;clc
 P=input('请输入P=');
 n_1=input('请输入n_1=');
 z_1=input('请输入z_1=');
 i=input('请输入i=');
 
 z_2=ceil(i.*z_1);
 disp('z_2的值为:');disp(z_2);
 
 T_1=9.55.*10.^6.*(P./n_1);
 disp('T_1的值为:');disp(T_1);
 
 K_t=input('请输入K_t=');
 fai_d=input('请输入fai_d=');
 Sigma_Hlim1=input('请输入Sigma_Hlim1=');
 Sigma_Hlim2=input('请输入Sigma_Hlim2=');
 S_Hmin=input('请输入S_Hmin=');
 j=input('请输入j=');L_h=input('请输入L_h=');
 
 N_1=60.*n_1.*j.*L_h;
 disp('N_1的值为:'); disp(N_1);
 N_2=N_1./i;
 disp('N_2的值为:'); disp(N_2);
 
 K_HN1=input('请输入K_HN1=');
 K_HN2=input('请输入K_HN2=');
 
 Sigma_H1_xy=K_HN1.*Sigma_Hlim1./S_Hmin;
 disp('Sigma_H1_xy的值为:');  disp(Sigma_H1_xy);
 Sigma_H2_xy=K_HN2.*Sigma_Hlim2./S_Hmin;
 disp('Sigma_H2_xy的值为:'); disp(Sigma_H2_xy);
 
 Z_E=input('请输入Z_E=');
 Z_H=input('请输入Z_H=');
 Epsilon_a=input('请输入Epsilon_a=');
 
 Z_Epsilon=sqrt((4-Epsilon_a)./3);
 disp('Z_Epsilon的值为:');  disp(Z_Epsilon);
 
 d_1t=((2.*K_t.*T_1./fai_d).*((i+1)./i).*(Z_E.*Z_H.*Z_Epsilon./min(Sigma_H1_xy,Sigma_H2_xy)).^2).^(1/3);
 disp('d_1t的值为:');  disp(d_1t);
 
 v=pi.*d_1t.*n_1./60000;
 disp('v的值为:');  disp(v);
 
 b=fai_d.*d_1t;
 disp('b的值为:');  disp(b);
 
 K_A=input('请输入K_A=');
 K_v=input('请输入K_v=');
 K_Ha=input('请输入K_Ha=');
 K_Fa=input('请输入K_Fa=');
 
 K_Hb=1.12+0.18.*(fai_d).^2+0.23.*10.^(-3).*b;% 软齿面齿轮中小齿轮相对支撑对称布置,7级精度
 disp('K_Hb的值为:');  disp(K_Hb);
 
 K=K_A.*K_v.*K_Ha.*K_Hb;
 disp('K的值为:');  disp(K);
 
 d_1=d_1t.*(K./K_t).^(1/3);
 disp('d_1的值为:');  disp(d_1);
 
 m=ceil(d_1./z_1);
 disp('m的值为:');  disp(m);
 
 d_1_sj=m.*z_1;
 disp('d_1_sj的值为:');  disp(d_1_sj);
 d_2=m.*z_2;
 disp('d_2的值为:');  disp(d_2);
 a=(d_1_sj+d_2)./2;
 disp('a的值为:');  disp(a);
 
 b_sj=fai_d.*d_1_sj;
 disp('b_sj的值为:');  disp(b_sj);
 
 Sigma_FE1=input('请输入Sigma_FE1=');
 Sigma_FE2=input('请输入Sigma_FE2=');
 S_Fmin=input('请输入S_Fmin=');
 K_FN1=input('请输入K_FN1=');
 K_FN2=input('请输入K_FN2=');
 
 Sigma_F1_xy=K_FN1.*Sigma_FE1./S_Fmin;
 disp('Sigma_F1_xy的值为:');  disp(Sigma_F1_xy);
 Sigma_F2_xy=K_FN2.*Sigma_FE2./S_Fmin;
 disp('Sigma_F2_xy的值为:');  disp(Sigma_F2_xy);
 
 Y_Fa1=input('请输入Y_Fa1=');
 Y_Sa1=input('请输入Y_Sa1=');
 Y_Fa2=input('请输入Y_Fa2=');
 Y_Sa2=input('请输入Y_Sa2=');
 
 Y_Epsilon=0.25+0.75./Epsilon_a;
 disp('Y_Epsilon的值为:');  disp(Y_Epsilon);
 
 Sigma_F1=(2.*K.*T_1)./(fai_d.*m.^3.*z_1.^2).*Y_Fa1.*Y_Sa1.*Y_Epsilon;
 disp('Sigma_F1的值为:');  disp(Sigma_F1);
 Sigma_F2=(2.*K.*T_1)./(fai_d.*m.^3.*z_1.^2).*Y_Fa2.*Y_Sa2.*Y_Epsilon;
 disp('Sigma_F2的值为:');  disp(Sigma_F2);
 
 if Sigma_F1 <= Sigma_F1_xy;
    Sigma_F2 <= Sigma_F2_xy; 
   disp('齿根弯曲疲劳强度合格');  
else 
   disp('齿根弯曲疲劳强度不合格');  
end

 

posted @ 2022-01-17 05:32  随机惯性粒子群  阅读(541)  评论(0)    收藏  举报