Escolar Documentos
Profissional Documentos
Cultura Documentos
(Controle Digital)
Fernando Passold
I Last Updated: 2 de junho de 2014
Este material foi desenvolvido para a disciplina de Controle Automtico III do curso de Engenharia Eltrica da UPF, que poderia ser chamada tambm de Controle Discreto no Tempo ou
simplesmente de Controle Digital.
Este material no pretende ser auto-suficiente em si mesmo, apesar da quantidade de Apndices, mas visa ser usado como continuidade para disciplinas anteriores na rea de Controle
Automtico, uma vez que pressupe que o leitor j tenha adquirido fundamentos anteriores na
rea de Controle Automtico clssico. Isto , que esteja ao menos familiarizado com transformadas de Laplace e projetos de controladores (analgicos) usando Diagrama do Lugar das
Razes (Root-Locus) e preferencialmente que tambm, domine o projeto de controladores de
Avano-Atraso (Lead-Lag) no domnio frequncia.
Este material foi criado usando software livre e de domnio pblico: LaTeX (pacote MiKTeX /
MacTeX) e editor TeXmaker. Foi adotada a fonte: KP Fonts Serif (kpfonts baseada em URW
Palladio), tamanho 10.
Prof. Dr. Eng. Fernando Passold, 2 de junho de 2014.
Sumrio
1 Teoria de Erros
1.1 Introduo . . . . . . . . . . . . . . . . . . . .
1.2 Sistema padro de realimentao unitria
1.2.1 Caso 1) Entrada Degrau . . . . . . . .
1.2.2 Caso 2) Entrada Rampa . . . . . . . .
1.3 Tabela Resumo . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
2 Estabilidade
2.1 Introduo . . . . . . . . . . . . . . . . . . . . . . . . .
2.2 Resposta Entrada Limitadas . . . . . . . . . . . . . . .
2.3 Representao de Plos no Plano Complexo (Z) . . .
2.3.1 Caso 1) F (z) com Plos Reais . . . . . . . . . .
2.3.2 Caso 2) F (z) com Plos Complexos . . . . . . .
2.4 Mtodo de Jury . . . . . . . . . . . . . . . . . . . . . .
2.4.1 Exemplo de Sistema de Segunda Ordem . . .
2.4.2 Exemplo de Sistemas de Terceira Ordem . . .
2.4.3 Exemplo de Planta de Segunda ordem . . . .
2.5 Efeitos do Perodo de Amostragem . . . . . . . . . . .
2.6 Diagrama do Lugar das Razes (RL) . . . . . . . . . .
2.6.1 Construindo o Diagrama do Lugar das Razes
2.6.2 Exemplos de Traados de RL . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
5
5
5
6
8
9
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
11
11
11
12
12
13
15
16
16
17
18
20
21
22
3 Controladores Digitais
3.1 Simples Controlador Proporcional, K . . . . . . . . . . . . . .
3.1.1 Determinando Km ax
. . . . . . . . . . . . . . . . . . .
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
31
33
34
39
43
48
48
50
57
57
58
64
67
67
68
69
75
75
76
77
77
80
82
83
83
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
85
.
.
.
.
.
.
.
87
87
87
87
87
88
88
89
91
91
92
93
93
96
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
97
98
100
100
100
100
105
Captulo 1
Teoria de Erros
1.1
Introduo
1.2
Seja um tpico sistema de controle em malha fechada do tipo SISO (single-input, single-output) como o
mostrado na figura 1.1.
yr(t) +
C(z)
e(kT)
u(kT)
Algoritmo
de Controle
Bo
G(z)
y(t)
Atuador
+
Processo
+
Medidor
(realimentao unitria)
Note que:
este sistema controla o valor medido do erro, no a varivel de sada.
a unidade para medio de Y a mesma que a adotada para a referncia Yr , para que o bloco somador
atue de fomra conveniente.
qualquer sistema em malha fechada com realimentao unitria (H(s) = 1), tende a igualar a entrada
e a sada (Ogata, 1995, p. 99 e 210).
H(s) atua como um conversor de unidades entre Y e Yr .
Podemos redesenhar o diagrama anterior (figura 1.1) como o mostrado na figura 1.2 e ento:
yr(t) +
BoG(z)
C(z)
y(t)
C(z) B oG (z)
F T MA(z)
F (z)
Y(z)
=
=
=
Yr (z) 1 + C(z)B oG (z) 1 + F T MA(z) 1 + F (z)
isolando o erro:
"
#
"
#
F (z)
1 + F (z) F (z)
E(z) = Yr (z) Y(z) = Yr (z) 1
= Yr (z)
1 + F (z)
1 + F (z)
(1.1)
z1
z1
1
Y (z)
1 + F (z) r
(1.2)
Para continuar com a anlise, necessitamos levantar hipteses sobre entradas (referncias) do sistema.
Normalmente se trabalha com: entrada degrau, rampa e parbola.
1.2.1
z
z 1
neste caso:
lim e(kT)
=
=
lim e(kT)
1
Y (z)
1 + F (z) r
z1
z
1
lim (z 1)
1 + F (z) (z 1)
z1
1
1 + limz1 F (z)
lim (z 1)
(1.3)
Este limite conhecido como Kp =ganho de posio (similar ao ganho esttico dos sistemas contnuos no
tempo), ou seja:
Kp = lim F (z)
(1.4)
z1
Falta agora analisar Kp para alguns tipos de sistema F (z). Note que nos resta calcular limz1 F (z). Se F (z)
possui termos com plo em z = 1, isto , possui integradores, e(kT)|k = 0.
Demonstrao
O que seria uma integrao numrica?
Supondo que se esteja interessado numa integrao numrica retangular ver figura 1.3
onde: i(k)= integral de 0 k. Ento:
i(0)
i(T)
i(2T) =
..
.
i(k)
i(k 1) + T g(k 1)
6
(1.5)
Note que a expresso (1.5) est no formato de uma equao de diferenas, ento:
I(z)
z 1 I(z) + T z 1 G (z)
I(z)[1 z 1 ]
I(z)
T z 1 G (z)
!
T z 1
G (z)
1 z 1
ou:
I(z) =
T
G (z)
(z 1)
(1.6)
Note o plo em z = 1.
Se fosse adotado outro mtodo de integrao numrica, ainda assim teramos o termo (z 1) aparecendo
no denominador da funo.
Exemplo: integrao numrica trapezoidal
Acompanhando pela figura 1.4, agora temos algo como:
>>
>>
>>
>>
>>
>>
>>
>>
>>
>>
% Grfico no MATLAB:
% fplot(@(t) 1.4.^t-0.9.^t-0.2.^t+2, [0 5])
t=0:0.1:5; % tempo variando de 0,1 segundos
k=0:5; % amostras a cada T=1 seg
y=1.4.^t-0.9.^t-0.2.^t+2;
yd=1.4.^k-0.9.^k-0.2.^k+2; % verso discreta
figure; plot(t,y,k--);
hold on;
stem(k,yd,mo)
plot(k,yd,b-)
T
[g[(k 1)T] + g(kT)]
2
(B + b) h
2
7
(1.7)
z 1 I(z) +
T/2
(1 + z 1 ) G (z)
(1 z 1 )
T/2
(z + 1) G (z)
(z 1)
=
I(z)
T 1
(z + 1) G (z)
2
(1.8)
Note novamente em (1.8) o termo (z 1) no denominador, ou seja, que volta a aparecer o plo em z = 1.
Assim, de maneira geral, se pode afirmar que uma equao caracterstica com integradores do tipo:
F (z) =
N(z)
(1 z 1 ) D 0 (z)
com plo em z = 1.
Voltando ao clculo do erro para provar que e(kT)|k = 0 quando existe pelo menos um integrador em
F (z), temos:
1
e(kT)|k =
1 + limz1 F (z)
onde: limz1 F (z) = Kp (ganho de posio).
Ento:
1. Se F (z) no possui integradores, ento:
f (z) =
ento: limk e(kT) =
N(z)
,
D (z)
(D (z) , 0)
1
= Cte = nmero finito e portanto, e(kT)|k , 0.
1 + Kp
N(z)
(z 1) D 0 (z)
1
N(z)
1 + limz1
(z 1) D 0 (z)
1
1 + Kp
1.2.2
Neste caso:
Yr (z) =
Tz
(z 1)2
=
=
=
1
Tz
1 + F (z) (z 1)2
z1
Tz
lim
z1 (z 1) + (z 1)F (z)
T
T
=
limz1 (z 1) F (z) Kv
lim (z 1)
(1.9)
lim e(kT) =
T
= cte = valor finito, mas , 0.
Kv
Isto significa que acrescentamos tantos integradores (D (z) = (z 1)) na F T MA do processo quanto o
necessrio para tornar o erro nulo.
1.3
Tabela Resumo
Degrau
z
z 1
Rampa
T z
(z 1)2
Tipo 0
F (z) =
N(z)
D (z)
1 + Kp
Tipo 1
F (z) =
N(z)
(z 1)D 0 (z)
T
Kv
Tipo 2
N(z)
F (z) =
(z 1)2 D 0 (z)
onde:
Parbola
T 2 z (z + 1)
2(z 1)3
T2
ka
10
Captulo 2
Estabilidade
2.1
Introduo
2.2
G(z)
H(z)
Figura 2.1: Sistema em malha fechada.
onde:
G
N(z)
Y
=
= F T MF (z) = F (z) =
Yr 1 + G H
D (z)
conforme mostra a figura 2.2.
Yr(z)
F(z)
Y(z)
z
N(z)
(z 1) D (z)
(2.1)
z
a transformada Z do degrau.
(z 1)
onde:
cj
cj
c0
ci
Y(z)
=
+
+
+
(2.2)
z
z 1
z pi
(z p j ) (z p j )
Plos Reais
Plos Complexos
Lembrando que:
(
Z
obtemos:
y(kT) = c0 +
ci z
z pi
)
= ci pki
ci pki +
c j pkj + c j pkj
(2.3)
Plos Complexos
Plos Reais
onde: c0 = termo em funo da entrada (define o regime permanente da sada); os outros termos ( s) =
funo das caractersticas de F (z), definem o regime transitrio que depende dos plos de F (z) ponderados
pelos coeficientes ci ou c j , cujas magnitudes so determinadas pelo numerador de F (z).
2.3
2.3.1
Neste caso, y(KT) depende dos termos ci pki . A figura 2.3 mostra os mapeamentos possveis para plos
no plano Z e suas respectivas repercusses no domnio amostrado.
Caso 2:
Caso 4:
Im{Z}
1
Caso1:
Caso 6:
x xx
x x x
1
-1
Caso 5:
-1
Re{Z}
Caso 3:
Caso 3 : 0 < pi < 1, sada convergente (decrescente), apresentando valores decrescentes to rpidamente
quanto mais prximo de z = 0 estiver este plo.
Caso 4 : 1 < pi < 0, sada converge (decresce com o tempo), mas como pi negativo, forma-se uma sequencia convergente alternada.
Caso 5 : p = 1, sistema oscilando com amplitude constante (enquanto |pi | = 1) na frequencia de f = 1/(2 T).
Caso 6 : pi < 1, outro plo instvel, sistema apresenta saida divergente (crescente) e alternada (sinal negativo para pi ).
2.3.2
a + jb
pj
= + j
cj
=
=
Ae
onde:
pj
q
2 + 2
tan1
pj
Re{z}
ento:
c j pkj + c j p kj
Ak e j(k+) + Ak e j(k+)
h
i
Ak e j(k+) + e j(k+)
2Ak cos (k + )
(2.4)
ou seja, a sada se tranforma numa exponencial sobreposta com uma senide amostrada nos instantes k.
Supondo que k = 2 (mltiplos cossenos), temos: t = k T
Isolando em tpp e substituindo em k = 2, obtemos tpp =
k=
tpp
.
T
2T
, onde tpp significa um pseudo-perodo.
"
6,2
8*T
a medida que
A figura 2.5 mostra diferentes casos de plos complexos no plano-z e respectivas respostas transientes
no tempo discreto.
13
h
i
z z e aT cos (T)
z 2 2e aT z cos (T) + e 2aT
n
o
= Z e akT cos (kT)
14
2.4
Mtodo de Jury
Este mtodo permite determinar a estabilidade de um sistema discreto linear atravs da anlise dos
coeficientes da sua equao caracterstica. Seria uma analaogia num sistema discreto ao critrio de
estabilidade de Routh-Hurwitz.
Seja o polinmino D (z) extrado da equao caracterstica de um sistema discreto:
D (z) = an z n + an1 z n1 + . . . + a1 z + a0 = 0
o sistema estvel se e somente se suas razes estiverem contidas dentro do crculo unitrio no plano Z.
Isto implica em 3 condies preliminares1
(i)
(i i)
(i i i)
|a0 | < an
D (z)|z=1 = D (1) > 0(
D (z)|z=1 = D (1)
>0
<0
para n par
para n mpar
Uma vez atendidas as condies anteriores parte-se para o arranjo (ou Tabela) de Jury (similar ao do
mtodo de Routh-Hurwittz):
Linha
1
2
3
4
..
.
..
.
z0
a0
an
b0
b n1
z1
a1
an1
b1
b n2
..
.
..
.
z2
a2
an2
b2
b n3
...
...
...
...
...
..
.
..
.
2n 5
2n 4
2n 3
p0
p3
q0
p1
p2
q1
p2
p1
q2
p3
p0
z n1
an1
a1
b n1
b0
zn
an
a0
15
Uma vez finalizado o arranjo, pode-se concluir que o sistema ser estvel se:
< |an |
> |b n1 |
> |cn2 |
> |d n3 |
..
.
|p0 | > |p3 |
|q0 | > |q2 |
|a0 |
|b 0 |
|c0 |
|d 0 |
2.4.1
(n 1) restries
Exemplo 1:
Num sistema de 2a-ordem, n = 2 e neste caso, a tabela de Jury contm apenas 1 linha. Assim, para
estabilidade:
D (1) > 0
D (1)
|a0 |
> 0
< |a2 |
Por exemplo, para o sistema: D (z) = z 2 0.25 = 0, as pr-condies necessrias para estabilidade so:
Condies
Sistema
Satisfeito ou no?
1) D (1) > 0
D (1) = 1 0.25 = 0.75 > 0
3 Satisfeito
2) D (1) > 0 D (1) = 1 0.25 = 0.75 > 0 3 Satisfeito
3) |a0 | < |a2 | |a0 | = 0.25 < a2 = 1
3 Satisfeito
Desta forma, percebe-se que todas as condies foram satisfeitas, ou seja, o sistema estvel.
2.4.2
Exemplo 2:
Determinar a estabilidade de um sistema discreto cuja equao caracterstica :
D (z) = z 3 1, 2z 2 1, 375z 0, 25 = 0
As pr-condies para estabilidade so:
Condies
1) D (1) > 0
2) D (1) < 0
3) |a0 | < a3
Sistema
Satisfeito ou no?
D (1) = 1 1, 2 1, 375 0, 25 = 1, 875 > 0
7 No Satisfeito
D (1) = 1 1, 2 + 1, 375 0, 25 = 1, 125 < 0 3 Satisfeito
|a0 | = 0.25 < a3 = 1
3 Satisfeito
Exemplo 3:
Seja a equao caracterstica:
D (z) = z 3 + 3, 3z 2 + 4z + 0, 8 = 0
As pr-condies para estabilidade so:
Condies
1) D (1) > 0
2) D (1) < 0
3) |a0 | < a3
Sistema
Satisfeito ou no?
D (1) = 1 + 3, 3 + 4 + 0, 8 = 9, 1 > 0
3 Satisfeito
D (1) = 1 + 3, 3 4 + 0, 8 = 0, 9 < 0 3 Satisfeito
|a0 | = 0.8 < a3 = 1
3 Satisfeito
onde:
b0
b1
b2
=
=
=
a0
a3
a0
a3
a0
a3
a3
a0
a2
a1
a1
a2
= a2 a2 = 0, 36
3
0
= a a a a = 0, 1
0 1
2 3
= a a a a = 1, 36
0 2
1 3
A condio suficiente para estabilidade : |b 0 | > |b2 |. Assim, observando-se os valores obtidos para b 0 e b 2 ,
nota-se que esta condio no foi satisfeita e consequentemente, este sistema no estvel. De fato, as
razes de D (z) esto em:
>> D=[1 3.3 4 0 . 8 ]
D =
1.0000
3.3000
>> r o o t s ( D )
ans =
1.5268 + 0.9574 i
1.5268 0.9574 i
0.2463
>>
2.4.3
4.0000
0.8000
Analize a estabilidade do seguinte sistema em malha-fechada (fig 2.6) [Phillips and Nagle (1994); pg.
191, 231]:
YR
K
s(s + 1)
Bo(s)
T
ou
YR
Bo(s)
K
-
1
s(s + 1)
K(b 0 + b1 z)
(z 1)(z a)
Determinando B oG (z):
(
)
1
Z {B o(s)G (s)} = (1 z )Z 2
s (s + 1)
(
)
1
1
1
= (1 z 1 )Z
+
1s 2 1s 1(s + 1)
"
#
(z 1)
Tz
z
z
=
+
z
(z 1)2 (z 1) (z e T )
1
B oG (z)
K[z(T + e T 1) + (1 T e T e T )]
(z 1)(z e T )
1 + B oG (z) = 0
D (z)
(z 1)(z a) + K(b 0 + b 1 z) = 0
D (z)
D (z)
Usando-se o mtodo de Jury para identificar os requisitos para estabilidade do sistema temos:
D (z)
z2
a2
=
=
+(a2 + Kb0 )
a0
(1 + a Kb1 )z
a1
1)
2)
D (1) > 0
D (1) > 0
1 1 + a + Kb1 + a + Kb 0 > 0
se obtm: Kb1 + Kb 0 > 0, que pode ser escrito como:
K > 0, Se (b 1 + b0 ) > 0
1 + 1 + a Kb1 + a + Kb 0 > 0
K(b0 b 1 ) > 2a 2
2(1 + a)
, Se (b 0 b 1 ) > 0
K>
b0 b1
a + Kb 0 < 1
1a
K<
,
b0
e
3) |a0 | < a2
2.5
Se
b0 > 0
Verificando para o caso do sistema anterior, os efeitos causados por diferentes valores para o perodo de
amostragem T:
a) Suponha que T = 0, 1 (segundos):
Ento:
a = e T
b 1 = e T + T 1
b 0 = 1 e T T e T
= 0, 9048374
= 0, 0048374
= 0, 0046788
K > 0,
b1 + b2 > 0
2)
K<
1a
0, 0952
,K <
,
b0
0, 0047887
3)
K<
2(1 + a)
,
b0 b1
a = e T
b 1 = e T + T 1
b 0 = 1 e T T e T
18
= 0, 3679
= 0, 3679
= 0, 2642
K > 0,
b1 + b2 > 0
2)
K<
1a
,
b0
K < 2.3922
3)
K<
2(1 + a)
,
b0 b1
K < 26.3972
(Desconsiderada a menos restritiva)
K(b 0 + b1 z)
K(0, 3679z + 0, 2642)
= 2
(z 1)(z a) z 1, 3679z + 0, 3679
B oG (z)
1 + B oG (z)
1 + B oG (z) = 0
K(0, 3679z + 0, 2642)
= 1+ 2
=0
z 1, 3679z + 0, 3679
= z 2 + (0, 3679K 1, 3679)z + (0, 3679 + 0, 2642K) = 0
=
z 2 0, 4878z + 1 = 0
z2
0.3679
Zero / po l e / gain :
0.88005 ( z +0.7183)
19
( z 1) ( z 0.3679)
Sampling time : 1
>> %Fechando a malha para obter D(z):
>> FTMF=feedback ( BoG , 1 )
Transfer function :
0.88 z + 0.6321
z^2 0.4878 z + 1
Sampling time : 1
>> %Recuperando D(z):
>> [ num_mf , den_mf , T]= t f d a t a ( FTMF , v )
num_mf =
0
0.8800
0.6321
den_mf =
1.0000
0.4878
1.0000
T =
1
>> %Encontrando as raizes de D(z):
>> p_mf=r o o t s ( den_mf )
p_mf =
0.2439 + 0.9698 i
0.2439 0.9698 i
>> %Determinando polo em coordenadas polares:
>> [ theta , rho ]= c a r t 2 p o l ( r e a l ( p_mf ( 1 ) ) , imag ( p_mf ( 1 ) ) )
theta =
1.3244
rho =
1.0000
>> f r e q=t h e t a * ( 2 * p i )
freq =
8.3214
>>
Concluso
Nota-se que a medida que aumenta o perodo de amostragem T, se obrigado a abaixar o ganho K do controlador, para manter a estabilidade do sistema.
T K
Notar que o acontece que o sistema fica em malha-aberta entre instantes de amostragem, isto , o sistema
est evoluindo entre os instantes de amostragem. Esta evoluo funo do ganho e tamanho do perodo
de amostragem adotado.
2.6
O efeito do Ganho (K) num sistema e/ou do perodo de amostragem na estabilidade absoluta ou relativa do sistema em malha fechada deve ser investigada adicionalmente s caractersticas da resposta
transitria. O mtodo do Lugar das Razes (RL) muito til neste sentido.
O mtodo do Lugar das Razes (Root Locus (RL)) para sistemas contnuos no tempo pode ser estendido
para os sistemas de tempo discreto sem muitas modificaes uma vez que a equao caracterstica do
sistema de controle discreto segue o mesmo formato que no sistema de controle contnuo no tempo.
Em muitos sistemas LTI (Lineares e Invariantes no Tempo), a equao caracterstica pode seguir um dos
seguintes formatos:
1 + G (z)H(z)
1 + G H(z)
combinando ambas as equaes anteriores, podemos definir a equao caracterstica como sendo:
1 + L(z) = 0
(2.5)
onde L(z) = G (z)H(z) ou L(z) = G H(z). L(z) popularmente conhecida como a funo transferncia do impulso
para o lao aberto. A equao 2.5 pode ser escrita como:
L(z) = 1
uma vez que L(z) expressa uma quantidade complexa ela pode ser dividida em 2 equaes, uma equao
relacionada com os ngulos e outra com a magnitude. Isto resulta em 2 critrios serem seguidos:
20
Critrio Angular:
Critrio da Magnitude:
k = 0, 1, 2, . . .
|L(z)| = 1
(z + z1 )(z + z2 ) (z + zm )
=0
(z + p1 )(z + p2 ) (z + pn )
(2.6)
onde zi s e pi s correspondem respectivamente aos zeros e polos da funo transferncia em malha aberta
(FTMA(z)), m o nmero de zeros e n o nmero de plos.
2.6.1
As regras para construo do RL para sistemas digitais so as mesmas que as usadas para sistemas no
tempo contnuo:
1. O diagrama de RL simtrico com relao ao eixo real. O nmero de traados do RL corresponde ao
nmero de polos de malha aberta.
2. Os traados do RL partem dos polos de malha aberta com K = 0 e terminam nos zeros de malha aberta,
com K = . Na ausncia de zeros de malha aberta, o RL tende para quando K . O nmero de
traados que tendem para corresponde a diferena entre o nmero de polos e de zeros.
3. Uma regio do eixo real far parte do RL se o nmero de polos mais o nmero de zeros direita desta
parte for mpar.
4. Se existem n polos de malha aberta e m zeros de malha aberta, ento n m traados do RL vo tender
para ao longo de linhas retas assintticas desenhadas partir de um nico ponto s = que
chamado de centro do loci:
(Partes reais dos plos de malha aberta) (Partes reais dos zeros de malha aberta)
(2.7)
=
nm
O ngulo de partida das assintotas dado por:
=
180o (2q + 1)
,
nm
q = 0, 1, . . . , n m 1
(2.8)
5. As razes da equao abaixo definem os pontos de partida (breakaway) e chegada (break in) dos traados de RL:
dK
=0
(2.9)
dz
onde K expresso em funo de z da equao caracterstica do sistema. Esta uma condio necessria porm, no suficiente. Devemos verificar se as solues encontradas recaem sobre o RL sendo
traado.
6. A interseo (se existe) do RL com o crculo unitrio pode ser determinada partir do arranjo de Routh(Hurwitz).
7. O ngulo de partida para plos complexos de malha aberta dado por:
p = 180o +
(2.10)
onde corresponde contribuio final de todos os ngulos dos plos e zeros de malha aberta para
este polo:
=
i
j
(2.11)
i
j,p
onde i s correspondem s contribuies dos ngulos gerados pelos zeros e j s correspondem s contribuies dos ngulos gerados pelos polos.
8. O ngulo de chegada relacionado com o zero complexo dado por:
z = 180o
onde o mesmo valor determinado pela regra anterior.
21
(2.12)
2.6.2
(2.13)
Exemplos de Traados de RL
Exemplo_1
Para o caso do exemplo anterior, reproduzido novamente na figura 2.7 (ver seo 2.4.3, pg. 17,
YR
Bo(s)
K
T
1
s(s + 1)
K(b 0 + b 1 z)
0, 36788K(z + 0, 7183)
K(0, 3679z + 0, 2642)
=
= 2
(z 1)(z a)
(z 1)(z 0, 3679)
z 1, 3679z + 0, 3679
z}|{
(2N + 1)
ngulo da assndota = =
,
(np nz )
N = 0, 1, 2, . . .
onde: N = 0 corresponde a assntota com o menor ngulo com respeito ao eixo real. Embora N assuma um
nmero infinito de valores, o ngulo repete a si mesmo a medida que N aumenta. O nmero de diferentes
assntotas dado por: np nz .
Neste caso:
=
(2N + 1) 180
np nz
=
=
180o
= 1800 , p/N=0
1
3 180o
= 540o , p/N=1
1
Os pontos de partida (break-way) e chegada (break-in) podem ser determinados partir das razes de:
d K A0 (z)B(z) A(z)B 0 (z)
=
=0
dz
B 2 (z)
onde: o apstrofe indica diferenciao em relao z e A(z) e B(z) so extrados partir da equao caracterstica:
Se a equao caracterstica D (z) = 0 for escrita como:
D (z)
1 + F (z) = 0
K B(z)
= 1+
A(z)
ento:
K=
A(z)
B(z)
22
=
dz
dv
v2
neste caso:
d
B oG (z)
dz
"
#
d 0, 36788K(z + 0, 7183)
dz
(z 1)(z 0, 3679)
b
z=
2a
T=1.0;
%Entrando com dados do sistema
a=exp ( T ) ;
b1=exp ( T ) +T 1 ; ;
b0=1exp ( T ) T * exp ( T )
%Montando BoG(z):
num=[ b1 b0 ] ;
den=conv ( [ 1 1 ] , [ 1 a ] ) ;
BoG= t f ( num , den , T )
Transfer function :
0.3679 z + 0.2642
23
( z 1) ( z 0.3679)
Sampling time : 1
>> r l o c u s ( BoG )
>> a x i s equal
>>
Figura 2.8: Lugar das razes para o sistema usado como exmeplo
Verificando a resposta do sistema para entrada degrau usando o ganho mximo K = 2.3922, obtemos,
usando o MATLAB, a figura 2.9 que confirma a resposta oscilatria do sistema.
>> K=(1a ) /b0
K =
2.3922
>> FTMF=feedback ( K*BoG , 1 )
Transfer function :
0.88 z + 0.6321
z^2 0.4878 z + 1
Sampling time : 1
>> zpk ( FTMF )
Zero / po l e / gain :
0.88005 ( z +0.7183)
( z^2 0.4878 z + 1 )
Sampling time : 1
>> f i g u r e ;
>> step ( FTMF )
Lembrando que:
ln %O S/100
q
2 + ln2 (%O S/100)
= 0, 4559
este valor de pode ser impresso no diagrama do Lugar das Razes deste sistema para servir como guia
para definio da posio desejada para os plos de malha-fechada do sistema e consequente valor K do
ganho necessrio no MATLAB:
>> zeta =( l o g (20/100) ) / ( s q r t ( p i ^2+( l o g (20/100) ^2) ) )
zeta =
0.4559
>> f i g u r e ; %abre nova janela grafica
>> r l o c u s ( BoG ) ;
>> hold on
>> z g r i d ( zeta , 0 )
>> a x i s equal
>> r l o c f i n d ( BoG )
S e l e c t a p o i n t i n the g r a p h i c s window
selected_point =
0.5787 + 0.4183 i
ans =
0.5547
>>
>>
>>
>>
Transfer function :
0.2041 z + 0.1466
25
Zero / po l e / gain :
0.20406 ( z +0.7183)
A figura 2.10 mostra o diagrama do Lugar das Razes com a linha guia para o = 0, 4559 selecionado e
a figura 2.11 mostra a correspondente resposta do sistema para um degrau unitrio aplicado sua entrada
com K = 0, 5547 que satisfaz o valor desejado para .
Root Locus
2
1.5
K=0,5547
Imaginary Axis
1
0.456
0.5
0
0.5
1
1.5
2
3
2.5
1.5
0.5
Real Axis
0.5
1.5
Step Response
System: novo_mf
Peak amplitude: 1.19
Overshoot (%): 18.8
At time (sec): 5
1.4
1.2
Amplitude
1
System: novo_mf
Settling Time (sec): 11.7
0.8
0.6
0.4
0.2
0
0
10
15
Time (sec)
20
25
Figura 2.11: Resposta para o degrau unitrio do sistema com ganho ajustado com K = 0, 5547.
Exemplo_2
Seja o sistema mostrado na figura 2.12.
26
s
s+1
(
)
1
(1 z 1 ) Z
s(s + 1)
1
1
(1 z 1 ) Z
s s+1
z 1
z
z
z
z 1 z e T
T
1e
z e T
(
o
Z G h0 (s)G p (s)
=
=
=
=
=
Vamos supor que ser usado um controlador integral PI, isto , G D (z) =
G (z)
G D (z) G h G p (z)
Kz 1 e T
z 1 z e T
Kz(1 e T )
(z 1)(z e T )
L(z) =
dK
= 0:
dz
(z 1)(z 0, 6065)
0, 3935z
dK
z 2 0, 6065
=
=0
dz
0, 3935z 2
cujas razes resultam em:
z2
0, 6065
z1
0, 7788
z2
= 0, 7788
8, 165
Kz
, assim teremos:
z 1
Assim, a faixa de estabilidade para este sistema est na faixa de K para: 0 < K < 8, 165.
A figura 2.13 representa o diagrama de RL. Dois traos partem dos dois polos em K = 0. Se vamos
aumentando o valor de k, um dos traos segue at o zero e o outro tende a infinito (negativo).
Root Locus
1
0.8
Imaginary Axis
0.6
0.4
0.2
0
0.2
0.4
0.6
0.8
1
2.5
1.5
0.5
Real Axis
0.5
1.5
A figura 2.13 pode ser obtida usando o MATLAB como mostra a listagem seguir:
>>
>>
>>
>>
clear a l l
num=1;
den =[1 1 ] ;
G= t f ( num , den )
Transfer function :
1
s + 1
>> T = 0 . 5 ;
>> BoG=c2d ( G , T )
Transfer function :
0.3935
z 0.6065
Sampling time : 0.5
>> num_c=[1 0 ] ;
>> den_c =[1 1 ] ;
>> c= t f ( num_c , den_c , T )
Transfer function :
z
z 1
Sampling time : 0.5
>> FTMA= s e r i e s ( c , BoG )
Transfer function :
0.3935 z
28
0.39347 z
( z 1) ( z 0.6065)
Sampling time : 0.5
>> r l o c u s ( FTMA )
>>
0, 6321Kz
(z 1)(z 0, 3679)
z1 = 0, 6065 e z2 = 0, 6065
0, 8647Kz
(z 1)(z 0, 1353)
29
30
Captulo 3
Controladores Digitais
De modo geral, os controladores digitais a serem estudados nesta seo obedecem ao formato genrico:
(z a)
(z b)
C(z) = K
e todos sero aplicados sobre o seguinte tipo de planta (ver figura 3.1):
G (s) =
1
s(s + 1)
com T = 1 (segundo).
G(s)
+
YR
e(kT)
e(t)
C(z)
u(kT)
1
s(s + 1)
Bo(s)
y(t)
BoG(z)
ou
Planta
G(s)
ZOH
r(kT)
e(kT)
C(z)
u(kT)
1
s(s + 1)
Bo(s)
T
y(t)
BoG(z)
y(kT)
Sistema Digital
1 1
1
+
2
s s+1
s
1
1 1
(1 z 1 ) Z 2 +
s s+1
" s
#
Tz
z
z
1
= (1 z )
+
(z 1)2 z 1 z e T
" T
#
(ze z + Tz) + (1 e T TeT )
=
(z 1)(z e T )
a(z + b)
0, 3678z + 0, 2644
0, 3678 (z + 0, 7183)
=
=
(z 1)(z 0, 3678) z 2 1, 3678z + 0, 3678 (z 1)(z a)
Ou tambm podemos usar outros comandos no MATLAB para obter os mesmos resultados:
>> num=1;
>> den =[1 1 0 ] ;
>> T=1;
>> G= t f ( num , den )
Transfer function :
1
s^2 + s
>> zpk ( G )
Zero / po l e / gain :
1
s ( s +1)
>> BoG=c2d ( G , T )
Transfer function :
0.3679 z + 0.2642
( z 1) ( z 0.3679)
Sampling time : 1
>>
32
A resposta deste sistema para um impulso unitrio, R (z)=1 seria: Y(z) = G (z) 1, cuja resposta inicial no
tempo poderia ser obtida pelo mtodo da diviso longa em Z, ou seja:
0, 3678z +0, 2644
z 2 1, 3678z + 0, 3678
0, 3678z +0, 5031 +0, 1353z 1
0, 3678z 1 + 0, 7675z 2 + 0, 9145z 3 + . . .
1
+0, 7675 0, 1353z
0, 7675 +1, 0497z 1 +0, 2823z 2
0, 9145z 1 0, 2823z 2
ou seja, y(kT) = 0 z 0 + 0, 3678z 1 + 0, 7675z 2 + 0, 9145z 3 + . . ., ou ainda, y(0)=0; y(1)=0,3678; y(2)=0,7675;
y(3)=0,9145; tendendo para 1. Note que pelo teorema do valor final (ver ??, pg. ??):
f () = lim f (k) = lim (1 z 1 )F (z)
k
z1
a resposta da planta em regime permanente para um impulso unitrio aplicado sua entrada resulta em:
y() = lim y(kT) = lim (1 z 1 ) Y(z)
k
z1
z1
#
"
0, 36788z + 0, 26424
z 1
z
(z 1)(z 0, 36788)
y() = lim
3.1
FTMA(z)
F (z)
Y(z)
=
=
R(z) 1 + FTMA(z) 1 + F (z)
K(az + b)
z 2 (1 + a)z + a
0, 36788(z + 0, 7183)
0, 36788(z + 0, 7183)
=
(z 0, 5 j0, 6182)(z 0, 5 + j0, 6182)
z 2 z + 0, 6321
z^2 z + 0.6321
Sampling time : 1
>> zpk ( f t m f )
Zero / po l e / gain :
33
0.36788 ( z +0.7183)
( z^2 z + 0.6321)
Sampling time : 1
>> [ num_mf , den_mf ]= t f d a t a ( ftmf , v ) %Separando numerador e denominador da TF
num_mf =
0
0.3679
0.2642
den_mf =
1.0000
1.0000
0.6321
>> polos_mf=r o o t s ( den_mf ) %Descobrindo onde foram parar os polos de MF:
polos_mf =
0.5000 + 0.6182 i
0.5000 0.6182 i
>> [ theta , rho ]= c a r t 2 p o l ( r e a l ( polos_mf ( 1 ) ) , imag ( polos_mf ( 1 ) ) )
>> %Verificando se estao fora do circulo unitario em Z
theta =
0.8907
rho =
0.7951
>> deg =( rho *180) / p i %transformando de (rad) > (deg)
deg =
45.5536
>>
Note que como este um sistema do tipo 1 (planta com 1 integrador), ele responde com erro nulo para a
entrada degrau, depois que realimentamos este sistema com um simples controlador proporcional:
Lembrando da definio do erro em regime permanente (eq. (1.2) seo 1, pg. 5), temos:
lim e(kT) = lim (z 1)
z1
1
Y (z)
1 + F (z) r
1
z
1
1
=
=
1 + F (z) (z 1) 1 + lim F (z) 1 + Kp
z1
1
N(z)
1 + limz1
(z 1) D 0 (z)
1
1 + Kp
3.1.1
Determinando Km ax
Note porm que este ganho (K = 1), gera um overshoot muito elevado para a resposta esperada para o
sistema.
Podemos calcular qual o valor de Km ax
que podemos incorporar neste sistema antes de que ele fique
instvel, usando o mtodo de Jury.
Analisando: E C(z) = an z n + an1 z n1 + . . . + a1 z + a0 = 0, temos
Neste caso: E C(z) = z 2 (1 + a)z + a + Kaz + Kb = 0, onde a = 0,3679 e b = 0,2642, ento:
E C(z) = z 2 + (Ka 1 a)z + (a + Kb)
E C(z) = z 2 + (0, 3678K 1, 3679)z + (0, 3678 + 0, 2644K) = 0
Observando as pr-condies de estabilidade:
34
Step Response
From: U(1)
1.4
1.2
0.8
To: Y(1)
Amplitude
0.6
0.4
0.2
0
0
10
15
20
25
Time (sec.)
1.5
1
Imag Axis
0.5
0
-0.5
-1
-1.5
-3
-2.5
-2
-1.5
-1
-0.5
Real Axis
0.5
1.5
0.3678(z+0.7183)
K=3.1892
1.5
K=2.2789
1
K=0.9186
Imag Axis
0.5
0
-0.5
K=0.1964
-1
-1.5
-3
-2.5
-2
-1.5
-1
-0.5
Real Axis
0.5
1.5
de segunda ordem, ento basta definir valores convenientes para o fator de amortecimento (principalmente),
, e para a freqncia natural, n . Um valor melhor tolerado, seria um overshoot de 5% que se obtm com
0,7.
Podemos graficar no MATLAB uma linha guia para este valor a fim de descobrir que valor de ganho K
deveria ser adotado:
>> z g r i d ( 0 . 7 , 0 . 5 , new )
>> r l o c u s ( numd , dend )
>> a x i s ( equal )
>> hold on
>> r l o c f i n d ( numd , dend )
S e l e c t a p o i n t i n the g r a p h i c s window
selected point =
0.6077 + 0.2537 i
ans =
0.3284
36
>>
1.5
wn=0.5
Imag Axis
0.5
0
-0.5
=0.7
-1
K=0.3284
-1.5
-3
-2.5
-2
-1.5
-1
-0.5
Real Axis
0.5
1.5
Step Response
From: U(1)
1.4
1.2
0.8
To: Y(1)
Amplitude
0.6
0.4
0.2
10
15
20
25
Time (sec.)
Figura 3.6: Resposta ao degrau depois de nova sintonia do controlador proporcional note o menor overshoot.
37
O valor em regime permanente para y(kT) quando R(z) = entrada degrau unitrio, resulta em:
y() = lim (z 1) F T MF (z)
z1
z
= lim F T MF (z)
z 1 z1
Se fosse desejado simular um outro tipo de entrada ao sistema, poderamos faz-lo facilmente no MATLAB. Supondo o caso de se querer simular uma entrada parablica:
>>
>>
>>
>>
60
To: Y(1)
Amplitude
70
50
u(k)=k 2
40
30
y(k)
20
10
0
0
10
Time (sec.)
Tz
, temos:
(z 1)2
>> num_r=[1 0 ] ;
>> den_r=conv ( [ 1 1 ] , [ 1 1])
>> [ num_mf2 , den_mf2 ]= s e r i e s ( num_mf , den_mf , num_r , den_r ) ;
>> p r i n t s y s ( num_mf2 , den_mf2 , z ) ;
num/ den =
0.11772 z^2 + 0.084557 z
12
ou seja, observamos que este controlador (proporcional) no suficiente para garantir erro nulo para
entrada rampa, falta um integrador.
Simulando
(
)a entrada rampa no sistema para comprovar o erro em regime permanente; neste caso: r(kT) =
T
z
Z 1
= k T:
(z 1)2
>>
>>
>>
>>
>>
15
To: Y(1)
Amplitude
20
10
10
15
20
25
Time (sec.)
3.2
za
; podemos fazer que a =
Continuando com o projeto de um controlador digital no formato C(z) = K
zb
plo mais dominante da planta, ou seja:
C(z) =
K(z 0, 36788)
(z + 0, 24)
lembrando que:
B0 G (z) =
0, 36788 (z + 0, 7183)
(z 1)(z 0, 36788)
39
No plano-z, as razes prximas da origem so menos significativas do ponto de vista de overshoot e fator
amortecimento.. Entretanto, estas razes no podem ser completamente desconsideradas uma vez que
um nmero excessivo de plos em relao zeros gera um efeito de delay na regio inicial da resposta
no tempo. Isto , adicionar plos em z = 0 no vai afetar nem o overshoot e nem o fator amortecimento,
mas o tempo de resposta vai apresentar um delay adicional de um perodo de amostragem.
A melhor maneira de simplificar (tonar menos complexo, com menor ordem) um sistema no plano-z
trocar os plos prximos da origem por plos em z = 0 o que vai simplificar a anlise uma vez que plos
em z = 0 correspondem puros atrasos no tempo.
A idia via controlador se cancelar o polo da planta em z = 0, 36788. O que torna a funo transferncia em malha aberta deste sistema em:
F (z) =
K 0, 36788 (z + 0, 7183)
(z 1)(z + 0, 24)
que d como lugar das razes um grfico como o mostrado pela figura 3.9. Seguem comandos no MATLAB
usados para gerar a figura 3.9.
>> fnum=numd ;
>> fden=conv ( [ 1 \ t e x t b f { { } 1 } ] , [ 1 \ t e x t b f { 0 . 2 4 } ] ) ;
>> p r i n t s y s ( fnum , fden , z )
num/ den =
0.36788 z + 0.26424
40
>> z g r i d ( 0 . 7 , 0 . 5 ) ;
>> a x i s ( equal ) ;
>> r l o c f i n d ( fnum , fden )
S e l e c t a p o i n t i n the g r a p h i c s window
selectedpoint =
0.4795 + 0.8538 i
ans =
4.6445
>>
2
1.5
K=4,6445
Imag Axis
0.5
0
-0.5
-1
-1.5
-2
-2
-1.5
-1
-0.5
0
0.5
Real Axis
1.5
Mas se queremos que o sistema responda com %O S de no mximo 5%, fazemos = 0.7 e ento obtemos
a figura 3.10.
Assim, fazendo K = 1.2, obtemos a resposta no tempo para entrada degrau:
>> K = 1 . 2 ;
>> [ num_mf , den_mf ]= feedback ( K* fnum , fden , 1 , 1 , 1 ) ;
>> p r i n t s y s ( num_mf , den_mf , z )
num/ den =
0.44146 z + 0.31709
41
1.5
K=1.2828
1
Imag Axis
0.5
0
-0.5
-1
=0.7
-1.5
-3
-2.5
-2
-1.5
-1
-0.5
Real Axis
0.5
1.5
Step Response
From: U(1)
1.4
1.2
0.8
To: Y(1)
Amplitude
0.6
0.4
0.2
10
Time (sec.)
Figura 3.11: Resposta entrada degrau para controlador cancelando plo dominante.
42
15
To: Y(1)
Amplitude
20
10
10
15
20
25
Time (sec.)
Figura 3.12: Resposta entrada rampa para controlador por cancelamento de plo dominante.
ou seja, erro nulo para entrada degrau. Mas este controlador ainda no resolve o problema de anular o erro
para entrada rampa, que resulta no grfico da figura 3.12.
3.3
Detalhe: na prtica no se consegue realizar um cancelamento perfeito de plos-zeros, seja porque nem
sempre nosso sistema digital de controle opera com nmeros em ponto flutuante, seja porque o clculo no
executado com preciso suficiente ou seja porque o conversor final de digital para analgico trabalha com
poucosbits de resoluo (baixa quantizao do sinal).
No caso real, o que poderia acontecer? Levando em conta o exemplo anterior, vamos supor que o plo
que gostaramos de cancelar seria em z = 0, 36788 que note, proporcional : a = e T (ou seja, o plo
ainda se desloca em funo do perodo de amostragem adotado). Vamos super que consigamos sintetizar no
mximoum valor de a = 0, 36 o que acontece? Ento nosso controlador fica:
C(z) =
K (z a) 1, 20 (z 0, 36)
=
(z + 0, 24)
(z + 0, 24)
No MATLAB:
>> K = 1 . 2 ;
>> cnum=[1 0 . 3 6 ] ;
>> cden =[1 0 . 2 4 ] ;
>> p r i n t s y s ( cnum , cden , z )
num/ den =
z 0.36
z + 0.24
>> r o o t s ( cnum )
ans =
0.3600
43
>> r o o t s ( dend )
ans =
1.0000
0.3679
>> [ fnum , fden ]= s e r i e s ( cnum , cden , numd , dend ) ;
>> p r i n t s y s ( fnum , fden , z ) ;
num/ den =
0.36788 z^2 + 0.1318 z 0.095127
r l o c u s ( fnum , fden )
zgrid (0 ,0) ;
a x i s ( equal )
hold on
zgrid (0.7 ,0.5) ;
r l o c u s ( fnum , fden , K )
a x i s ([ 2 1.5 1.1 1 . 1 ] )
1
K=1.2
Imag Axis
0.5
-0.5
=0.7
-1
-2
-1.5
-1
-0.5
0
Real Axis
0.5
1.5
Um zoom sobre a regio onde o cancelamento no foi perfeito mostrado na figura 3.14.
A resposta para a entrada degrau fica ento:
>> a x i s ([ 2 1.5 1.1 1 . 1 ] )
>> [num\_mf , den \_mf ]= feedback ( K* fnum , fden , 1 , 1 , 1 ) ;
>> p r i n t s y s (num\_mf , den \_mf , z )
num/ den =
0.44146 z^2 + 0.15817 z 0.11415
44
0.7
0.6
0.5
K=1.2
Imag Axis
0.4
0.3
=0.7
0.2
0.1
0
-0.1
-0.2
0
0.2
0.4
0.6
Real Axis
0.8
1.2
Step Response
From: U(1)
To: Y(1)
Amplitude
0.8
0.6
0.4
0.2
10
Time (sec.)
e
To Workspace2
1.2
Step
Gain
12:34
Digital Clock
To Workspace4
u
To Workspace1
z-0.36
z+0.24
s2 +s
Controlador
Zero-Order
Hold
To Workspace
y
Planta
r
To Workspace3
Figura 3.17: Parmetros dos blocos To Workspace que devem ser ajustados.
subplot (211) }
stairs ( t , r , b : ) ;
hold on ;
s t a i r s ( t , y , k ) ;
a x i s ( [ 0 10 0 1 . 1 ] )
46
1
0.8
r(kT)
y(kT)
0.6
0.4
0.2
0
10
10
u(max)=1.2
1
e(kT)
u(kT)
0.5
>> legend ( r ( kT ) , y ( kT ) )
>> s u b p l o t ( 2 1 2 ) ;
>> s t a i r s ( t , e , b : ) ;
>> hold on
>> s t a i r s ( t , u , k ) ;
>> legend ( e ( kT ) , u ( kT ) )
>> max ( u )
ans =
1.2000
>>
47
3.4
Quando se projetava controladores no domnio tempo usando o diagrama de Lugar das Razes (Root
Locus) o projeto se baseava em aproximar o comportamento do sistema em malha fechada para um sistema
de malha fechada com um par de polos complexos conjugados que domina o seu comportamento (plos
dominantes complexos sistema de 2a-ordem, sobre-amortecido, 0 < < 1).
Tipos de Controladores: Diferentes tipos de controladores j foram estudados (controle automtico contnuo no tempo), como os controladores PI, PD e PID. Sabemos que o controlador PI era adotado quando se
deseja melhorar a resposta em regime permanente (anular o erro em regime permanente). O controlador PD
era usado para melhorar o desempenho (ou estabilidade relativa) da resposta transitria. Do mesmo modo,
um controlador por Avano de Fase servia para melhorar a resposta dinmica enquanto um controlador por
Atraso de Fase melhorava a resposta em regime permanente.
Cancelamento Polo-Zero: Um mtodo comum de projeto de controladores no plano-s ou plano-z consiste
em cancelar os polos indesejados (lentos) ou zeros da funo transferncia da planta atravs dos zeros e
polos do controlador. Com os controladores digitais, podemos agora, acrescentar polos e zeros em algumas
posies vantajosas. Entretanto, devemos levar em considerao que a abordagem de cancelamento de
polos e zeros nem sempre resulta numa soluo satisfatria. Por exemplo, se os polos indesejveis esto
prximos do eixo j, se ocorre cancelamentos inexatos o que praticamente inevitvel na prtica (por erros
de arredondamento, preciso numrica de clculo, truncagem de resultados), o resultado pode conduzir a
um sistema de malha fechada marginalmente estvel ou mesmo num sistema instvel em malha fechada.
Por esta razo, no se deve tentar cancelar um polo instvel.
3.4.1
z+a
. Ele se tornar um compensador de avano de
Considere um compensador no formato: C(z) = K
z+b
fase se seu zero se localizar direita do seu polo.
Procedimento:
1. Calcule a posio desejada para os polos de malha fechada baseado nos critrios fornecidos para o
projeto do controlador.
2. Mapeie os polos do plano-s para o plano-z (usando a definio da Transformada Z).
3. Verifique se a frequncia de amostragem de 8 10 vezes maior que a frequncia de oscilao amortecida desejada.
4. Calcule a contribuio dos ngulos relativa todos os polos e zeros de malha aberta com relao
desejada posio para os polos de malha fechada.
5. Calcule a contribuio exigida pela funo transferncia do controlador para que o ngulo desejado
(contribuio necessria) seja satisfeita.
6. Posicione o zero do controlador numa posio adequada (cancelando algum polo dominante da planta)
e calcule a contribuio angular que deve vir do polo do controlador.
7. Determine a localizao do polo do controlador de forma a proporcionar o ngulo necessrio.
8. (Finalmente) descubra o valor do ganho K usando o critrio da Magnitude.
Segue um exemplo para ilustrar este procedimento.
Exemplo
Considere um sistema de controle discreto como o mostrado na figura 3.20.
Projete um controlador cujos polos dominantes resultem num fator de amortecimento, = 0, 5 e um tempo
de ajuste (settling time), ts = 2 segundos. Use como valor para o perodo de amostragem, T = 0, 2 segundos.
Soluo:
p
O par de polos dominantes complexos no domnio contnuo devem estar em: n jn 1 2 , onde n
48
Figura 3.20: Sistema de controle discreto projeto do controlador por avano de fase.
4
= 2 segundos, ento, n = 4 (rad/s).
n
49
3.5
Deseja-se projetar um controlador digital para garantir erro nulo ao regime permanente para entrada
degrau acompanhado de uma resposta dinmica satisfatria. A constante de erro de velocidade deve ser
pelo menos 5. O perodo de amostragem adotado de 0,1 segundos. A planta dada por:
G (s) =
10
(s + 1)(s + 2)
( s +2) ( s +1)
Continuous time zero / p ol e / gain model .
>> T = 0 . 1 ;
>> BoG=c2d ( G , T )
BoG =
0.04528 z + 0.04097
( z 0.9048) ( z 0.8187)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>>
0, 04528(z + 0, 9048)
(z 0, 9048)(z 0, 8187)
Uma forma de garantir erro nulo em regime permanente para entrada degrau usar um controlador do
tipo Proporcional-Integral, ou doravante PI.
A funo transferncia de um controlador PI no domnio-Z usando integrao retangular resulta em:
C(z) = kp +
Kp z (Kp Ki T)
Ki T
=
z 1
z 1
O parmetro Ki pode ser determinado com base na constante de erro relacionada com o ganho de velocidade
deste sistema, ou seja, sistemas que reagem com erro no nulo mas finito para entradas de primeira ordem
(rampa). Lembrando que:
Entrada Rampa =
Tz
(z 1)2
1
limz1 [(z 1)F T MA(z)] conhecido como a constante de erro de velocidade.
T
Neste caso Kv 5:
h
i
Kp z (Kp Ki T) (0, 04528z + 0, 04097)
1
Kv =
lim (z 1)
T z1
(z 1) (z 2 1, 724z + 0, 7408)
h
i
1 Kp Kp + Ki T (0, 04528 + 0, 04097)
Kv =
T
(z 1, 724 + 0, 7408)
50
Kv =
1 (Ki T) 0, 0863
T
0, 0173
Kv = 5, 0 Ki
onde os fatores 0, 0863 e 0, 0173 podem ser determinados com o auxlio do Matlab:
>> [ numd , dend ]= t f d a t a ( BoG , v )
numd =
0
0.0453
0.0410
dend =
1.0000
1.7236
0.7408
>> lim1= p o l y v a l ( numd , 1 )
lim1 =
0.0863
>> lim2= p o l y v a l ( dend , 1 )
lim2 =
0.0173
>> lim1 / lim2
ans =
5.0000
Desta forma, os requisitos de desempenho dinmico para este sistema sero satisfeitos se Ki 1.
Se Ki = 1 a funo transferncia em malha aberta fica:
F T MA(z) = C(z) B oG (z)
Ki T
z}|{
[Kp (z 1) + 0, 1 ][0, 04528(z + 0, 9048)]
F T MA(z) =
(z 1)(z 1, 724z + 0, 7408)
0,1
F T MA(z) =
F T MA(z) =
z}|{
0, 04528 Kp (z 1)(z + 0, 9048) + (Ki T) 0.04528(z + 0, 9048)
z 3 2, 7235z 2 + 2, 4643z 0, 7408
Onde a F T MA(z) pode ser obtido com a ajuda do Matlab (neste caso Kp = 1 e Ki = 1):
Kp z (Kp Ki T)
z (1 0, 1) z 0, 9
notar que: C(z) =
se transforma em: C(z) =
=
e ento:
(z 1)
z 1
z 1
>> [ numd , dend ]= t f d a t a ( BoG , v ) %separando numerador e denominador de BoG(z)
numd =
0
0.0453
0.0410
dend =
1.0000
1.7236
0.7408
>>
>> FTMA_dend=conv ( [ 1 1] , dend ) %determinando denominador de FTMA(z)
FTAM_dend =
1.0000
2.7236
2.4644
0.7408
>> FTMA_dend=conv ( [ 1 1] , dend )
FTAM_dend =
1.0000
2.7236
2.4644
>>
>> K _ i =1; K_p =1; %parmetros do PI
>> num_c=[ K_p (K_p K _ i * T ) ]
num_c =
1.0000
0.9000
>> C= t f ( num_c , den_c , T )
C =
z 0.9
z 1
Sample time : 0.1 seconds
D i s c r e t e time t r a n s f e r f u n c t i o n .
>> zpk ( C )
ans =
( z 0.9)
( z 1)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> %determinando FTMA(z):
>> FTMA= s e r i e s ( C , BoG )
FTMA =
0.04528 z^2 + 0.000219 z 0.03687
0.7408
51
(3.1)
Root Locus
Root Locus
3
0.15
0.1
Imaginary Axis
Imaginary Axis
0.05
0.05
0.1
3
6
0.15
5
2
Real Axis
0.8
0.85
0.9
0.95
Real Axis
Figura 3.21: Lugar das razes para sistema com controlador PI.
( z 1) ( z 0.9048) ( z 0.8187)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> %Podemos obter o RL para a FTMA(z):
>> r l o c u s ( FTMA )
O diagrama do lugar das razes pode ser visto na figura 3.21. Note que temos 2 zeros (de malha-aberta)
nas posies: z = 0, 9048 e z = 0, 9 e plos (de malha-aberta) em z = 1, z = 0, 9048 e z = 0, 08187 ver
detalhe na figura 3.21(b).
Trabalhando-se sobre o RL mostrado na figura 3.21(a) percebe-se que o sistema estvel para uma
pequena faixa de valores de K, K < 4, 81 ver figura 3.22. Note que o ganho K (usado para gerar o RL) no
corresponde diretamente ao ganho Kp , uma vez que alteraes no valor de Kp fazem variar a posio dos
zeros do controlador PI, fazendo variar o RL conforme se altera Kp ver eq. (3.1). Perceber pela figura 3.22
que o sobressinal (overshoot) aumenta rapidamente para pequenos valores de ganho de K.
A figura 3.23 mostra o mesmo RL considerando = 0, 5912 vlido para %OS=10% note que o ganho
neste caso deve ser bem pequeno, da ordem de K < 0, 252.
Fazendo-se K = 0, 4 na funo transferncia em malha-aberta (3.1) obtemos os resultados mostrados
na figura 3.24. Este resultado foi obtido seguindo as seguintes instrues no MATLAB:
>>
>>
>>
>>
>>
C3
z 1
Sample time : 0.1 seconds
D i s c r e t e time t r a n s f e r f u n c t i o n .
>> zpk ( C3 )
ans =
0.4 ( z 0.75)
( z 1)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> ftma3= s e r i e s ( C3 , BoG )
ftma3 =
0.01811 z^2 + 0.002804 z 0.01229
52
Root Locus
System: ftma
Gain: 4.81
Pole: 0.803 + 0.613i
Damping: 0.0155
Overshoot (%): 105
Frequency
(rad/s):
System:
ftma6.52
Gain: 1.37
Pole: 0.881 + 0.322i
Damping: 0.18
Overshoot (%): 56.3
Frequency (rad/s): 3.57
Imaginary Axis
System: ftma
0.8
Gain: 10.8
Pole: 0.666 + 0.907i
Damping: 0.125
Overshoot (%): 149
0.6 (rad/s): 9.45
Frequency
0.4
0.2
0.2
0.5
0.6
0.7
0.8
0.9
1
Real Axis
1.1
1.2
1.3
1.4
Root Locus
System: ftma
Gain: 4.81
Pole: 0.803 + 0.613i
Damping: 0.0155
Overshoot (%): 105
Frequency (rad/s): 6.52
0.8
Imaginary Axis
0.6
=0,5912
System: ftma
Gain: 1.37
Pole: 0.881 + 0.322i
Damping: 0.18
Overshoot (%): 56.3
Frequency
System: (rad/s):
ftma 3.57
Gain: 0.252
Pole: 0.908 + 0.112i
Damping: 0.588
Overshoot (%): 10.2
Frequency (rad/s): 1.52
0.4
0.2
0.2
0.5
0.6
0.7
0.8
0.9
1
Real Axis
1.1
1.2
1.3
1.4
53
D i s c r e t e time t r a n s f e r f u n c t i o n .
>> zpk ( ftma3 )
ans =
0.018112 ( z +0.9048) ( z 0.75)
( z 1) ( z 0.9048) ( z 0.8187)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> ftmf3=feedback ( ftma3 , 1 )
ftmf3 =
0.01811 z^2 + 0.002804 z 0.01229
Notar pela figura 3.24, que tanto o sobressinal gerado foi elevado, %OS=70%, quanto o tempo de
acomodao do sistema: ts = 19, 2 segundos.
1.8
System: ftmf3
Peak amplitude: 1.7
Overshoot (%): 69.7
At time (seconds): 1.6
Step Response
1.6
1.4
Amplitude
1.2
1
System: ftmf3
Settling time (seconds): 19.2
0.8
0.6
0.4
0.2
0
0
10
15
Time (seconds)
20
25
30
Kp (z 1) 1
z 1
54
Root Locus
System: ftma3
Gain: 1.86
Pole: 0.958 + 0.263i
Damping: 0.0245
Overshoot (%): 92.6
Frequency (rad/s): 2.68
0.4
Imaginary Axis
0.3
System: ftma3
Gain: 0.114
Pole: 0.957 + 0.057i
Damping: 0.579
Overshoot (%): 10.7
Frequency (rad/s): 0.73
0.2
0.1
0.1
0.6
System: ftma3
Gain: 0.0446
Pole: 0.955 + 0.00148i
Damping: 0.999
Overshoot (%): 0
0.465
0.7 Frequency
0.8 (rad/s):0.9
Real Axis
System: ftma3
Gain: 0.46
Pole: 0.961 + 0.133i
Damping: 0.214
Overshoot (%): 50.3
Frequency (rad/s): 1.41
1.1
1.2
C =
z
z 1
Sample time : 0.1 seconds
D i s c r e t e time t r a n s f e r f u n c t i o n .
>> FTMA= s e r i e s ( C , BoG )
FTMA =
0.04528 z^2 + 0.04097 z
( z 1) ( z 0.9048) ( z 0.8187)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> OS=10; %percentual de sobrepasso
>> zeta =( l o g (OS/100) ) / ( s q r t ( p i ^2+( l o g (OS/100) ^2) ) )
zeta =
0.5912
>> r l o c u s ( FTMA )
>> hold on
>> z g r i d ( zeta , 0 )
55
Root Locus
3
Imaginary Axis
3
7
3
2
Real Axis
Root Locus
0.5
System: FTMA
Gain: 0.00769
Pole: 0.965 + 0.0433i
Damping: 0.614
Overshoot (%): 8.68
Frequency (rad/s): 0.569
0.3
Imaginary Axis
System: FTMA
Gain: 0.0655
Pole: 0.992 + 0.146i
Damping: 0.017
Overshoot (%): 105
Frequency (rad/s): 1.47
0.591
0.4
0.2
0.1
0
0.1
0.2
0.3
0.4
0.5
0.2
0.2
0.4
0.6
Real Axis
0.8
1.2
56
3.6
Idia: fazer o sistema em malha fechada atingir o regime permanente no menor tempo possvel (no tempo
mnimo absoluto, k = 1) ou dentro de um nmero finito de perodos amostrados.
Para tanto, C(z) deve conter todos os plos e zeros de B oG (z), isto :
Os plos de C(z) contm os zeros de B oG (z);
Os zeros de C(z) contm os plos de B oG (z);
e alm disto, so acrescentados tantos integradores quanto os necessrios para anular (zerar) o erro em
regime permanente para o tipo de entrada especificado, ou:
P E
n=1 z p B oG (z)n
(3.2)
C(z) = Kc
ZE
w
m=1 z z B oG (z)m (z 1)
onde:
Kc
ZE
PE
zB oG (z)n
pB oG (z)m
(z 1)
w
= ganho do controlador;
= quantidade de zeros estveis da planta (B oG (z));
= quantidade de plos estveis da planta;
= n-simo zero da planta;
= m-simo plo da planta;
= so integradores impostos pelo integrador no sistema em malha fechada;
= nmero de integradores necessrios para tornar nulo o erro em regime permanente depende do tipo de entrada com a qual se est esperando operar
a planta (degrau, rampa, parbola, etc).
Note que o controlador no cancela plos ou zeros instveis da planta. Se estes existirem, estes so
desconsiderados na equao de C(z).
3.6.1
C(z) =
3z 2 z 1
(z 1)(z + 0, 6
1
z 1
F T MA(z)
1
=
1 + F T MA(z) z
(3.3)
Note que a eq. (3.3) quando excitada por uma entrada degrau unitrio resulta em:
Y(z) =
1
z
= z 1 + z 2 + . . .
z (z 1)
ou seja, a sada y(k) representa a resposta do sistema em malha-fechada para uma entrada degrau unitrio
e que inicia em k = 1, ou seja, um perodo de amostragem seguinte ao acionamento do sistema.
Note que y(k) alcana a resposta desejada igual a 1 com apenas 1 perodo de amostragem de atraso e
que a sada permanece neste estado indefinidamente. Ou seja, que logo aps 1 nico perodo de amostragem, o sistema j se encontra em regime permanente.
Este tipo de resposta conhecida como resposta dead beat.
Entretanto deve ser percebido que o controlador C(z) no garante que oscilaes (ripples) no vo ocorrer
entre dois instantes de amostragem de y(k), ou seja, entre os instantes amostrados da resposta do sistema.
57
3.6.2
Seja a planta indicada seguir, projetar um controlador pelo critrio do tmepo mnimo, garantindo ainda erro
nulo em regime permanente para entrada degrau unitrio. Dados da planta:
G (s) =
10
(s + 1)(s + 10)
Soluo:
1. Primeiramente determinamos a funo transferncia amostrada da planta: B oG (z).
Usando o MATLAB, podemos fazer:
>> num=10;
>> help p o l y
POLY Convert r o o t s to polynomial .
POLY ( A ) , when A i s an N by N matrix , i s a row v e c t o r w i t h
N+1 elements which are the c o e f f i c i e n t s o f the
c h a r a c t e r i s t i c polynomial , DET ( lambda * EYE ( S I Z E ( A ) ) A ) .
>> den=p o l y ([ 1 10]) ;
>> G= t f ( num , den ) ;
>> zpk ( G ) %confirmando que entramos corretamente com os dados para G(s)
Zero / po l e / gain :
10
( s +10) ( s +1)
>> %Resta discretizar G(s):
>> T = 0 . 1 ; %guardando o perodo de amostragem adotado.
>> BoG=c2d ( G , T ) %aplicando o ZOH sobre G(s)
Transfer function :
0.0355 z + 0.02465
( z 0.9048) ( z 0.3679)
Sampling time : 0.1
0.035501(z + 0.6945)
.
(z 0.9048)(z 0.3679)
2. Baseado na eq. (3.2) notamos que neste caso, necessitamos que nosso controlador tenha o seguinte
formato:
K (z 0.9048)(z 0.3679)
C(z) = c
(3.4)
(z + 0.6945)(z 1)
note que com o objetivo de anular o erro em regime permanente para uma entrada degrau foi introduzido
um integrador (termo (z 1)) no controlador. De qualquer forma, seria necessrio acrescentar algum plo
extra ao controlador a fim de garantir sua realizabilidade (grau do denominador grau do numerador).
Usando o MATLAB para especificar C(z) podemos fazer:
>> %para compor C(z). Ou separar os polos e zeros
help t f d a t a
help f o r l t i / t f d a t a
TFDATA
58
0
0.0355
0.0247
den_BoG =
1.0000
1.2727
0.3329
>> r o o t s ( num_BoG )
ans =
0.6945
>> polos_BoG=r o o t s ( den_BoG )
polos_BoG =
0.9048
0.3679
>> zeros_BoG=r o o t s ( num_BoG )
zeros_BoG =
0.6945
>> num_c=p o l y ( polos_BoG ) ; %construindo numerador de C(z), polinomialmente
>> den_c=p o l y ( [ 1 zeros_BoG ] ) ; %montando o numerador de C(z), incluindo o integrador
>> C= t f ( num_c , den_c , T )
Transfer function :
z^2 1.273 z + 0.3329
( z 1) ( z +0.6945)
Sampling time : 0.1
( z 1)
Sampling time : 0.1
%mas continuar com FTMA(z) permite vizualizar os cancelamentos polos-zeros
%no diagrana do lugar das raizes
0.035501
(z 1)
(3.5)
59
Root Locus
Imaginary Axis
0.5
-0.5
-1
-3
-2
-1
0
Real Axis
ki nf ty
z1
1
(1 z 1 )
Step Response
Root Locus
1
Kc=28.0689
0.8
Amplitude
Imaginary Axis
0.5
-0.5
-1
-3
0.6
Note: regime permanente a partir de k=1 (t=0.1)
0.4
0.2
-2
-1
0
Real Axis
0
0
0.5
1
Time (sec)
1.5
Figura 3.29: RL ajustado e resultado da sada do sistema com controlador deat-beat sintonizado.
0.2303
0.0008
Mas este tipo de resposta tm sua contraparte: um elevado eforo de controle. Para comprovar as amplitudes envolvidas com o sinal de controle, u(k) podemos simular este sistema no MATLAB/Simulink ver
figura 3.30.
e
To Workspace2
To Workspace3
28.0689
Step
Gain
(z-0.9048)(z-0.3679)
(z-1)(z+0.6945)
10
s2+11s+10
Zero-Order
Hold
C(z)
G(s)
y
To Workspace
To Workspace1
Clock
To Workspace4
Note que os blocos relacionados com C(z) (Discrete Zero Pole Transfer Fcn no Simulink) e o sustentador
de ordem zero devem explicitamente terem seus parmetros editados para confirmar que so discretos,
isto , com perodo de amostragem definido em T = 0.1 ver figuras 3.31(a) e (b).
E tambm devemos ajustar os parmetros de simulao no Simulink. Selecione Simulation > Configuration Parameters e ajute o campo Solver options > Type: Fixed-step, Solver: ode4 (Runge-Kutta)
(conforme sugesto de (Nise, 2012)) e Fixed step size: para 0.1 conforme mostra a figura 3.32.
Uma vez feito os ajustes no Simulik possvel visualizar os resultados obtidos atravs dos comandos a
seguir, que geram os grficos da figura 3.33(a) e (b):
61
62
A o de Controle [u(k)]
1.4
30
1.2
20
1
10
u(k)
y(k)
0.8
0
0.6
-10
0.4
-20
0.2
0.2
0.4
0.6
0.8
1
tempo (s)
1.2
1.4
1.6
1.8
-30
0.2
0.4
0.6
0.8
1
tempo (s)
1.2
1.4
1.6
1.8
>>
>>
>>
>>
>>
>>
>>
>>
figure ; plot ( t , y )
t i t l e ( Acao de C o n t r o l e [ u ( k ) ] )
x l a b e l ( tempo ( s ) ) ;
ylabel ( u( k ) )
figure ; stairs ( t , u)
t i t l e ( Ao de C o n t r o l e [ u ( k ) ] )
x l a b e l ( tempo ( s ) ) ;
ylabel ( u( k ) )
Onservando a figura 3.33(b) se percebe que o sinal de controle oscilou entre 27.0489 u(k) 28.0689
(foram usados os comandos max(u) e min(u) para descobrir os maiores valores de oscilao de u(k))
uma faixa de excurso provavelmente muito maior que a suportada pelo converssor D/A ou driver de
potncia conectado fisicamente entre a sada do controlador digital e a entrada da planta.
63
3.6.3
Seja a planta indicada seguir, baseada em [Nise (2012), Cap. 2, pg. 113, 197] estudo de caso para
controle de posio de uma antena ver figuras 3.34 e 3.35. Sua funo transferncia, para controle de
posio angular de posio, dada por:
G (s) =
Ea (s)
0, 2083
[rad]
=
=
o (s) s(s + 1, 71) [V olts]
onde:
Ea (s): tenso eltrica (Volts) apresentada na entrada do driver de potncia do motor eltrico da
antena. Pode variar entre 5, 0 5, 0 (Volts).
o (s): orientao final da antena (posio angular), sada em (radianos).
notar ainda que esta planta possui certas limitaes fsicas (reais) como:
Zona-morta: o motor no responde para baixas voltagens de entrada, isto , no move abaixo de certa
voltagens. No caso, para a faixa entre 2, 0 2, 0 (Volts);
Folga: (ou backslash ) presente nas engrenagens acompladas entre o eixo de sada do motor e o eixo rotor
da antena. Isto significa que to logo o motor reverte sua rotao, o eixo de sada da antena (depois de
ter passado pela acoplamento entre as engrenagens saindo do motor), permanece esttico enquanto
o motor prossegue na sua reverso. Quando os dentes das engrenagens finalmente se conectam, o
eixo de sada da antena comea a girar na direo da reverso (sem mais nenhum efeito de backslash ).
Neste caso, o conjunto motor-antena possui folga de 0, 15 (radianos).
Supondo que o perodo de amotragem ser adotado de T = 0.1 (segundos), temos:
B oG (z) =
0, 00098459(z + 0, 9446)
(z 1)(z 0, 8428)
1
(z 0, 8428)
0, 00098459 (z + 0, 9446)
|
{z
}
Kc
1
F T MA(z)
1
1
= z11 =
= = z 1
1 + F T MA(z) 1 + z1 z 1 + 1 z
como:
Y(z)
= F T MF (z)
R(z)
1
z
1
=
= 1z 1 + 1z 2 + 1z 3 + . . .
z (z 1) z 1
ou seja, o sistema entra em regime permanente 1 instante de amostragem depois de ativado (em k = 1),
como seria o esperado com a entrada do controlador dead-beat no sistema.
Os clculos para determinar C(z) usando MATLAB seguem seguir:
Primeiramente o sistema foi simulando considerando um sistema ideal, isto , sem limitaes ver figura
XX.
65
(b) Esquemtico.
Figura 3.34: Sistema de controle de posio (azimute) de uma antena (Extrado de [Nise (2012), Cap. 2, pg. 32]).
Figura 3.35: Diagrama em blocos referente a um estudo de caso de controle de posio (azimute) de uma anterna (Extrado de [Nise (2012), pg. 3]).
66
Captulo 4
Objetivos: determinar C(z) tal que o processo em malha-fechada se comporte como o especificado.
Especificaes:
Preciso (erro em regime permanente);
Forma do transitrio.
Num sistema comum com malha de realimentao unitria fechada pelo controlador C(z) temos:
F T MA(z) = C(z) B oG (z)
que deve atender as especificaes de preciso, isto , o e() est associado com a F T MA(z).
Fechando a malha obtemos:
F T MF (z) =
Y(z)
C(z)B oG (z)
=
R(z) 1 + C(z)B oG (z)
Step Response
System: G
Peak
1.4amplitude: 1.2
Overshoot (%): 20
At time (seconds): 0.707
1.2
1.4
System: G
Peak amplitude: 1.05
Overshoot (%): 5
At time (seconds): 0.868
1.2
1
Amplitude
Amplitude
Step Response
0.8
0.6
0.8
0.6
=0,4559
=0,6901
0.4
0.4
0.2
0.2
0
0
0.5
1
Time (seconds)
1.5
0
0
(a) 0, 7.
0.5
1
1.5
Time (seconds)
(b) 0, 5.
67
2.5
4.2
Metodologia de Projeto
T
= cte (constante finita, limitada).
Kv
Ganho de posio
Ganho de Velocidade
Kp
Kv
= an z n + an1 z n1 + . . . + a0 = 0.
(normalmente an = 1)
E Cdesejada (z)
Plos Dominantes:
PoleZero Map
1
Imaginary Axis
0.5
Regime Transitrio
0.5
1
1
0.5
0
Real Axis
0.5
Estrutura ?
.
Valores ?
Exemplo: Posso ter a seguinte estrutura:
C(z) =
Kc (z a)
(z 1)
Ganho = Kc ;
1 integrador;
Proposta: definir a estrutura de C(z), procurando atender as especificaes com adicionalmente a funo
C(z)B oG (z) (F T MA(z)), mais simples possvel.
Seguindo esta perspectiva, o controlador C(z) deve conter:
1. Tantos integradores quantos sejam necessrios para satisfazer as especificaes de regime permanente.
R
Se f (t) = 3 + 2t + 3t 2
2
s
=
para
entrada
rampa,
F
(z)
=
Tipo
2
para e() = 0
R
Ento:
R
s = Os que a entrada dispes Os que j existem no processo.
2. Um ganho ajustvel, Kc ;
68
num=[1 0.7];
den=conv([1 -0.5],[1 -1.3]);
T=1;
BoG=tf(num,den,T);
num_c=[1 -0.5];
den_c=[1 0.7];
ftma=series(C,BoG);
rlocus(ftma)
Imaginary Axis
>>
>>
>>
>>
>>
>>
>>
>>
0.5
0.5
1.5
3
Real Axis
4. Tantos parmetros quanto sejam necessrios para atender as especificaes de regime transitrio.
Exemplo: e wn
Step Response
1.6
%OS = exp (/
1.4
Ts =
1.2
Amplitude
, Peak time.
p
wn 1 2
p
%O S = exp (/ 1 2 ) 100, Percent overshoot.
ln %O S/100
= p
, Damping ratio.
2 + ln2 %O S/100
4
, Settling time.
Ts =
wn
Tp =
2 ) 100
4
wn
1
0.8
0.6
0.2
0
0
0, 6 + 2, 16
wn
p
Tp =
wn 1 2
Tr =
0.4
0.5
1.5
2.5
Tr =
3
3.5
0,6+2,16
,
wn
Rise time.
Time (seconds)
4.3
Comentrios
1. A base para este mtodo questionvel (cancelamento plo/zero) porque a representao por funo
transferncia limitada.
Exemplo: Seja:
69
Y(s) 1
=
U(s) s
Sistema 1
Y(s)
s+1
=
U(s) s(s + 1)
Sistema 2
, U(0) = 0
Falta completar
(20 May 2014)
Aula de 20/05/14:
1
At Exemplo com planta: G (s) = s+1
Resolvido para e(inf) = 0 para entrada degrau.
Falta resolver para 2o-caso: e() = 0, 05 para entrada rampa.
70
Exemplo2 : Continuao do Exemplo1 mas neste caso, se deseja tambm erro para entrada rampa 0, 05.
Lembrando que:
B oG (z) =
1 e T/
z e T/
0, 2
z = 0, 8
B oG (z) =
T=0,1
Soluo1 :
C(z) = Kc
(z 0, 8)
(z a)
| {z }
(z 1)
introduo de + 1 integrador
Ento:
C(z)B oG (z) =
0, 2Kc
(z 1)(z a)
Eq. 2o-grau
(z 0, 8)(z b)
(z 1)(z a)
teremos ento:
C(z)B oG (z) =
0, 2Kc (z b)
(z 1)(z a)
T
= 0, 05
Kv
T
Kv
Kv =
0, 1
=2
0, 05
Kv = lim
z1
(z 1)0, 2Kc (z b)
=2
(z 1)(z a)
assim:
0, 2Kc (1 b) = 2(1 a)
(4.1)
f (kT)
1 e akT
71
F (z)
z(1 e aT )
(z 1)(z e aT )
0, 2Kc (z b)
(z 1)(z 0, 01 )
|{z}
a
F T MF (z) =
F T MA(z)
1 + F T MA(z)
E C(z) = 1 + F T MA(z) = 0
neste caso:
E C(z) = 1 +
1+
0, 2Kc (z b)
=0
(z 1)(z 0, 01)
0, 2Kc (z b)
2
z 1, 01z + 0, 01
=0
(4.2)
onde podemos considerar 1 plo (de malha-aberta) na origem e outro na posio desejada: z = 0.1; ficamos
ento com algo como: z(z 0, 1) = 0 ou:
z(z 0, 1) = 0
z 2 0, 1z = 0
1, 01 0, 1
= 4, 55
0, 2
e temos ainda da eq. (4.2) que: 0, 2Kc b = 0, ou seja, que b = 0. Assim, finalmente:
C(z) = 4, 55
z(z 0, 8)
(z 1)(z 0, 01)
Verificando no MATLAB:
>>
>>
>>
>>
>>
>>
( z 0.8)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> %especificando o controlador:
>> num_c=conv ( [ 1 0 ] , [ 1 0 . 8 ] ) ;
>> den_c=conv ( [ 1 1 ] , [ 1 0 . 0 1 ] ) ;
>> C= t f ( num_c , den_c , T ) ;
>> zpk ( C )
z ( z 0.8)
72
(4.3)
( z 1) ( z 0.01)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> %obtendo a FTMA(z):
>> FTMA= s e r i e s ( C , BoG ) ;
>> zpk ( FTMA )
0.2 z ( z 0 . 8 )
( z 1) ( z 0 . 8 ) ( z 0.01)
Sample time : 0.1 seconds
D i s c r e t e time zero / p ol e / gain model .
>> %Dando uma olhada no RL deste sistema:
>> r l o c u s ( FTMA )
>> %definindo o ganho do controlador (da malha fechada):
>> f t m f=feedback ( K*FTMA , 1 ) ;
>> %verificando a resposta para entrada degrau:
>> step ( f t m f )
>> %criando vetores para simular resposta para entrada rampa:
>> f o r k = 0 : 1 0 ; t ( k +1)=k * T ; r ( k +1)=k * T ; end ;
>> f i g u r e ; p l o t ( t , r ) ; %mostra sinal de referencia criado
>> %Acrescentando a parte do degrau depois da rampa:
>> r =[ r ones ( 1 , 1 0 ) ] ;
>> s i z e ( r )
1
21
>> f o r k = 0 : 2 0 ; t ( k +1)=k * T ; end ; %recriando vetor tempo, t
>> f i g u r e ; p l o t ( t , r )
%mostra como sinal contnuo
>> f i g u r e ; s t a i r s ( t , r ) %mostra como o sinal digital sintetizado
>> %Simula a entrada rampa + degrau criada:
>> [ y , t t ]= l s i m ( ftmf , r , t ) ;
>> p l o t ( t , r , k , t t , y , b ) %mostra como sistema contnuo
>> %Mostrando como os sinais (digitais) so criados:
>> f i g u r e ; s t a i r s ( t , r , k ) %mostra 1o) referncia
>> hold on
>> s t a i r s ( t t , y ) %mostra resposta do sistema em MF
73
Root Locus
1
Root Locus
System: FTMA
Gain: 4.51
Pole: 0.0542 + 0.084i
Damping: 0.918
Overshoot (%): 0.0711
Frequency (rad/s): 25.1
0.15
0.8
0.1
0.6
System: FTMA
Gain: 4.05
Pole: 0.1 9.11e09i
Damping: 1
Overshoot (%): 0
Frequency (rad/s): 23
0.05
Imaginary Axis
Imaginary Axis
0.4
0.2
0
0.2
0.05
0.4
0.6
0.1
0.8
1
1
0.15
0.5
0.5
1.5
0.1
0.05
0.05
Real Axis
(a) RL do sistema.
0.1
Real Axis
0.15
0.2
0.25
0.3
Step Response
1.4
1.4
1.2
Erro (rampa) = 5%
1.2
r(k), y(k)
Amplitude
1
0.8
0.6
0.8
0.6
Atraso na resposta de 1xT (0,1 seg.)
0.4
0.4
0.2
0.2
0
0
0.5
1
Time (seconds)
1.5
0
0
0.5
1
Tempo (s)
1.5
74
Captulo 5
Introduo
Um sistema contendo tanto um sinal contnio no tempo quanto um sinal discreto dito um sistema de
dados amostrado [Franklin et al. (1994), Cap. 8: Digital Control].
Assumimos que o perodo de amostragem fixo. Na prtica, sistemas de controle digitais algumas
vezes possuem perodos de amostragem variveis e/ou diferentes perodos de amostragem entre seus
ramos de realimentao. Normalmente, a lgica do computador inclui um sinal de clock que fornece um
pulso, ou interrupo, a cada T segundos, um conversor A/D envia uma sequencia numrica binria para
o computador a cada instante de tempo que a interrupo ocorre. Outra alternativa de implementao,
as vezes referenciada como free-running consiste em acessar o conversor A/D depois que cada ciclo de
execuo do cdigo foi completada. No primeiro caso, o perodo de amostragem preciso e fixo. No ltimo
caso, o perodo de amostragem depende do tamanho do cdigo ser executado, o qual eventuais laos
de repetio e desvios condicionais (IFs) devem ser evitados, o que caso contrrio, poderia fazer variar a
quantidade de cdigo ser executada, fazendo variar o perodo de amostragem.
Tambm num sistema de controle digital deve estar presente um sampler (amostrador) e um conversor
A/D para a entrada de comando (ou referncia), r(t), o que gera o sinal discretizado r(kT) que juntamente
com o sada amostrada do sistema, y(kT) gera o sinal de erro discretizado: e(kT) = r(kT) y(kT) ver figura
5.1.
Um sistema contnuo de compensao pode ser aproximado por uma equao de diferenas que seria
uma verso discreta de uma equao diferencial e pode ser adotado para emular o comportamento dinmico de um compensador contnuo, C(s), se o perodo de amostragem for curto o suficiente. O resultado
desta equao de diferenas seria um sinal discreto u(kT) a cada instante de amostragem. Este sinal
seria convertido para o mundo contnuo, u(t) atravs de um conversor D/A e um sustentador (Holder). O
conversor D/A converte o nmero binrio numa tenso analgica e o sustentador manteria a ltima tenso
analgica gerada durante os instantes de amostragem.
Existem duas tcnicas bsicas para determinar a equao de diferenas que define o controlador digital.
Uma delas, chamada emulao, consistem em projetar o compensador contnuo no tempo, C(s) usando mtodos clssicos de controle automtico e ento realizar uma aproximao de C(s) para uma representao
discreta, C(z) usando um dos seguintes mtodos:
Mtodo de Euler;
Mtodo de Tustin;
Mtodo da Correspondncia Plo-Zero (MPZ = Matched Pole-Zero).
O ltimo mtodo, o da correspondncia plo-zero leva em conta a definio da transformada-Z, extrapolando ento a relao entre os planos s e z, obedecendo a relao:
z = e sT
Se tomamos a transformadaZ da funo amostrada x(k), ento os plos de X(z) esto relacionados
com os plos de X(s) obedecendo a relao z = e sT . O problema que temos que considerar tambm que
s = (1/T) ln z a inversa de z = e sT . Sendo assim, se temos P(z) e substitumos z = e T s , obtemos P(e T s )
75
como resultado da converso para o planos. De modo simular, se temos P(s) e substitumos s = (1/t) ln z,
obtemos P[(1/T) ln z] como resultado da converso para o planoz. Infelizmente, ambas transformaes
conduzem a funes trancedentais que obviamente podem ser levadas caso, respeitando detalhes da
complicada transformada Z [Nise (2012), Cap. 13: Digital Control Systems].
5.2
Mtodo de Euler
Uma maneira particularmente simples de fazer com que um computador digital se aproxime da soluo
em tempo-real de uma equao diferencial usar o mtodo de Euler (tambm conhecido como regra retangular direta forward rectangular rule). Ela resultado da seguinte aproximao:
dx
x
= lim
d t t0 t
que aplicada neste caso em particular resulta em:
x
x(k + 1) x(x)
T
onde:
T
tk
x(k)
x(k + 1)
=
=
=
=
Esta aproximao pode ser usada no lugar de vrias derivadas que apaream na equao diferencial
do controlador e resulta num conjunto de equaoes que pode ser calculada por um computador digital.
Estas equaes de diferenas so resolvidas repetidamente a cada T perodo de tempo. Para sistemas com
margem de banda da ordem de uns poucos Hertz, taxas de amostragem resultam normalmente na ordem de
1 KHz, e assim os perodos de amostragem ficaro em torno de 1 mseg e os erros envolvidos na aproximao
resultaro bastante pequenos [Franklin et al. (1994)].
Figura 5.1: Diagrama de blocos para um sistema bsico de controle: (a) sistema contnuo e (b) incluindo um computador
digital.
76
5.2.1
Usando o mtodo de Euler, encontre a equao de diferenas que necessita ser programada num computador se C(s) dado como:
s+a
U(s)
= Ko
C(s) =
E(s)
s+b
Soluo: Primeiro determinamos a equao diferencial que corresponde C(s):
(s + b)U(s) = Ko (s + a)E(s)
por inspeo percebemos que a correspondente equao diferencial :
u + bu = Ko (e + ae)
Usando o mtodo de Euler para aproximar a eq. (5.1) obtermos a seguinte equao de diferenas:
"
#
u(k + 1) u(k)
e(k + 1) e(k)
+ bu(k) = Ko
+ ae(k)
T
T
(5.1)
(5.2)
(5.3)
A equao (5.3) determina o novo valor de controle, u(k + 1), uma vez conhecida a amostra passada do sinal
de controle, u(k) e os novos e valores passados do sinal de erro, e(k + 1) e e(k).
5.2.2
Encontre uma implementao digital para compensador de avano de fase definido para a seguinte
planta(Exemplo 5.13 de [Franklin et al. (1994)]):
G (s) =
1
s(s + 1)
usando taxas de amostragem de: a) 20 e b) 40 Hz. Simule as equaes de controle para uma entrada
degrau e compare o resultado obtido entre o controlador analgico e o digital. O sistema deve responder em
malha-fechada com fator de amortecimento > 0, 5 e com frquencia natural wn > 7 (rad/s).
Na ocasio deste exerccio foram feitas diferentes tentativas de pares plo-zero para o compensador de
avano de fase como mostra a figura 5.2.
A funo transferncia em malha aberta resulta:
F T MA(s) = C(s)G (s) =
70(s + 2)
s(s + 10)(s + 1)
onde Ko = 70. Este ganho resulta na resposta ao degrau mostrada na figura 5.3.
Soluo: a funo transferncia do compensador de avano de fase para esta planta fica (baseado no exemplo 5.13 de [Franklin et al. (1994)]):
s+2
C(s) = 70
s + 10
Desta forma, os parmetros para a eq. (5.3) so a = 2, b = 10 e Ko = 70.
77
Root Locus
Root Locus
6
15
0.5
10
Imaginary Axis
2
7
0
2
5
0
5
0.5
6
25
10
4
0.5
20
15
10
Real Axis
15
12
10
6
4
Real Axis
8
7
7
0.5
C(s)=(s+2)/(s+20)
C(s)=(s+2)/(s+10)
C(s)=s+2
5
4
Imaginary Axis
Imaginary Axis
0.5
3
2
1
0
1
2
0.5
3
8
3
2
Real Axis
(c) C(s) = s + 2
Figura 5.2: Lugar das Razes para G (s) = 1/[s(s + 1)] e 3 casos de C(s).
Figura 5.3: Resposta ao degrau para G (s) = 1/[s(s + 1)] e C(s) = 70(s + 2)/(s + 10).
78
(a) Para a taxa de amostragem de 20 Hz, T = 0, 05 (segundos) e a eq. (5.3) pode ser simplificada para:
u(k + 1) = 0, 5u(k) + 70[e(k + 1) 0, 9e(k)]
ou:
u(k) = 0, 5u(k 1) + 70[e(k) 0, 9e(k 1)]
Colocando no formato de C(z) temos:
U(z) = 0, 5z 1 U(z) + 70[E(z) 0, 9z 1 E(z)]
trabalhando a expresso anterior obtemos:
U(z)[1 0, 5z 1 ] = 70E(z)[1 0, 9z 1 ]
C(z) =
(b) Para a taxa de amostragem de 40 Hz, T = 0, 025 (segundos), a eq. (5.3) simplificada resulta em:
u(k + 1) = 0, 75u(k) + 70[e(k + 1) 0, 95e(k)]
ou:
u(k) = 0, 75u(k 1) + 70[e(k) 0, 95e(k 1)]
Colocando no formato de C(z) obtemos:
C(z) =
num=70*[1 2 ]
den=conv ( [ 1 1 0 ] , [ 1 1 0 ] )
[ numcl , dencl ]= feedback ( num , den , 1 , 1 )
step ( numcl , dencl )
70
Step
Gain
(s+2)
(s+10)
Lead
Compensator
1
s2+s
Plant
(a)
fs=40 Hz (T=0.025)
70
Gain1
(z0.95)
(z0.75)
Discrete
Lead
Compensator
ZeroOrder
Hold
1
s2+s
Plant1
(b)
As respostas ao degrau para (a) T=0.05 e (b) T=0.025 aparecem na figura 5.5.
79
Scope
Resposta ao Degrau
1.4
1.2
1.2
Sada da Planta
Sada da Planta
Resposta ao Degrau
1.4
0.8
r(t)
Compensador Analgico
Compensador Digital
0.6
0.4
0.2
0
0
0.8
0.6
0.4
r(t)
Compensador Analgico
Compensador Digital
0.2
0.2
0.4
0.6
0.8
Tempo (seg)
1.2
0
0
1.4
(a) fs = 20 [Hz]
0.2
0.4
0.6
0.8
Tempo (seg)
1.2
1.4
(b) fs = 40 [Hz].
5.3
A figura 5.6 mostra as linhas de mapeamento resultantes para valores constantes de e para valores
constantes de wn baseado na relao: z = e sT .
E a figura 5.7 mostra diferentes respostas no tempo resultantes para diferentes posies para um plo
em malha fechada.
80
81
5.4
Mtodo de Tustin
Outro mtodo de discretizao tratar o problema como uma integrao numrica. Suponha que:
U(s)
1
= C(s) =
E(s)
s
o qual uma integrao. Assim sendo:
Z
kTT
u(kT) =
kT
Z
e(t)d t +
e(t)d t
kTT
(5.4)
Para o mtodo de Tustin, a abordagem a cada passo do perodo de amostragem usar integraes trapezoidais que tentam aproximar e(t) atravs de uma linha direta entre dois instantes de amostragem. Reescrevendo u(kT) como u(k) e u(kT T) como u(k 1) para simplificar a escrita, transformamos a equao (5.4)
em:
T
u(k) = u(k 1) + [e(k 1) + e(k)]
2
tomando a transformadaZ da expresso anterior, obtemos:
!
1
U(z) T 1 + z 1
=
=
!
1
E(z) 2 1 z
2 1 z 1
T 1 + z 1
Para C(s) = a/(s + a), aplicando esta aproximao para a integrao resulta em:
a
D (z) =
!
2 1 z 1
+a
T 1 + z 1
Note que se substiturmos:
2 1 z 1
s=
T 1 + z 1
!
(5.5)
para cada ocorrncia de s em qualquer C(s), obtemos C(z) baseado na equao de integrao trapezoidal.
Este o chamado mtodo de transformao bilinear de Tustin [Franklin et al. (1994)]. A idia a de que
nos instantes amostrados, a transformao bilinear seja capaz de preservar o mesmo tipo (valor) da resposta
de um controlador contnuo no tempo. Em resumo este tipo de transformao usado para transformar um
compensador contnuo no tempo, C(s) na sua verso digital, C(z). Explicitamente a transformao bilinerar
de Tustin dada por:
2(z 1)
s=
(5.6)
T(z + 1)
e sua inversa dada por:
2
s+
T
z =
(5.7)
2
s
T
T
1+ s
2
=
T
1 s
2
Quanto menor o intervalo de amostragem, T (maior taxa de amostragem), melhor o projeto de compensador contnuo no tempo tornado digital atravs da eq. (5.6) leva a um resultado mais prximo da resposta
que realmente seria obtida usando o compensador contnuo no tempo.
strm and Wittenmark (1990), propuseram um linha guia para selecionar o perodo de amostragem
ser adotado. A concluso dos mesmos a de que o valor de T em segundos, deve estar situado dentro da
faixa de 0, 15/M = 0, 026 at 0, 5/M = 0, 086, onde M corresponde a frequncia (rad/s) na qual o
diagrama de magnitude da resposta em cascata do compensador mais planta passa pelos 0 dB.
82
5.4.1
Voltando ao exemplo da seo 5.2.2 e usando taxa de amostragem de fs = 15 [Hz], podemos usar o
MATLAB para computar a aproximao de Tustin.
Soluo A forma contnua do compensador estudado na seo 5.2.2 era:
C(s) = 70
s+2
s + 10
( s +10)
>> Cd=c2d ( C , T , t u s t i n )
Transfer function :
56 z 49
z 0.5
Sampling time : 0.066667
>> zpk ( Cd )
Zero / po l e / gain :
56 ( z 0.875)
( z 0.5)
Sampling time : 0.066667
>>
que produz:
C(z) =
56 49z 1
1 0, 5z 1
que pode ser transcrito para uma equao de diferenas resultando em:
u(k) = 0, 223u(k 1) + 70e(k) 59, 12e(k 1)
que similar a obtida usando o mtodo de Euler.
5.4.2
1
s(s + 6)(s + 10)
(5.8)
onde o projeto de um compensador por avano resultou num sistema compensado que opera com sobre
sinal mximo de 20% e um tempo de acomodao de 1,1 segundos. Defina a equao de diferenas que
corresponde ao compensador contnuo transformado para digital usando o mtodo de Tustin. A equqo do
compensador dada por:
1977(s + 6)
(5.9)
C(s) =
(s + 29, 1)
Soluo:
Com base na eq. (5.8) e (5.9) se percebe que a frequncia que corresponde 0 dB, M , para C(s)G (s), de
5,8 rad/s. Com base na linha guia proposta por (strm and Wittenmark (1990)), o menor valor recomendado
para T deveria estar na faixa de 0, 15/M = 0, 026 at 0, 5/M = 0, 086 segundos. Iremos adotar o valor de
T = 0, 01 segundos.
Substituindo a eq. (5.6) na eq. (5.9) com T = 0, 01 segundos, leva :
C(z) =
1778z 1674
z 0, 746
83
(5.10)
e a funo transferncia da planta usando sustentador de ordem zero (ZOH), com T = 0, 01 segundos resulta
em:
(1, 602 107 z 2 ) + (6, 156 107 z)(1, 478 107 )
(5.11)
z 3 2, 847z 2 + 2, 699z 0, 8521
As equaes anteriores podem ser obtidas usando o seguinte cdigo no MATLAB:
>>
>>
>>
>>
num=1;
den=p o l y ( [ 0 6 10]) ;
G= t f ( num , den ) ;
zpk ( G )
1
s ( s +10) ( s +6)
Continuous time zero / p ol e / gain model .
>> num_c=1977*[1 6 ] ;
>> den_c =[1 2 9 . 1 ] ;
>> C= t f ( num_c , den_c ) ;
>> zpk ( C )
1977 ( s +6)
( s +29.1)
Continuous time zero / p ol e / gain model .
>> %convertendo para controle digital
>> T = 0 . 0 1 ;
>> help c2d
c2d Converts continuous time dynamic system to d i s c r e t e time .
SYSD = c2d ( SYSC , TS , METHOD) computes a d i s c r e t e time model SYSD w i t h
sampling time TS t h a t approximates the continuous time model SYSC .
The s t r i n g METHOD s e l e c t s the d i s c r e t i z a t i o n method among the f o l l o w i n g :
zoh
Zero order hold on the i n p u t s
foh
Linear i n t e r p o l a t i o n of inputs
impulse
Impulse i n v a r i a n t d i s c r e t i z a t i o n
tustin
B i l i n e a r ( T u s t i n ) approximation .
matched
Matched pole zero method ( f o r SISO systems only ) .
The d e f a u l t i s zoh when METHOD i s omitted . The sampling time TS should
be s p e c i f i e d i n the time u n i t s o f SYSC ( see " TimeUnit " p r o p e r t y ) .
>> Cd=c2d ( C , T , t u s t i n ) ;
>> zpk ( Cd )
1777.7 ( z 0.9417)
( z 0.746)
Sample time : 0.01 seconds
D i s c r e t e time zero / p ol e / gain model .
>> %convertendo a planta para o mundo digital usando ZOH:
>> Gd=c2d ( G , T )
Gd =
1.602e07 z^2 + 6.156e07 z + 1.478e07
( z 1) ( z 0.9418) ( z 0.9048)
Sample time : 0.01 seconds
D i s c r e t e time zero / p ol e / gain model .
>> ftma= s e r i e s ( C , G ) ;
%FTMA(s)
>> ftmad= s e r i r e s ( Cd , Gd ) ;
%FTMA(z) com T=0,01 (s)
>> f t m f=feedback ( ftma , 1 ) ;
%FTMF(s)
>> ftmfd=feedback ( ftmad , 1 ) ; %FTMF(z)
>> [ y , t ]= step ( f t m f ) ;
%resposta degrau, sistema contnuo
>> p l o t ( t , y )
>> [ yd1 , td1 ]= step ( ftmfd ) ;
>> hold on ;
>> s t a i r s ( td1 , yd1 , m )
>> legend ( FTMF ( s ) , FTMF ( z ) com T=0 ,01 )
>> t i t l e ( Resposta ao Degrau ) ;
>> x l a b e l ( Tempo ( s ) ) ;
>> y l a b e l ( y ^ * ( t ) )
>> g r i d
A resposta para entrada degrau para o sistema compensando mostrada na figura 5.8, que compara
as respostas do compensador contnuo no tempo versus compensadores digitais usando T = 0, 086 (s),
84
5.5
Note que o mtodo de Tustin trata-se de um caso especfico da aplicao de um mtodo de transformao
bilinear do tipo:
as + b
z=
cs + d
e sua inversa:
d z + b
s=
cz a
A idia sempre buscar uma simples transformao capaz de atuar em ambos os lados (plano-s e plano-z)
atravs de algum mtodo de substituio direta [Nise (2012), Cap. 13: Digital Control Systems].
Por exemplo, a transformao bilinear:
z=
s+1
s1
e sua inversa:
s=
z +1
z 1
proposta por Kuo (1992) para aproximar razes presentes no interior do crculo unitrio |z| = 1 para o
semi-plano esquerdo do plano-s. No caso, esta transformao recebeu o nome de transformao-r.
Outro tipo de transformao bilinear a transformada-w onde:
=
1
ln (z)
que tenta transformar o crculo unitrio do plano-z para o eixo imaginrio de outro plano complexo [Kar
and Majhi]. Neste caso:
2 (z 1)
=
(5.12)
T (z + 1)
e su inversa:
2
+
T
2
T
1 + 2T
1 2T
85
(5.13)
que uma variao da proposta originria de [Ogata (1995), Cap. 4: Design of Discrete-Time Control Systems
by Conventional Methods]:
w +1
z +1
z=
e sua inversa:
w=
w 1
z 1
Em comum as ltimas 2 transformadas permitem realizar todo um projeto de controlador discreto usando
o mapeamento em frequencia, tal qual se fazia usando Diagramas de Bode quando estvamos no plano-s
(ou no mundo contnuo). Neste ltimo caso, estas transformadas permitem converter B oG (z) em B oG (w) e
lidar com o projeto do controlador tal qual se fazia antes usando Diagrama de Bode o que muda agora
que ao invs do Diagrama de Bode ser feito no plano-s realizado sobre o plano-w.
86
Apndice A
Equaes Auxiliares
A.1
Tabela de Derivadas
d
d
u(x)
[u(x)n ] = n u(x)n1
dx
dx
d
d
d
[u(x) v(x)] = u(x) v(x) + v(x) u(x)
dx
dx
dx
"
#
v(x) ddx u(x) u(x) ddx v(x)
d u(x)
=
d x v(x)
v(x)2
A.2
A.3
Relaes de Euler
e j x + e j x
2
e j x e j x
sin(j x) =
2j
e j x + e j x = 2 cos(x)
cos(x) =
e j x e j x = 2j sin(x)
A.4
Progresso Geomtrica
S n = a + aq + aq 2 + . . . + aq n1
Sn =
n1
aq n =
i=0
S =
i=0
aq n =
a aq n
1q
a
,
1q
87
se
|q| < 1
A.5
Definio da Transformada Z
Seja f (t) o resultado de do sinal contnuo f (t) discretizado no tempo por um trem de impulsos T (t) ocorrendo cada instante T de amostragem:
f (t) =
k=0
f (kT) e T s
k=0
1
ln z
T
ou, se temos a disposio as amostras do sinal discretizado temos:
s=
F (z) =
f (kT) z k
k=0
A.6
Propriedades da Transformada Z
1.
Teorema/Propriedade
Z {a f (k) + b g(k)} = a F (z) + b G (z)
2.
Nome (Comentrios)
Linearidade: Adio, subtrao e multiplicao por constante. Onde a e b so constantes.
Avano no Tempo
3.
Atraso no Tempo
n
o
Z e at x(t)
x(kT) e akT z k
k=0
4.
x(kT)(z e aT )k = X(z e aT )
Translao Complexa
k=0
5.
6.
7.
Convoluo:
frequncia
Multiplicao no domnimo
88
A.7
Tabela de Transformadas Z
F (s)
f (t)
f (kT) ou f (k)
F (z)
(t)
(kT)
e KT s
(t kT)
(t kT)
z k
1
s
u(t)
u(k) ou 1
4
5
1
s2
2
s3
kT
t2
(kT)2
Funo Impulso
Funo Impulso deslocada no tempo
z
z 1
z
za
Tz
(z 1)2
T 2 z(z + 1)
(z 1)3
ak
3a
Obs.
Degrau Unitrio
Rampa
Parbola
5a
1
s3
1
(kT)2
2!
T 2 z(z + 1)
2 (z 1)3
5b
1
s4
1
(kT)3
3!
T 3 z(z 2 + 4z + 1)
6
(z 1)4
5c
1
sm
6
6a
1
s+a
1
(s + a)2
lim
(1)m1 m1
a (m 1)! a m1
e at
e akT
t e at
kT e akT
e akT
lim
(1)m1 m1
a (m 1)! a m1 (z e aT )
z
z e aT
T ze aT
(z e aT )2
Exponencial
Plos Mltiplos
6b
1
(s + a)3
1
(kT)2 e akT
2
T 2 aT z(z + e aT )
e
2
(z e aT )3
6c
1
(s + a)m
(1)m1 m1
(e akT )
(m 1)! am1
(1)m1 m1
z
(m 1)! am1 z e aT
a
s(s + a)
1 e akT
z(1 e aT )
(z 1)(z e aT )
7a
8
9
1 e at
1
(akT 1 + e akT )
a
s 2 (s + a)
s 2 + 2
s
s 2 + 2
sin t
sin kT
cos t
cos kT
10
(s + a)2 + 2
eat sin t
eakT
11
s+a
(s + a)2 + 2
e at cos t
e akT
Exponencial
Decrescente
z[ z(aT 1 + e aT ) + (1 e aT aT e aT ) ]
a(z 1)2 (z e aT )
Senide
z sin T
z 2 2z cos T
+1
z(z cos T)
+1
Cossenide
z 2 2z cos T
sin kT
ze aT sin T
z 2 2ze aT cos T + e 2aT
Senide
amortecida
cos kT
z 2 ze aT cos T
z 2 2ze aT cos T + e 2aT
Cossende
amortecida
89
90
Apndice B
Lembrando que:
Z 1
Percebe-se que:
Z 1
cz
0
z
cz
= c k
z
|| 0
Podemos simular algumas respostas para diferentes posies de plos reais dentro do crculo unitrio no
plano-Z.:
(
Z 1
)
1z
=1
z 1)
Z 1
Z 1
1z
= 0, 7k
z 0, 7
Z 1
1z
= (0, 7)k
z + 0, 7
91
Z 1
1z
= 0, 5k
z 0, 5
1z
= (0, 5)k
z + 0, 5
(
Z 1
Z 1
)
1z
= 0, 2k
z 0, 2)
1z
= (0, 2)k
z + 0, 2
B.2
A figura B.1 ilustra o plano-z ressaltando diferentes fatores de amortecimento (), tempos de resposta (Ts )
normalizados e tempos de pico (Tp ) normalizados.
92
Apndice C
Para ativar o symbolic toolbox necessrio antes de mais nada definir que variveis o MATLAB deve
tratar com simblicas. Por exemplo:
>> z=sym ( z )
z =
z
>>
Para realizar transformadas inversas de Z, simblicas, podemos usar a funo iztrans do Symbolic
Toolbox do MATLAB.
Exemplo1 : Seja: F (z) =
z
, descobrir f (kT).
z 2
No MATLAB faramos:
>> i z t r a n s ( z / ( z 2) )
ans =
2^n
>>
ou poderamos fazer:
>> i z t r a n s ( z / ( z 2) , k )
ans =
2^k
>>
O que ns d: f (kT) = 2k .
n o
Lembrando da tabela, temos que: Z ak =
z
.
za
Exemplo2 : Seja:
F (z) =
0, 5z
(z 1)(z 0, 5)
93
determine f (kT).
Usando o MATLAB:
>> i z t r a n s ( 0 . 5 * z / ( ( z 1) * ( z 0 . 5 ) ) , k )
ans =
1 (1/2)^k
>>
ou seja, f (kT) = 1 1/2k = 1 0, 5k , que o resultado que se pode obter resolvendo este problema pelo mtodo
das fraes parciais:
F (z)
0, 5
A
B
=
=
+
z
(z 1)(z 0, 5) z 1 z 0, 5
resolvendo:
A = (z 1) F (z)|z=1
B = (z 0, 5) F (z)|z=0,5
(z 1) 0, 5
A=
(z 1)(z 0, 5) z=1
(z 0, 5) 0, 5
B=
(z 1)(z 0, 5)
z=0,5
0, 5
=1
1 0, 5
0, 5
B=
= 1
0, 5 1
A=
finalmente:
F (z)
1
1
=
z
z 1 z 0, 5
F (z) =
ou:
F (z) =
z
z
z 1 z 0, 5
Exemplo3 : Seja:
Y(z) =
z +4
(z 1)(z 2)
obtenha y(kT):
Pelo mtodo da expanso em fraes parciais:
z +4
a
b
c
Y(z)
=
= +
+
z
z(z 1)(z 2) z z 1 z 2
z (z + 4)
4
a = z F (z)|z=0
a=
a=
=2
z(z 1)(z 2) z=0
(1)(2)
(z 1) (z + 4)
5
b = (z 1) F (z)|z=1 b =
b=
= 5
z(z 1)(z 2) z=1
(1)(1)
(z 2) (z + 4)
6
c = (z 2) F (z)|z=2 c =
c=
=3
z(z 1)(z 2) z=2
(2)(1)
Y(z) 2 (5)
3
= +
+
z
z z 1 z 2
Y(z) =
Lembrando da Tabela:
2z (5)z
3z
+
+
z
z 1 z 2
z
= ak
za
z
Z 1
= u(kT)
z 1
Z 1
>> i z t r a n s ( ( z +4) / ( ( z 1) * ( z 2) ) , k )
ans =
2* charfcn [ 0 ] ( k ) 5+3*2^k
>>
z 3 2z 2 + 2z
(z 1)3
F (z) =
z 2 + z + 0, 25
(z 0, 5)2
ou simplesmente: y(kT) = 1
1
1
k + k2 .
2
2
z 2 + z + 0, 25 (z + 0, 5)(z + 0, 5)
=
(z 0, 5)(z 0, 5)
(z 0, 5)2
(z pm ) F (z) z
(m 1)! d z m1
z=p
Ento:
Residuo[0,5(2) ]
#
"
2
k1
i
d
d h 2
2 (z + 0, 5) z
k1
(z 0, 5)
(z
+
z
+
0,
25)
z
=
dz
dz
(z 0, 5)2
z=0,5
z=0,5
h
i
d
z k+1 + z k + 0, 25z k1
dz
z=0,5
(k + 1)z k+11 + kz k1 + 0, 25(k 1)z k2 z=0,5
(k + 1)z k + kz k1 + 0, 25(k 1)z k2 z=0,5
h
i
z k (k + 1) + kz 1 + 1/4(k 1)z 2
z=0,5
2
1
k
1
1
+ 4 (k 1) 21
(0, 5) (k + 1) + k 2
=
=
=
=
=
f (kT)
= 4k (0, 5)k
= 4k(0, 5)k
(C.1)
Mas...
f (0)
=
=
=
z 2 + z + 0, 25
lim 2
z z z + 0, 25
1 1z + 0,25
2
z
lim
0,25
1
z 1 +
z
z2
!
(C.2)
1
(C.3)
95
mas para k = 0 de f (kT) encontrado anteriormente (eq. (C.1)), obtermaos: f (0) = 0 que no bate com o
encontrado na (eq. C.2). Ento falta compensar (ajustar) para este termo inicial e assim f (kT) fica igual :
f (kT) = (k) + 4k(0, 5)k
Usando o MATLAB:
>> f = i z t r a n s ( ( z^2+z +0.25) / ( ( z 0 . 5 ) ^2) , k )
f =
charfcn [ 0 ] ( k ) + 4 * ( 1 / 2 )^k * k
>>
C.2
k
1
k.
2
=
=
=
B0 (s)
S(s)
E(s)
n
o
L u(t) u(t T)
1 e T s
s
s
1 e T s
s
G (s)
s ,
temos:
Z B0 (s) G (s) = Z F (s) Z e T s F (s)
e assim:
Z f [(k 1)T] = z 1 F (z)
Z B0 (s) G (s) = Z F (s) z 1 Z F (s)
ou simplesmente:
(
B0 G (z) = (1 z
G (s)
)Z
s
Apndice D
G (s) =
b
s 2 + as + b
sin ()
n cos () = n ,
p
n sin () = n 1 2
!d
!n
,
Re{s}
cos () e
p
1 2 .
j!d X
!d
1
Note que quando este sistema submetido uma entrada degrau unitrio R(s) = , resulta em diferens
tes tipos de resposta ver figura D.1.
97
Figura D.1: Respostas tpicas para sistemas de 2a-ordem submetidos uma entrada degrau unitrio.
quando = 0 temos um dos plos sobre o eixo s = 0 resultando num sistema oscilatrio;
quando 0 < < 1, temos 2 plos complexos resultando num sistema sub-amortecido;
quando = 1 temos 2 plos reais resultando num sistema criticamente amortecido;
D.1
A resposta de um sistema de 2a-ordem, C(s) do tipo sub-amortecido, submetido uma entrada degrau,
resulta em:
K
2n
K2 s + K3
C(s) =
= 1+
s
s(s 2 + 2n s + 2n )
s 2 + 2n s + 2n
cuja expano em fraes parciais leva :
C(s) =
(s + n ) + p
p
n 1 2
1 2
(s + n )2 + 2n (1 2 )
98
(D.1)
p
p
n t
2
2
c(t) = 1 e
sin n 1 t
cos n 1 t + p
2
1
p
1
en t cos n 1 2 t
= 1 p
1 2
.
onde: = tan p
1 2
G (s) =
b
z 2 + ax + b
2n
s 2 + 2s + 2n
onde: a = 2n .
Tempo de Pico (Peak time): Tp , instante de tempo no qual ocorre o valor mximo de sada do sistema.
O Tempo do pico, TP , dado por:
TP =
p
n 1 2
Percentual de Sobrepasso (Percent Overshoot): %O S, quantidade de sobrepasso do sinal de sada
que excede o valor de regime estacionrio. O percentual de sobrepasso, %O S, previsto atravs de:
/ 1 2
%O S = e
100
ou, especificado o valor de %O S, pode-se determinar o fator de amortecimento, , atravs de:
= p
ln (%O S/100)
2 + ln2 (%O S/100)
E o seguinte codigo no MATLAB, permite calcular o valor de a partir do valor atriabuido para %O S:
>> OS=5; % percentual de sobrepasso fornecido em %
>> zeta=(-log(OS/100))/(sqrt(pi^2+(log(OS/100)^2)))
zeta =
0.6901
>>
Tempo de Assentamento (Settling time): Ts , tempo requerido para que as oscilaes fiquem abaixo de
2% da banda (regio) de assentamento do valor de regime estacionrio. O tempo de acomodao ou
assentamento (ou settling time), Ts , pode ser determinado atravs de:
p
ln 0, 02 1 2
4
Ts =
ou
Ts =
n
n
(Vlido para: 0 < < 0, 9)
99
Tempo de Subida (Rise time): Tr , tempo exigido para a sada variar entre 0,1 e 0,9 de seu valor final. E
finalmente o tempo de subida (rise time), Tr , pode ser determinado de:
Tr =
D.2
0, 6 + 2, 16
n
D.3
D.4
D.5
100
Apndice E
Introduo
E.2
E.3
A introduo do integrador anula o erro de regime permanente porm o acrscimo de um plo na origem
geralmente modifica o RL original do sistema (planta) ver figura E.2.
Material Incompleto
Falta Completar (13 May 2014)
102
a)
b)
103
104
Apndice F
MATLAB: Comandos
abs(x)
angle(x)
atan(x)
atan2(y,x)
axis([xmin,xmax, ymin,ymax])
bode(G)
bode(G,w)
[theta,rho]=cart2pol(x,y)
[numd,dend]=c2dm(num,den,T)
BoG=c2d(G,T)
BoG=c2d(G,T,zoh)
Cd=c2d(C,T,tustin)
clc
clear
dcgain(G)
end
exp(a)
FTMF=feedback(G,H)
FTMF=feedback(G,H,sign)
get(BoG)
grid
hold on
hold off
imag(polo)
a=input(str)
inv(P)
length(P)
log(x)
log10(x)
margin(G)
max(P)
105
nichols(G,w)
nyquist(G,w)
[num,den]=ord2(wn,z)
plot(t1,y1, t2,y2, t3,y3)
pole(G)
den=poly([-p1 -p2 -p3])
polyval(P, a)
real(polo)
residue(numf,denf)
[K,polos_mf]=rlocfind(FTMA)
rlocus(FTMA, K)
roots(den)
FTMA=series(C,BoG)
sgrid(z,wn)
zgrid(z,wn)
sin(x)
sqrt(a)
step(G1,G2,. . . Gn)
subplot(xyz)
text(x,y,str)
[K,p,z]=tf2zp(numg,deng)
C=tf(num,den,T)
Cria um objeto transfer function C(z) = den(z) , neste caso, no plano-z j que foi fornecido o terceiro parmetro T, perodo de amostragem, adotado para esta funo
transferncia. O terceito parmetro (T) opcional e quando no fornecido cria uma
funo transferncia no plano-s. O MATLAB agrega aos atributos do objeto transfer
function a informao sobre se a mesma trabalha no plano-s ou no plano-z. Este
conhecimento o que permite o MATLAB executar de forma diferenciada (aplicar
diferentes mtodos de resoluo em) comandos como step ou rlocus conforme a
transfer function se encontre sobre o plano-s ou plano-z.
[num,den,T]=tfdata(FTMA,v)
title(str)
xlabel(str)
xlabel(str)
zpk(numg,deng
zpk(BoG)
C=zpk(z,p,k,Ts)
num(z)
numg(s)
106
lsim(sys,u,t)
[y,t]=lsim(sys,u,t)
107
108
Referncias Bibliogrficas
Katsuhiko Ogata.
Discrete-Time Control Systems, 2nd. ed.
Upper Saddle River: Prentice Hall,
1995.
URL http://een.iust.ac.ir/profs/Jahed/digital%20controll/e%20book/discrete-time_
control_systems.pdf. (Acessado em 14 set 2013). Biblioteca da UPF: Nmero de Chamada: 681.5 O34di
2.ed.-1995 (2 exemplares).
J. A. Cadzow. Discrete Time Systems: An Introduction with Interdisciplinary Applications. Prentice Hall International, 1973.
Benjamin C. Kuo. Digital Control Systems, 2nd. ed. Sauders College Publishing / Harcourt Brace Jovanovich
College Publisher, 1992. Biblioteca da UPF: Nmero de Chamada: 681.51 K96d 2.ed.-1992 (1 exemplar).
Charles L. Phillips and H. Troy Nagle. Digital Control Systems Analysis and Design, 2nd. ed. Prentice-Hall
International Inc., 1994.
Indrani Kar and S. Majhi. Course: Digital control systems. http://nptel.iitm.ac.in/courses/108103008/
PDF/module4/m4_lec2.pdf. Dept. of Electronics and Electrical Eng., Indian Institute of Technology
Guwahati, Guwahati, Assam, India.(Acessado em 7 nov 2013).
Norman S. Nise. Control Systems Engineering 6th. ed. LTC, 2012. Biblioteca da UPF: Nmero de Chamada:
681.5 N724e 6.ed.-2012 (4 exemplares).
Gene F. Franklin, J. David Powell, and Abbas Emami-Naeini. Feedback Control of Dynamic Systems. AddisonWesley Publishing Company, 1994. Biblioteca da UPF: Nmero de Chamada: 681.51 F831f 3.ed. 1994 (2
exemplares).
Karl Johan strm and Bjrn Wittenmark. Computer Controlled Systems: theory and design, 2nd. ed. Prentice
Hall International, 1990. Biblioteca da UPF: Nmero de Chamada 681.51 A859c 2.ed.-1990 (1 exemplar).
109
ndice Remissivo
E(z), 6
F T MF (z), 6
F T MF (z),H(s), 11
Kp , 6
Ganho de posio, 6
Kv , 9
Ganho de velocidade, 9
Kv , constante de erro de velocidade, 50
jerks, 64
BIBO estvel, 11
Controlador Dead-Beat:Efeitos, 64
Critrio de Estabilidade
Mtodo de Jury, 15
Routh-Hurwitz, 15
Diagrama do Lugar das Razes, 20
Efeitos do Perodo de Amostragem, 18
Estabilidade, 11
Ganho Mximo, 19
H(s), 5
conversor de unidades, 5
Integrao retangular, 6
Integrao trapezoidal, 7
MATLAB
iztrans, 93
sym, 93
Transformada Inversa de Z, 93
Variveis Simblicas, 93
Regras para RL, 21
Respostas Plos Reais em Z, 91
RL, 20
Tabela Resumo Teoria de Erros, 9
Teorema Valor Final, 88
Transformao bilinear
Tustin, 82
110