Automobile Suspension Design: Ian Arlen, Paul Gu Enette, & Ariel Levy
Automobile Suspension Design: Ian Arlen, Paul Gu Enette, & Ariel Levy
Abstract—Vibration control is crucially important in ensuring a trial and error process, we settled on our final values for
a smooth ride for vehicle passengers. This study sought to design spring and damping constants, and settled on a center of mass
a suspension system for a car such that its mode of vibration slightly to the rear of the center.
would be predominantly bouncing at lower speeds, and primarily
pitching at higher speeds. Our study used analytical and numer- The second phase of our research involved testing our
ical methods to choose appropriate springs and dampers for the vehicle traveling through conditions simulating broken terrain.
front and rear suspension. After an initial miscalculation, we We sought to determine the maximum bouncing and pitching
succeeded in arriving at appropriate shocks for the vehicle with displacements experienced by the car. We determined that
the desired modes of vibration at the specified frequencies. what we were concerned with was the steady state response
We then assessed the maximum bouncing and pitching that
the vehicle would experience under a specific set of conditions: of the vehicle, since the long term vibrations as the vehicle
travel at 40 km/hr over broken, rough terrain. Our testing showed is in motion are what we are trying most to limit. Our steady
moderate success in our suspension design. We successfully state response was developed from many small calculations,
damped the force being transmitted to both the front and rear but ultimately allowed us to describe the car’s response to
quarter car somewhat, while ensuring that the modes of vibration harmonic forcing.
fell into the desired shapes at the desired frequency ranges.
I. I NTRODUCTION
where
III. C ONCLUSION
The spring and damping constants we arrived at, while
large, seem reasonable for a 2000 kilogram vehicle. We
were pleased with our efforts to constrain the vibrational
motion to the correct modes at the desired frequencies. Given
more time to refine our input parameters, we would seek
to improve our result by increasing the slope of our curve
to achieve even higher mode vibrations(more predominantly
bouncing) at the low end of the frequency range, and smaller
mode vibrations(more predominantly pitching) at the higher
frequencies. Overall, our max bounce mode of X̄ Θ̄
= 2.02 and
our max pitching mode of X̄ Θ̄
= .59 seem like reasonable
results.
While we are not completely thrilled by our car’s perfor-
mance under road conditions, the fact that both transmission
ratios are less than zero indicates that our efforts have not
been in vain. The maximum pitching motion of 8.1◦ seems
acceptable for a vehicle traveling over such rough terrain.
We were somewhat disappointed with the maximum bounce
of 7.58 cm. It seems like we should have been able to
reduce the transmitted force more than we succeeded in doing.
Despite this, we were otherwise satisfied with our efforts at
constraining the vibrational modes to the desired frequency
ranges. The vehicle as we designed it seems like a heavily
loaded truck, probably for military or industrial use, in light
of the rough terrain that we tested it over, and the location of
the center of mass behind the geometric center of the truck.
MAE 315 DYNAMICS OF MACHINES 4
IV. A PPENDIX A
C++ Code
/∗
∗ File : v i b p r o j . cpp
∗ Author : Paul
∗
∗ C r e a t e d on November 1 2 , 2 0 1 5 , 1 1 : 1 5 AM
∗/
u s i n g namespace s t d ;
/∗
∗
∗/
i n t main ( i n t a r g c , c h a r ∗∗ a r g v ) {
double mFront = t o t a l M a s s ∗ f r o n t R a t i o ;
double lFront = length − ( frontRatio ∗ length );
double wnFront = 8 . 8 ;
double k F r o n t = w n F r o n t ∗ w n F r o n t ∗ mFront ;
double c F r o n t = 2 ∗ x i F r o n t ∗ w n F r o n t ∗ mFront ;
double mRear = t o t a l M a s s ∗ ( 1 − f r o n t R a t i o ) ;
double wnRear = 8 . 8 ;
double k R e a r = wnRear ∗ wnRear ∗mRear ;
double c R e a r = 2 ∗ x i R e a r ∗ wnRear ∗mRear ;
double lRear = length − lFront ;
double J0 = 2 4 0 . 0 ;
d o u b l e wMode = 8 . 8 0 ;
d o u b l e modeMag = 0 ;
d o u b l e max = 0 ;
d o u b l e min = 1 ;
double step = . 0 5 ;
w h i l e ( wMode < 2 1 ) {
w h i l e ( wnRear < 2 0 ) {
wnFront = 8 . 8 0 ;
k F r o n t = w n F r o n t ∗ w n F r o n t ∗ mFront ;
c F r o n t = 2 ∗ x i F r o n t ∗ w n F r o n t ∗ mFront ;
w h i l e ( w n F r o n t <= 2 5 . 0 5 ) {
double A = ( c R e a r ∗ l R e a r − c F r o n t ∗ l F r o n t ) ∗ wMode ;
double B = kRear ∗ l R e a r − k F r o n t ∗ l F r o n t ;
double E = wMode ∗ wMode ∗ t o t a l M a s s ;
double F = wMode ∗ ( c R e a r + c F r o n t ) ;
modeMag = s q r t (A ∗ A + B ∗ B) / s q r t (E ∗ E + F ∗ F ) ;
i f ( modeMag > max ) {
// p r i n t f ( ” wMode : %0.2 f \n ” , wMode ) ;
// p r i n t f (” Front : Wn: %0.3 f \ t c : %0.3 f \ t k : %0.3 f \n ” , wnFront , c F r o n t , k F r o n t ) ;
// p r i n t f ( ” Rear : Wn: %0.3 f \ t c : %0.3 f \ t k : %0.3 f \n ” , wnRear , cRear , k R e a r ) ;
// p r i n t f ( ” maxMag = %0.3 f \n ” , max ) ;
max = modeMag ;
}
MAE 315 DYNAMICS OF MACHINES 5
wMode += s t e p ;
wnFront = 8 . 8 0 ;
k F r o n t = w n F r o n t ∗ w n F r o n t ∗ mFront ;
c F r o n t = 2 ∗ x i F r o n t ∗ w n F r o n t ∗ mFront ;
wnRear = 8 . 8 0 ;
k R e a r = wnRear ∗ wnRear ∗mRear ;
c R e a r = 2 ∗ x i R e a r ∗ wnRear ∗mRear ;
}
p r i n t f ( ” ================================ ” ) ;
return 0;
}
V. A PPENDIX B
MATLAB Code
% Part 1
syms m s c1 c2 k1 k2 J l 1 l 2 t ;
clc
m =1000;
l1 = 1.2;
l2 = . 8 ;
J = 240;
c1 = 1 0 0 0 0 ;
k1 = 2 5 0 0 0 0 . 0 ;
k2 = 4 6 4 6 4 ;
c2 = 4 2 2 4 ;
%s = −37.884 + 1 8 . 6 2 7 5 ∗ 1 i ;
A = m. ∗ s . ˆ 2 + ( c1 + c2 ) . ∗ s + ( k1+k2 ) ;
B = ( c2 . ∗ l 2−c1 . ∗ l 1 ) . ∗ s + ( k2 . ∗ l 2 − k1 . ∗ l 1 ) ;
C = ( c2 . ∗ l 2−c1 . ∗ l 1 ) . ∗ s + ( k2 . ∗ l 2 − k1 . ∗ l 1 ) ;
D = J . ∗ s . ˆ 2 + ( c1 . ∗ l 1 ˆ 2 + c2 . ∗ l 2 . ˆ 2 ) . ∗ s + ( k1 . ∗ l 1 . ˆ 2 + k2 . ∗ l 2 . ˆ 2 ) ;
M = [A B ; C D ] ;
%w = 1 7 . 4 5 3 3 ;
%F = [ − . 1 . ∗ k1 . ∗ s i n (w. ∗ t ) − . 1 . ∗ k2 . ∗ c o s (w. ∗ t ) ; . 1 . ∗ k1 . ∗ s i n (w. ∗ t ) − . 1 . ∗ k2 . ∗ c o s (w. ∗ t ) ] ;
%i n v (M) ∗ F
D = d e t (M) ;
P = sym2poly ( d e t (M) ) ;
r = roots (P)
A = m. ∗ r . ˆ 2 + ( c1 + c2 ) . ∗ r + ( k1+k2 ) ;
B = ( c2 . ∗ l 2−c1 . ∗ l 1 ) . ∗ r + ( k2 . ∗ l 2 − k1 . ∗ l 1 ) ;
mag = a b s (−B / A)
%%
% Part 2
t = 0: .01: 1;
w = 17.4533;
MAE 315 DYNAMICS OF MACHINES 6
x = . 0 7 4 2 3 . ∗ s i n (w. ∗ t − 1 . 5 4 7 ) + . 0 7 8 9 4 . ∗ s i n (w. ∗ t − 3 . 6 5 4 ) ;
t h e t a = −.06186.∗ s i n (w. ∗ t − 1 . 5 4 7 ) + . 0 9 8 6 8 . ∗ s i n (w. ∗ t − 3 . 6 5 4 ) ;
xmax = max ( x )
t h e t a m a x = max ( t h e t a )
h o l d on
x l a b e l ( ’ Time ( s ) ’ )
plot ( t ,x , ’b ’)
p l o t ( t , t h e t a , ’ r ’ ) , l e g e n d ( ’ x ( t ) i n m e t e r s ’ , ’\ t h e t a ( t ) i n r a d i a n s ’ )
VI. A PPENDIX C
Specific Frequency Data