Computer Control: An Overview Wittenmark, strm, rzn - PowerPoint PPT Presentation

1 / 31
About This Presentation
Title:

Computer Control: An Overview Wittenmark, strm, rzn

Description:

Sampling instants: times when the measured physical variables are ... throttle position in an automobile - amplifier output voltage - aircraft control surfaces ... – PowerPoint PPT presentation

Number of Views:64
Avg rating:3.0/5.0
Slides: 32
Provided by: wayn118
Category:

less

Transcript and Presenter's Notes

Title: Computer Control: An Overview Wittenmark, strm, rzn


1
Computer Control An Overview Wittenmark,
Åström, Årzén
  • Computer controlled Systems
  • The sampling process
  • Approximation of continuous time controllers
  • Aliasing and new Frequencies Anti-aliasing
    filters
  • PID Control Discretization, integrator windup
  • Real time implementation

2
Computer controlled systems
Quantization in time and magnitude
3
The sampling process
  • Periodic sampling
  • Sampling instants times when the measured
    physical variables are converted into digital
    form
  • Sampling period time between two sampling
    instants (denoted by h or T)

4
Sampling and Reconstruction
  • Sampler A device that converts a continuous time
    signal into a sequence of numbers, e.g., A/D
    converter
  • A/D 8-16 bits ? 28 to 216 levels of
    quantization, normally higher than the precision
    of physical sensor
  • Reconstructor Converts numbers from the computer
    to analog signals
  • D/A converter combined with a hold circuit (Zero
    Order Hold)

5
Discretization of continuous controllers
k
J
Disk drive system controller design Analysis
done on board
6
Sampling continuous signals
7
Aliasing and new frequencies
  • Can information be lost by sampling a continuous
    time signal?
  • ? sin(2p 0.9t) sin(2p 0.1t)
  • Are sampled values obtained from a low frequency
    signal or a high frequency signal? ? It may be
    possible that some continuous signal CANNOT be
    recovered from the sampled signal
  • ? May have loss of information

8
Shannons Sampling Theorem (1949)
  • If a signal contains no frequencies above w0,
    then the continuous time signal can be uniquely
    reconstructed from a periodically sampled
    sequence provided the sampling frequency is
    higher than 2w0 (Nyquist rate)

Can recover 0.1 Hz but not 0.9 Hz
9
Sampling Theory- Example
  • Can recover 0.1 Hz but not 0.9 Hz
  • What should be the sampling frequency for
    recovering the 0.9 Hz sinusoidal?

10
Aliasing Anti-aliasing Filters
  • Aliasing (or frequency folding) High frequency
    signal interpreted as a low frequency signal when
    sampled at lower than the Nyquist rate (the
    0.91-0.1 Hz signal)



w1
ws
-w1
ws-w1
wsw1
11
anti-aliasing filters
  • To prevent aliasing
  • Remove all frequencies above the Nyquist
    frequency before sampling the signal.
  • Antialiasing filter (low pass analog filter)
  • High attenuation at and above Nyquist frequency
  • Bessel/Butterworth filters (order 2-6)

12
Example Pre-filtering
  • Square wave 0.9 Hz sine disturbance

Filtered by a 0.25Hz LPF.
Sampled values
Sampled at 1 Hz (alias freq 0.1 Hz)
13
Summary
  • Information can be lost through sampling if the
    signal contains frequencies higher than the
    Nyquist frequency.
  • Sampling creates new frequencies (aliases).

14
summary
  • Aliasing makes it necessary to filter the
  • signals before they are sampled.
  • Effect of the anti-aliasing filters must
  • be considered when designing controllers.
  • ? The dynamics can be neglected if the sampling
  • period is sufficiently short.

15
Computer control (Wittenmark, Astrom, Arzen)
  • PID Control Discretization, saturation and
    windup
  • Other practical issues

16
PID Control
  • Most common controller
  • e error, K gain, Ti integration time, Td
    derivative time
  • System error as K 1/Ti , stability improves
    as Td , increasing 1/Ti reduces stability
  • Originally implemented using analog technology

17
PID Control Discretization
  • Modifications to PID
  • Derivative term
  • Derivative not acting on the command signal

N gain at high freq 3-20
18
Discretization of PID Controller
  • Proportional part needs no approximation
  • Integral part
  • ? can be approximated as

19
.. Discretization of PID PID
  • Derivative part D(t)
  • ? use backward differences for approximation

20
Integrator windup
  • Actuators can become saturated due to large
    inputs
  • Examples of saturated actuators
  • - throttle position in an automobile
  • - amplifier output voltage
  • - aircraft control surfaces

21
A taste of the practical world
  • If error is large, Integral Control can saturate
    the actuator.

uc
reference
u
System
y
PID

error
-
  • Integrator output can become large (windup) with
    no effect on the output (due to saturation).

22
integrator windup
  • Integrator output winds up until the sign of e(t)
    changes and the integration turns the other way
    around ?Solution Reset integrator when actuator
    is saturated

Using anti-windup
Desired output
Without anti windup
y
uc
23
PID implementation
Signals
States
Parameters double Kp, Ki, Kd double Ts
//Sampling time double ul, uh //output limits

double uc // set point double y // measured
variable double v // control output double u
//limited control output
double I 0 //Integral part double D 0
//Derivative part double yold0 //delayed
measured variable
24
PID class
PID Signals signals States states Parameters
par double calculateOutput(uc, y) void
updateState(double u)

oo
Calculate, Perform integrator anti-windup
25
Main program
  • main( )
  • double uc, y, u
  • PID pid new PID( ) // Can pass parameters
    here
  • long time getCurrentTimeMillis( ) // Get
    current time
  • while (true)
  • y readY( ) uc readUc( )
  • u pid.calculateOutput(uc,y)
  • writeU(u)
  • pid.updateState(u)
  • time time pid.par.Ts1000 // Increment time
  • waitUntil(time) // Wait until "time- RTOS call

26
void updateState(double u)
  • void updateState(double u)
  • states.I states.I par.bi(signals.uc -
    signals.y) par.ar(u - signals.v)
  • states.yold signals.y

27
calculateOutput( )
  • double calculateOutput(double uc, double y)
  • .
  • double P par.K(par.buc - y)
  • states.D par.adstates.D - par.bd(y -
    states.yold)
  • signals.v P states.I states.D
  • if (signals.v lt par.ulow)
  • signals.u par.ulow
  • else
  • if (signals.v gt par.uhigh)
  • signals.u par.uhigh
  • else
  • signals.u signals.v
  • return signals.u

28
Summary of PID
  • PID is a useful controller.
  • Things to consider
  • Filtering of the derivative term
  • Updating the integrator
  • Anti windup compensation

29
Some practical issues
  • Numerical accuracy is improved if more bits are
    used
  • float coeff vs double coeff (64 bits)
  • A/D and D/A ? Much less accuracy
  • Typical resolutions 8, 12, 16 bits
  • Better to have a good resolution at the A/D
    converter than D/A
  • A control system is less crucial for a quantized
    signal applied to the input of the plant.

30
practical issues
  • Nonlinearities such as quantization by A/D can
    result in oscillations
  • Do simulations to find out if A/D, D/A
    resolutions can improve performance
  • Selection of the sampling period
  • A common rule wT 0.1 to 0.6,
  • w desired BW of the closed-loop system

31
practical issues
  • Anti-aliasing filters
  • Must provide attenuation at Nyquist frequency
  • Anti-reset windup is important to include in the
    controller.
Write a Comment
User Comments (0)
About PowerShow.com