Contents
Example 11-7
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
N_p = 14;
N_i = 17;
N_g = 49;
omega_p = 2500*(2*pi/60);
p_d = 6;
P = 20*6600;
PA = 25;
AGMA = 'Full-Depth';
x_p = 0;
Loading = 'HPSTC';
phi = PA.*pi./180;
J_p = 0.33;
J_i = 0.36;
J_g = 0.46;
E = 30E6;
v = 0.28;
N = 2500.*(60*2080).*5;
reliab = 99;
Hardness = 250;
HB_p = 250;
HB_g = 250;
temp = 200;
DrivingShock = 'Uniform';
DrivenShock = 'Uniform';
Qv = 6;
idleness_p = 'non-idle';
idleness_i = 'idle';
idleness_g = 'non-idle';
m_b = 3;
size.shape = 'number'; size.dim = 1;
mat = 'steel';
surf = 1;
FW = 12/p_d;
Solution
d_p = N_p./p_d; d_i = N_i./p_d; d_g = N_g./p_d;
Tp = P./omega_p;
Wt = Tp./(d_p./2);
Vt = d_p./(2*12).*omega_p.*60;
Bending stresses
[Sigma_bending_p] = BendingStressSpurGear(Qv, Vt, FW, p_d, DrivingShock, ...
DrivenShock, size, m_b, idleness_p, J_p, Wt)
[Sigma_bending_i] = BendingStressSpurGear(Qv, Vt, FW, p_d, DrivingShock, ...
DrivenShock, size, m_b, idleness_i, J_i, Wt)
[Sigma_bending_g] = BendingStressSpurGear(Qv, Vt, FW, p_d, DrivingShock, ...
DrivenShock, size, m_b, idleness_g, J_g, Wt)
Sigma_bending_p =
9.5222e+003
Sigma_bending_i =
1.2395e+004
Sigma_bending_g =
6.8311e+003
Surface Stresses
C_pi = (d_p + d_i)./2;
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)
C_ig = (d_i + d_g)./2;
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;
if temp <= 250
Kt = 1;
else
Kt = (460 + Tf)./(620);
end
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;
Kr = 1;
else
fprintf('Error: reliab must use only the accepted values.');
Kr = 1;
end
Kl = 1.3558.*(N).^(-0.0178);
S_fb = Kl./(Kt.*Kr).*S_fb_prime
S_fb =
3.8937e+004
Fatigue Surface Strength
S_fs_prime = 27000 + 364.*Hardness;
if temp <= 250
Kt = 1;
else
Kt = (460 + Tf)./(620);
end
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;
Kr = 1;
else
fprintf('Error: reliab must use only the accepted values.');
Kr = 1;
end
Cl = 1.4488.*(N).^(-0.023);
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;
S_fs = (Cl.*Ch)./(Ct.*Cr).*S_fs_prime
S_fs =
1.0506e+005
Safty Factors
SF_bend_pinion = S_fb./Sigma_bending_p
SF_bend_idler = S_fb./Sigma_bending_i
SF_bend_gear = S_fb./Sigma_bending_g
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