Advertisement
Guest User

Untitled

a guest
Apr 3rd, 2019
112
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Octave 5.47 KB | None | 0 0
  1. %%  Boyd, Kreinin, Ting, and Webster 2019
  2.  
  3. %%  GEAR PROPERTIES
  4. %%  THROUGH HARDENED STEEL - GRADE 2 - SPUR GEARS
  5. %   A,C = PINIONS;      B,D = GEARS;
  6.  
  7. Functions; %Include functions file
  8. clear
  9.  
  10.  
  11. %% Givens
  12. %%Gear bending stress variables
  13. reqd_speed = 6 / 3.6 * 39.3701; %kph->m/s->in/s mower driving speed
  14. life_hours = 1000; %hours
  15. min_gear_wheel_rad_clearance = 0.05 * 39.3701; % 5 cm off the ground ->inches
  16. eng_net_T = 2.0; %[lb.ft] at 4500rpm
  17. eng_rpm = 4500; %Motor RPM
  18. eng_w = eng_rpm * (2*pi/60); %Motor [rad/s]
  19. Ce = 1; %Eqn 14-35 (for all other conditions)
  20. Cf = 1; %surface condition factor
  21. Ch = 1; %hardness ratio factors for pitting resistance, Section 14-12, gear only
  22. Cp = 2300; %elastic coefficient, sqrt(psi), Table 14-8
  23. Cmc = 1; %uncrowned teeth
  24. Cpm = 1; % For calculating Km
  25. H = 1.7; %horsepower (hp) at 4500rpm
  26. HB = 400; %Brinell Hardness of gear material
  27. Kb = 1; %rim-thickness factor
  28. Ko = 1; %overload factor
  29. Kr = 1;  %reliabilty factor
  30. Kt = 1; %Temperature Factor (1 if T< 250 F)
  31. Kv_a = 1.416; %dynamic factor for gears A and B
  32. Kv_b = 1.1404; %dynamic factor for gears C and D
  33. Sh = 1.5; %Wear factor of Safety
  34. Sf = 2; %Bending safety factor
  35. Sc = 349*HB + 34300;  %[lbf/inch^2], allowable contact stress for grade 2
  36. St = 102*HB + 16400; %allowable bending stress for grade 2 through hardened steel, Fig. 14-2
  37.  
  38.  
  39. %% Angular Speed of Req'd and Gearing Ratio
  40. wheel_rad = 0.2 /2*39.3701; %Wheel radius m->in
  41. w_o = reqd_speed / wheel_rad; %Wheel angular velocity in rad/s
  42. w_o_rpm = w_o * 60 / (2*pi); %Wheel angular velocity in rpm
  43. g_ratio = eng_w / w_o;% Total gear ratio to step down from motor to wheel
  44. optimal_ratio = sqrt(g_ratio);%Optimal gear ratio
  45. redxn_weight1 = 0.666;%Gear reduction weight for gears C and D
  46. redxn_weight2 = 1.2; %Gear reduction weight for gears A and B
  47. Gear(4).r = wheel_rad - min_gear_wheel_rad_clearance; %Gear D radius
  48. Gear(3).r = Gear(4).r / (optimal_ratio*redxn_weight1);%Gear C radius
  49. g_ratio1 = Gear(4).r/Gear(3).r; %Gear ratio between gears C and D
  50. g_ratio2 = g_ratio / g_ratio1; %Gear ratio between gears A and B
  51. Gear(1).r = Gear(3).r*redxn_weight2; %gear A > C to compensate for faster speed
  52. Gear(2).r = Gear(1).r * g_ratio2; %similar ground clearance to gear D
  53. valid = (((wheel_rad + Gear(4).r + Gear(3).r) - Gear(2).r) >= (5/2.54));
  54. %Check that there is enough clearance with the gear radii
  55.  
  56. %% Gear RPMs
  57. Gear(1).rpm = eng_rpm;
  58. Gear(2).rpm = Gear(1).rpm / g_ratio2;
  59. Gear(3).rpm = Gear(2).rpm;
  60. Gear(4).rpm = w_o_rpm;
  61.  
  62. %% Gear life cycles
  63. N = "Cycles";
  64. for i = 1:4
  65.     Gear(i).N = life_hours * 60 * Gear(i).rpm; %Cycles- Hours * 60 mins/hr * rpm
  66. endfor
  67.  
  68.  
  69. Gear(1).Pd = 10; %teeth/in, diametral pitch of A
  70. Gear(2).Pd = Gear(1).Pd;
  71. Gear(3).Pd = 6;
  72. Gear(4).Pd = Gear(3).Pd;
  73.  
  74. for i = 1:4
  75.     Gear(i).mg = 1/Gear(i).Pd; %[in/tooth]
  76.     Gear(i).a = Gear(i).mg; % [in/tooth], gear addendum
  77.     Gear(i).d = Gear(i).r * 2; % [in], pinion pitch diameter
  78. endfor
  79.  
  80. %Number of teeth
  81. Gear(1).Np = round(Gear(1).Pd * Gear(1).d);
  82. Gear(2).Np = round(Gear(1).Np * g_ratio2);
  83. Gear(4).Np = round(Gear(4).Pd * Gear(4).d);
  84. Gear(3).Np = round(Gear(4).Np / g_ratio1);
  85.  
  86. for i = 1:4
  87.     Gear(i).Y = GetY(Gear(i).Np); %lewis form factor, Table 14-2
  88. endfor
  89.  
  90. %Surface strength geometry factor, Project Report Figure 3 & 4
  91. Gear(1).I = 0.1063;
  92. Gear(2).I = 0.1063;
  93. Gear(3).I = 0.0909;
  94. Gear(4).I = 0.0909;
  95.  
  96. %[in], face width
  97. Gear(1).F = 1;
  98. Gear(2).F = 1;
  99. Gear(3).F = 2.5;
  100. Gear(4).F = 2;
  101.  
  102. %Calculate Cma and Cpf for each gear
  103. for i = 1:4
  104.     Gear(i).Cma = 0.127+0.0158*Gear(i).F-0.930*10^-4*Gear(i).F^2; %Table 14-9
  105.     Gear(i).Cpf = GetCpf(Gear(i).F, Gear(i).d);
  106. endfor
  107.  
  108. %spur-gear geometry factor, Fig. 14-6
  109. Gear(1).J = 0.22;  
  110. Gear(2).J = 0.42;
  111. Gear(3).J = 0.21;
  112. Gear(4).J = 0.32;
  113.  
  114. for i = 1:4
  115.     %load-distribution factor
  116.     Gear(i).Km = 1+Cmc*(Gear(i).Cpf*Cpm+Gear(i).Cma*Ce);
  117.     %size factor
  118.     Gear(i).Ks = 1.192*(((Gear(i).F*sqrt(Gear(i).Y))/Gear(i).Pd).^0.0535);
  119.     %stress-cycle factor for bending stress, Fig 14-14
  120.     Gear(i).Yn = GetYn(Gear(i).N);
  121.     %stress-cycle factor, Fig. 14-15
  122.     Gear(i).Zn = GetZn(Gear(i).N);
  123.  
  124.     %%Gear bending stress equation, Eqn 14-15
  125.     Gear(i).V = (pi*Gear(i).d*Gear(i).rpm) / 12;
  126.     Gear(i).Wt = (33000*H)/Gear(i).V; %[lbf], tangential transmitted load
  127. endfor
  128.  
  129.  
  130. %%Stress Calculations%%
  131. for i = 1:4
  132.     if (i == 1 || i == 2)
  133.         Kv = Kv_a;
  134.     else
  135.         Kv = Kv_b;
  136.     endif
  137. %%Gear bending stress equation, Eqn(14-15)
  138.     Gear(i).sigma = GetSigma( Gear(i).Wt, Ko, Kv, Gear(i).Ks, Gear(i).Pd, Gear(i).F, Gear(i).Km, Kb, Gear(i).J);
  139.  
  140. %%Gear bending endurance strength equation, Eqn (14-17)
  141.     Gear(i).sigma_all = GetSigmaAll(St, Sf, Gear(i).Yn, Kt, Kr);
  142.  
  143. %%Gear contact stress equation, Eqn 14-16
  144.     Gear(i).sigma_c = GetSigmaC (Cp, Gear(i).Wt, Ko, Kv, Gear(i).Ks, Gear(i).Km, Gear(i).d, Gear(i).F, Cf, Gear(i).I);
  145.  
  146. %%Gear contact endurance strength, Eqn 14-18
  147.     Gear(i).sigma_c_all = GetSigmaCAll ( Sc, Gear(i).Zn, Ch, Sh, Kt, Kr );
  148. endfor
  149.  
  150. %Print all gears
  151. for i = 1:4
  152.     Gear(i)
  153. endfor
  154.  
  155. %Print safety ratios
  156. for i = 1:4
  157.     bendsafety.i = Gear(i).sigma_all / Gear(i).sigma;
  158.     wear_safety.i = Gear(i).sigma_c_all / Gear(i).sigma_c;
  159.    
  160.     printf ("Gear %d safety: %d \n wear safety: %d \n", i, bendsafety.i, wear_safety.i );
  161. endfor
  162.  
  163. % Calculate final speed of wheel using tooth ratios
  164. FinalSpeed = 4500 * (Gear(1).Np / Gear(2).Np) * ( Gear(3).Np / Gear(4).Np)
  165. %Print error from the ideal 159.15 rpm
  166. Error = (159.15 - FinalSpeed) * 100 / 159.1
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement