⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 08-齿轮传动的设计计算.m__.htm

📁 机械原理、设计matlab程序,01-连杆机构的运动设计-1.m__.htm 等
💻 HTM
字号:
<html><head><title>MATLAB.rar 08-齿轮传动的设计计算.m</title>
<LINK href="/inc/read_style.css" type=text/css rel=stylesheet></head>
<body>
<p><a href=http://www.pudn.com>www.pudn.com</a> &gt; <a href="http://www.pudn.com/downloads111/sourcecode/graph/detail461284.html">MATLAB.rar</a> &gt 08-齿轮传动的设计计算.m</p><!-- saved from http://www.pudn.com -->
<script src="/inc/gg_read1.js"></script><BR>
<pre name="code" class="m">
disp '        ******** 圆柱齿轮传动设计 ********' 
P1 = 22 ; N1 = 970 ; I = 3.5 ; K = 1.4; 
hd = pi/180 ; Ha = 1.0 ; Ca = 0.25; 
m = [2 2.5 3 4 5 6 8 10 12 16 20 25 32 40 50];  % 优先选用第一系列 
disp '(注意:以下输入的齿轮材料和齿面硬度类别的标识字符要用大写,并用单引号括起)' 
CL = input('    选择齿轮材料:碳钢-TG;合金钢-HG == '); 
CM = input('    选择齿面硬度类别:硬齿面-YC;软齿面-RC == '); 
disp '    齿宽系数的选择参考:' 
disp '        对称布置--软齿面 0.8-1.4;硬齿面 0.4-0.9' 
disp '      非对称布置--软齿面 0.6-1.2;硬齿面 0.3-0.6' 
disp '        悬臂布置--软齿面 0.3-0.4;硬齿面 0.2-0.25' 
Fd = input('    选择齿宽系数: Fd = '); 
disp '     ====== 已知条件 ======' 
fprintf (1,'  主动轮传递功率     P1 = %3.3f Kw \n',P1)  
fprintf (1,'      主动轮转速     n1 = %3.3f r/min \n',N1)   
fprintf (1,'          传动比      i = %3.3f \n',I)  
fprintf (1,'        载荷系数      K = %3.3f \n',K)  
fprintf (1,'        齿高系数    ha* = %3.3f \n',Ha)  
fprintf (1,'        顶隙系数     c* = %3.3f \n',Ca)  
fprintf (1,'        齿宽系数     Fd = %3.3f \n',Fd) 
disp '(注意:以下输入齿面热处理硬度是数值)' 
if CL == 'TG' 
   disp '  齿轮材料-碳钢' 
   if CM == 'YC' 
      disp '  齿面硬度类别-硬齿面' 
      HRC1 = input('          输入小齿轮感应淬火硬度HRC1 = '); 
      HRC2 = input('              大齿轮感应淬火硬度HRC2 = '); 
      CHM1 = 11*HRC1+610 ; CHM2 = 11*HRC2+610; 
      CFM1 = 380 ; CFM2 = 380; 
   elseif CM == 'RC' 
      disp '  齿面硬度类别-软齿面' 
      HBS1 = input('          输入小齿轮调质/正火硬度HBS1 = '); 
      HBS2 = input('              大齿轮调质/正火硬度HBS2 = '); 
      CHM1 = (9*HBS1+3750)/10 ; CHM2 = (9*HBS2+3750)/10; 
      CFM1 = (2*HBS1+675)/5 ; CFM2 = (2*HBS2+675)/5; 
   end 
elseif CL == 'HG' 
   disp '  齿轮材料-合金钢' 
   if CM == 'YC' 
      disp '  齿面硬度类别-硬齿面' 
      CHM1 = 1500 ; CHM2 = 1500; 
      CFM1 = 460 ; CFM2 = 460; 
   elseif CM == 'RC' 
      disp '  齿面硬度类别-软齿面' 
      HBS1 = input('          输入小齿轮调质/正火硬度HBS1 = '); 
      HBS2 = input('              大齿轮调质/正火硬度HBS2 = '); 
      CHM1 = (10*HBS1+1700)/6 ; CHM2 = (10*HBS2+1700)/6; 
      CFM1 = (19*HBS1+9700)/50; CFM2 = (19*HBS2+9700)/50; 
   end 
end 
disp '(注意:以下输入的齿轮传动方向类别的标识字符要用大写,并用单引号括起)' 
FX = input('    选择齿轮传动方向:单向传动-DX;双向传动-SX == '); 
if FX == 'DX' 
   disp '  齿轮单向传动' 
   CFP1 = 1.4*CFM1 ; CFP2 = 1.4*CFM2; 
elseif FX == 'SX' 
   disp '  齿轮双向传动' 
   CFP1 = CFM1 ; CFP2 = CFM2; 
end 
fprintf (1,'      小齿轮齿根弯曲许用应力     CFP1 = %3.3f MPa \n',CFP1) 
fprintf (1,'      大齿轮齿根弯曲许用应力     CFP2 = %3.3f MPa \n',CFP2) 
disp '(注意:以下输入齿轮齿数是数值)' 
if CM == 'YC' 
   disp '      闭式硬齿面齿轮传动小齿轮齿数范围是:17-20' 
   Z1 = input('          输入小齿轮齿数           z1 = '); 
elseif CM == 'RC' 
   disp '      闭式软齿面齿轮传动小齿轮齿数范围是:20-30' 
   Z1 = input('          输入小齿轮齿数           z1 = '); 
end 
Z2 = round(I*Z1); 
fprintf (1,'              大齿轮齿数           z2 = %3.0f \n',Z2)  
U= Z2/Z1; 
disp '    初选斜齿轮螺旋角的范围是9-10度,直齿轮是0度' 
disp '    经过试算,如果螺旋角超过15度,重新初选的范围是16-17度' 
disp '    经过试算,如果螺旋角超过25度,重新初选的范围是26-27度' 
BAT = input('          输入齿轮螺旋角(度)      Bat = '); 
BATR = BAT*hd; 
ZV1 = Z1/(cos(BATR))^3 ; ZV2 = U*ZV1; 
YFS1 = ZV1/(0.269118*ZV1-0.840687); 
YFS2 = ZV2/(0.269118*ZV2-0.840687); 
fprintf (1,'      小齿轮齿形系数             Yfs1 = %3.3f \n',YFS1)  
fprintf (1,'      大齿轮齿形系数             Yfs2 = %3.3f \n',YFS2)  
if YFS1/CFP1 > YFS2/CFP2 
   YFCP = YFS1/CFP1; 
else 
   YFCP = YFS2/CFP2; 
end 
CHP1= 0.9*CHM1 ; CHP2 = 0.9*CHM2; 
fprintf (1,'      小齿轮齿面接触许用应力     CHP1 = %3.3f MPa \n',CHP1) 
fprintf (1,'      大齿轮齿面接触许用应力     CHP2 = %3.3f MPa \n',CHP2) 
if CHP1 > CHP2 
   CHP = CHP2; 
else 
   CHP = CHP1; 
end 
[Aa,Ad,Am] = ADM(BAT);    % 根据螺旋角查询齿轮强度计算系数 
T1= 9550*P1/N1; 
fprintf (1,'      主动轮传递的转矩             T1 = %3.3f NM \n',T1) 
if CM == 'YC' 
   disp '  硬齿面齿轮传动-按照齿根弯曲强度确定齿轮模数' 
   Mj = Am*(K*T1*YFCP/(Fd*Z1^2))^(1/3); 
   for i = 1 : 15 
      if Mj <= m(i) 
         Mn = m(i) ; break 
      end 
   end 
   Aj = Mn*(Z1+Z2)/(2*cos(BATR)); 
   A = round(Aj/2+0.5)*2; 
elseif CM == 'RC' 
   disp '  软齿面齿轮传动-按照齿面接触强度确定齿轮直径' 
   Dj = Ad*(K*T1*(U+1)/(Fd*U*CHP^2))^(1/3); 
   Aj = Dj*(1+U)/(2*cos(BATR)); 
   A = round(Aj/2+0.5)*2; 
   Mj = 2*A*cos(BATR)/(Z1+Z2); 
   for i = 1 : 15 
      if Mj <= m(i) 
         Mn = m(i) ; break 
      end 
   end 
end 
fprintf (1,'          ( 中心距计算值   Aj = %3.3f mm )\n',Aj) 
fprintf (1,'          ( 中心距圆整值   A  = %3.3f mm )\n',A) 
if BAT < 8 
   BATA = 0; 
else 
   BA = Mn*(Z1+Z2)/(2*A); 
   fprintf (1,'          ( 螺旋角余弦值     Ba = %3.3f )\n ',BA)   
   if BA >= 1  
      disp '              无法计算螺旋角,需要增大中心距!' 
      DT = round((Mn*(Z1+Z2)-2*A)/2)+2; 
      A= A+DT; 
      BAA = Mn*(Z1+Z2)/(2*A); 
      fprintf (1,'            * 增大齿轮传动中心距后的螺旋角余弦值 = %3.3f \n',BAA)       
   end 
   BATj = acos(Mn*(Z1+Z2)/(2*A)); 
   BATA = BATj/hd; 
end 
D1= Mn*Z1/(cos(BATj)); 
[Aa,Ad,Am] = ADM(BATA);    % 根据螺旋角查询齿轮强度计算系数 
if CM == 'YC' 
   disp '                * 按照齿面接触强度校核 !' 
   Dx = Ad*(K*T1*(U+1)/(Fd*U*CHP^2))^(1/3); 
   if Dx <= D1 
      disp '                   满足齿面接触强度!' 
   else 
      fprintf (1,'      ( 按照齿面接触强度需要的小齿轮分度圆直径  Dx = %3.3f mm )\n',Dx) 
      disp '          不满足齿面接触强度,需要重新计算!' 
      Aj = Dx*(1+U)/(2*cos(BATR)); 
      A = round(Aj/2+0.5)*2+2; 
      Mj = 2*A*cos(BATR)/(Z1+Z2); 
      for i = 1 : 15 
         if Mj <= m(i) 
            Mn = m(i) ; break 
         end 
      end 
      BA = Mn*(Z1+Z2)/(2*A); 
      fprintf (1,'          ( 螺旋角余弦值     Ba = %3.3f )\n ',BA)   
      if BA >= 1  
         disp '              无法计算螺旋角,需要增大中心距!' 
         DT = round((Mn*(Z1+Z2)-2*A)/2)+2; 
         A = A+DT; 
         BAA = Mn*(Z1+Z2)/(2*A); 
         fprintf (1,'            * 增大齿轮传动中心距后的螺旋角余弦值 = %3.3f \n',BAA)       
      end 
      BATj = acos(Mn*(Z1+Z2)/(2*A)); 
      BATA = BATj/hd; 
   end 
elseif CM == 'RC' 
   disp '                * 按照齿根弯曲强度校核 !' 
   ZV1 = Z1/(cos(BATj))^3 ; ZV2 = U*ZV1; 
   YFS1 = ZV1/(0.269118*ZV1-0.840687); 
   YFS2 = ZV2/(0.269118*ZV2-0.840687); 
   if YFS1/CFP1 > YFS2/CFP2 
      YFCP = YFS1/CFP1; 
   else 
      YFCP = YFS2/CFP2; 
   end 
   Mx = Am*(K*T1*YFCP/(Fd*Z1^2))^(1/3); 
   if Mx <= Mj 
      disp '                   满足齿根弯曲强度!' 
   else 
      fprintf (1,'      ( 按照齿根弯曲强度需要的齿轮模数  Mx = %3.3f mm \)n',Mx) 
      disp '          不满足齿根弯曲强度,需要重新计算!' 
      for i = 1 : 15 
         if Mx <= m(i) 
            Mn = m(i) ; break 
         end 
      end 
      Aj = Mn*(Z1+Z2)/(2*cos(BATR)); 
      A = round(Aj/2+0.5)*2; 
      BATj = acos(Mn*(Z1+Z2)/(2*A)); 
      BATA = BATj/hd; 
   end 
end 
D1 = Mn*Z1/(cos(BATj)); 
D2 = Mn*Z2/(cos(BATj)); 
B = Fd*D1 ; B2 = 2*round(B/2+0.5) ; B1 = B2+6; 
Da1 = D1+2*Ha*Mn; 
Da2 = D2+2*Ha*Mn; 
disp '    ====== 输出齿轮传动参数的设计结果 ======' 
fprintf (1,'          小齿轮齿数       Z1 = %3.0f \n',Z1) 
fprintf (1,'          大齿轮齿数       Z2 = %3.0f \n',Z2) 
fprintf (1,'          齿轮副模数       Mn = %3.2f mm \n',Mn) 
fprintf (1,'        齿轮副螺旋角     Bata = %3.3f 度 \n',BATA) 
fprintf (1,'        齿轮副中心距        a = %3.3f mm \n',A) 
fprintf (1,'    小齿轮分度圆直径       d1 = %3.3f mm \n',D1) 
fprintf (1,'    大齿轮分度圆直径       d2 = %3.3f mm \n',D2) 
fprintf (1,'    小齿轮齿顶圆直径      da1 = %3.3f mm \n',Da1) 
fprintf (1,'    大齿轮齿顶圆直径      da2 = %3.3f mm \n',Da2) 
fprintf (1,'          小齿轮宽度       b1 = %3.0f mm \n',B1) 
fprintf (1,'          大齿轮宽度       b2 = %3.0f mm \n',B2) 
 
% 齿轮传动计算系数函数文件ADM.m 
function [Aa,Ad,Am]=ADM(BAT) 
if BAT < 8 
   Aa = 483 ; Ad = 766 ; Am = 12.6; 
elseif BAT >= 8 & BAT < 15 
   Aa = 476 ; Ad = 756 ; Am = 12.4; 
elseif BAT >= 15 & BAT < 25 
   Aa = 462 ; Ad = 733 ; Am = 12.0; 
elseif BAT >= 25 & BAT < 35 
   Aa = 447 ; Ad = 709 ; Am = 11.5; 
End 
 
</pre>
<script src="/inc/gg_read2.js"></script><BR>
<script src="http://s117.cnzz.com/stat.php?id=1236358&web_id=1236358&show=pic" language="JavaScript" charset="gb2312"></script>
</body></html>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -