Contents

Example 11-7

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

help SurfaceStressSpurGear
The date and time: 29-Dec-2008 12:10:32 
 
  Calculates the bending stresses setup inside a spur gear. English Units.
 
  Synopsis: [Sigma] = SurfaceStressSpurGear(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 matricies allowed. Use the following to
  get around this rule though:
  
  use matix 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) = = BendingStressSpurGear(Qv, Vt, FW, p_d, DrivingShock, ...
     DrivenShock, size, m_b, idleness, J, Wt);
  end

Given and Assumes

% Common values for gears in a set:
% Wt, p_d, FW, Ka, Km, Kv, and Ks.
% Potentially different values for gears in a set:
% J, Kb, and Ki.

% Givens:
N_p = 14;       % Pinion Teeth.
N_i = 17;       % Idler Teeth.
N_g = 49;       % Gear Teeth.
omega_p = 2500*(2*pi/60); % rad/s. pinion angular speed.
p_d = 6;        % Diametral pitch for all three gears.
P = 20*6600;    % in*lb/s. Power supplied to the pinion.
PA = 25;        % degrees. Pressure angle. For all three gears
AGMA = 'Full-Depth'; % For all three gears.
x_p = 0;        % Elongation: because of full-depth. 25% would be 0.25.
Loading = 'HPSTC'; % Loading conditions for all three gears.
phi = PA.*pi./180; % rad.
J_p = 0.33;     % Obtained from PA, AGME, and Loading values.
J_i = 0.36;     % Obtained from PA, AGME, and Loading values.
J_g = 0.46;     % Obtained from PA, AGME, and Loading values. Interpolated.

E = 30E6; % psi
v = 0.28;
N = 2500.*(60*2080).*5; % Number of cycles

reliab = 99; % percent.
Hardness = 250; % HB.
HB_p = 250;
HB_g = 250;
temp = 200; % Degrees F.

% Data for K values.
DrivingShock = 'Uniform';
DrivenShock = 'Uniform';
Qv = 6;
idleness_p = 'non-idle';
idleness_i = 'idle';
idleness_g = 'non-idle';
m_b = 3; % Solid gears, so make sure that m_b > 1.2.
size.shape = 'number'; size.dim = 1;
mat = 'steel';
surf = 1;

% Assumes:
FW = 12/p_d; % Face width nominal value (12).

Solution

% get diameters.
d_p = N_p./p_d; d_i = N_i./p_d; d_g = N_g./p_d;

% Torque on shaft.
Tp = P./omega_p; % lb*in.

% Tangential load applied to all three gears.
Wt = Tp./(d_p./2); % lbf

% Tooth velocity
Vt = d_p./(2*12).*omega_p.*60; % ft/min.

Bending stresses

% For pinion:
[Sigma_bending_p] = BendingStressSpurGear(Qv, Vt, FW, p_d, DrivingShock, ...
    DrivenShock, size, m_b, idleness_p, J_p, Wt) % psi.

% For idler:
[Sigma_bending_i] = BendingStressSpurGear(Qv, Vt, FW, p_d, DrivingShock, ...
    DrivenShock, size, m_b, idleness_i, J_i, Wt) % psi.

% For gear:
[Sigma_bending_g] = BendingStressSpurGear(Qv, Vt, FW, p_d, DrivingShock, ...
    DrivenShock, size, m_b, idleness_g, J_g, Wt) % psi.
Sigma_bending_p =

  9.5222e+003


Sigma_bending_i =

  1.2395e+004


Sigma_bending_g =

  6.8311e+003

Surface Stresses

%%%%% Surface Geometry Factor for pinion idler pair %%%%%
C_pi = (d_p + d_i)./2;
% external gear teeth.
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 = C_pi.*sin(phi) - rho_p;
I_pi = cos(phi)./((1/rho_p + 1/rho_g).*d_p);


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



[Sigma_surface_pi] = SurfaceStressSpurGear(Qv, Vt, FW, DrivingShock, ...
     DrivenShock, size, I_pi, Cp, surf, Wt, d_p)



%%%%% Surface Geometry Factor for idler gear pair %%%%%
C_ig = (d_i + d_g)./2;
% externa gear teeth.
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 = C_ig.*sin(phi) - rho_p;
I_ig = cos(phi)./((1/rho_p + 1/rho_g).*d_p);



[Sigma_surface_ig] = SurfaceStressSpurGear(Qv, Vt, FW, DrivingShock, ...
     DrivenShock, size, I_ig, Cp, surf, Wt, d_i)
Sigma_surface_pi =

  1.1329e+005


Sigma_surface_ig =

  9.2420e+004

Fatigue Bending Strength

S_fb_prime = 6235 + 174.*Hardness - 0.126.*Hardness.^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);


%%%% Solution %%%%
S_fb = Kl./(Kt.*Kr).*S_fb_prime
S_fb =

  3.8937e+004

Fatigue Surface Strength

S_fs_prime = 27000 + 364.*Hardness;

%%%% 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;
%%%% Solution %%%%
S_fs = (Cl.*Ch)./(Ct.*Cr).*S_fs_prime
S_fs =

  1.0506e+005

Safty Factors

% Bending SF
SF_bend_pinion = S_fb./Sigma_bending_p
SF_bend_idler = S_fb./Sigma_bending_i
SF_bend_gear = S_fb./Sigma_bending_g

% Surface SF
SF_surf_pi = (S_fs./Sigma_surface_pi).^2
SF_surf_ig = (S_fs./Sigma_surface_ig).^2
SF_bend_pinion =

    4.0890


SF_bend_idler =

    3.1414


SF_bend_gear =

    5.6999


SF_surf_pi =

    0.8600


SF_surf_ig =

    1.2923