Results 41 to 52 of 52
-
05-23-2006 #41
New to Pro-Touring
- Join Date
- Jan 2005
- Posts
- 34
Here is a Matlab script I whipped up to calculate spring rates / suspension frequencies.
I adopted the forumlas from various websites (and my undergrad physics textbook) and I'm not 100% sure I have things right (I'm waiting for my copy of RCVD to show up). The vehicle constants are rough approximates for my 69 Firebird.
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%
vehicle_weight = 3400; %total vehicle weight
f_weight_dist = 0.54; %front weight percentage
f_wheel_unsprng = 100; %front wheel unsprung weight (per wheel)
r_wheel_unsprng = 200; %rear wheel unsprung weight (per wheel)
f_mr = 8./16; %approx. front motion ratio from LCA
r_mr = 0.9; %approx. rear motion ratio (live axle)
f_sprate = 850; % given front spring rate (lb/in)
r_sprate = 250; % given rear spring rate (lb/in)
f_damp_ratio = 0.35;
r_damp_ratio = 0.35;
f_freq = 1.7; %Hz
r_freq = f_freq + 0.15.*f_freq; %Hz, rear freq is 15% greater than front freq
wheelbase = 100; %approx. (inches)
avgspeed = 80; % mph
% convert to SI units
fmass = ((vehicle_weight.*f_weight_dist)./2-f_wheel_unsprng).*0.45359237;
rmass = ((vehicle_weight.*(1 - f_weight_dist))./2-r_wheel_unsprng).*0.45359237;
f_sprate = f_sprate.*175.126835;
r_sprate = r_sprate.*175.126835;
% calculate wheel rates
f_wheel_rate = f_sprate.*(f_mr.^2);
r_wheel_rate = r_sprate.*(r_mr.^2);
% calculate undamped spring rates given frequencies
Ksf = 4.*(pi^2).*fmass.*(f_freq^2)./(f_mr^2)./175.126835
Ksr = 4.*(pi^2).*rmass.*(r_freq^2)./(r_mr^2)./175.126835
% calculate undamped frequencies given spring rates
f_freq_undamp = (1./(2.*pi)).*sqrt(f_wheel_rate./fmass)
r_freq_undamp = (1./(2.*pi)).*sqrt(r_wheel_rate./rmass)
%calculate damped frequencies given spring rates
f_freq_damp = f_freq_undamp.*sqrt(1-f_damp_ratio.^2)
r_freq_damp = r_freq_undamp.*sqrt(1-f_damp_ratio.^2)
% calculate damped time constants
f_tau = (2.*pi).*f_freq_undamp.*f_damp_ratio;
r_tau = (2.*pi).*r_freq_undamp.*r_damp_ratio;
% whip up time independent variables
tf = linspace(0,f_tau,1000);
f_to_r_timlag=wheelbase./(avgspeed*63360/3600);%time lag from bump front to rear
tr = tf-f_to_r_timlag;tr = tr.*(tr >= 0);%offset rear time, get rid of neg times
% plot damped trajectories
figure(1); clf;
plot(tf,exp(-f_tau.*tf).*sin(2.*pi.*f_freq_damp.*tf));hold on;
plot(tf,exp(-r_tau.*tr).*sin(2.*pi.*r_freq_damp.*tr),'r');hold off;
title('damped suspension trajectories');
xlabel('time (s)'); ylabel('amplitude (arbitrary units)');
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Results:
Ksf = 967 lb/in, front spring rate given 1.7Hz (undamped)
Ksr = 281 lb/in, rear spring rate given 2.0Hz (undamped)
f_freq_undamp = 1.6 Hz, front freq. given 850 lb/in spring rate (undamped)
r_freq_undamp = 1.8 Hz, rear freq. given 250 lb/in spring rate (undamped)
f_freq_damp = 1.4931 Hz, front freq. given 850 lb/in spring rate (damped 35% of critical)
r_freq_damp = 1.7280 Hz, rear freq. given 250 lb/in spring rate (damped 35% of critical)
Attached is a plot of the front and rear trajectories:



Reply With Quote