Controle de Processos p2
Controle de Processos p2
Controle de Processos p2
Equações Equações
Diferenciais de Estado
Função de Diagrama
Transferência de Simulação
+ +
u C y=vc
- -
+
+
ea eb J
-
- ωm f
θm
H1+h1(t)
H2+h2(t)
k1
A1 A2
Q1+q (t) Q d +q d (t)
1
Exemplo Ponte T.
v c2
- +
C2
R R
i1 i2
+ +
+
vi (t) C1 v c1 v o (t)
-
- -
R2C1C2s2 + 2RC2s + 1
G(s) = 2
R C1C2s2 + (2RC2 + RC1) s + 1
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 9
(n) (n-1) oo o
y(t) y(t) y(t) y(t) y(t)
ooo
dn y(t)
A entrada do integrador à esquerda, dtn ,
pode ser obtida expli-
citando este termo na equação diferencial:
dny(t) dy(t) dn−1 y(t)
= −a0y(t) − a1 − . . . − an−1 + b0u(t)
dtn dt dtn−1
(n) (n-1) oo o
u(t) + y(t) y(t) y(t) y(t) y(t)
b0 ooo
o x 3(t)
x n (t) x 2(t) x1(t)
+ + x n (t) o o o
xn-1(t) x2(t) x1(t)
ooo -an-1
o
o
o
-a0
x1 0 1 0 ... 0 x1 0
x 0 0 1 0 x 0
2 2
d ..
.. .
.. ... ... ..
..
. = . . + . u
dt
xn−1 0 0 0 ... 1 xn−1 0
xn −a0 −a1 −a2 . . . −an−1 xn b0
x1
x
2
..
y = 1 0 0... 0 .
xn−1
xn
+ +
u C y=vc
- -
R
Para y(t) = vc(t) = 1
C
i(t)dt ⇒ i(t) = C dvdtc(t) , então
di(t)
Ri(t) + L + vc(t) = ea(t) ⇒ LC ÿ(t) + RC ẏ(t) + y(t) = u(t)
dt
1
Y (s) 1 LC
= = 1
U (s) LCs2 + RCs + 1 s2 + RL s + LC
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 11
x1 0 1 0 ... 0 x1 0
x 0 0 1 0 x 0
2 2
d ..
.. .
.. ... ... ..
..
. = . . + . u
dt
xn−1 0 0 0 ... 1 xn−1 0
xn −a0 −a1 −a2 . . . an−1 xn 1
x1
x
2
..
y = 1 0 0... 0 .
xn−1
xn
Exemplo. Considere o modelo:
1
ÿ(t) + 6ẏ(t) + 8y(t) = u(t) ⇔ G(s) =
s2 + 6s + 8
Uma realização para a função de transferência é dada por:
0 1 0
ẋ(t) = x(t) + u(t)
−8 −6 1
y(t) = 1 0 x(t)
oo o
u(t) + y(t) y(t) y(t)
o
x2(t) x 2(t) x1(t)
+ + o
x1(t)
-6
-8
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 13
Caso 2:
-6
-8
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 15
Caso m = n
dxn(t)
y(t) = cn + cn−1 xn(t) + cn−2 xn−1 (t) + . . . + c1 x2(t) + c0x1(t)
dt
= cn [−a0x1(t) − a1x2(t) − . . . − an−1xn (t) + u(t)]
+c0 x1(t) + c1x2(t) + . . . + cn−2 xn−1(t) + cn−1 xn(t)
= (c0 − cn a0)x1(t) + (c1 − cn a1)x2(t) + . . .
+(cn−1 − cn an−1)xn(t) + cn u(t)
xn
sendo c′k = ck − cn ak .
Y (s) c′n−1 sn−1 + . . . + c′1s + c′0
G(s) = = cn + n
U (S) s + an−1sn−1 + . . . + a1s + a0
c'n-1
o
o
o
o
x n (t)
o +
u(t) x n (t) x1(t) x1(t) y(t)
ooo c'0
+ + x2(t) + +
+ +
ooo -an-1
o
o
o
-a1
-a0
cn
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 16
x 2(t) + +
u(t) + y(t)
o
14
o x1(t) +
+ + x2(t) x1(t)
-6
-8
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 17
1 1
Y (s) = G(s)U (s) = f1 U (s) + . . . + fn U (s) +cn U (s)
s −
| {z1λ } s −
| {z λ n }
Z1 (s) Zn (s)
z1 (t)
y(t) = f1 f2 . . . fn ... + cn u(t)
zn(t)
Na realização na forma canônica,
eλ 1 t 0
dz(t) ...
= An z(t) ⇒ z(t) = Φn(t)z(0), Φn(t) = eAn t =
dt
0 eλ n t
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 18
o
u(t) z 1 (t) z 1 (t)
f1
+
+
-λ1 o
o +
o
y(t)
o
o + +
o
o
z n (t) z n (t)
fn
+
+
-λn
cn
o +
u(t) x1(t) x1(t) y(t)
3
+ +
+ +
-2
o
x2(t) x 2(t)
1
+
+
-4
0 1
C = CT = 0 1 R = 1 0
1 0
1
d vc(t) 0 RC vc(t) 0
= + u(t)
dt vR (t) − RL − RL vR (t) R
L
vc(t)
y(t) = 1 0
vr (t)
MATLAB:
≫ [T An]=eig(A)
≫ sis=ss(A,B,C,D)
≫ sis_n = ss2ss(sis, inv(T))
≫ sis_n = canon(sis)
≫ G=tf(sis)
≫ sis=ss(G)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 23
Estimador
^
x(t)
K
Definições:
Matriz definida positiva P = P T ≻ 0 ⇒ xT P x > 0 ∀ x 6= 0 ⇔
λi(P ) > 0 ∀ i
Matriz semi-definida positiva P = P T 0 ⇒ xT P x ≥ 0 ∀ x 6=
0 ⇔ λi(P ) ≥ 0 ∀ i
Matriz definida negativa P = P T ≺ 0 ⇒ xT P x < 0 ∀ x 6= 0 ⇔
λi(P ) < 0 ∀ i
Matriz semi-definida negativa P = P T 0 ⇒ xT P x ≤ 0 ∀ x 6=
0 ⇔ λi(P ) ≤ 0 ∀ i
6.2 Controlabilidade
Definição: O sistema dinâmico ẋ(t) = Ax(t) + Bu(t) ou o par
(A, B) é controlável (todos os estados são controláveis) se, para qual-
quer estado inicial x(0) = x0, qualquer tempo t1 > 0 e qualquer
estado final x1, existe uma entrada u(t) tal que a solução da equação
de estado satisfaça x(t1) = x1. Caso contrário, o sistema ou o par
(A, B) é dito ser não controlável.
⇒ u(t) deve influenciar cada variável de estado na equação:
X(s) = (sI − A)−1 x(0) + (sI − A)−1BU (S)
= Φ(s)x(0) + Φ(s)BU (s)
Z t
⇒ x(t) = Φ(t)x(0) + Φ(τ )Bu(t − τ )dτ
0
MATLAB:
≫ Mc=ctrb(A,B)
≫ G=ss(A,B,C,D)
≫ Mc=ctrb(G)
≫ rank(Mc)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 28
MATLAB:
≫ P=lyap(A,B*B’)
≫ P = gram(G,’c’)
≫ eig(P) % controlável se λi(P ) > 0, ∀i
MATLAB:
≫ [Q,P] = eig(A’)
≫ Q = conj(Q)
≫ B’*Q
6.3 Observabilidade
u ic
iL L
i2
+ - +
u R2 C y=vc
-
H1+h1(t)
A1
Q1+q (t)
1
H2+h2(t)
A2
Q2+q (t)
2
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 32
MATLAB:
≫ Q=lyap(A’,C’C)
≫ Q = gram(G,’o’)
≫ eig(Q) % observável se λi(Q) > 0, ∀i
MATLAB:
≫ [V,An]=eig(A)
≫ C*V
z1 (t)
y(t) = c1 c2 . . . cn ... + Du(t)
zn(t)
• Se não existir nenhuma linha totalmente nula em Bn, então todas
as variáveis de estado são afetadas por u(t) ⇒ sistema controlá-
vel.
• Se não existir nenhuma coluna totalmente nula em Cn, então
todas as variáveis de estado afetam pelo menos uma das saı́das
⇒ sistema observável.
• linha bi = 0 ⇒ eλi t é não controlável
• coluna ci = 0 ⇒ eλi t é não observável
Sc
r(t) y(t)
Sco
+ +
So
Su
MATLAB:
≫ Gm = minreal(G)
MATLAB:
≫ [Gb,g] = balreal(Gm)
calcula a realização balanceada, Gb, a partir da realização mı́nima,
Gm, e retorna também o vetor de valores singulares de Hankel, g.
Step Response
10
8
a
2 ordem
7
6
a
Amplitude
5 ordem
5
0
0 2 4 6 8 10 12
Time (sec)
Bode Diagram
40
20
Magnitude (dB)
2a ordem
0
−20
5a ordem
−40
45
2a ordem
0
Phase (deg)
−45
5a ordem
−90
0.1 1 10 100 1000
Frequency (rad/sec)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 41
y = c′0 c′1 . . . c′n−1 xc(t) + cnu(t)
q1
qA −1
2) T −1 = 1..
sendo q1 = 0 . . . 0 1 Mc
.
q1An−1
3) T = q1 q2 . . . qn sendo qn = B, qn−i = Aqn−i+1 + an−i qn ,
i = 1, . . . , n − 1.
Demonstração:
Se o sistema é totalmente controlável então existe x(t) = T xc(t)
tal que Ac = T −1 AT e Bc = T −1B:
0 1 0 ... 0 0
0 0 1 0 0
dxc(t) ..
.
.. . . .
. . .. xc(t) + ..
= . u(t)
dt
0 0 0 ... 1 0
−a0 −a1 −a2 . . . an−1 1
Procedimento de projeto
do controlador: dados os auto-
valores (polos) desejados λ1, . . . , λn ,
1. Q(λ) = |λI − A| = λn + an−1λn−1 + . . . + a1λ + a0
2. Qf (λ) = (λ − λ1) . . . (λ − λn) = λn + an−1 λn−1 + . . . + a1λ + a0
3. Kc = a0 − a0 a1 − a1 . . . an−1 − an−1
4. q1 = 0 . . . 0 1 Mc−1
q1
−1 q1A
T = ...
q1An−1
5. K = KcT −1
Este procedimento pode ser substituı́do por uma única equação,
denominada fórmula de Ackerman:
K = [0 . . . 0 1]Mc−1Qf (A)
MATLAB:
>> K = place(A,B,p)
onde p é um vetor com os pólos desejados para o sistema em malha-
fechada.
Exemplo. Considere o modelo no espaço de estados:
−2 3 1
ẋ(t) = x(t) + u(t)
0 −4 −1
y(t) = −2 −4 x(t)
λ + 2 −3
|λI − A| = = λ2 + 6λ + 8 = (λ + 2)(λ + 4) = 0
0 λ+4
Deseja-se que o sistema com realimentação de estados passe a ter os
autovalores (polos) {−5; −6}:
Qf (λ) = (λ + 5)(λ + 6) = λ2 + 11λ + 30
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 47
Kc = [30 − 8 11 − 6] = [22 5]
1 −5
Mc = [B AB] = ⇒ |Mc| = −1 6= 0
−1 4
1 4 5 −4 −5
Mc−1 = =
−1 1 1 −1 −1 = q1
q1 −1 −1
T −1 = =
q1A 2 1
K = KcT −1 = [−12 − 17]
Uma outra possibilidade de projeto é escrever o sistema em malha
fechada em função de K = [k1 k2]:
−2 3 1
Af = A − BK = − [k1 k2]
0 −4 −1
−2 − k1 3 − k2
=
k1 −4 + k2
λ + 2 + k1 −3 + k2
Qf (λ) = |λI − Af | =
−k1 λ + 4 − k2
= λ2 + (6 + k1 − k2)λ + 8 − 2k2 + 4k1 − k1k2 − 3k1 + k1k2
= λ2 + (6 + k1 − k2)λ + 8 + k1 − 2k2 = λ2 + 11λ + 30
Igualando os coeficiente de mesma potência e resolvendo o sistema de
equações lineares resultante obtém-se o ganho:
1 −1 k1 11 − 6
= ⇒ K = [−12 − 17]
1 −2 k2 30 − 8
Este tipo de projeto é interessante para sistemas reguladores cujo
objetivo é retornar o sistema para um ponto de equilı́brio (ou ponto
de operação) com r(t) = 0. Considere x(0) = [1 − 1]T .
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 48
1.5
1
Amplitude
0.5
-0.5
0 0.5 1 1.5 2 2.5
Time (seconds)
Step Response
0.8
MA
MF
0.7
0.6
0.5
Amplitude
0.4
0.3
0.2
0.1
0
0 0.5 1 1.5 2 2.5 3
Time (seconds)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 49
120
Tl(t)=4,1Nm
100 r(t)
ωm(t) e(∞) ≠ 0
80
60
e (t)
a
40
20
0
0 0.5 1 1.5 2 2.5 3 3.5 4
tempo (s)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 51
y(t) = (C − DK)x(t)
o
ea(t) ia(t) ia(t)
20 k1
+ + +
+ +
+
-20
5
-10
-0,1
o
w m (t) w m (t)
k2
y(t)
o
r(t) - z(t) z(t)
ki
+
20 −400 7000
2
Mc = [B AB A B] = 0 100 −2010 , |Mc| = −200000 6= 0
0 0 −100
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 53
i
a
80 wm
z
r
60
x(t)
40
20
-20
0 0.5 1 1.5 2 2.5 3 3.5 4
Time (s)
120
Tl(t)=4,1Nm
100
r(t)
ω (t) e(∞) = 0
m
80
60
ea(t)
40
20
0
0 0.5 1 1.5 2 2.5 3 3.5 4
tempo (s)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 54
o
^x x^
B
+
+
A
Estimador
+
L
o -
+ ^x x^
B C
+
+
A
Estimador
A equação dinâmica do estimador assintótico é
dx̂(t)
= (A − LC)x̂(t) + Bu(t) + Ly(t)
dt
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 56
Estimador
^x(t)
K
d x(t) A −BK x(t) B
= + r(t)
dt x̂(t) LC A − BK − LC x̂(t) B
x(t)
y(t) = C −DK + Dr(t)
x̂(t)
ou
d x(t) A − BK +BK x(t) B
= + r(t)
dt e(t) 0 A − LC e(t) 0
x(t)
y(t) = C − DK DK + Dr(t)
e(t)
onde pode ser observado que os autovalores do controle por reali-
mentação de estados baseado em observador são os autovalores de
A − BK mais os autovalores de A − LC (Teorema da Separação).
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 58
-0.05
x
-0.1
-0.15
-0.2
-0.25
0 0.2 0.4 0.6 0.8 1 1.2
t
0.25
sem obs
com obs
0.2
0.15
y
0.1
0.05
0
0 0.2 0.4 0.6 0.8 1 1.2
t
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 60
-0.5
x
-1
-1.5
-2
0 0.2 0.4 0.6 0.8 1 1.2
t
0.3
sem obs
com obs
0.2
0.1
-0.1
y
-0.2
-0.3
-0.4
-0.5
0 0.2 0.4 0.6 0.8 1 1.2
t
dx(t)
Obs.: Para sistemas com pertubações, = Ax(t) + Bu(t) +
dt
Bdd(t), o erro não tende a zero:
de(t)
= (A − LC)e(t) + Bdd(t)
dt
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 61
90
real
80
estimado
70
60
50
ia
40
30
20
10
-10
0 0.5 1 1.5 2 2.5 3 3.5 4
Tempo
100
90
80 real
estimado
70
60
m
50
w
40
30
20
10
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Tempo
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 62
100
real
estimação
50
ia
-50
0 1 2 3 4 5 6
Tempo
100
real
estimação
r
80
60
wm
40
20
-20
0 1 2 3 4 5 6
Tempo
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 63
K = R−1 B T S
sendo S = S T ≻ 0 a solução da equação algébrica de Riccati:
AT S + SA − SBR−1 B T S + Q = 0
A solução da equação de Riccati é calculada a partir dos autove-
tores da matriz Hamiltoniana:
A −BR−1B T
H=
−Q −AT
O problema possui solução se
• par (A, B) é controlável,
• R ≻ 0,
• Q 0.
O controlador LQR garante margem de ganho Kg = ∞ e margem
de fase γ ≥ 60o.
Se for desejado ponderar as saı́das ao invés do estado, y T W y, W
0, basta adotar Q = C T W C tal que xT Qx = xT C T W Cx = y T W y.
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 64
MATLAB:
>> K = lqr(A,B,Q,R)
ou
>> sis = ss(A,B,C,D)
>> K = lqr(sis,Q,R)
Exemplo: Controle de velocidade de um motor CC com ação inte-
gral:
1 0 0
Q = 0 0 0 , R = 1 ⇒ K = 1,0754 4,6147 −31,6228
0 0 1000
120
Tl(t)=4,1Nm
100
r(t)
ωm(t) e(∞) = 0
80
60
ea(t)
40
20
0
0 0.5 1 1.5 2 2.5 3 3.5 4
tempo (s)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 65
7.8 Controle H∞
s.a: X = X T ≻ 0
AX + XAT + Bu Z + Z T BuT Bw XCzT + Z T Dzu
T
BwT −µI T
Dzw ≺0
Cz X + Dzu Z Dzw −µI
sendo K = ZX −1 e kTzw k∞ = µ.
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 66
wu = 0,3 ⇒ K = −0,3583 −1,6358 8,3935 105 ⇒ kTzw k∞ = 0,77
5
λi(A + Bu K) = −7,1653 × 10 ; −15,2454; −7,6836
100
ωm
80
60
40 ea
20
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Tempo (s)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 67
120
100
wm
80
m
e ,w
60
a
ea
40
20
0
0 0.5 1 1.5 2 2.5 3 3.5 4
Time (s)
Controle de Processos - Parte 2 - Prof. Eduardo Nunes Gonçalves 68