Topic #20
16.30/31 Feedback Control Systems
Digital Control Basics
E ective Delay
Emulation
Fall 2010 16.30/31 20{1
Digital Control
Control picture so far
d
r
G
c
(s)
G
p
(s)
e u
y
Can implement this using analog circuits, but as you have seen, there
are many advantages to implementing these using a computer { much
more exible
In this case the new picture is:
G
c
(s)
D2A
A2D
G
p
(s)
A2D
r(t)
e
k
u
k
u(t)
y(t)
y
k
Digital Computer
November 5, 2010
Fall 2010 16.30/31 20{2
Digital Control Mechanics
Digital/discrete control runs on a clock
Only uses the input signals at discrete instants in time
So continuous e(t) is sampled at xed periods in time e(kT
s
)
Where T
s
is the sampling period and k is an integer
Must also get information into and out of the computer
Requires A/D and D/A operations
The A/D consists of 2 steps:
1.
Convert a physical signal (voltage) to a binary number, which is
an approximation since we will only have a 1216 bits to cover a
10V range.
2.
Sample a continuous signal e(t) every T
s
seconds so that
y(t) y(k)
)
3.
Sampler clearly ignores a large part of the continuous signal.
November 5, 2010
y(t)
y(k)
T
s
Image by MIT OpenCourseWare.
Fall 2010 16.30/31 20{3
The D/A consists of 2 steps as well
1.
Binary to analog
2.
Convert discrete signal (at kT
s
) to a continuous one.
Basic approach is to just hold the latest value of u(k) for the entire
periods T
s
Called a zeroorder hold (ZOH)
Need to determine what impact this \sample and hold" operation
might have on the loop transfer function
Approximate the A/D as sample
Approximate D/A as ZOH
Set control law to 1, so u(k) = e(k)
November 5, 2010
k = 1 1 2 3 4 5 6 7
u(k)
u(t)
Easiest way is to just
hold u(k) for period T
s
?
Image by MIT OpenCourseWare.
y(t) A/D CONTROL D/A u(t)
y(t) ZOH u(t)
T
s
u(k) = y(k)
Image by MIT OpenCourseWare.
Fall 2010 16.30/31 20{4
Sample and Hold Analysis
Can actually analyze the transfer function U(s)=E(e) analytically
Can also gain some insight by looking at basic signals
u(k) has a standard box car shape
Smoothed u(k) by connecting midpoints
)
u^(t)
So sampled and held e(t) looks like input e(t), but delay is obvious.
Analytic study of U(s)=E(e) shows that e ective delay of sample and
hold is T
s
=2 on average
Can be a problem if T
s
is too large
November 5, 2010
Fall 2010 16.30/31 20{5
So why not just make T
s
small?
Key point is that T
s
is how long we have to compute the control
command given the measurements received
Usually wait period is short, but length of calc 1 and calc 2,
A/D and D/A operations depend on the complexity of the algorithm
and the quality of the equipment
But quality
")
cost
""
Typically would set sampling frequency !
2
=
2
15!
BW
T
s
November 5, 2010
Time
Calc #1
Calc #2
Wait
Read: y Read: yWrite: u
Image by MIT OpenCourseWare.
Fall 2010 16.30/31 20{6
Control Law
Basic compensator
s + z U(s)
G
c
(s) = K
c
=
s + p E(s)
Equivalent di erential equation form
u_ + pu = K
c
( _e + ze)
Di erential equation form not useful for a computer implementation
 need to approximate the di erentials
u_
1
[u((k + 1)T
s
)
u(kT
s
)]
u
k+1
u
k
t=kT
s
j
T
s
T
s
This uses the forward approximation, but others exist
Then u_ + pu = K
c
( _e + ze) approximately becomes
u
k+1
u
k
+ pu
k
= K
c
(
e
k+1
e
k
+ ze
k
)
T
s
T
s
or
u
k+1
= (1
pT
s
)u
k
+ K
c
e
k+1
K
c
(1
zT
s
)e
k
which is a recursive di erence equation, that can easily be imple<
mented on a computer.
Similar case for state space controllers
x_
c
= A
c
x
c
+ B
c
e
u = C
c
x
c
+ D
c
e
x
c
(k+1)
x
c
(k)
and x
_
c
T
s
so that
x
c
(k + 1)
x
c
(k)
= A
c
x
c
+ B
c
e
T
s
x
c
(k +1) = (I + T
s
A
c
)x
c
(k) + T
s
B
c
e(k)
u(k) = C
c
x
c
(k) + D
c
e(k)
November 5, 2010
Fall 2010 16.30/31 20{7
Computer Code Layout
Given previous information u
k
and e
k
and new information y
k+1
and
r
k+1
, form e
k+1
Need to use the di erence equation to nd u
k+1
u
k+1
= (1
pT
s
)u
k
+ K
c
e
k+1
K
c
(1
zT
s
)e
k
Then let u
old
= (1
pT
s
)u
k
K
c
(1
zT
s
)e
k
, so that
u
k+1
= K
c
e
k+1
+ u
old
Also de ne constants
1
= (1
pT
s
) and
2
=
K
c
(1
zT
s
)
Then the code layout is as follows:
initialize u
old
while k < 1000 do
k = k +1
sample A/D's (read y
k+1
, r
k+1
)
compute e
k+1
= r
k+1
y
k+1
update u
k+1
= K
c
e
k+1
+ u
old
output to D/A (write u
k+1
)
update u
old
=
1
u
k+1
+
2
e
k+1
wait
end while
Note that this outputs the control as soon after the data read as
possible to reduce the delay
result is that the write time might be unknown
Could write u
k+1
at end of wait { delay is longer, but xed
November 5, 2010
Fall 2010 16.30/31 20{8
Summary
Using a digital computer introduces some extra delay
Sample and hold
T
s
=2 delay
Holding u(k) to end of loop
T
s
delay
So the delay is
T
s
=2{3T
s
=2
Emulation process { design the continuous control accounting for an
extra
!
c
T
s
180
!
c
2 180
!
c
= = 180
2
2!
s
!
s
to the PM to account for the delay.
With !
s
15!
BW
, delay e ects are small, and the cts and discrete
controllers are similar
c2dm.m provides simple ways to discretize the continuous controllers
Lots of di erent conversion approaches depending on what proper<
ties of the continuous controller you want to preserve.
November 5, 2010
MIT OpenCourseWare
http://ocw.mit.edu
16.30
/ 16.31 Feedback Control Systems
Fall 2010
For information about citing these materials or our Terms of Use, visit:
http://ocw.mit.edu/terms.
Enter the password to open this PDF file:
File name:

File size:

Title:

Author:

Subject:

Keywords:

Creation Date:

Modification Date:

Creator:

PDF Producer:

PDF Version:

Page Count:

Preparing document for printing…
0%
Comments 0
Log in to post a comment