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