Contents
CASE STUDY 7B
clear, clc, home
fprintf('The date and time: %s \n \n', datestr(now))
fprintf('CorrectedStrengthEnglish function: \n \n')
help CorrectedStrengthEnglish
fprintf('\n')
The date and time: 29-Dec-2008 12:44:55
CorrectedStrengthEnglish function:
Calculates correction factors and uses these vaues to find the corrected
strength (yeild or endurance).
Synopsis: [S] = CorrectedStrength(load, size, surf, temp, reliab,
S_prime)
input: load = (required) 'bending' or 'axial'. Must be a string. Use
bending case for all cases that are non-axial.
size = (required) Must be a structured array. size must contain
size.shape: 'rectangle' or 'circle'
size.rotation: 'nonrotating' or 'rotating'
size.dim: 1x1 (radius of circle) or 1x2 (height - the
cubed length, and width); must be in inches.
surf = (required) 'ground' or 'machined' or 'hot-rolled' or
'as-forged' or 1.
temp = (required) 0 to 1020 degrees F
reliab = (required) 50, 90, 99, 99.9, 99.99, or
99.999 percent
mat = (required) 'steel', 'iron', or 'aluminum'. Must be a
sting.
S_ut = (required) The ultamate tensile strength. Must be in
kpsi.
output: S = corrected strength value in kpsi.
Note: For the following variables 1 can be assigned to them:
load, surf, temp, and reliab. When this occurs the C value for
theses variables is simply made equal to one.
All values must be constants, no matricies allowed. Use the following to
get around this rule though:
use matix for the size, mat, or other variable, for example:
Reliability = [50, 90, 99];
len = length(Reliability);
S = ones(1,len);
for coun = 1:len
reliab = Reliability(coun);
S(1,coun) = CorrectedStrengthEnglish(load, size, surf, temp, reliab, mat, S_ut);
end
Given and Assumes
fprintf('----- Given Data: ----- \n \n')
fprintf('d_p, diameter of pinion (in)')
d_p = 4
fprintf('T_max, maximum Torque (lb*in)')
T_max = 800
fprintf('T_min, minimum Torque (lb*in)')
T_min = -250
fprintf('Sut, ultamate tensile strength (psi)')
Sut = 64*1000
S_ut = 64;
fprintf('Sut, yield strength (kpsi)')
Sy = 54
fprintf('Nsf, safety factor')
Nsf = 3
fprintf('PA, pressure angle (degrees)')
PA = 20
AGMA = 'Full-Depth';
Loading = 'HPSTC';
Phi = PA*(pi/180);
fprintf('load, type of load applied')
load = 'bending'
size_o.shape = 'circle';
size_o.rotation = 'rotating';
size_o_dim = [1:0.0001:1.5];
fprintf('size_o.shape, shape of cross section for output shaft \n')
size_i.shape = 'circle';
size_i.rotation = 'rotating';
size_i_dim = [0.7:0.0001:1]; ;
surf = 'machined'
fprintf('temp, temperature (degrees F)')
temp = 70;
fprintf('reliab, reliability (percent)')
reliab = 50;
fprintf('mat, material used')
mat = 'steel';
Kt = 3;
r_g = 5.000;
----- Given Data: -----
d_p, diameter of pinion (in)
d_p =
4
T_max, maximum Torque (lb*in)
T_max =
800
T_min, minimum Torque (lb*in)
T_min =
-250
Sut, ultamate tensile strength (psi)
Sut =
64000
Sut, yield strength (kpsi)
Sy =
54
Nsf, safety factor
Nsf =
3
PA, pressure angle (degrees)
PA =
20
load, type of load applied
load =
bending
size_o.shape, shape of cross section for output shaft
surf =
machined
temp, temperature (degrees F)reliab, reliability (percent)mat, material usedSolution
fprintf('----- Calculation of Tangential Forces: ------ \n \n')
fprintf('Ft_max = T_max / r_g')
Ft_max = T_max / r_g
fprintf('Ft_min = T_min / r_g')
Ft_min = T_min / r_g
fprintf('----- Calculation of Total Forces: ------ \n \n')
fprintf('F_max = Ft_max / cos(Phi)')
F_max = Ft_max / cos(Phi)
fprintf('F_min = Ft_min / cos(Phi)')
F_min = Ft_min / cos(Phi)
fprintf('----- Calculation of Moments: ------ \n \n')
fprintf('M_max = F_max * (d_p/4)')
M_max = F_max * (d_p/4)
fprintf('M_min = F_min * (d_p/4)')
M_min = F_min * (d_p/4)
fprintf('----- Calculation of Mean/Aplitude Moments: ------ \n \n')
fprintf('Mm = (1/2) * (M_max + M_min)')
Mm = (1/2) * (M_max + M_min)
fprintf('Ma = (1/2) * (M_max - M_min)')
Ma = (1/2) * (M_max - M_min)
fprintf('----- Calculation of Mean/Aplitude Torques: ------ \n \n')
fprintf('Tm = (1/2) * (T_max + T_min)')
Tm = (1/2) * (T_max + T_min)
fprintf('Ta = (1/2) * (T_max - T_min)')
Ta = (1/2) * (T_max - T_min)
len = length(size_o_dim);
Se_o = ones(1,len);
for coun = 1:len
size_o.dim = size_o_dim(coun);
Se_o(1,coun) = CorrectedStrengthEnglish(load, size_o, surf, temp, reliab, mat, S_ut);
end
len = length(size_i_dim);
Se_i = ones(1,len);
for coun = 1:len
size_i.dim = size_i_dim(coun);
Se_i(1,coun) = CorrectedStrengthEnglish(load, size_i, surf, temp, reliab, mat, S_ut);
end
Se_i = Se_i.*1000;
Se_o = Se_o.*1000;
r = 0.01;
a = 0.10^2;
q = 1 / (1 + sqrt(a/r));
r = 0.01;
a = 0.075^2;
qs = 1 / (1 + sqrt(a/r));
Kf = 1 + q*(Kt - 1);
Kfs = 1 + qs*(Kt - 1);
Kfsm = Kfs
Kfm = Kf
d_output = (((32.*Nsf)./pi).* ...
((sqrt((Kf.*Ma).^2 + (3/4).*(Kfs.*Ta).^2)./Se_o) + ...
(sqrt((Kfm.*Mm).^2 + (3/4).*(Kfsm.*Tm).^2)./Sut))).^(1/3);
diff_o = abs(d_output - size_o_dim);
Tmin = 0.4 * Tm;
Tain = 0.4 * Ta;
d_input = (((32.*Nsf)./pi).* ...
((sqrt((Kf.*Ma).^2 + (3/4).*(Kfs.*Tain).^2)./Se_i) + ...
(sqrt((Kfm.*Mm).^2 + (3/4).*(Kfsm.*Tmin).^2)./Sut))).^(1/3);
diff_i = abs(d_input - size_i_dim);
----- Calculation of Tangential Forces: ------
Ft_max = T_max / r_g
Ft_max =
160
Ft_min = T_min / r_g
Ft_min =
-50
----- Calculation of Total Forces: ------
F_max = Ft_max / cos(Phi)
F_max =
170.2684
F_min = Ft_min / cos(Phi)
F_min =
-53.2089
----- Calculation of Moments: ------
M_max = F_max * (d_p/4)
M_max =
170.2684
M_min = F_min * (d_p/4)
M_min =
-53.2089
----- Calculation of Mean/Aplitude Moments: ------
Mm = (1/2) * (M_max + M_min)
Mm =
58.5298
Ma = (1/2) * (M_max - M_min)
Ma =
111.7387
----- Calculation of Mean/Aplitude Torques: ------
Tm = (1/2) * (T_max + T_min)
Tm =
275
Ta = (1/2) * (T_max - T_min)
Ta =
525
Kfsm =
2.1429
Kfm =
2
Graph Difference vs. Guessed Output Diameter
plot(size_o_dim, diff_o), xlabel('Guessed Diameter (in)'), ...
ylabel('Difference'), grid, ...
title('Difference of Diameters vs. Guessed Output Diameter')
fprintf('Output diameter is about 1.14 \n')
Output diameter is about 1.14
Graph Difference vs. Guessed Input Diameter
plot(size_i_dim, diff_i), xlabel('Guessed Diameter (in)'), ...
ylabel('Difference'), grid, ...
title('Difference of Diameters vs. Guessed Input Diameter')
fprintf('Input diameter is about 0.86')
Input diameter is about 0.86