Sei sulla pagina 1di 38

Estabilidade de Sistemas Lineares Realimentados

! Lugar das Raı́zes


• Projeto: introdução aos compensadores de avanço e
atraso
Lugar das Raı́zes

Função de transferência em malha fechada


Y (s) C(s)G(s)
=
R(s) 1 + C(s)G(s)H(s)
Logo, a equação caracterı́stica é

1 + C(s)G(s)H(s) = 0

! Escolhendo
C(s) = KC0 (s)
Lugar das Raı́zes

1
K=− , K≥0∈R
C0 (s)G(s)H(s)
! Representando C0 (s)G(s)H(s) na forma polar:
• Fase:

180◦ = ∠C0 (s)G(s)H(s)


= ∠C0 (s) + ∠G(s) + ∠H(s)

• Módulo:
! !
! 1 !
K = !! !
C0 (s)G(s)H(s) !
Lugar das Raı́zes

! Condição de fase:
Se s0 pertence ao lugar das raı́zes:

∠C0 (s0 ) + ∠G(s0 ) + ∠H(s0 ) = 180◦


∴ ∠C0 (s0 ) = 180 − ∠G(s0 ) − ∠H(s0 )

! Condição de módulo:
Se s0 pertence ao lugar das raı́zes:
! !
! 1 !
K = !! !
C0 (s0 )G(s0 )H(s0 ) !
Exemplo: Análise

! Determine se s0 = −1 + j2 pertence ao lugar das


raı́zes da função de transferência
1
G(s) =
s
! Usando a Condição de Fase, basta verificar se

∠G(s0 ) = −∠(s0 ) = 180◦ + 360◦ (k − 1)


Exemplo: Análise

φ1 = ∠s0
3
= ∠(−1 + j2) s0
= 116,6◦ • 2

1
φ1

100

80
0
12

60
0
14 40
160
20
180
200
× 340
0

−6 −4 −2 0
22
32
0
2

240

30
260

280

0
−1

−2

−3
Exemplo: Análise

φ1 = ∠s0
3
= ∠(−1 + j2) s0
= 116,6◦ • 2

1
φ1
×
−6 −4 −2 2
−1
∠G(s) = −φ1
= −116,6◦ −2

̸= 180◦ + 360◦ (k − 1) −3
s0 ∈
/ Lugar das Raı́zes
Exemplo: Análise

Root Locus

0.08

0.06

0.04
Imaginary Axis

0.02

−0.02

−0.04

−0.06

−0.08
−1.4 −1.2 −1 −0.8 −0.6 −0.4 −0.2 0 0.2
Real Axis

MATLAB: G = tf(1,[1 0]); rlocus(G)


Exemplo: Projeto

! Determine C(s) tal que os polos dominantes do


sistema em malha-fechada com a planta
1
G(s) = sejam s0 = −1 ± j2.
s
! Usando a Condição de Fase, precisamos que

∠C(s0 )G(s0 ) = 180◦ + 360◦ (ℓ − 1)

∠C(s0 ) + ∠G(s0 ) = 180◦ + 360◦ (ℓ − 1)

∠C(s0 ) = −∠G(s0 ) + 180◦ + 360◦ (ℓ − 1)


Exemplo: Projeto
3
∠G(s0 ) = −φ1 s0
φ1 = ∠s0 • 2
= ∠(−1 + j2) 1
φ1

100
= 116,6◦

80
0
12

60
0
14 40
160
20
180
200
× 340
0

−6 −4 −2 0
22
32
0

240

30
260

280

0
−1
∠C(s0 ) = −∠G(s0 ) + 180◦ + 360◦ (ℓ − 1)
◦ ◦ ◦ −2
= 116,6 + 180 + 360 (0 − 1)
= −63,4◦ −3

⇒ O controlador C(s) deve contribuir com −63,4◦


Exemplo: Projeto

! Precisamos de um controlador tal que:

∠C(s0 ) = −63,4◦

! Escolhendo o controlador da forma:


1
C(s) = K
s+p
temos que

∠C(s0 ) = −∠(−1 + j2 + p) = −63,4◦


◦ 2
tan(63,4 ) = = 1,997 ⇒ p ≈2
−1 + p
Exemplo: Projeto

! Ajustando posição de p (Método gráfico)

1 s0
⇒ C(s) = K • 2
s+2
∠C(s0 ) = −θ
1
= −63,4◦ θ φ1

100

100
80

80
0

0
12

12
60

60
0 0
14 40 14 40
160 160
20 20
180
200
× 340
0
180
200
× 340
0

0
22
−2 32
0 0
22
32
0
2

240

240
30

30
260

260
280

280
0

0
−1

−2

! Determinar K: condição de módulo


a
M
8
Exemplo: Projeto

7
s0 s0

6
• 2 • 2

0
|s0 + 2| |s0 + 2|

1
3
1 1

2
2
|s0 | |s0 |

3
1

× × × ×

4
0

0 1 2 3 4 5 6 7 8 9 10

5
−3 −2 −1 1 −3 −2 −1Made in Brazil

6
! Cálculo de K (Método gráfico)

7
! !
! !

8
! 1 ! = |(s0 + 2)(s0 )| = |s0 + 2||s0 |

M
ad
K=!

9
e
C0 (s0 )G(s0 ) !

in
Br

10
az
" #" #

il
4.7 4.7
≈ = 5.009
2.1 2.1
! Cálculo de K (Método analı́tico)
K = |(s0 + 2)(s0 )| = |(−1 + j2 + 2)(−1 + j2)|
= | − (−1 + j2 + 2) + j2(−1 + j2 + 2)| = 5
Exemplo: Projeto

! Cálculo de K (Usando MATLAB):


>> G = tf(1,[1 0]); Co = tf(1,[1 2]); rlocus(series(Co,G))

Root Locus
3

2
System: untitled1
Gain: 4.9
Imaginary Axis (seconds-1 )

Pole: -1 + 1.97i
1 Damping: 0.452
Overshoot (%): 20.4
Frequency (rad/s): 2.21
0

K ≈5 -1

-2

-3
-2.5 -2 -1.5 -1 -0.5 0 0.5
Real Axis (seconds-1 )
Compensador por Avanço de Fase

! O controlador PD puro, não pode ser implementado


fisicamente.
! Solução: utilizar a aproximação

C(s) = kp + kd s
kd s
≈ kp + , p≫1
s/p + 1
Compensador por Avanço de Fase

! Aproximação do controlador PD
kd s
C(s) = kp + kd s ≈kp +
s/p + 1
! A qual pode ser reescrita da seguinte forma
s+z
C(s) = K
s+p
sendo K = kp + pkd e z = pkp /K.
! Este controlador é chamado como “Compensador de
Avanço de Fase”, com z < p.
Compensadores Avanço e Atraso

s+z
C(s) = K
s+p
! Se z<p: compensador de avanço
• Aumenta tanto a velocidade da resposta quanto a
estabilidade do sistema
! Se p<z: compensador de atraso
• Melhora a precisão do sistema em regime
permanente, mas reduz a velocidade de resposta
Circuito do compensador de Avanço/Atraso

C2
C1 R1
Z1 =
R1 C1 s + 1
R2 R2
Z2 =
R1 R2 C2 s + 1

∞ R1 > 0 ∈ R
+
Ei (s) Eo (s) C1 > 0 ∈ R
R2 > 0 ∈ R
C2 > 0 ∈ R
1
Eo (s) Z2 R2 R1 C1 s + 1 C1 s + R1 C 1
=− =− =− 1
Ei (s) Z1 R1 R2 C2 s + 1 C2 s + R2 C 2
Exercı́cio: Projeto

! Determine um compensador C(s) da forma:


s+z
C(s) = K
s+p
em uma estrutura de realimentação unitária negativa,
tal que os polos dominantes da função de transferência
1
G(s) =
s
sejam s0 = −1 ± j2. [∠G(s0 ) = ∓116,6◦ ]
! Usar:
∠L(s0 ) = 180◦ + 360◦ (ℓ − 1) e K = 1/|L(s0 )|
Exercı́cio: Projeto

! Considere
s+z
C(s) = K = KC0 (s)
s+p
! Logo pela condição de fase:
Se s0 pertence ao lugar das raı́zes:

∠C0 (s0 ) + ∠G(s0 ) + ∠H(s0 ) = 180◦


∴ ∠C0 (s0 ) = 180◦ − ∠G(s0 )

Para realimentação unitária ∠H(s0 ) = 0◦


Exercı́cio: Projeto

! Temos que

∠G(s0 ) = −∠s0 = −φ2 = −116,6◦

! Usando a Condição de Fase, precisamos que

∠C0 (s0 ) = 180◦ − ∠G(s0 )


= 180◦ − (−116,6◦ )
= 296,6◦ + 360◦ (ℓ − 1), ∀ℓ ∈ Z
= −63,4◦ , para ℓ = 0
Exercı́cio: Projeto

" #
s0 + z
∠C0 (s0 ) = ∠
s0 + p
= ∠ (s0 + z) − ∠ (s0 + p)
= ψ1 − φ 1
= −63,4◦
⇒ φ1 − ψ1 = +63,4◦
⇒ φ 1 > ψ1

! Escolher polo tal que: φ1 > ψ1 (infinitas soluções)


Exercı́cio: Projeto

Opção 1: ⇒ ∠C0 (s0 ) = φ1 − ψ1 = θ

s0
• 2

θ φ11
ψ1
◦ × ×
−3 −2 −1 1
−1
Exercı́cio: Projeto

Opção 2: ⇒ ∠C0 (s0 ) = φ1 − ψ1 = θ

s0
• 2

θ φ 1
ψ
◦ × ×
−3 −2 −1 1
−1
Exercı́cio: Projeto

Opção 3: ⇒ ∠C0 (s0 ) = φ1 − ψ1 = θ


• p é igual a parte real de s0
• φ1 é igual a 90◦
s0
• 2

1
φ1
ψ1
◦ × ×
−3 −2 −1
−1
Exercı́cio: Projeto

! Escolhendo o polo em −1 (Opção 3)


! Então, ψ1 = φ1 − 63,4◦ = 90◦ − 63,4◦ = 26,6◦
s0
• 2
y 1
φ1

100

80
0
12

60
0
40
ψ1
14
160


20
180
0
× ×
x −3 −2 −1
200

−7 −6 −5 −4 0
22
240
32
340

30
260

280

0
−1

y 2
tan (ψ1 ) = ⇒x= = 3,9939 ≈4
x tan(26,6◦ )
! Logo z = 1 + 4 = 5
Exercı́cio: Projeto

! Cálculo de K (Método gráfico - sem régua)


! ! !" # !
! 1 ! ! s0 + 1 ! |s0 + 1||s0 |
K=! ! ! !
=! !
s0 ! =
C0 (s0 )G(s0 ) ! s0 + 5 |s0 + 5|
s0
• 2
|s0 + 5| |s0 |
1
|s0 + 1|
◦ × ×
−5 −4 −3 −2 −1
$ $
|s0 + 5| = 42 + 22 , |s0 + 1| = 2, |s0 | = 22 + 12
√ 2 √ √
|s0 ||s0 + 1| 2 2 +1 2 4 22 + 1
K= = √ = √ =1
|s0 + 5| 42 + 22 42 + 22
Exercı́cio: Projeto

! Cálculo de K (Método analı́tico)


! s0 = −1 + j2

K = 1/|C0 (s0 )G(s0 )|


!" # !
! s0 + 1 !
= !! s0 !!
s0 + 5
!" # !
! −1 + j2 + 1 !
= !! (−1 + j2)!!
−1 + j2 + 5
!" # ! !" #!
! j2 ! ! −4 − j2 !
= !! (−1 + j2)! = !!
! !
4+j2 4+j2 !
! " #!
! 4 + j2 !
= !!− !=1
4 + j2 !
Exercı́cio: Projeto

! O compensador projetado é:

s+5 s+5
C(s) = 1 =
s+1 s+1
! Este controlador é chamado como “Compensador de Atraso de
Fase”, com z > p.
! Note que o compensador C(s) contribui com −63,4◦
Exercı́cio: Projeto

Root Locus

System: untitled1
Gain: 1.01
Pole: −1.02 + 2i
Damping: 0.455
Overshoot (%): 20.1
Frequency (rad/s): 2.25
2
Imaginary Axis (seconds−1)

−2

−4

−6
−15 −10 −5 0 5
Real Axis (seconds−1)

MATLAB: G = tf(1,[1 0]); C = tf(1*[1 5],[1 1]); rlocus(series(C,G))


Exercı́cio:

! Determine um compensador C(s) da forma:


s+z
C(s) = K
s+p
em uma estrutura de realimentação unitária negativa,
tal que os polos dominantes da função de transferência
1
G(s) =
s2 + 2s + 5
sejam s0 = −2.
! Usar:
∠L(s0 ) = 180◦ + 360◦ (ℓ − 1) e K = 1/|L(s0 )|
Exercı́cio:

! Considere
s+z
C(s) = K = KC0 (s)
s+p
! Logo pela condição de fase:
Se s0 pertence ao lugar das raı́zes:

∠C0 (s0 ) + ∠G(s0 ) + ∠H(s0 ) = 180◦


∴ ∠C0 (s0 ) = 180◦ − ∠G(s0 )

Para realimentação unitária ∠H(s0 ) = 0◦


Exercı́cio:

! Temos que

∠G(s0 ) = 360,0◦

! Usando a Condição de Fase, precisamos que

∠C0 (s0 ) = 180◦ − ∠G(s0 )


= 180◦ − (0◦ )
= 180◦
Exercı́cio:

" #
s0 + z
∠C0 (s0 ) = ∠
s0 + p
= ∠ (s0 + z) − ∠ (s0 + p)
= ψ1 − φ 1
= 180◦
⇒ ψ1 > φ 1

! Escolher polo tal que: ψ1 > φ1 (infinitas soluções?)


Exercı́cio:

⇒ ∠C0 (s0 ) = ψ1 − φ1 = 180◦ = θ

Solução: posicionar o zero do compensador antes e o polo do


compensador após s0 .

1
φ1 = 0◦ s0 ψ1 = 180◦
× • ◦
−3 −2 −1 1
−1
Exercı́cio:

! Escolhendo o zero em −1 e polo em −10


! Logo
s+1
C(s) = KC0 (s) = K
s + 10
! s0 = −2

K = 1/|C0 (s0 )G(s0 )|


!" # !
! s0 + 10 !
= !! (s0 + 2s0 + 5)!!
2
s0 + 1
!" # !
! −2 + 10 !
= !! ((−2) + 2(−2) + 5)!!
2
−2 + 1
!" # !
! 8 !
= !! (5)!! = 40
−1
Exercı́cio:

! O compensador projetado é:

s+1
C(s) = 40
s + 10
! Este controlador é chamado como “Compensador de Avanço de
Fase”, com z < p.
! Note que o compensador C(s) contribui com +180◦
Exercı́cio:

Step Response

0.7

0.6

0.5

0.4
Amplitude

0.3

0.2

0.1

0
0 0.5 1 1.5 Time (seconds)
2 2.5 3 3.5

MATLAB: G = tf(1,[1 2 5]); C = tf(40*[1 1],[1 10]); step(series(C,G))

Potrebbero piacerti anche