Contents

CASE STUDY 7C

% Programmer: Aaron Klapheck
% 26-Nov-08
clear, clc, home
fprintf('The date and time: %s \n \n', datestr(now))

fprintf('BendingStressSpurGearSh function: \n \n')
help BendingStressSpurGearSh

fprintf('\nSurfaceStressSpurGearSh function: \n \n')
help SurfaceStressSpurGearSh
The date and time: 29-Dec-2008 13:04:22 
 
BendingStressSpurGearSh function: 
 
  Calculates the bending stresses setup inside a spur gear. English Units.
  Shows all K values
 
  Synopsis: [Sigma] = BendingStressSpurGearSh(Qv, Vt, FW, p_d, DrivingShock, ...
     DrivenShock, size, m_b, idleness, J, Wt)
 
  input:    Qv = (required) Gear quality. Constant between 3 and 11.
            Vt = (required) pitch-line velocity. r cross omega.
            FW = (required) Face width factor. Number in inches.
            p_d = (required) dimetral pitch. p_d = N/d.
            DrivingShock = (required) 'Uniform', 'Light Shock', or
                'Medium Shock'.
            DrivenShock = (required) 'Uniform', 'Moderate Shock', or
                'Heavy Shock'.
            size = (required) Must be a structured array. size must contain
                    size.shape: 'rectangle', 'circle', or 'number'
                    size.rotation: 'nonrotating', 'rotating', NA
                    size.dim: 1x1 (radius of circle) or 1x2 (height (i.e. the
                    cubed value) and width); must be in inches.
                    fur number just put a number
            m_b = (required) backup ratio. m_b = t_r/h_t
            idleness = (required) 'idle' or 'non-idle'.
            J = (required) Bending strength geometry factor. See page 666 for values.
            Wt = (required) The tangential force on the tooth
 
  output:   Sigma = bending stress.
 
  Warning: Error most likely due to the interpolation of Km.
 
  All values must be constants, no matrices allowed. Use the following to
  get around this rule though:
  
  use matirx for Qv, Vt, or other variable, for example:
 
  Quality = [5, 6, 7, 8];
  len = length(Quality);
  Sigma = ones(1,len);
  for coun = 1:len
    Qv = Quality(coun);
    Sigma(coun) = BendingStressSpurGearSh(Qv, Vt, FW, p_d, DrivingShock, ...
     DrivenShock, size, m_b, idleness, J, Wt);
  end


SurfaceStressSpurGearSh function: 
 
  Calculates the surface stresses setup between two spur gears. English Units.
  Show C values
 
  Synopsis: [Sigma] = SurfaceStressSpurGearSh(Qv, Vt, FW, DrivingShock, ...
     DrivenShock, size, I, Cp, surf, Wt, d)
 
  input:    Qv = (required) Gear quality. Constant between 3 and 11.
            Vt = (required) pitch-line velocity. r cross omega.
            FW = (required) Face width factor. Number in inches.
            DrivingShock = (required) 'Uniform', 'Light Shock', or
                'Medium Shock'.
            DrivenShock = (required) 'Uniform', 'Moderate Shock', or
                'Heavy Shock'.
            size = (required) Must be a structured array. size must contain
                    size.shape: 'rectangle', 'circle', or 'number'
                    size.rotation: 'nonrotating', 'rotating', NA
                    size.dim: 1x1 (radius of circle) or 1x2 (height (i.e. the
                    cubed value) and width); must be in inches.
                    fur number just put a number
            I = (required) Surface geometry factor. See page 673 for values.
            surf = (required) should equal 1. If surface is very rough then
                    the value can be increased.
            Wt = (required) The tangential force on the tooth
            d = (required) diameter of smaller gear
 
  output:   Sigma = surface stress.
 
  Warning: Error most likely due to the interpolation of Km.
 
  All values must be constants, no matrices allowed. Use the following to
  get around this rule though:
  
  use matrix for Qv, Vt, or other variable, for example:
 
  Quality = [5, 6, 7, 8];
  len = length(Quality);
  Sigma = ones(1,len);
  for coun = 1:len
    Qv = Quality(coun);
    Sigma(coun) = SurfaceStressSpurGearSh(Qv, Vt, FW, DrivingShock, ...
     DrivenShock, size, I, Cp, surf, Wt, d);
  end

Given and Assumes

% Given
fprintf('----------------------- \n')
fprintf('----- Given Data: ----- \n')
fprintf('----------------------- \n \n')

fprintf('m_G, gear ratio (Ng/Np). ')
m_G = 2.5
fprintf('omega_g, angular velocity of gear (rad/s). ')
omega_g = 1600*(2*pi/60) % rad/s. gear (output) angular speed.
fprintf('PA, pressure angle (degrees).')
PA = 20        % degrees. Pressure angle. For both gears
AGMA = 'Full-Depth'; % For both gears.
Loading = 'HPSTC'; % Loading conditions for all three gears.
fprintf('x_p, elongation (percent).')
x_p = 0        % Elongation: because of full-depth. 25% would be 0.25.
phi = PA*(2*pi/360);   % rad
fprintf('J_p, Bending strength geometry factor for pinion (Table 11-9).')
J_p = 0.34     % Obtained from PA, AGME, and Loading values.
fprintf('J_g, Bending strength geometry factor for gear (Table 11-9).')
J_g = 0.40     % Obtained from PA, AGME, and Loading values. Interpolated.
fprintf('T_max, maximum Torque (lb*in).')
T_max = 585    % lbf in 800
fprintf('T_min, minimum Torque (lb*in).')
T_min = -175   % lbf in 250

fprintf('E, Modulus of elasticity (psi).')
E = 30E6 % psi
fprintf('v, Poissons ratio.')
v = 0.28

fprintf('reliab, reliability (percent).')
reliab = 99 % percent.
fprintf('HB_p, Brinell Hardness for pinion.')
HB_p = 250
fprintf('HB_g, Brinell Hardness for gear.')
HB_g = HB_p
fprintf('temp, temperature (Degrees F).')
temp = 200 % Degrees F.
fprintf('N, life of part (Number of cycles).')
N = 3750.*(60*2080).*10 % Number of cycles

% Data for K values.
fprintf('DrivingShock, shock load.')
DrivingShock = 'Light Shock'
fprintf('DrivenShock, shock load.')
DrivenShock = 'Heavy Shock'
fprintf('idleness_p, the idleness of the pinion.')
idleness_p = 'non-idle'
fprintf('idleness_g, the idleness of the gear.')
idleness_g = 'non-idle'
fprintf('m_b, Rim thickness factor.')
m_b = 3 % Solid gears, so make sure that m_b > 1.2.
size.shape = 'number';
fprintf('dim, Ks value.')
size.dim = 1

% Assumptions
fprintf('Qv, Gear quality.')
Qv = 10
fprintf('N_p, number of teeth on pinion.')
N_p = 20
fprintf('d_p, diameter of pinion (in).')
d_p = 4 % in.
fprintf('d_g, diameter of gear (in).')
d_g = 10 % in.

fprintf('surf, sets Ks equal to 1. (in).')
surf = 1
----------------------- 
----- Given Data: ----- 
----------------------- 
 
m_G, gear ratio (Ng/Np). 
m_G =

    2.5000

omega_g, angular velocity of gear (rad/s). 
omega_g =

  167.5516

PA, pressure angle (degrees).
PA =

    20

x_p, elongation (percent).
x_p =

     0

J_p, Bending strength geometry factor for pinion (Table 11-9).
J_p =

    0.3400

J_g, Bending strength geometry factor for gear (Table 11-9).
J_g =

    0.4000

T_max, maximum Torque (lb*in).
T_max =

   585

T_min, minimum Torque (lb*in).
T_min =

  -175

E, Modulus of elasticity (psi).
E =

    30000000

v, Poissons ratio.
v =

    0.2800

reliab, reliability (percent).
reliab =

    99

HB_p, Brinell Hardness for pinion.
HB_p =

   250

HB_g, Brinell Hardness for gear.
HB_g =

   250

temp, temperature (Degrees F).
temp =

   200

N, life of part (Number of cycles).
N =

  4.6800e+009

DrivingShock, shock load.
DrivingShock =

Light Shock

DrivenShock, shock load.
DrivenShock =

Heavy Shock

idleness_p, the idleness of the pinion.
idleness_p =

non-idle

idleness_g, the idleness of the gear.
idleness_g =

non-idle

m_b, Rim thickness factor.
m_b =

     3

dim, Ks value.
size = 

    shape: 'number'
      dim: 1

Qv, Gear quality.
Qv =

    10

N_p, number of teeth on pinion.
N_p =

    20

d_p, diameter of pinion (in).
d_p =

     4

d_g, diameter of gear (in).
d_g =

    10

surf, sets Ks equal to 1. (in).
surf =

     1

Solution

% Get diametric pitch.
fprintf('-------------------------------------------- \n')
fprintf('----- Calculation of diametral pitch: ------ \n')
fprintf('-------------------------------------------- \n \n')


fprintf('N_g, Number of teeth on gear. \n')
fprintf('N_g, N_g = N_p.*m_G.')
N_g = N_p.*m_G      % teeth
fprintf('p_d, diametric pitch. \n')
fprintf('p_d = N_p./d_p.')
p_d = N_p./d_p      % diametric pitch. The same for both gears.

% face width
fprintf('--------------------------------------- \n')
fprintf('----- Calculation of face width: ------ \n')
fprintf('--------------------------------------- \n \n')
fprintf('FW, face width (in) - Assume nominal value of 12. \n')
fprintf('FW = 12/p_d.')
FW = 12/p_d % Face width nominal value (12)


% Tangential load applied to both gears.
fprintf('-------------------------------------------- \n')
fprintf('----- Calculation of Tangential load: ------ \n')
fprintf('-------------------------------------------- \n \n')
fprintf('Wt_max, Maximum Tangential force (lbf). \n')
fprintf('Wt_max = T_max./(d_g./2).')
Wt_max = T_max./(d_g./2)   % lbf

fprintf('Wt_min, Minimum Tangential force (lbf). \n')
fprintf('Wt_min = T_min./(d_g./2).')
Wt_min = T_min./(d_g./2)   % lbf


% Tooth velocity
fprintf('-------------------------------------------- \n')
fprintf('----- Calculation of  Tooth velocity: ------ \n')
fprintf('-------------------------------------------- \n \n')
omega_p = 2.5.*omega_g; % Angular velocity of teeth on pinion.
fprintf('Vt, Tooth velocity (ft/min).')
Vt = d_p./(2*12).*omega_p.*60 % ft/min.


fprintf('-------------------------------------------------- \n')
fprintf('----- K values and Bending Stress for pinion ----- \n')
fprintf('-------------------------------------------------- \n \n')
% Bending stresses for pinion:
[Sigma_bending_p] = BendingStressSpurGearSh(Qv, Vt, FW, p_d, DrivingShock, ...
    DrivenShock, size, m_b, idleness_p, J_p, Wt_max) % psi.

fprintf('------------------------------------------------ \n')
fprintf('----- K values and Bending Stress for gear ----- \n')
fprintf('------------------------------------------------ \n \n')
% Bending stresses for gear:
[Sigma_bending_g] = BendingStressSpurGearSh(Qv, Vt, FW, p_d, DrivingShock, ...
    DrivenShock, size, m_b, idleness_g, J_g, Wt_max) % psi.


% Surface Stresses
fprintf('------------------------------------------------ \n')
fprintf('----- Surface Stresses ------------------------- \n')
fprintf('------------------------------------------------ \n \n')

fprintf('Dis_pg, Distance between center of gears. \n')
fprintf('Dis_pg = (d_p + d_g)./2.')
Dis_pg = (d_p + d_g)./2

fprintf('I_pg, Surface Geometry Factor for pinion gear pair. \n')
fprintf('I_pg = cos(phi)./((1/rho_p + 1/rho_g).*d_p).')
rho_p = sqrt((d_p./2 + (1 + x_p)./(p_d)).^2-(d_p./2.*cos(phi)).^2)-(pi/p_d).*cos(phi);
rho_g = Dis_pg.*sin(phi) - rho_p;
I_pg = cos(phi)./((1/rho_p + 1/rho_g).*d_p)

fprintf('Cp, Elastic coefficient. \n')
fprintf('Cp = sqrt(1./(pi.*( ((1 - v.^2)./(E)) + ((1 - v.^2)./(E))))).')
Cp = sqrt(1./(pi.*( ((1 - v.^2)./(E)) + ((1 - v.^2)./(E)))))

fprintf('----------------------------------------- \n')
fprintf('----- C values and Surface Stresses ----- \n')
fprintf('----------------------------------------- \n \n')
[Sigma_surface_pg] = SurfaceStressSpurGearSh(Qv, Vt, FW, DrivingShock, ...
     DrivenShock, size, I_pg, Cp, surf, Wt_max, d_p)


fprintf('------------------------------------------------- \n')
fprintf('----- Fatigue Bending Strength and K values ----- \n')
fprintf('------------------------------------------------- \n \n')

S_fb_prime = -274 + 167.*HB_p - .152.*HB_p.^2

%%%% Temperature %%%%%
if temp <= 250
    Kt = 1;
else
    Kt = (460 + Tf)./(620);
end


%%%% Reliability %%%%%
if reliab == 90;
    Kr = 0.85;
elseif reliab == 99;
    Kr = 1;
elseif reliab == 99.9;
    Kr = 1.25;
elseif reliab == 99.99;
    Kr = 1.5;
elseif reliab == 1; % Special case where C_reliab is given as 1.
    Kr = 1;
else
    fprintf('Error: reliab must use only the accepted values.');
    Kr = 1;
end


%%%% Life %%%%%
Kl = 1.3558.*(N).^(-0.0178);

Kl, Kt, Kr

%%%% Solution %%%%
fprintf('---------------------------------------------- \n')
fprintf('----- Corrected Fatigue Bending Strength ----- \n')
fprintf('---------------------------------------------- \n \n')
S_fb = Kl./(Kt.*Kr).*S_fb_prime




fprintf('------------------------------------------------- \n')
fprintf('----- Fatigue Surface Strength and K values ----- \n')
fprintf('------------------------------------------------- \n \n')

S_fs_prime = 26000 + 327.*HB_p;

%%%% Temperature %%%%%
if temp <= 250
    Kt = 1;
else
    Kt = (460 + Tf)./(620);
end


%%%% Reliability %%%%%
if reliab == 90;
    Kr = 0.85;
elseif reliab == 99;
    Kr = 1;
elseif reliab == 99.9;
    Kr = 1.25;
elseif reliab == 99.99;
    Kr = 1.5;
elseif reliab == 1; % Special case where C_reliab is given as 1.
    Kr = 1;
else
    fprintf('Error: reliab must use only the accepted values.');
    Kr = 1;
end


%%%% Life %%%%%
Cl = 1.4488.*(N).^(-0.023);


%%%% Hardness Ratio %%%%%
if HB_p/HB_g < 1.2
    A = 0;
elseif HB_p/HB_g <= 1.7
    A = 0.00898.*HB_p/HB_g - 0.00829;
else
    A = 0.00698;
end
m_G = N_g./N_p;
Ch = 1 + A.*(m_G -1);


Ct = Kt, Cr = Kr, Cl, Ch
%%%% Solution %%%%
fprintf('---------------------------------------------- \n')
fprintf('----- Corrected Fatigue Surface Strength ----- \n')
fprintf('---------------------------------------------- \n \n')
S_fs = (Cl.*Ch)./(Ct.*Cr).*S_fs_prime


fprintf('------------------------- \n')
fprintf('----- Safty Factors ----- \n')
fprintf('------------------------- \n \n')


% Bending SF
fprintf('SF_bend_pinion, Safty Factor for pinion in bending. \n')
fprintf('SF_bend_pinion = S_fb./Sigma_bending_p')
SF_bend_pinion = S_fb./Sigma_bending_p
fprintf('SF_bend_gear, Safty Factor for gear in bending. \n')
fprintf('SF_bend_gear = S_fb./Sigma_bending_g')
SF_bend_gear = S_fb./Sigma_bending_g

% Surface SF
fprintf('SF_surf_pg, Safty Factor for the gear and pinion surfaces. \n')
fprintf('SF_surf_pg = (S_fs./Sigma_surface_pg).^2')
SF_surf_pg = (S_fs./Sigma_surface_pg).^2
-------------------------------------------- 
----- Calculation of diametral pitch: ------ 
-------------------------------------------- 
 
N_g, Number of teeth on gear. 
N_g, N_g = N_p.*m_G.
N_g =

    50

p_d, diametric pitch. 
p_d = N_p./d_p.
p_d =

     5

--------------------------------------- 
----- Calculation of face width: ------ 
--------------------------------------- 
 
FW, face width (in) - Assume nominal value of 12. 
FW = 12/p_d.
FW =

    2.4000

-------------------------------------------- 
----- Calculation of Tangential load: ------ 
-------------------------------------------- 
 
Wt_max, Maximum Tangential force (lbf). 
Wt_max = T_max./(d_g./2).
Wt_max =

   117

Wt_min, Minimum Tangential force (lbf). 
Wt_min = T_min./(d_g./2).
Wt_min =

   -35

-------------------------------------------- 
----- Calculation of  Tooth velocity: ------ 
-------------------------------------------- 
 
Vt, Tooth velocity (ft/min).
Vt =

  4.1888e+003

-------------------------------------------------- 
----- K values and Bending Stress for pinion ----- 
-------------------------------------------------- 
 

Ka =

     2


Km =

    1.5800


Kv =

    0.7968


Ks =

     1


Kb =

     1


Ki =

     1


Sigma_bending_p =

  2.8432e+003

------------------------------------------------ 
----- K values and Bending Stress for gear ----- 
------------------------------------------------ 
 

Ka =

     2


Km =

    1.5800


Kv =

    0.7968


Ks =

     1


Kb =

     1


Ki =

     1


Sigma_bending_g =

  2.4167e+003

------------------------------------------------ 
----- Surface Stresses ------------------------- 
------------------------------------------------ 
 
Dis_pg, Distance between center of gears. 
Dis_pg = (d_p + d_g)./2.
Dis_pg =

     7

I_pg, Surface Geometry Factor for pinion gear pair. 
I_pg = cos(phi)./((1/rho_p + 1/rho_g).*d_p).
I_pg =

    0.0999

Cp, Elastic coefficient. 
Cp = sqrt(1./(pi.*( ((1 - v.^2)./(E)) + ((1 - v.^2)./(E))))).
Cp =

  2.2761e+003

----------------------------------------- 
----- C values and Surface Stresses ----- 
----------------------------------------- 
 

Cv =

    0.7968


Cm =

    1.5800


Ca =

     2


Cs =

     1


Cf =

     1


Sigma_surface_pg =

  5.0058e+004

------------------------------------------------- 
----- Fatigue Bending Strength and K values ----- 
------------------------------------------------- 
 

S_fb_prime =

       31976


Kl =

    0.9121


Kt =

     1


Kr =

     1

---------------------------------------------- 
----- Corrected Fatigue Bending Strength ----- 
---------------------------------------------- 
 

S_fb =

  2.9167e+004

------------------------------------------------- 
----- Fatigue Surface Strength and K values ----- 
------------------------------------------------- 
 

Ct =

     1


Cr =

     1


Cl =

    0.8681


Ch =

     1

---------------------------------------------- 
----- Corrected Fatigue Surface Strength ----- 
---------------------------------------------- 
 

S_fs =

  9.3543e+004

------------------------- 
----- Safty Factors ----- 
------------------------- 
 
SF_bend_pinion, Safty Factor for pinion in bending. 
SF_bend_pinion = S_fb./Sigma_bending_p
SF_bend_pinion =

   10.2584

SF_bend_gear, Safty Factor for gear in bending. 
SF_bend_gear = S_fb./Sigma_bending_g
SF_bend_gear =

   12.0687

SF_surf_pg, Safty Factor for the gear and pinion surfaces. 
SF_surf_pg = (S_fs./Sigma_surface_pg).^2
SF_surf_pg =

    3.4920