1. 2-DOF Pole Placement Controller - Moudgalyamoudgalya.org/digital-slides/pp-basic-1.pdf · 1....
Transcript of 1. 2-DOF Pole Placement Controller - Moudgalyamoudgalya.org/digital-slides/pp-basic-1.pdf · 1....
1. 2-DOF Pole Placement Controller
1. 2-DOF Pole Placement Controller
Consider a plant with transfer function
G(z) = z−kB(z)
A(z),
1. 2-DOF Pole Placement Controller
Consider a plant with transfer function
G(z) = z−kB(z)
A(z),
• B(z) and A(z) are coprime, i.e. no common factor
1. 2-DOF Pole Placement Controller
Consider a plant with transfer function
G(z) = z−kB(z)
A(z),
• B(z) and A(z) are coprime, i.e. no common factor
• Want output y to be related to setpoint r as,
1. 2-DOF Pole Placement Controller
Consider a plant with transfer function
G(z) = z−kB(z)
A(z),
• B(z) and A(z) are coprime, i.e. no common factor
• Want output y to be related to setpoint r as,
Ym(z) = γz−kBr
φclR(z)
1. 2-DOF Pole Placement Controller
Consider a plant with transfer function
G(z) = z−kB(z)
A(z),
• B(z) and A(z) are coprime, i.e. no common factor
• Want output y to be related to setpoint r as,
Ym(z) = γz−kBr
φclR(z)
• φcl is ch. polynomial from desired region analysis
1. 2-DOF Pole Placement Controller
Consider a plant with transfer function
G(z) = z−kB(z)
A(z),
• B(z) and A(z) are coprime, i.e. no common factor
• Want output y to be related to setpoint r as,
Ym(z) = γz−kBr
φclR(z)
• φcl is ch. polynomial from desired region analysis
• γ - chosen so that at steady state Ym = R:
1. 2-DOF Pole Placement Controller
Consider a plant with transfer function
G(z) = z−kB(z)
A(z),
• B(z) and A(z) are coprime, i.e. no common factor
• Want output y to be related to setpoint r as,
Ym(z) = γz−kBr
φclR(z)
• φcl is ch. polynomial from desired region analysis
• γ - chosen so that at steady state Ym = R:
γ =φcl(1)
Br(1)Digital Control 1 Kannan M. Moudgalya, Autumn 2007
2. 2-DOF Pole Placement Controller
2. 2-DOF Pole Placement Controller
Look for a controller of the form,
Rc(z)U(z) = γTc(z)R(z)− Sc(z)Y (z)
2. 2-DOF Pole Placement Controller
Look for a controller of the form,
Rc(z)U(z) = γTc(z)R(z)− Sc(z)Y (z)
Rc(z), Sc(z) and Tc(z) are polynomials in z−1,
2. 2-DOF Pole Placement Controller
Look for a controller of the form,
Rc(z)U(z) = γTc(z)R(z)− Sc(z)Y (z)
Rc(z), Sc(z) and Tc(z) are polynomials in z−1,to be determined.
2. 2-DOF Pole Placement Controller
Look for a controller of the form,
Rc(z)U(z) = γTc(z)R(z)− Sc(z)Y (z)
Rc(z), Sc(z) and Tc(z) are polynomials in z−1,to be determined.
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Digital Control 2 Kannan M. Moudgalya, Autumn 2007
3. 2-DOF Pole Placement Controller
3. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
3. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
The controller has two components:
3. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
The controller has two components:
1. Feedback for internal stability.
3. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
The controller has two components:
1. Feedback for internal stability.
2. Feedforward for Y to track R.
3. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
The controller has two components:
1. Feedback for internal stability.
2. Feedforward for Y to track R.Known as the two degrees of freedom controller.
Digital Control 3 Kannan M. Moudgalya, Autumn 2007
4. 2-DOF Pole Placement Controller
4. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
4. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Y =
4. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Y =z−kBA
1 + z−kBAScRc
γTc
RcR
4. 2-DOF Pole Placement Controller
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Y =z−kBA
1 + z−kBAScRc
γTc
RcR
= γz−kBTc
ARc + z−kBScR
Digital Control 4 Kannan M. Moudgalya, Autumn 2007
5. 2-DOF Pole Placement Controller
5. 2-DOF Pole Placement Controller
Y = γz−kBTc
ARc + z−kBScR
5. 2-DOF Pole Placement Controller
Y = γz−kBTc
ARc + z−kBScR
Want Y to behave like Ym:
5. 2-DOF Pole Placement Controller
Y = γz−kBTc
ARc + z−kBScR
Want Y to behave like Ym:
Ym(z) = γz−kBr
φclR(z)
5. 2-DOF Pole Placement Controller
Y = γz−kBTc
ARc + z−kBScR
Want Y to behave like Ym:
Ym(z) = γz−kBr
φclR(z)
Equate the two and cancel the common factors:
5. 2-DOF Pole Placement Controller
Y = γz−kBTc
ARc + z−kBScR
Want Y to behave like Ym:
Ym(z) = γz−kBr
φclR(z)
Equate the two and cancel the common factors:
BTc
ARc + z−kBSc=Br
φcl
5. 2-DOF Pole Placement Controller
Y = γz−kBTc
ARc + z−kBScR
Want Y to behave like Ym:
Ym(z) = γz−kBr
φclR(z)
Equate the two and cancel the common factors:
BTc
ARc + z−kBSc=Br
φcldeg Br < deg B
Digital Control 5 Kannan M. Moudgalya, Autumn 2007
6. 2-DOF Pole Placement Controller
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φcl
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb,
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
g: good, b: bad.
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
g: good, b: bad. Example: good ≡ roots inside unit circle.
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
g: good, b: bad. Example: good ≡ roots inside unit circle.
Tc = AgT1,
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
g: good, b: bad. Example: good ≡ roots inside unit circle.
Tc = AgT1, Rc = BgR1,
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
g: good, b: bad. Example: good ≡ roots inside unit circle.
Tc = AgT1, Rc = BgR1, Sc = AgS1,
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
g: good, b: bad. Example: good ≡ roots inside unit circle.
Tc = AgT1, Rc = BgR1, Sc = AgS1,
The last equation becomes
BbBgAgT1
AbAgBgR1 + z−kBbBgAgS1
=Br
φcl
6. 2-DOF Pole Placement Controller
BTc
ARc + z−kBSc=Br
φclLet B = BgBb, A = AgAb
g: good, b: bad. Example: good ≡ roots inside unit circle.
Tc = AgT1, Rc = BgR1, Sc = AgS1,
The last equation becomes
BbBgAgT1
AbAgBgR1 + z−kBbBgAgS1
=Br
φclCancelling good common factors,
BbT1
AbR1 + z−kBbS1
=Br
φclDigital Control 6 Kannan M. Moudgalya, Autumn 2007
7. Aryabhatta’s Identity
7. Aryabhatta’s Identity
Recall from the previous slide:
BbT1
AbR1 + z−kBbS1=Br
φcl
7. Aryabhatta’s Identity
Recall from the previous slide:
BbT1
AbR1 + z−kBbS1=Br
φcl
Equate numerator and denominator:
Br = BbT1
7. Aryabhatta’s Identity
Recall from the previous slide:
BbT1
AbR1 + z−kBbS1=Br
φcl
Equate numerator and denominator:
Br = BbT1
AbR1 + z−kBbS1 = φcl
7. Aryabhatta’s Identity
Recall from the previous slide:
BbT1
AbR1 + z−kBbS1=Br
φcl
Equate numerator and denominator:
Br = BbT1
AbR1 + z−kBbS1 = φcl
• Known as Aryabhatta’s Identity
7. Aryabhatta’s Identity
Recall from the previous slide:
BbT1
AbR1 + z−kBbS1=Br
φcl
Equate numerator and denominator:
Br = BbT1
AbR1 + z−kBbS1 = φcl
• Known as Aryabhatta’s Identity
• It can be solved for R1 and S1
7. Aryabhatta’s Identity
Recall from the previous slide:
BbT1
AbR1 + z−kBbS1=Br
φcl
Equate numerator and denominator:
Br = BbT1
AbR1 + z−kBbS1 = φcl
• Known as Aryabhatta’s Identity
• It can be solved for R1 and S1
• One choice for T1 is T1 = 1Digital Control 7 Kannan M. Moudgalya, Autumn 2007
8. 2-DOF: Closed Loop Transfer Function
8. 2-DOF: Closed Loop Transfer Function
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
8. 2-DOF: Closed Loop Transfer Function
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Desired closed loop relation:
8. 2-DOF: Closed Loop Transfer Function
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Desired closed loop relation:
Ym(z) = γz−kBr
φclR(z)
8. 2-DOF: Closed Loop Transfer Function
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Desired closed loop relation:
Ym(z) = γz−kBr
φclR(z) = γz−k
BbT1
φclR(z)
8. 2-DOF: Closed Loop Transfer Function
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Desired closed loop relation:
Ym(z) = γz−kBr
φclR(z) = γz−k
BbT1
φclR(z)
• If Bb 6= 1,
8. 2-DOF: Closed Loop Transfer Function
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Desired closed loop relation:
Ym(z) = γz−kBr
φclR(z) = γz−k
BbT1
φclR(z)
• If Bb 6= 1, it will appear as a part of closed looptransfer function.
8. 2-DOF: Closed Loop Transfer Function
yγ
Tc(z)
Rc(z)G = z−k
B(z)
A(z)
Sc(z)
Rc(z)
r u
−
Desired closed loop relation:
Ym(z) = γz−kBr
φclR(z) = γz−k
BbT1
φclR(z)
• If Bb 6= 1, it will appear as a part of closed looptransfer function.
• That is, bad zeros of original transfer function can-not be changed by feedback.
Digital Control 8 Kannan M. Moudgalya, Autumn 2007
9. Recall: Magnetically Suspended Ball
−
+
g
R L
V
M
hi
• Current through coil induces magnetic force
•Magnetic force balances gravity
• Ball is suspended in midair - 1 cm from core
•Want to move to another equilibrium
Digital Control 9 Kannan M. Moudgalya, Autumn 2007
10. Magnetically Suspended Ball - Ctd.
−
+
g
R L
V
M
hi
Force balance:
Md2h
dt2= Mg − Ki
2
h
Voltage balance
V = Ldi
dt+ iR
Digital Control 10 Kannan M. Moudgalya, Autumn 2007
11. Magnetically Suspended Ball - Ctd.
In matrix form:
d
dt
x1x2x3
=
0 1 0
K
M
i2sh2s
0 −2K
M
is
hs
0 0 −RL
x1x2x3
+
001L
uwhere,
x14= ∆h x2
4= ∆h
x34= ∆i u
4= ∆V
Digital Control 11 Kannan M. Moudgalya, Autumn 2007
12. Assign Values to Magnetically Suspended Ball
d
dt
x1
x2
x3
=
0 1 0
K
M
i2sh2s
0 −2K
M
is
hs
0 0 −RL
x1
x2
x3
+
001L
uM Mass of ball 0.05 KgL Inductance 0.01 HR Resistance 1 ΩK Coefficient 0.0001g Acceleration due to gravity 9.81 m/s2
hs Equilibrium Distance 0.01 mis Current at equilibrium 7A
Digital Control 12 Kannan M. Moudgalya, Autumn 2007
13. Model of Magnetically Suspended Ball
13. Model of Magnetically Suspended Ball
d
dt
x1x2x3
=
0 1 0981 0 −2.8010 0 −100
x1x2x3
+
00
100
u
13. Model of Magnetically Suspended Ball
d
dt
x1x2x3
=
0 1 0981 0 −2.8010 0 −100
x1x2x3
+
00
100
uy = Cx,
13. Model of Magnetically Suspended Ball
d
dt
x1x2x3
=
0 1 0981 0 −2.8010 0 −100
x1x2x3
+
00
100
uy = Cx,
C =[1 0 0
]
13. Model of Magnetically Suspended Ball
d
dt
x1x2x3
=
0 1 0981 0 −2.8010 0 −100
x1x2x3
+
00
100
uy = Cx,
C =[1 0 0
]x14= ∆h, x2
4= ∆h, x3
4= ∆i
Only displacement is measured.
13. Model of Magnetically Suspended Ball
d
dt
x1x2x3
=
0 1 0981 0 −2.8010 0 −100
x1x2x3
+
00
100
uy = Cx,
C =[1 0 0
]x14= ∆h, x2
4= ∆h, x3
4= ∆i
Only displacement is measured. G = C(sI−A)−1B:
13. Model of Magnetically Suspended Ball
d
dt
x1x2x3
=
0 1 0981 0 −2.8010 0 −100
x1x2x3
+
00
100
uy = Cx,
C =[1 0 0
]x14= ∆h, x2
4= ∆h, x3
4= ∆i
Only displacement is measured. G = C(sI−A)−1B:
G(s) =−280.14
s3 + 100s2 − 981s− 98100Digital Control 13 Kannan M. Moudgalya, Autumn 2007
14. Magnetically Suspended Ball - Discrete Model
14. Magnetically Suspended Ball - Discrete Model
• Sample continuous time model using Ts = 0.01s
14. Magnetically Suspended Ball - Discrete Model
• Sample continuous time model using Ts = 0.01s
• Using myc2d.sci,
14. Magnetically Suspended Ball - Discrete Model
• Sample continuous time model using Ts = 0.01s
• Using myc2d.sci,
G(z) =
z−1(−3.7209× 10−5 − 1.1873× 10−4z−1 − 2.2597× 10−5z−2)
1− 2.4668z−1 + 1.7721z−2 − 0.3679z−3
14. Magnetically Suspended Ball - Discrete Model
• Sample continuous time model using Ts = 0.01s
• Using myc2d.sci,
G(z) =
z−1(−3.7209× 10−5 − 1.1873× 10−4z−1 − 2.2597× 10−5z−2)
1− 2.4668z−1 + 1.7721z−2 − 0.3679z−3
= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
14. Magnetically Suspended Ball - Discrete Model
• Sample continuous time model using Ts = 0.01s
• Using myc2d.sci,
G(z) =
z−1(−3.7209× 10−5 − 1.1873× 10−4z−1 − 2.2597× 10−5z−2)
1− 2.4668z−1 + 1.7721z−2 − 0.3679z−3
= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
= z−kB
A
14. Magnetically Suspended Ball - Discrete Model
• Sample continuous time model using Ts = 0.01s
• Using myc2d.sci,
G(z) =
z−1(−3.7209× 10−5 − 1.1873× 10−4z−1 − 2.2597× 10−5z−2)
1− 2.4668z−1 + 1.7721z−2 − 0.3679z−3
= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
= z−kB
A
Digital Control 14 Kannan M. Moudgalya, Autumn 2007
15. Magnetically Suspended Ball - Splitting
15. Magnetically Suspended Ball - Splitting
Recall from the previous slide:
z−kB
A= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
15. Magnetically Suspended Ball - Splitting
Recall from the previous slide:
z−kB
A= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
Split A and B into good and bad parts:
15. Magnetically Suspended Ball - Splitting
Recall from the previous slide:
z−kB
A= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
Split A and B into good and bad parts:
A = AgAb
15. Magnetically Suspended Ball - Splitting
Recall from the previous slide:
z−kB
A= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
Split A and B into good and bad parts:
A = AgAb
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
15. Magnetically Suspended Ball - Splitting
Recall from the previous slide:
z−kB
A= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
Split A and B into good and bad parts:
A = AgAb
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
15. Magnetically Suspended Ball - Splitting
Recall from the previous slide:
z−kB
A= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
Split A and B into good and bad parts:
A = AgAb
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
• Good parts have their roots inside the unit circle
15. Magnetically Suspended Ball - Splitting
Recall from the previous slide:
z−kB
A= z−1−3.7209× 10−5(1 + 2.9877z−1)(1 + 0.2033z−1)
(1− 1.3678z−1)(1− 0.7311z−1)(1− 0.3679z−1)
Split A and B into good and bad parts:
A = AgAb
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
• Good parts have their roots inside the unit circle
• We also have k = 1
Digital Control 15 Kannan M. Moudgalya, Autumn 2007
16. Recall: Small Fall Time in Error
e(n) = ρn cosωn, 0 < ρ < 1
Error becomes zero, i.e.,
e(n) = 0.
for the first time when
ωn =π
2
⇒ n =π
2ω
As want n < Nr, some given value, we get
π
2ω< Nr ⇒ ω >
π
2Nr
n
e(n)
n
y(n)
Desired region:Im(z)
Re(z)
Digital Control 16 Kannan M. Moudgalya, Autumn 2007
17. Recall: Small Undershoot
e(n) = ρn cosωn
When does it reach first min.? de/dn = 0
• Not applicable, because n is an integer
• Look for a simpler expression
• Reaches min. approx. when ωn = π
e(n)|ωn=π = ρn cosωn|ωn=π
= −ρn|ωn=π = −ρπ/ω
User specified maximum deviation = ε:
ρπ/ω < ε, ρ < εω/π
n
e(n)
n
y(n)
Desired region:Im(z)
Re(z)
Digital Control 17 Kannan M. Moudgalya, Autumn 2007
18. Determination of φcl
18. Determination of φcl
Ts = 0.01.
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
N ≤ rise time/Ts
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
N ≤ rise time/Ts = 15
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
N ≤ rise time/Ts = 15
Choose
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
N ≤ rise time/Ts = 15
Choose
N = 15
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
N ≤ rise time/Ts = 15
Choose
N = 15
ω =π
2N
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
N ≤ rise time/Ts = 15
Choose
N = 15
ω =π
2N=π
30
18. Determination of φcl
Ts = 0.01. Transient specifications for a step input:
Steady state error ≤ 2%,
Overshoot = ε ≤ 5%
Settling time ≤ 0.5s
Guess
Rise time ≤ 0.15s
N ≤ rise time/Ts = 15
Choose
N = 15
ω =π
2N=π
30= 0.1047
Digital Control 18 Kannan M. Moudgalya, Autumn 2007
19. Determination of φcl
19. Determination of φcl
Overshoot constraint:
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
Choose
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
Choose
ρ = 0.905
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
Choose
ρ = 0.905
• Desired closed loop poles are at ρe±jω
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
Choose
ρ = 0.905
• Desired closed loop poles are at ρe±jω
• From the previous slide, ω = 0.1047
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
Choose
ρ = 0.905
• Desired closed loop poles are at ρe±jω
• From the previous slide, ω = 0.1047
φcl(z) = (z − ρejω)(z − ρe−jω)
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
Choose
ρ = 0.905
• Desired closed loop poles are at ρe±jω
• From the previous slide, ω = 0.1047
φcl(z) = (z − ρejω)(z − ρe−jω)
= 1− 2z−1ρ cosω + ρ2z−2
19. Determination of φcl
Overshoot constraint:
ρ ≤ εω/π = 0.050.1047/π = 0.905
Choose
ρ = 0.905
• Desired closed loop poles are at ρe±jω
• From the previous slide, ω = 0.1047
φcl(z) = (z − ρejω)(z − ρe−jω)
= 1− 2z−1ρ cosω + ρ2z−2
= 1− 1.8z−1 + 0.819z−2
Digital Control 19 Kannan M. Moudgalya, Autumn 2007
20. Controller Design
20. Controller Design
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
20. Controller Design
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
φcl = 1− 1.8z−1 + 0.819z−2
20. Controller Design
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
φcl = 1− 1.8z−1 + 0.819z−2
Want to solve Aryabhatta’s identity: AbR1+z−kBbS1 = φcl.
20. Controller Design
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
φcl = 1− 1.8z−1 + 0.819z−2
Want to solve Aryabhatta’s identity: AbR1+z−kBbS1 = φcl.
(1− 1.3678z−1)R1 + z−1(1 + 2.9877z−1)S1
= 1− 1.8z−1 + 0.819z−2
20. Controller Design
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
φcl = 1− 1.8z−1 + 0.819z−2
Want to solve Aryabhatta’s identity: AbR1+z−kBbS1 = φcl.
(1− 1.3678z−1)R1 + z−1(1 + 2.9877z−1)S1
= 1− 1.8z−1 + 0.819z−2
Using xdync.sci,
20. Controller Design
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
φcl = 1− 1.8z−1 + 0.819z−2
Want to solve Aryabhatta’s identity: AbR1+z−kBbS1 = φcl.
(1− 1.3678z−1)R1 + z−1(1 + 2.9877z−1)S1
= 1− 1.8z−1 + 0.819z−2
Using xdync.sci, we get S1 = 0.0523, R1 = 1− 0.4845z−1
Digital Control 20 Kannan M. Moudgalya, Autumn 2007
21. ball basic.sce
21. ball basic.sce
1 / / U p d a t e d ( 5 − 8 − 0 7 )
2 / / 9 . 1
3
4 / / M a g n e t i c a l l y s u s p e n d e d b a l l p r o b l e m
5 / / O p e r a t i n g c o n d i t i o n s
6
7 M = 0 . 0 5 ; L = 0 . 0 1 ; R = 1 ; K = 0 . 0001 ; g = 9 . 8 1 ;8
9 / / E q u i l i b r i u m c o n d i t i o n s
10 hs = 0 . 0 1 ; i s = sqrt (M∗g∗hs /K) ;11
12 / / S t a t e s p a c e m a t r i c e s
13 a21 = K∗ i s ˆ2/M/hs ˆ2 ; a23 = − 2∗K∗ i s /M/hs ; a33 = − R/L ;14 b3 = 1/L ;15 a1 = [0 1 0 ; a21 0 a23 ; 0 0 a33 ] ;16 b1 = [ 0 ; 0 ; b3 ] ; c1 = [1 0 0 ] ; d1 = 0 ;17
18 / / T r a n s f e r f u n c t i o n s
19 G = s y s l i n ( ’ c ’ , a1 , b1 , c1 , d1 ) ; Ts = 0 . 0 1 ;Digital Control 21 Kannan M. Moudgalya, Autumn 2007
20 [B ,A , k ] = myc2d (G, Ts ) ;21
22 / / p o l y n o m i a l s a r e r e t u r n e d
23 [ Ds , num , den ] = s s2 t f (G ) ;24 num = clean (num ) ; den = clean ( den ) ;25
26 / / T r a n s i e n t s p e c i f i c a t i o n s
27 r i s e = 0 . 1 5 ; e p s i l o n = 0 . 0 5 ;28 ph i = d e s i r e d (Ts , r i s e , e p s i l o n ) ;29
30 / / C o n t r o l l e r d e s i g n
31 [ Rc , Sc , Tc ,gamm] = pp b a s i c (B,A , k , ph i ) ;32
33 / / S e t t i n g u p s i m u l a t i o n p a r a m e t e r s f o r b a s i c . c o s
34 s t = 0 . 0 001 ; / / d e s i r e d c h a n g e i n h , i n m .
35 t i n i t = 0 ; / / s i m u l a t i o n s t a r t t i m e
36 t f i n a l = 0 . 5 ; / / s i m u l a t i o n e n d t i m e
37
38 / / S e t t i n g u p s i m u l a t i o n p a r a m e t e r s f o r c s s c l . c o s
39 N var = 0 ; x I n i t i a l = [0 0 0 ] ; N = 1 ; C = 0 ; D = 1 ;40
41 [ Tc1 , Rc1 ] = c o s f i l i p (Tc , Rc ) ; / / T c / R c
Digital Control 22 Kannan M. Moudgalya, Autumn 2007
42 [ Sc2 , Rc2 ] = c o s f i l i p ( Sc , Rc ) ; / / S c / R c
43
44 [ Tcp1 , Tcp2 ] = c o s f i l i p (Tc , 1 ) ; / / T c / 1
45 [ Np , Rcp ] = c o s f i l i p (N, Rc ) ; / / 1 / R c
46 [ Scp1 , Scp2 ] = c o s f i l i p ( Sc , 1 ) ; / / S c / 1
47 [ Cp ,Dp ] = c o s f i l i p (C ,D) ; / / C / D
Digital Control 23 Kannan M. Moudgalya, Autumn 2007
22. desired.sci
22. desired.sci
1 / / U p d a t e d ( 2 6 − 7 − 0 7 )
2 / / 9 . 4
3 funct ion [ ph i , dph i ] = d e s i r e d (Ts , r i s e , e p s i l o n )4
5 Nr = r i s e /Ts ; omega = %pi/2/Nr ; rho = e p s i l o n ˆ( omega/%pi ) ;6 ph i = [1 −2∗rho ∗cos ( omega ) rho ˆ 2 ] ; dph i = length ( ph i )−1;7 endfunction ;
Digital Control 24 Kannan M. Moudgalya, Autumn 2007
23. pp basic.sci
23. pp basic.sci
1 / / U p d a t e d ( 2 6 − 7 − 0 7 )
2 / / 9 . 5
3 / / f u n c t i o n [ R c , S c , T c , g a m m a ] = p p b a s i c ( B , A , k , p h i )
4 / / c a l c u l a t e s p o l e p l a c e m e n t c o n t r o l l e r
5 / / −−−−−−
6
7 funct ion [ Rc , Sc , Tc ,gamm] = pp b a s i c (B,A, k , ph i )8
9 / / S e t t i n g u p a n d s o l v i n g A r y a b h a t t a i d e n t i t y
10 pause11 [ Ag , Ab ] = p o l s p l i t 2 (A ) ; dAb = length (Ab) − 1 ;12 \pause13 [ Bg , Bb ] = p o l s p l i t 2 (B ) ; dBb = length (Bb) − 1 ;14 pause15
16 [ zk , dzk ] = zpowk ( k ) ;17
18 [N, dN ] = po lmul (Bb , dBb , zk , dzk ) ;19 dph i = length ( ph i ) − 1 ;20
Digital Control 25 Kannan M. Moudgalya, Autumn 2007
21 [ S1 , dS1 , R1 , dR1 ] = xdync (N, dN , Ab , dAb , phi , dph i ) ;22 pause23
24 / / D e t e r m i n a t i o n o f c o n t r o l l a w
25 Rc = convol (Bg , R1 ) ; Sc = convol (Ag , S1 ) ;26 Tc = Ag ; gamm = sum( ph i )/sum(Bb ) ;27
28 endfunction ;
Digital Control 26 Kannan M. Moudgalya, Autumn 2007
24. Controller Performance
24. Controller Performance
0
2e-05
4e-05
6e-05
8e-05
0.0001
0.00012
0 0.1 0.2 0.3 0.4 0.5
y(n)
t(s)
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0 0.1 0.2 0.3 0.4 0.5
u(n)
t(s)
24. Controller Performance
0
2e-05
4e-05
6e-05
8e-05
0.0001
0.00012
0 0.1 0.2 0.3 0.4 0.5
y(n)
t(s)
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0 0.1 0.2 0.3 0.4 0.5
u(n)
t(s)
• Overshoot constraint, settling time constraints are met
24. Controller Performance
0
2e-05
4e-05
6e-05
8e-05
0.0001
0.00012
0 0.1 0.2 0.3 0.4 0.5
y(n)
t(s)
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0 0.1 0.2 0.3 0.4 0.5
u(n)
t(s)
• Overshoot constraint, settling time constraints are met
• Settling time constraint also is met
24. Controller Performance
0
2e-05
4e-05
6e-05
8e-05
0.0001
0.00012
0 0.1 0.2 0.3 0.4 0.5
y(n)
t(s)
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0 0.1 0.2 0.3 0.4 0.5
u(n)
t(s)
• Overshoot constraint, settling time constraints are met
• Settling time constraint also is met
• The auxiliary condition on rise time is not met, however
24. Controller Performance
0
2e-05
4e-05
6e-05
8e-05
0.0001
0.00012
0 0.1 0.2 0.3 0.4 0.5
y(n)
t(s)
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0 0.1 0.2 0.3 0.4 0.5
u(n)
t(s)
• Overshoot constraint, settling time constraints are met
• Settling time constraint also is met
• The auxiliary condition on rise time is not met, however
• Try reducing the required rise timeDigital Control 27 Kannan M. Moudgalya, Autumn 2007
25. Controller Design with Rise Time = 0.1s
25. Controller Design with Rise Time = 0.1s
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
25. Controller Design with Rise Time = 0.1s
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
ε = 0.05
r = 0.8609
ω = 0.1571
25. Controller Design with Rise Time = 0.1s
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
ε = 0.05
r = 0.8609
ω = 0.1571
φcl = 1− 1.7006z−1 + 0.7411z−2
25. Controller Design with Rise Time = 0.1s
Ag = (1− 0.7311z−1)(1− 0.3679z−1)
Ab = (1− 1.3678z−1)
Bg = −3.7209× 10−5(1 + 0.2033z−1)
Bb = (1 + 2.9877z−1)
k = 1
ε = 0.05
r = 0.8609
ω = 0.1571
φcl = 1− 1.7006z−1 + 0.7411z−2
R1 = 1− 0.3984z−1
S1 = 0.0657Digital Control 28 Kannan M. Moudgalya, Autumn 2007
26. Controller Design with Rise Time = 0.1s
26. Controller Design with Rise Time = 0.1s
0
2e-05
4e-05
6e-05
8e-05
0.0001
0.00012
0 0.1 0.2 0.3 0.4 0.5
y(n)
t(s)
-0.03
-0.02
-0.01
0
0.01
0.02
0.03
0.04
0 0.1 0.2 0.3 0.4 0.5
u(n)
t(s)
All requirements have been met
Digital Control 29 Kannan M. Moudgalya, Autumn 2007