Control systems are used to control some physical variable. That
variable may be a temperature somewhere, the attitude of an aircraft or
a frequency in a communication system. Whatever the variable, it
is important to control the variable accurately.
If you are designing a control system, how accurately the system performs
is important. If it is desired to have the variable under control
take on a particular value, you will want the variable to get as close
to the desired value as possible. Certainly, you will want to measure
how accurately you can control the variable. Beyond that you will
want to be able to predict how accurately you can control the variable.
To be able to measure and predict accuracy in a control system, a standard
measure of performance is widely used. That measure of performance
is steady state error - SSE - and steady state error is a concept that
assumes the following:
The system under test
is stimulated with some standard input. Typically, the test input
is a step function of time, but it can also be a ramp or other polynomial
kinds of inputs.
The system comes to a
steady state, and the difference between the input and the output is measured.
The difference between
the input - the desired response - and the output - the actual response
is referred to as the error.
Goals For
This Lesson
Given our statements above, it should be clear what you are about in this
lesson. Here are your goals.
Given a linear feedback control system,
Be able to compute the SSE for standard inputs, particularly step input
signals.
Be able to compute the gain that will produce a prescribed level of SSE
in the system.
Be able to specify the SSE in a system with integral control.
In
this lesson, we will examine steady state error - SSE - in closed loop
control systems. The closed loop system we will examine is shown
below.
The system to be controlled
has a transfer function G(s).
There is a sensor with
a transfer function K_{s}.
There is a controller
with a transfer function K_{p}(s) - which may be a constant
gain.
What
Is SSE?
We need a precise definition of SSE if we are going to be able to predict
a value for SSE in a closed loop control system. Next, we'll look
at a closed loop system and determine precisely what is meant by SSE.
In this lesson, we will examine steady state error - SSE - in closed loop
control systems. The closed loop system we will examine is shown
below.
The system to be controlled
has a transfer function G(s).
There is a sensor with
a transfer function K_{s}.
There is a controller
with a transfer function K_{p}(s).
A controller like this,
where the control effort to the plant is proportional to the error, is
called a proportional controller.
In
our system, we note the following:
The input is often the
desired output. In other words, the input is what we want the output
to be. If the input is a step, then we want the output to settle
out to that value.
The output is measured
with a sensor. Often the gain of the sensor is one. That is especially
true in computer controlled systems where the output value - an analog
signal - is converted into a digital representation, and the processing
- to generate the error, E(s) - takes place inside a computer.
The signal, E(s), is referred
to as the error signal.
The error signal is the
difference between the desired input and the measured input.
The error signal is a
measure of how well the system is performing at any instant. When
the error signal is large, the measured output does not match the desired
output very well.
A
step input is often used as a test input for several reasons.
A step input is really
a request for the output to change to a new, constant value.
If the system is well
behaved, the output will settle out to a constant, steady state value.
The difference between
the measured constant output and the input constitutes a steady state error,
or SSE.
It
helps to get a feel for how things go. So, below we'll examine a
system that has a step input and a steady state error. That system
is the same block diagram we considered above.
For the example system, the controlled system
- often referred to as the plant - is a first
order system with a transfer function:
G(s) = Gdc/(st
+ 1)
We will consider a system with the following
parameters.
G_{dc}
= 1
t
= 1
K_{s} =
1.
K_{p}
can be set to various values in the range of 0 to 10,
The input is always 1.
Here
is a simulation you can run to check how this works. In this simulation,
the system being controlled (the
plant) and
the sensor have the parameters shwon above. You can adjust the gain
up or down by 5% using the "arrow" buttons at bottom right. You can
also enter your own gain in the text box, then click the red button to
see the response for the gain you enter.
The actual open loop gain is shown in the text
box above the red button.
Vary the gain. You can set the gain in the text box and click the
red button, or you can increase or decrease the gain by 5% using the green
buttons. You should see that the system responds faster for higher
gain, and that it responds with better accuracy for higher gain.
Try several
gains and compare results. The difference between the desired response
(1.0 is the input = desired response) and the actual steady state response
is the error.
Problem
1 For a proportional gain, K_{p}
= 9, what is the value of the steady state output?
Problem
P1 For
a proportional gain, K_{p} = 9, what is the value of the
steady state error?
Problem
P2
For a proportional gain, K_{p} = 49, what is the value of
the steady state output?
Problem
P3
For a proportional gain, K_{p} = 49, what is the value of
the steady state error?
When you do the problems above, you should see that the system responds
with better accuracy for higher gain. Try several gains and compare
results using the simulation. You need to understand how the SSE
depends upon gain in a situation like this. You need to be able to
do that analytically. That's where we are heading next. Here
is our system again.
Now,
we can get a precise definition of SSE in this system. We have the
following:
The input is assumed to
be a unit step. If the input is a step, but not a unit step, the
system is linear and all results will be proportional.
We can calculate the output,
Y(s), in terms of the input, U(s) and we can determine the error, E(s).
Later we will interpret relations in the frequency (s) domain in terms
of time domain behavior.
We have:
E(s) = U(s) - K_{s}
Y(s) since the error is the difference between the desired response, U(s),
The measured response,
= K_{s} Y(s).
And we know: Y(s)
= K_{p} G(s) E(s).
Combine our two relations:
E(s) = U(s) - K_{s}
Y(s) and:
Y(s) = K_{p}
G(s) E(s), to get:
E(s) = U(s) - K_{s}
K_{p} G(s) E(s)
Since E(s) = U(s) - K_{s}
K_{p} G(s) E(s) we can combine all the E(s) terms on the
left side of this equation:
E(s) [1 + K_{s}
K_{p} G(s)] = U(s)
or E(s) = U(s) / [1 +
K_{s} K_{p} G(s)]
Now, we know that:
E(s) = U(s) / [1 + K_{s}
K_{p} G(s)]
This relation is in the
frequency - s - domain, but has implications for time response behavior.
Assume a unit step input.
The transformed input, U(s), will then be given by:
U(s) = 1/s
With U(s) = 1/s, the transform
of the error signal is given by:
E(s) = 1 / s [1 + Ks Kp
G(s)]
The final value theorem
can be applied to get the steady state error.
We get the Steady State Error (SSE) by finding
the the transform of the error and applying the final value theorem.
To get the transform of the error, we use the expression found above.
Since E(s) = 1 / s (1 + K_{s} K_{p} G(s))
applying the final value theorem
Multiply E(s) by s, and take the indicated
limit to get:
E_{ss} = 1/[(1 + K_{s}
K_{p} G(0)]
We can draw a few conclusions from this expression.
The steady state error
depends upon the loop gain - K_{s} K_{p}
G(0).
The term, G(0), in the
loop gain is the DC gain of the plant.
To make SSE smaller, increase
the loop gain.
And, the only gain you
can normally adjust is the gain of the proportional controller, K_{p}.
You should also note that we have done this
for a unit step input. If we have a step that has another size, we
can still use this calculation to determine the error. If the step
has magnitude 2.0, then the error will be twice as large as it would have
been for a unit step. The system is linear, and everything scales.
We can take the error for a unit step as a measure of system accuracy,
and we can express that accuracy as a percentage error.
If the response to a unit
step is 0.9 and the error is 0.1, then the system is said to have a 10%
SSE.
Problem
5 What loop gain - K_{s}
K_{p} G(0) - will produce a system with 5% SSE?
Problem
P4
What loop gain - K_{s} K_{p} G(0) - will
produce a system with 1% SSE?
Some
Observations for Systems with Integrators
This derivation has been fairly simple, but we may have overlooked a few
items.
If the system has an integrator
- as it would with an integral controller - then G(0) would be infinite.
That would imply that there would be zero SSE for a step input.
The pole at the origin
can be either in the plant - the system being controlled - or it can also
be in the controller - something we haven't considered until now.
However, it should be clear that the same analysis applies, and that it
doesn't matter where the pole at the origin occurs physically, and all
that matters is that there is a pole at the origin in the controller or
the plant.
Reflect
on the conclusion above and consider what happens as you design a system.
You may have a requirement
that the system exhibit very small SSE.
You can get SSE of zero
if there is a pole at the origin.
If there is no pole at
the origin, then add one in the controller. You will have reinvented
integral control, but that's OK because there is no patent on integral
control. Click here to learn more
about integral control.
If you want to add an
integrator, you may need to review op-amp integrators or learn something
about digital integration. Those are the two common ways of implementing
integral control. You can click
here to see how to implement integral control.