Example: Modeling a Bus Suspension System using Transfer Function
Zidarta – jimfackyou@hotmail.com Physical setup Photo courtesy:
Eisenhower Center Designing an automatic suspension system for a
bus turns out to be an interesting control problem. When the
suspension system is designed, a 1/4 bus model (one of the four
wheels) is used to simplify the problem to a one dimensional
spring-damper system. A diagram of this system is shown below:
Where: * body mass (m1) = 2500 kg, * suspension mass (m2) = 320
kg, * spring constant of suspension system(k1) = 80,000 N/m, *
spring constant of wheel and tire(k2) = 500,000 N/m, * damping
constant of suspension system(b1) = 350 Ns/m. * damping constant
of wheel and tire(b2) = 15,020 Ns/m. * control force (u) = force
from the controller we are going to design. Design requirements:
A good bus suspension system should have satisfactory road
holding ability, while still providing comfort when riding over
bumps and holes in the road. When the bus is experiencing any
road disturbance (i.e. pot holes, cracks, and uneven
pavement),the bus body should not have large oscillations, and
the oscillations should dissipate quickly. Since the distance
X1-W is very difficult to measure, and the deformation of the
tire (X2-W) is negligible, we will use the distance X1-X2 instead
of X1-W as the output in our problem. Keep in mind that this is
an estimation. The road disturbance (W) in this problem will be
simulated by a step input. This step could represent the bus
coming out of a pothole. We want to design a feedback controller
so that the output (X1-X2) has an overshoot less than 5% and a
settling time shorter than 5 seconds. For example, when the bus
runs onto a 10 cm high step, the bus body will oscillate within a
range of +/- 5 mm and return to a smooth ride within 5 seconds.
Equations of motion: From the picture above and Newton's law, we
can obtain the dynamic equations as the following: Transfer
Function Equation: Assume that all of the initial condition are
zeroes, so these equations represent the situation when the bus's
wheel go up a bump. The dynamic equations above can be expressed
in a form of transfer functions by taking
Laplace Transform of the above equations. The derivation from
above equations of the Transfer Functions G1(s) and G2(s) of
output,X1-X2, and two inputs,U and W, are as follows. Find the
inverse of matrix A and then multiple with inputs U(s)and W(s) on
the right hand side as the following: When we want to consider
input U(s) only, we set W(s) = 0. Thus we get the transfer
function G1(s) as the following: When we want to consider input
W(s) only, we set U(s) = 0. Thus we get the transfer function
G2(s) as the following: Also we can express and derive the above
equations in state-space form. Even though this approach will
express the first two equations above in the standard form of
matrix, it will simplify the transfer function without going
through any algebra, because we can use a function ss2tf to
transform from state-space form to transfer function form for
both inputs Entering equations into Matlab We can put the above
Transfer Function equations into Matlab by defining the numerator
and denominator of Transfer Functions in the form, nump/denp for
actuated force input and num1/den1 for disturbance input, of the
standard transfer function G1(s) and G2(s): G1(s) = nump/denp
G2(s) = num1/den1
Now, let's create a new m-file and enter the following code:
m1=2500; m2=320; k1=80000; k2=500000; b1 = 350; b2 = 15020;
nump=[(m1+m2) b2 k2]; denp=[(m1*m2) (m1*(b1+b2))+(m2*b1)
(m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1) k1*k2]; 'G(s)1'
printsys(nump,denp) num1=[-(m1*b2) -(m1*k2) 0 0]; den1=[(m1*m2)
(m1*(b1+b2))+(m2*b1) (m1*(k1+k2))+(m2*k1)+(b1*b2) (b1*k2)+(b2*k1)
k1*k2]; 'G(s)2' printsys(0.1*num1,den1) Open-loop response We can
use Matlab to display how the original open-loop system performs
(without any feedback control). Add the following commands into
the m-file and run it in the Matlab command window to see the
response of unit step actuated force input and unit step
disturbance input.Note that the step command will generate the
unit step inputs for each input. step(nump,denp) From this graph
of the open-loop response for a unit step actuated force, we can
see that the system is under- damped. People sitting in the bus
will feel very small amount of oscillation and the steady-state
error is about 0.013 mm. Moreover, the bus takes very
unacceptably long time for it to reach the steady state or the
settling time is very large. The solution to this problem is to
add a feedback controller into the system's block diagram.
step(0.1*num1,den1) To see some details, you can change the axis:
axis([0 10 -.1 .1])
From this graph of open-loop response for 0.1 m step disturbance,
we can see that when the bus passes a 10 cm high bump on the
road, the bus body will oscillate for an unacceptably long
time(100 seconds) with larger amplitude, 13 cm, than the initial
impact. People sitting in the bus will not be comfortable with
such an oscillation. The big overshoot (from the impact itself)
and the slow settling time will cause damage to the suspension
system. The solution to this problem is to add a feedback
controller into the system to improve the performance. The
schematic of the closed- loop system is the following: From the
above transfer functions and schematic, we can draw the
bus-system block diagram as the following: From the schematic
above we see that: Plant = nump/denp F * Plant=num1/den1 so that
F=num1/(den1*Plant) Example: Modeling a Cruise Control
System
Physical setup a
Página siguiente |