design of disturbance rejection controllers for a magnetic suspension system by: jon dunlap advisor:...
Post on 22-Dec-2015
222 views
TRANSCRIPT
Design of Disturbance Rejection Controllers for a Magnetic Suspension System
By: Jon DunlapAdvisor: Dr. Winfred K.N. Anakwa
Bradley UniversityApril 27, 2006
Outline Of Presentation: Goal System Information Previous Lab Work Preliminary Lab Work Internal Model Principle Design Process Results Conclusion
Goal Multiple Controllers for Multiple Disturbances
Digital Controllers Created In Simulink xPC Target Box Serving as “Controller
Container” Minimize Steady-State Error, Overshoot and
Setting Time
Act As A Stepping Stone From Previous Work Practical Use in Antenna Stabilization
Method Method of Choice:
Internal Model Principle B.A. Francis & W.M. Wonham
The Internal Model Principle of Control Theory, 1976
Chi-Tsong Chen Linear System Theory and Design, 3rd, 1999
Analogous to an Umbrella
Functional Description Host PC using Simulink and xPC software xPC Target Box with Controllers
Magnetic Suspension System Feedback Incorporated 33-210
+Reference
Set P
oint
Error Controller on xPC
Target BoxControl Signal ‘U’ +
Disturbance
Disturbance Model
Magnetic Suspension
System
Photo sensor
Ball Position
Position Signal -
Block Diagram
Controller and Plant
Ball Position
Set Point
Reference Signal
Disturbance
Previous Lab Work
Using Classical Controller Will It Reject Disturbances?
7.67
1/961s +-12
Transfer Fcn1
7.67
1/961s +-12
Transfer Fcn
ste
To Workspace2
sin
To Workspace1Step3
Step1
Step
Sine Wavenum(z)
z -z2
DiscreteTransfer Fcn1
num(z)
z -z2
DiscreteTransfer Fcn
U + DER U
U + DER U
Previous Lab Work Results of Classical Controller With
Disturbance
Rejected Step Disturbance0 0.5 1 1.5 2 2.5 3
0
0.05
0.1
0.15
0.2
0.25
0.3
0.35
.25 Input Reference
input w/.1sin(pi*t) disturbance
input w/ .1 unit-step disturbance
Preliminary Lab Work Laplace Transfer
Functions Found
Later Converted To Discrete Using Zero-order Hold
Disturbance Laplace Equation
k*Cos(a*T)
k*Sin(a*T)
k-unit step
k-unit ramp
22
*
as
sk
22
*
as
ak
s
k
2s
k
Internal Model Principle Uses a Model to Cancel Unstable Poles of
Reference and Disturbance Inputs to Provide Asymptotic Tracking and Disturbance Rejection
Model Is: Least Common Multiple of Unstable or Zero Continuous Denominator Poles Ramp Disturbance Input = 0,0 Step Reference Input = 0 Model = P = 0,0
2s
2s
2s
2ss
Design Approach
Disturbance Removed – Model Inserted Must Stabilize Plant at all Times Disturbance Should Never Affect Plant
Output 3 Known, 2 Unknown A(z)D(z)P(z) + B(z)N(z)
1
Reference
N(z)
D(z)
Plant
B(z)
A(z)*P(z)
Controller w/ Model
E
Diophantine Equation A(z)D(z)P(z) + B(z)N(z) = F(z) Want:
Choose Poles to Form F Polynomial Discrete, Close to 1
Need: Order of Controller
Order of D(z)P(z) – 1 = Order of Controller Order of F
2*(Order of D(z)P(z))-1 = Order of F
Keep In Mind - Account for Model when Implementing Controller
Controller Order Assumes Denominator without Model
Adding Model Increases Order Beyond Designed Value Ex. If D(z)P(z)=4, then Controller=3 But Model=2 so Controller Denominator really should
be 1
012
201
012
23
3 1*
pzpzpaza
bzbzbzb
Pole Placement Ideal Situation
Tsettle = 60ms %O.S. = 18 = .479 Wn=
Wn= 139.1788 Wn<
*Tsettle
4
21100
e%O.S.
001.,*22
TT
Pole Placement Problems and Solution
Complex Poles Give Oscillations Wn < Poles>.92
All Poles Close To 1 Is Too Slow Speed Up With Poles Closer To Origin
Iterative Design Approach Required Working Poles For Ramp Rejection At:
.9947, .9716, .9275, .9, .01 F(z) =
001.,*22
TT
0.0081-0.8408z3.4615z-5.4326z3.8038z-z 2345
Diophantine Solution A(z)D(z)P(z) + B(z)N(z) = F(z)
Combine D(z)P(z) to Equal D*(z)
For Each X(z)=
System of Equations To Be Solved Simultaneously A0D*0+B0N0=F0…AnD*n+BnNn=Fn
nxxx ...10
Diophantine Solution
Using Previous Example:01
012
23
3
aza
bzbzbzb
510
10
10
10
43210
10
43210
321100 ...
0000
0000
0000
*****0
0000
0*****
* fff
nn
nn
nn
ddddd
nn
ddddd
bbbaba
Actual Values For Ramp Controller
N(z) = D(z) = P(z) = F(z) =
B(z) = A(z) =A(z)P(z) =
0.0081-0.8408z3.4615z-5.4326z3.8038z-z 2345
4-6.634e4z-6.634e
12.001z-z2
0.091z
149.3966-458.5402z469.0901z-159.9474z 23
12z-z2
0.091-0.8179z1.909z-z 23
xPC Simulink Implementation
Ref_D_Num(z)
Ref_D_Den(z)
ReferenceTransfer Function
Dis_D_Num(z)
Dis_D_Den(z)
Disturbance Transfer Function
du/dt
Derivative1
du/dt
Derivative
MM-32Diamond
Analog Output1
D/A Output ToPlant
Numd(z)
Dend(z)
ControllerTransferFunction
1
Constant1
1
Constant
MM-32Diamond
Analog Input1
A/D Input FromBall Position
DR
E Uc U+
Results – Stability
1. 2V Step Disturbance at 2.00V Set Point 2. 5V/s Ramp Disturbance at 2.00V Set Point
1. 2.
2.042 2.042
Results – Tracking
1. 5V/s Ramp Disturbance
6Hz .5V Peak-PeakSine Wave Input
5.98Hz .7V Peak-PeakSine Wave Output
Conclusion Problems
Simulation Does Not Match Plant Pole Locations are Hard to Find <300mV Error at Start Up
Future Continue to Implement Sinusoidal and
Square Wave Fine Tune Ramp With Better Poles
Questions?
Magnetic Suspension System Control and Disturbance Signal Create
Current Current Induces Magnetic Field Field Suspends Ball Sensor Translates Location into Voltage
xPC Target Box and Host PC Using ±10 V ADC and DAC Host Uploads Controller and Commands Process Position Data and Passes Control
User Input: Plant, Reference,
Disturbance
Find Roots of Disturbance Denominator
Find Roots of Reference
Denominator
Do Both Have At Least 1 Stable Root?
Display ErrorEnd Program
NoYes
Find Least Common Multiple of
Stable Roots
Convolve Plant Denominator with
Model
Determine Number of Poles Required
Create Plant Matrix Based on Numerator and
Denominator after Convolution
Solve For Compensator Coefficients
Extract Discrete Compensator
Numerator and Denominator
Send To Simulink Block
Convert From Continuous To
Discrete Time with User Input
Sampling Time
Modeling Hybrid Systems“Simulink treats any model that has both continuous and discrete sample times as a hybrid model, presuming that the model has both continuous and discrete states. Solving such a model entails choosing a step size that satisfies both the precision constraint on the continuous state integration and the sample time hit constraint on the discrete states. Simulink meets this requirement by passing the next sample time hit, as determined by the discrete solver, as an additional constraint on the continuous solver. The continuous solver must choose a step size that advances the simulation up to but not beyond the time of the next sample time hit. The continuous solver can take a time step short of the next sample time hit to meet its accuracy constraint but it cannot take a step beyond the next sample time hit even if its accuracy constraint allows it to.”
http://www.mathworks.com/access/helpdesk/help/toolbox/simulink/ug/f7-23387.html