SlideShare uma empresa Scribd logo
1 de 110
Baixar para ler offline
Controle Automático III
(Controle Digital)
Fernando Passold
Last Updated: 2 de junho de 2014
.
Este material foi desenvolvido para a disciplina de “Controle Automático III” do curso de Enge-
nharia Elétrica da UPF, que poderia ser chamada também de “Controle Discreto no Tempo” ou
simplesmente de “Controle Digital”.
Este material não pretende ser auto-suficiente em si mesmo, apesar da quantidade de Apên-
dices, mas visa ser usado como continuidade para disciplinas anteriores na área de Controle
Automático, uma vez que pressupõe que o leitor já tenha adquirido fundamentos anteriores na
área de Controle Automático “clássico”. Isto é, que esteja ao menos familiarizado com trans-
formadas de Laplace e projetos de controladores (analógicos) usando Diagrama do Lugar das
Raízes (Root-Locus) e preferencialmente que também, domine o projeto de controladores de
Avanço-Atraso (Lead-Lag) no domínio frequência.
Este material foi criado usando software livre e de domínio público: 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.
2
Sumário
1 Teoria de Erros 5
1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2 Sistema “padrão” de realimentação unitária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 Caso 1) Entrada Degrau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.2 Caso 2) Entrada Rampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
1.3 Tabela Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9
2 Estabilidade 11
2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2 Resposta Entrada Limitadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.3 Representação de Pólos no Plano Complexo (Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.1 Caso 1) F(z) com Pólos Reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12
2.3.2 Caso 2) F(z) com Pólos Complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.4 Método de Jury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
2.4.1 Exemplo de Sistema de Segunda Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.2 Exemplo de Sistemas de Terceira Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.4.3 Exemplo de Planta de Segunda ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.5 Efeitos do Período de Amostragem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.6 Diagrama do Lugar das Raízes (RL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.6.1 Construindo o Diagrama do Lugar das Raízes . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.6.2 Exemplos de Traçados de RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
3 Controladores Digitais 31
3.1 Simples Controlador Proporcional, K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.1 Determinando Km ´ax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.2 Controlador (polinomial) cancelando pólo(s) dominante(s) . . . . . . . . . . . . . . . . . . . . . . 39
3.3 Cancelamento imperfeito de pólos-zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
3.4 Projeto de Controlador Digital usando Root Locus . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.4.1 Compensador por Avanço de Fase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
3.5 Projeto de Controlador PI usando Root Locus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.6 Controlador Dead-beat (Controle por tempo mínimo, finito) . . . . . . . . . . . . . . . . . . . . . 57
3.6.1 Exemplo1: O controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
3.6.2 Exemplo2: Projeto de Controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . . . . . 58
3.6.3 Exemplo2: Outro projeto de Controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . 64
4 Projeto de Controladores Digitais 67
4.1 Método dos Pólos Dominantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2 Metodologia de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
4.3 Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
5 Projeto por Emulação 75
5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75
5.2 Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
5.2.1 Exemplo1: Caso de um Controlador de 1a-ordem . . . . . . . . . . . . . . . . . . . . . . . 77
5.2.2 Exemplo2: Caso de um Controlador por Avanço de Fase . . . . . . . . . . . . . . . . . . . 77
5.3 Relação entre o plano-s e plano-z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80
5.4 Método de Tustin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
5.4.1 Exemplo1: Equação de diferenças usando o Método de Tustin . . . . . . . . . . . . . . . . 83
5.4.2 Exemplo2: Projeto de Controlador Digital usando o Método de Tustin . . . . . . . . . . . 83
3
5.5 Outras Transformações Bilineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
A Equações Auxiliares 87
A.1 Tabela de Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.2 Equação do Segundo Grau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.3 Relações de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.4 Progressão Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87
A.5 Definição da Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.6 Propriedades da Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
A.7 Tabela de Transformadas Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
B Respostas temporais no Plano-Z 91
B.1 Casos de Pólos Reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91
B.2 Caso de Pólos Complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92
C Transformada Z - Uso do MATLAB 93
C.1 Transformada Z Inversa (Usando o MATLAB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93
C.2 Sistemas com Sustentador de Ordem Zero [B0G(z)] . . . . . . . . . . . . . . . . . . . . . . . . . . 96
D Respostas Típicas de Sistemas de 2a-ordem 97
D.1 Sistemas com 0 < < 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98
D.2 Relação entre posição do pólo e sobrepasso (%OS) . . . . . . . . . . . . . . . . . . . . . . . . . . 100
D.3 Relação entre posição do pólo e Ts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
D.4 Relação entre posição do pólo e Tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
D.5 Relação entre posição do pólo e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100
E Revisão Controladores Clássicos 101
E.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
E.2 Melhorando o erro em regime permanente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
E.3 Melhorando o Erro Estacionário (PI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102
F MATLAB: Comandos 105
4
Capítulo 1
Teoria de Erros
1.1 Introdução
Relação com as características desejáveis num sistema de controle.
As especificações de um sistema de controle incluem:
• desempenho em regime permanente (precisão);
• desempenho em regime transitório (formas de onda);
• robustez (degradação do controle frente à mudanças no sistema).
1.2 Sistema “padrão” de realimentação unitária
Seja um típico sistema de controle em malha fechada do tipo SISO (single-input, single-output) como o
mostrado na figura 1.1.
yr(t)
Algoritmo
de Controle
C(z)
T
e(kT)+ u(kT)
T
Bo Atuador
+
Processo
+
Medidor
G(z) y(t)
(realimentação unitária)
-
Figura 1.1: Sistema “padrão” de realimentação unitária.
Note que:
• este sistema controla o valor medido do erro, não a variável de saída.
• a unidade para medição de Y é a mesma que a adotada para a referência Yr, para que o bloco somador
atue de fomra conveniente.
• qualquer sistema em malha fechada com realimentação unitária (H(s) = 1), tende a igualar a entrada
e a saída (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 então:
yr(t)
C(z)
+
BoG(z)
y(t)
-
Figura 1.2: Sistema “padrão” no formato digital.
5
Y(z)
Yr(z)
=
C(z) · BoG(z)
1 + C(z)BoG(z)
=
FTMA(z)
1 + FTMA(z)
=
F(z)
1 + F(z)
isolando o erro:
E(z) = Yr(z) − Y(z) = Yr(z) · 1 −
F(z)
1 + F(z)
= Yr(z)
1 + F(z) − F(z)
1 + F(z)
notamos então que o comportamento do erro é dado por:
E(z) =
1
1 + F(z)
· Yr(z) (1.1)
ou seja, que o erro é função de Yr e da FTMA(z), ou:
Erro = f[Yr,F]
O que acontece então como o erro em regime permanente (precisão)?
Procedendo com o cálculo do erro em regime permanente (quando t → ∞):
lim
k→∞
e(kT) = lim
z→1
(z − 1) · E(z)
Para o nosso caso:
lim
k→∞
e(kT) = lim
z→1
(z − 1) ·
1
1 + F(z)
· Yr(z) (1.2)
Para continuar com a análise, necessitamos levantar hipóteses sobre entradas (referências) do sistema.
Normalmente se trabalha com: entrada degrau, rampa e parábola.
1.2.1 Caso 1) Entrada Degrau
Yr(z) = U(z) =
z
z − 1
neste caso:
lim
k→∞
e(kT) = lim
z→1
(z − 1) ·
1
1 + F(z)
· Yr(z)
= lim
z→1
(z − 1) ·
1
1 + F(z)
·
z
(z − 1)
lim
k→∞
e(kT) =
1
1 + limz→1 F(z)
(1.3)
Este limite é conhecido como Kp=ganho de posição (similar ao ganho estático dos sistemas contínuos no
tempo), ou seja:
Kp = lim
z→1
F(z) (1.4)
Falta agora analisar Kp para alguns tipos de sistema F(z). Note que nos resta calcular limz→1 F(z). Se F(z)
possui termos com pólo em z = 1, isto é, possui integradores, e(kT)|k→∞ = 0.
Demonstração
O que seria uma integração numérica?
Supondo que se esteja interessado numa integração numérica retangular – ver figura 1.3
onde: i(k)= integral de 0 à k. Então:
i(0) = 0
i(T) = g(0) · T = i(0) + g(0) · T
i(2T) = i(0) + g(0) · T + g(T) · T = i(1) + T g(T)
...
i(k) = i(k − 1) + T · g(k − 1) (1.5)
6
% Gráfico criado no MATLAB:
>> k=0:5;
>> y=1.2.^k;
>> plot(k,y,’k--’)
>> hold on
>> stem(k,y,’mo’)
>> stairs(k,y,’b-’)
>> xlabel(’kT’);
>> ylabel(’g’)
Figura 1.3: Método de integração numérica retangular.
Note que a expressão (1.5) está no formato de uma equação de diferenças, então:
I(z) = z−1
· I(z) + T · z−1
· G(z)
I(z)[1 − z−1
] = T z−1
G(z)
I(z) =
T z−1
1 − z−1
G(z)
ou:
I(z) =
T
(z − 1)
· G(z) (1.6)
Note o pólo em z = 1.
Se fosse adotado outro método de integração numérica, ainda assim teríamos o termo (z −1) aparecendo
no denominador da função.
Exemplo: integração numérica trapezoidal
Acompanhando pela figura 1.4, agora temos algo como:
>> % Gráfico 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; % versão discreta
>> figure; plot(t,y,’k--’);
>> hold on;
>> stem(k,yd,’mo’)
>> plot(k,yd,’b-’)
Figura 1.4: Método de integração numérica trapezoidal.
i(kT) = i[(k − 1)T] +
T
2
[g[(k − 1)T] + g(kT)] (1.7)
lembrando que a área de um trapézio é dada por:
A =
(B + b) · h
2
7
Transformando (1.7) numa expressão em Z, obtemos:
I(z) = z−1
· I(z) +
T
2
(z−1
+ 1) · G(z)
=
T/2
(1 − z−1)
(1 + z−1
) · G(z)
I(z) =
T/2
(z − 1)
(z + 1)G(z) (1.8)
Note novamente em (1.8) o termo (z − 1) no denominador, ou seja, que volta a aparecer o pólo em z = 1.
Assim, de maneira geral, se pode afirmar que uma equação característica com integradores é do tipo:
F(z) =
N(z)
(1 − z−1) · D (z)
com pólo em z = 1.
Voltando ao cálculo do erro para provar que e(kT)|k→∞ = 0 quando existe pelo menos um integrador em
F(z), temos:
e(kT)|k→∞ =
1
1 + limz→1 F(z)
onde: limz→1 F(z) = Kp (ganho de posição).
Então:
1. Se F(z) não possui integradores, então:
f(z) =
N(z)
D(z)
, (D(z) 0)
então: limk→∞ e(kT) =
1
1 + Kp
= Cte = número finito e portanto, e(kT)|k→∞ 0.
2. Se F(z) contêm pelo menos 1 integrador, então F(z) é do tipo:
F(z) =
N(z)
(z − 1) · D (z)
e o erro é dado por:
lim
k→∞
e(kT) =
1
1 + limz→1
N(z)
(z − 1)D (z)
=
1
1 + Kp
neste caso, Kp → ∞ e consequentemente, e(∞) = 0.
Isto significa que se meu sistema possuir pelo menos um integrador, é bem provável (depende da
quantização do sistema), que seu erro em regime permanente seja nulo.
1.2.2 Caso 2) Entrada Rampa
Neste caso:
Yr(z) =
T z
(z − 1)2
e neste caso e(∞) fica:
lim
k→∞
e(kT) = lim
z→1
(z − 1) ·
1
1 + F(z)
·
T z
(z − 1)2
= lim
z→1
T z
(z − 1) + (z − 1)F(z)
=
T
limz→1(z − 1) · F(z)
=
T
Kv
(1.9)
8
onde Kv= ganho de velocidade.
Da mesma forma que procedemos para o caso anterior, vamos analisar o comportamento do erro, depen-
dendo da função F(z).
1. Considerando F(z) sem integradores (um sistema do tipo “0”):
lim
k→∞
e(kT) = ∞ isto é, não converge.
2. Se F(z) possui 1 integrador (sistema do tipo “1”):
D(z) = (z − 1) · D (z)
limk→∞ e(kT) =
T
Kv
= cte = valor finito, mas 0.
3. Se F(z) possui 2 integradores (sistema do tipo “2”):
lim
k→∞
e(kT) = 0
Isto significa que acrescentamos tantos integradores (D(z) = (z − 1)) na FTMA do processo quanto o
necessário para tornar o erro nulo.
1.3 Tabela Resumo
Segue uma tabela resumo sobre Teoria de Erros (ou Precisão):
Entradas: Degrau Rampa Parábola
Sistema:
z
z − 1
T z
(z − 1)2
T2 z (z + 1)
2(z − 1)3
Tipo 0 F(z) =
N(z)
D(z) 1 + Kp
∞
∞
Tipo 1 F(z) =
N(z)
(z − 1)D (z)
0
T
Kv
∞
Tipo 2 F(z) =
N(z)
(z − 1)2D (z)
0 0
T2
ka
onde: Kp = limz→1 FTMA(z) = ganho de posição.
Kv = limz→1 (z − 1)FTMA(z) = ganho de velocidade.
Ka = limz→1 (z − 1)2 FTMA(z) = ganho de aceleração.
Tabela 1.1: Tabela resumo sobre erros.(Ogata, 1995, pág. 355)
9
10
Capítulo 2
Estabilidade
2.1 Introdução
Trata-se do objetivo mais importante para um sistema de controle.
Para sistemas lineares e invariantes no tempo são BIBO estáveis (entrada limitada e saída limitada) se
a aplicação de uma entrada limitada produz uma saída limitada. Mas atenção, este conceito é suficiente
para sistemas contínuos no tempo. Para sistemas discretos (amostrados) ainda depende do período de
amostragem adotado!
A estabilidade de um sistema em malha fechada depende de:
• Ganhos;
• Pólos;
• Zeros;
• Atrazos;
• T, período de amostragem.
2.2 Regime transitório de um sistema submetido a uma entrada limi-
tada (degrau)
Suponha que temos o sistema mostrado na figura 2.1.
Yr +
-
G(z)
H(z)
Y
Figura 2.1: Sistema em malha fechada.
onde:
Y
Yr
=
G
1 + GH
= FTMF(z) = F(z) =
N(z)
D(z)
conforme mostra a figura 2.2.
F(z)
Yr(z) Y(z)
Figura 2.2: Função de malha-fechada.
Da figura 2.2 percebemos que:
Y(z) = F(z) · Yr(z) =
z
(z − 1)
·
N(z)
D(z)
(2.1)
11
onde:
z
(z − 1)
é a transformada Z do degrau.
Os zero finitos de F(z) são as raízes de N(z) = 0. E os pólos de F(z) são as raízes de D(z) = 0.
Se o método da decomposição em termos simples (frações parciais) for aplicado sobre a equação 2.1
teremos:
Y(z)
z
=
c0
z − 1
+
Pólos Reais
ci
z − pi
+
Pólos Complexos
cj
(z − pj)
+
cj
(z − pj)
(2.2)
Lembrando que:
Z−1 ci z
z − pi
= ci · pk
i
obtemos:
y(kT) = c0 +
Pólos Reais
ci pk
i +
Pólos Complexos
cj pk
j + cj pk
j (2.3)
onde: c0 = termo em função da entrada (define o regime permanente da saída); os outros termos ( ’s) =
função das características de F(z), definem o regime transitório que depende dos pólos de F(z) ponderados
pelos coeficientes ci ou cj, cujas magnitudes são determinadas pelo numerador de F(z).
2.3 Representação de Pólos no Plano Complexo (Z)
A seguir estudaremos como os pólos contribuem na resposta y(KT)
2.3.1 Caso 1) F(z) com Pólos Reais
Neste caso, y(KT) depende dos termos ci pk
i . A figura 2.3 mostra os mapeamentos possíveis para pólos
no plano Z e suas respectivas repercussões no domínio amostrado.
1-1
-1
1
Im{Z}
Re{Z}
xxxxxx
Caso 2:
Caso1:
Caso 3:
Caso 4:
Caso 5:
Caso 6:
Figura 2.3: Respostas transientes para casos de simples pólos reais.
Analisando a figura 2.3 nota-se:
Caso 1 : pi > 1, pólo instável, saída divergente, tanto mais quanto mais distante o pólo estiver de z = 1.
Caso 2 : pi = 1, sistema em ressonância, o pólo se encontra sobre z = 1. Este tipo de sistema corre o risco
de não ser estável para certas entradas.
12
Caso 3 : 0 < pi < 1, saída convergente (decrescente), apresentando valores decrescentes tão rápidamente
quanto mais próximo de z = 0 estiver este pólo.
Caso 4 : −1 < pi < 0, saída converge (decresce com o tempo), mas como pi é negativo, forma-se uma se-
quencia convergente alternada.
Caso 5 : p = −1, sistema oscilando com amplitude constante (enquanto |pi | = 1) na frequencia de f = 1/(2T).
Caso 6 : pi < −1, outro pólo instável, sistema apresenta saida divergente (crescente) e alternada (sinal ne-
gativo para pi ).
2.3.2 Caso 2) F(z) com Pólos Complexos
Neste caso, F(z) apresenta pólos conjugados complexos: cj pk
j + ¯cj ¯pk
j , onde:
cj = a + jb
pj = + j
Representando o pólo na forma polar, resulta em:
pj = ej
cj = Aej
onde:
= 2 + 2
= tan−1
Im{z}
Re{z}
x
⇢
✓
pj
↵
então:
cj pk
j + ¯cj ¯pk
j = A k
ej(k + )
+ A k
e−j(k + )
(2.4)
= A k
ej(k + )
+ e−j(k + )
= 2A k
cos(k + )
ou seja, a saída se tranforma numa exponencial sobreposta com uma senóide amostrada nos instantes k.
Supondo que k = 2 (múltiplos cossenos), temos: t = k T ∴ k =
tpp
T
.
Isolando em tpp e substituindo em k = 2 , obtemos tpp =
2 T
, onde tpp significa um pseudo-período.
A figura 2.4 mostra o efeito amostrado da eq. (2.5).
✓ "a medida que
6,28*T
Figura 2.4: Impacto de sobre a eq. (2.5).
A figura 2.5 mostra diferentes casos de pólos complexos no plano-z e respectivas respostas transientes
no tempo discreto.
13
z z − eaT cos( T)
z2 − 2e−aT z cos( T) + e−2aT
= Z e−akT
cos( kT)
Figura 2.5: Representações gráficas da Transformada Inversa Z.[Cadzow (1973),Kuo (1992)]
14
2.4 Método de Jury
Este método permite determinar a estabilidade de um sistema discreto linear através da análise dos
coeficientes da sua equação característica. Seria uma analaogia num sistema discreto ao critério de
estabilidade de Routh-Hurwitz.
Seja o polinômino D(z) extraído da equação característica de um sistema discreto:
D(z) = anzn
+ an−1zn−1
+ ... + a1z + a0 = 0
o sistema é estável se e somente se suas raízes estiverem contidas dentro do círculo unitário no plano Z.
Isto implica em 3 condições preliminares1
(i) |a0| < an
(ii) D(z)|z=1 = D(1) > 0
(iii) D(z)|z=−1 = D(−1)
> 0 para n par
< 0 para n ímpar
, ou: (−1)nD(−1) > 0.
Uma vez atendidas as condições anteriores parte-se para o arranjo (ou Tabela) de Jury (similar ao do
método de Routh-Hurwittz):
Linha z0 z1 z2 ... zn−1 zn
1 a0 a1 a2 ... an−1 an
2 an an−1 an−2 ... a1 a0
3 b0 b1 b2 ... bn−1
4 bn−1 bn−2 bn−3 ... b0
...
...
...
...
...
...
2n − 5 p0 p1 p2 p3
2n − 4 p3 p2 p1 p0
2n − 3 q0 q1 q2
A tabela de Jury é construída da seguinte forma:
• A tabela consiste em (2n − 3) linhas. Para um sistema de segunda-ordem, a tabela possui apenas 1
linha.
• Primeira linha: seus elementos consistem dos coeficientes de D(z) arranjados em potências ascenden-
tes em z.
• Segunda linha: seus elementos consistes nos coeficientes de D(z) arranjados em potências descenden-
tes de z.
Os outros elementos dependem dos determinantes:
bk =
a0 an−k
an ak
, k = 0,1,2,...,n − 1
ck =
b0 bn−1−k
bn−1 bk
, k = 0,1,2,...,n − 2
dk =
c0 cn−2−k
cn−2 ck
, k = 0,1,2,...,n − 3
q0 =
p0 p3
p3 p0
, q2 =
p0 p1
p3 p2
Note que:
• Os elementos de qualquer linha par (linhas 2, 4, ...) são simplesmente o reverso da linha imediatamente
precedente ímpar (linhas 1, 3, ...).
• A última linha (2n − 3) possui apenas 3 elementos.
1Atenção: Ogata (1995) referencia a equação característica como: P(z) = a0zn + a1zn−1 + ... + an−1z + an – o que faz inverter a
primeira pré-condição (no caso dele) para: |an| < a0.
15
Uma vez finalizado o arranjo, pode-se concluir que o sistema será estável se:
|a0| < |an|
|b0| > |bn−1|
|c0| > |cn−2|
|d0| > |dn−3|



(n − 1) restrições
...
|p0| > |p3|
|q0| > |q2|
2.4.1 Exemplo de Sistema de Segunda Ordem
Exemplo 1:
Num sistema de 2a-ordem, n = 2 e neste caso, a tabela de Jury contêm apenas 1 linha. Assim, para
estabilidade:
D(1) > 0
D(−1) > 0
|a0| < |a2|
Por exemplo, para o sistema: D(z) = z2 − 0.25 = 0, as pré-condições necessárias para estabilidade são:
Condições Sistema Satisfeito ou não?
1) D(1) > 0 D(1) = 1 − 0.25 = 0.75 > 0  Satisfeito
2) D(−1)  0 D(−1) = 1 − 0.25 = 0.75  0  Satisfeito
3) |a0|  |a2| |a0| = 0.25  a2 = 1  Satisfeito
Desta forma, percebe-se que todas as condições foram satisfeitas, ou seja, o sistema é estável.
2.4.2 Exemplo de Sistemas de Terceira Ordem
Exemplo 2:
Determinar a estabilidade de um sistema discreto cuja equação característica é:
D(z) = z3
− 1,2z2
− 1,375z − 0,25 = 0
As pré-condições para estabilidade são:
Condições Sistema Satisfeito ou não?
1) D(1)  0 D(1) = 1 − 1,2 − 1,375 − 0,25 = −1,875  0  Não Satisfeito
2) D(−1)  0 D(−1) = −1 − 1,2 + 1,375 − 0,25 = −1,125  0  Satisfeito
3) |a0|  a3 |a0| = 0.25  a3 = 1  Satisfeito
Exemplo 3:
Seja a equação característica:
D(z) = z3
+ 3,3z2
+ 4z + 0,8 = 0
As pré-condições para estabilidade são:
Condições Sistema Satisfeito ou não?
1) D(1)  0 D(1) = 1 + 3,3 + 4 + 0,8 = 9,1  0  Satisfeito
2) D(−1)  0 D(−1) = −1 + 3,3 − 4 + 0,8 = −0,9  0  Satisfeito
3) |a0|  a3 |a0| = 0.8  a3 = 1  Satisfeito
O arranjo de Jury resulta em:
Linha z0 z1 z2 z3
1 0,8 4,0 3,3 1,0
2 1,0 3,3 4,0 0,8
3 b0 b1 b2
16
onde:
b0 =
a0 a3
a3 a0
= a2
0 − a2
3 = −0,36
b1 =
a0 a2
a3 a1
= a0a1 − a2a3 = −0,1
b2 =
a0 a1
a3 a2
= a0a2 − a1a3 = −1,36
A condição suficiente para estabilidade é: |b0|  |b2|. Assim, observando-se os valores obtidos para b0 e b2,
nota-se que esta condição não foi satisfeita e consequentemente, este sistema não é estável. De fato, as
raízes de D(z) estão em:
 D=[1 3.3 4 0.8]
D =
1.0000 3.3000 4.0000 0.8000
 roots (D)
ans =
−1.5268 + 0.9574 i
−1.5268 − 0.9574 i
−0.2463

2.4.3 Exemplo de Planta de Segunda ordem
Analize a estabilidade do seguinte sistema em malha-fechada (fig 2.6) [Phillips and Nagle (1994); pág.
191, 231]:
Bo(s)
K
s(s + 1)
YR +
-
Y
T
ou
Bo(s)
YR +
-
Y
T
1
s(s + 1)
K
T
Figura 2.6: Sistema exemplo.
Sua função transferência é dada por:
Y(z)
YR(z)
=
BoG(z)
1 + BoG(z)
onde BoG(z) é na forma:
BoG(z) =
K(b0 + b1z)
(z − 1)(z − a)
Determinando BoG(z):
Z {Bo(s)G(s)} = (1 − z−1
)Z
1
s2(s + 1)
= (1 − z−1
)Z
1
1s2
−
1
1s
+
1
1(s + 1)
=
(z − 1)
z
Tz
(z − 1)2
−
z
(z − 1)
+
z
(z − e−T )
BoG(z) =
K[z(T + e−T − 1) + (1 − Te−T − e−T )]
(z − 1)(z − e−T )
Nota que segue o formato:
BoG(z) =
K(b0 + b1z)
(z − 1)(z − a)
=
K b1
b1
b1
z +
b0
b1
(z − 1)(z − a)
17
A equação característica do sistema é então:
D(z) = 1 + BoG(z) = 0
D(z) = (z − 1)(z − a) + K(b0 + b1z) = 0
Expandindo os termos de D(z), se obtêm:
D(z) = z2
− (1 + a)z + a2
+ Kb0 + Kb1z
D(z) = z2
− (1 + a − Kb1)z + (a2
+ Kb0)
Usando-se o método de Jury para identificar os requisitos para estabilidade do sistema temos:
D(z) = z2 −(1 + a − Kb1)z +(a2 + Kb0)
= a2 a1 a0
Pelos critérios de Jury:
1) D(1)  0 →
1 − 1 + a + Kb1 + a + Kb0  0
se obtêm: Kb1 + Kb0  0, que pode ser escrito como:
K  0, Se (b1 + b0)  0
2) D(−1)  0 →
1 + 1 + a − Kb1 + a + Kb0  0
∴ K(b0 − b1)  −2a − 2
K 
−2(1 + a)
b0 − b1
, Se (b0 − b1)  0
e
3) |a0|  a2 →
a + Kb0  1
∴ K 
1 − a
b0
, Se b0  0
2.5 Efeitos do Período de Amostragem
Verificando para o caso do sistema anterior, os efeitos causados por diferentes valores para o período de
amostragem T:
a) Suponha que T = 0,1 (segundos):
Então: a = e−T = 0,9048374
b1 = e−T + T − 1 = 0,0048374
b0 = 1 − e−T − Te−T = 0,0046788
Aplicando os critérios de estabilidade, temos:
1) K  0, b1 + b2  0 
2) K 
1 − a
b0
,K 
0,0952
0,0047887
, K  20,3389
3) K 
2(1 + a)
b0 − b1
, K  −2.4024 × 104
(Desconsiderada – a menos restritiva)
então, a condição para estabilidade se resume à:
0  K  20,3389
b) Supondo que T = 1,0 (segundos):
teremos: a = e−T = 0,3679
b1 = e−T + T − 1 = 0,3679
b0 = 1 − e−T − Te−T = 0,2642
18
Aplicando os critérios de estabilidade, temos:
1) K  0, b1 + b2  0 
2) K 
1 − a
b0
, K  2.3922
3) K 
2(1 + a)
b0 − b1
, K  −26.3972
(Desconsiderada – a menos restritiva)
então, a condição para estabilidade se resume à:
0  K  2.3922
Comportamento de um sistema na situação do ganho máximo
Vamos verificar o que acontece quando T = 1,0 (segundos) e K = 2,3922:
Para este valor de K a equação do sistema fica:
BoG(z) =
K(b0 + b1z)
(z − 1)(z − a)
=
K(0,3679z + 0,2642)
z2 − 1,3679z + 0,3679
assim, a função transferência em malha-fechada fica:
FTMF(z) =
BoG(z)
1 + BoG(z)
e sua equação característica fica:
D(z) = 1 + BoG(z) = 0
= 1 +
K(0,3679z + 0,2642)
z2 − 1,3679z + 0,3679
= 0
= z2
+ (0,3679K − 1,3679)z + (0,3679 + 0,2642K) = 0
= z2
− 0,4878z + 1 = 0
ou seja, as raízes para D(z) (pólos do sistema) ficam em:
z1 = 0,2439 + j0,9698
z2 = 0,2439 − j0,9698
que equivale à z = 1,0∠1,3244(rad) = 1,0∠ ± T.
Ou seja, o sistema oscila e na frequência de 1,3244 (rad/s) (ou 8,3214 (Hz)).
Usando o MATLAB para realizar os cálculos fica:
 T=1.0;
 a=exp(−T)
a = 0.3679
 b1=exp(−T )+T−1
b1 = 0.3679
 b0=1−exp(−T )−T exp(−T )
b0 = 0.2642
 K=(1−a ) /b0
K = 2.3922
 %Montando BoG(z):
 num=K [ b1 b0 ]
num = 0.8800 0.6321
 den=conv ([1 −1] ,[1 −a ] )
den = 1.0000 −1.3679 0.3679
 BoG=t f (num, den , T ) ;
 zpk (BoG)
Zero/ pole / 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]= tfdata (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=roots ( den_mf )
p_mf =
0.2439 + 0.9698 i
0.2439 − 0.9698 i
 %Determinando polo em coordenadas polares:
 [ theta , rho ]= cart2pol ( real ( p_mf (1) ) , imag ( p_mf (1) ) )
theta = 1.3244
rho = 1.0000
 freq=theta (2 pi )
freq = 8.3214

Conclusão
Nota-se que a medida que aumenta o período de amostragem T, se é obri-
gado a abaixar o ganho K do controlador, para manter a estabilidade do sis-
tema.
↑ 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 evolução é função do ganho e tamanho do período
de amostragem adotado.
2.6 Diagrama do Lugar das Raízes (RL)
• O efeito do Ganho (K) num sistema e/ou do período de amostragem na estabilidade absoluta ou rela-
tiva do sistema em malha fechada deve ser investigada adicionalmente às características da resposta
transitória. O método do Lugar das Raízes (RL) é muito útil neste sentido.
• O método do Lugar das Raízes (Root Locus (RL)) para sistemas contínuos no tempo pode ser estendido
para os sistemas de tempo discreto sem muitas modificações uma vez que a equação característica do
sistema de controle discreto segue o mesmo formato que no sistema de controle contínuo no tempo.
Em muitos sistemas LTI (Lineares e Invariantes no Tempo), a equação característica pode seguir um dos
seguintes formatos:
1 + G(z)H(z) = 0
1 + GH(z) = 0
combinando ambas as equações anteriores, podemos definir a equação característica como sendo:
1 + L(z) = 0 (2.5)
onde L(z) = G(z)H(z) ou L(z) = GH(z). L(z) é popularmente conhecida como a função transferência do impulso
para o laço aberto. A equação 2.5 pode ser escrita como:
L(z) = −1
uma vez que L(z) expressa uma quantidade complexa ela pode ser dividida em 2 equações, uma equação
relacionada com os ângulos e outra com a magnitude. Isto resulta em 2 critérios à serem seguidos:
20
• Critério Angular: ∠L(z) = ±180o(2k + 1), k = 0,1,2,...
• Critério da Magnitude: |L(z)| = 1
Os valores de z que satisfazem ambos os critérios correspondem às raízes da equação característica ou
aos polos de malha-fechada. Antes de construir o diagrama do Lugar das Raízes, a equação 1 + L(z) = 0
deve ser reorganizada na seguinte forma:
1 + K
(z + z1)(z + z2)···(z + zm)
(z + p1)(z + p2)···(z + pn)
= 0 (2.6)
onde zi ’s e pi ’s correspondem respectivamente aos zeros e polos da função transferência em malha aberta
(FTMA(z)), m é o número de zeros e n é o número de pólos.
2.6.1 Construindo o Diagrama do Lugar das Raízes
As regras para construção do RL para sistemas digitais são as mesmas que as usadas para sistemas no
tempo contínuo:
1. O diagrama de RL é simétrico com relação ao eixo real. O número de traçados do RL corresponde ao
número de polos de malha aberta.
2. Os traçados do RL partem dos polos de malha aberta com K = 0 e terminam nos zeros de malha aberta,
com K = ∞. Na ausência de zeros de malha aberta, o RL tende para −∞ quando K → ∞. O número de
traçados que tendem para −∞ corresponde a diferença entre o número de polos e de zeros.
3. Uma região do eixo real fará parte do RL se o número de polos mais o número de zeros à direita desta
parte for ímpar.
4. Se existem n polos de malha aberta e m zeros de malha aberta, então n − m traçados do RL vão tender
para −∞ ao longo de linhas retas assintóticas desenhadas à partir de um único ponto s = que é
chamado de centro do loci:
=
(Partes reais dos pólos de malha aberta) − (Partes reais dos zeros de malha aberta)
n − m
(2.7)
O ângulo de partida das assintotas é dado por:
=
180o(2q + 1)
n − m
, q = 0,1,...,n − m − 1 (2.8)
5. As raízes da equação abaixo definem os pontos de partida (breakaway) e chegada (break in) dos traça-
dos de RL:
dK
dz
= 0 (2.9)
onde K é expresso em função de z da equação característica do sistema. Esta é uma condição neces-
sária porém, não é suficiente. Devemos verificar se as soluções encontradas recaem sobre o RL sendo
traçado.
6. A interseção (se existe) do RL com o círculo unitário pode ser determinada à partir do arranjo de Routh(-
Hurwitz).
7. O ângulo de partida para pólos complexos de malha aberta é dado por:
p = 180o
+ (2.10)
onde corresponde à contribuição final de todos os ângulos dos pólos e zeros de malha aberta para
este polo:
=
i
i −
j p
j (2.11)
onde i ’s correspondem às contribuições dos ângulos gerados pelos zeros e j’s correspondem às con-
tribuições dos ângulos gerados pelos polos.
8. O ângulo de chegada relacionado com o zero complexo é dado por:
z = 180o
− (2.12)
onde é o mesmo valor determinado pela regra anterior.
21
9. O ganho no ponto zo sobre o RL é determinando através de:
K =
n
j=1 |zo + pj|
m
i=1 |zo + zi |
(2.13)
2.6.2 Exemplos de Traçados de RL
Exemplo_1
Para o caso do exemplo anterior, reproduzido novamente na figura 2.7 (ver seção 2.4.3, pág. 17,
Bo(s)
YR +
-
Y
T
1
s(s + 1)
K
T
Figura 2.7: Sistema exemplo de 2a-ordem.
Com T = 1,0 (segundos), temos:
BoG(z) =
K(b0 + b1z)
(z − 1)(z − a)
=
0,36788K(z + 0,7183)
(z − 1)(z − 0,3679)
=
K(0,3679z + 0,2642)
z2 − 1,3679z + 0,3679
O lugar das raízes se origina em z = 1 e z = 0,3679 e termina em z = −0,7183 e z = −∞.
O número de assíntotas equivale à: np − nz, então (2 − 1) = 1, temos 1 assíntota. O ângulo de partida da
assíntota é dado por:
Ângulo da assíndota = =
(2N + 1)
180o
(np − nz)
, N = 0,1,2,...
onde: N = 0 corresponde a assíntota com o menor ângulo com respeito ao eixo real. Embora N assuma um
número infinito de valores, o ângulo repete a si mesmo a medida que N aumenta. O número de diferentes
assíntotas é dado por: np − nz.
Neste caso:
=
(2N + 1) · 180
np − nz
=
180o
1
= 1800
, p/N=0
=
3 · 180o
1
= 540o
, p/N=1
Os pontos de partida (break-way) e chegada (break-in) podem ser determinados à partir das raízes de:
d K
d z
=
A (z)B(z) − A(z)B (z)
B2(z)
= 0
onde: o apóstrofe indica diferenciação em relação à z e A(z) e B(z) são extraídos à partir da equação carac-
terística:
Se a equação característica D(z) = 0 for escrita como:
D(z) = 1 + F(z) = 0
= 1 +
K · B(z)
A(z)
então:
K = −
A(z)
B(z)
22
Para o caso do nosso sistema, os pontos de partida/chegada são dados por:
d
dz
BoG(z) = 0 ←
du
dv
=
vdu − udv
v2
neste caso:
d
dz
BoG(z) =
d
dz
0,36788K(z + 0,7183)
(z − 1)(z − 0,3679)
=
(z2 − 1,3368z + 0,368)(0,368K) − (0,368Kz + 0,264K)(2z − 1,368)
(z2 − 1.368z + 0.3679)2
= 0
trabalhando esta equação, temos:
0,368Kz2 − 0,503424Kz + 0,135424K − 0,736Kz2 + 0,503424Kz − 0,528Kz + 0,361152K = 0
0,368Kz2 − 0,503424Kz + 0,135424K − 0,736Kz2 − 0,024576Kz + 0,461152K = 0
−0,368Kz2 − 0,538Kz + 0,496576K = 0
descobrindo as raízes para a equação anterior obtemos:
= b2 − 4ac ∴ = 0,278784 − 4(−0,368)(0,496576) = 1,0097439
z =
−b ±
√
2a
∴ z =
0,528 ± 1,0048601
−(2 · 0,368)
z1 = −2,0826904
z1 = +0,6479077
e nestes pontos K vale:
• p/z = z1 = −2,0826904, BoG(z) = 1, então:
0,368K(z + 0,717)
(z2 − 1,368z + 0,368) z=−2,0826904
= 1
0,368K(−2,08 + 0,717)
(−2,08)2 − 1,368(−2,08) + 0,368)
= 1
−0,501584K
7,53984
= 1
K =
7,53984
0,501584
K = 15,03
• p/z = z1 = 0,6479077, BoG(z) = 1, então:
0,368K(z + 0,717)
(z2 − 1,368z + 0,368) z=0,6479077
= 1
0,368K(0,65 + 0,717)
(0,65)2 − 1,368(0,65) + 0,368)
= 1
−0,503056K
−0,0987
= 1
K =
0,0987
0,503056
K = 0,196
Usando o MATLAB, obtemos a figura 2.8:
 T=1.0;
 %Entrando com dados do sistema
 a=exp(−T) ;
 b1=exp(−T )+T −1;;
 b0=1−exp(−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^2 − 1.368 z + 0.3679
Sampling time : 1
 zpk (BoG)
Zero/ pole / gain :
0.36788 ( z+0.7183)
−−−−−−−−−−−−−−−−−−
( z −1) ( z −0.3679)
Sampling time : 1
 rlocus (BoG)
 axis equal

Figura 2.8: Lugar das raízes para o sistema usado como exmeplo
Verificando a resposta do sistema para entrada degrau usando o ganho máximo K = 2.3922, obtemos,
usando o MATLAB, a figura 2.9 que confirma a resposta oscilatória do sistema.
 K=(1−a ) /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/ pole / gain :
0.88005 ( z+0.7183)
−−−−−−−−−−−−−−−−−−−
( z^2 − 0.4878z + 1)
Sampling time : 1
 figure ;
 step (FTMF )
Ajustando o sistema anterior para outros valores de ganho
Se fosse desejada uma resposta com sobrepasso máximo de 20% poderíamos ter ajustado o ganho no
correspondente valor para :
24
Figura 2.9: Resposta ao degrau unitário usando ganho máximo.
Lembrando que:
=
−ln%OS/100
2 + ln2 (%OS/100)
= = 0,4559
este valor de pode ser “impresso” no diagrama do Lugar das Raízes deste sistema para servir como guia
para definição da posição desejada para os pólos de malha-fechada do sistema e consequente valor K do
ganho necessário – no MATLAB:
 zeta=(−log (20/100) ) /( sqrt ( pi ^2+( log (20/100) ^2) ) )
zeta = 0.4559
 figure ; %abre nova janela grafica
 rlocus (BoG) ;
 hold on
 zgrid ( zeta , 0 )
 axis equal
 r l o c f i n d (BoG)
Select a point in the graphics window
selected_point =
0.5787 + 0.4183 i
ans =
0.5547
 %Encontramos o ganho como sendo:
 k=0.5547;
 %Fechamos a malha com este ganho e verificamos resposta do sistema
 novo_mf=feedback ( k BoG , 1 )
Transfer function :
0.2041 z + 0.1466
−−−−−−−−−−−−−−−−−−−−−−
z^2 − 1.164 z + 0.5145
Sampling time : 1
 zpk ( novo_mf )
25
Zero/ pole / gain :
0.20406 ( z+0.7183)
−−−−−−−−−−−−−−−−−−−−−−−
( z^2 − 1.164z + 0.5145)
Sampling time : 1
 %Verificando resposta para entrada degrau:
 step ( novo_mf )
A figura 2.10 mostra o diagrama do Lugar das Raízes com a linha guia para o = 0,4559 selecionado e
a figura 2.11 mostra a correspondente resposta do sistema para um degrau unitário aplicado à sua entrada
com K = 0,5547 que satisfaz o valor desejado para .
−3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2
−2
−1.5
−1
−0.5
0
0.5
1
1.5
2
0.456
Root Locus
Real Axis
ImaginaryAxis
K=0,5547
Figura 2.10: Determinando o valor do ganho para %OS ( ) desejado através do RL.
Step Response
Time (sec)
Amplitude
0 5 10 15 20 25
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: novo_mf
Peak amplitude: 1.19
Overshoot (%): 18.8
At time (sec): 5
System: novo_mf
Settling Time (sec): 11.7
Figura 2.11: Resposta para o degrau unitário do sistema com ganho ajustado com K = 0,5547.
Exemplo_2
Seja o sistema mostrado na figura 2.12.
26
Figura 2.12: Sistema de controle discreto no tempo – exemplo 2.
Para T = 0,5 segundos teremos:
Z Gh0(s)Gp(s) = Z
1 − e−Ts
s
·
1
s + 1
= (1 − z−1
)Z
1
s(s + 1)
= (1 − z−1
)Z
1
s
−
1
s + 1
=
z − 1
z
z
z − 1
−
z
z − e−T
=
1 − e−T
z − e−T
Vamos supor que será usado um controlador integral – PI, isto é, GD (z) =
Kz
z − 1
, assim teremos:
G(z) = GD (z) · GhGp(z)
=
Kz
z − 1
·
1 − e−T
z − e−T
A equação característica fica então:
1 + G(z) = 0
1 +
Kz(1 − e−T )
(z − 1)(z − e−T )
= 0
que para T = 0,5 resulta em:
L(z) =
0,3935Kz
(z − 1)(z − 0,6065)
L(z) possui polos em z = 1 e z = 0,6065 e um zero em z = 0.
Os pontos de partida e chegada podem ser calculados a partir de
dK
dz
= 0:
K = −
(z − 1)(z − 0,6065)
0,3935z
dK
dz
= −
z2 − 0,6065
0,3935z2
= 0
cujas raízes resultam em:
z2
= 0,6065
z1 = 0,7788
z2 = −0,7788
O ganho crítico Ku pode ser encontrado usando o critério da magnitude:
0,3935z
(z − 1)(z − 0,6065)
=
1
K
o ganho crítico Ku corresponde ao ponto em que z = −1, então:
0,3935z
(−2)(−1,6065)
=
1
Ku
Ku = 8,165
27
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 traços partem dos dois polos em K = 0. Se vamos
aumentando o valor de k, um dos traços segue até o zero e o outro tende a infinito (negativo).
−2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5
−1
−0.8
−0.6
−0.4
−0.2
0
0.2
0.4
0.6
0.8
1
Root Locus
Real Axis
ImaginaryAxis
Figura 2.13: RL do sistema do exemplo 2 para T = 0,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=series ( c , BoG)
Transfer function :
0.3935 z
−−−−−−−−−−−−−−−−−−−−−−
z^2 − 1.607 z + 0.6065
Sampling time : 0.5
 zpk (FTMA)
Zero/ pole / gain :
28
0.39347 z
−−−−−−−−−−−−−−−−
( z −1) ( z −0.6065)
Sampling time : 0.5
 rlocus (FTMA)

Se para o sistema anterior fosse usado T = 1 segundo, teríamos:
G(z) =
0,6321Kz
(z − 1)(z − 0,3679)
com os pontos de partida e chegada dados por:
z2
= 0,3679 → z1 = 0,6065 e z2 = −0,6065
e o ganho crítico, seria: Ku = 4,328.
Se para o sistema anterior fosse usado agora T = 2 segundo, teríamos:
G(z) =
0,8647Kz
(z − 1)(z − 0,1353)
e o ganho crítico, seria agora: Ku = 2,626.
Note como a medida que aumenta T, diminui a faixa para o ganho K.
29
30
Capítulo 3
Controladores Digitais
De modo geral, os controladores digitais a serem estudados nesta seção obedecem ao formato genérico:
C(z) = K ·
(z − a)
(z − b)
e todos serão aplicados sobre o seguinte tipo de planta (ver figura 3.1):
G(s) =
1
s(s + 1)
com T = 1 (segundo).
Bo(s)
YR +
-
Y
T
1
s(s + 1)
C(z)
T
BoG(z)
G(s)
u(kT)e(kT)e(t) y(t)
ou
Bo(s)
+
-
Y
T
1
s(s + 1)
C(z)
T
BoG(z)
G(s)
u(kT)e(kT) y(t)r(kT)
Sistema Digital
Planta
ZOH
y(kT)
Figura 3.1: Sistema usando como exemplo.
Este sistema acompanhado de um sustentador de ordem zero, B0G(z), se transforma em:
B0G(s) = (1 − e−sT
) ·
1
s2
−
1
s
+
1
s + 1
31
transformando para plano Z temos1:
BoG(z) = (1 − z−1
) · Z
1
s2
−
1
s
+
1
s + 1
= (1 − z−1
) ·
Tz
(z − 1)2
−
z
z − 1
+
z
z − e−T
=
(ze−T − z + Tz) + (1 − e−T − Te−T
)
(z − 1)(z − e−T )
para T = 1, temos então:
B0G(z) =
0,3678z + 0,2644
(z − 1)(z − 0,3678)
=
0,3678 · (z + 0,7183)
z2 − 1,3678z + 0,3678
=
a(z + b)
(z − 1)(z − a)
onde a=pólo da planta resultado da digitalização da mesma (a = e−T ); e b=zero da planta.
Esta expressão também pode ser obtida no MATLAB fazendo-se:
 num=1;
 den=[1 1 0 ] ;
 T=1;
 [numd, dend]=c2dm(num, den , T )
numd =
0 0.3679 0.2642
dend =
1.0000 −1.3679 0.3679
 printsys (numd, dend , ’ z ’ )
num/den =
0.36788 z + 0.26424
−−−−−−−−−−−−−−−−−−−−−−−−
z^2 − 1.3679 z + 0.36788
 roots (numd)
ans = −0.7183
 roots ( dend )
ans =
1.0000
0.3679

Ou também 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/ pole / gain :
1
−−−−−−−
s ( s+1)
 BoG=c2d (G, T )
Transfer function :
0.3679 z + 0.2642
−−−−−−−−−−−−−−−−−−−−−−
z^2 − 1.368 z + 0.3679
Sampling time : 1
 zpk (BoG)
Zero/ pole / gain :
0.36788 ( z+0.7183)
−−−−−−−−−−−−−−−−−−
( z −1) ( z −0.3679)
Sampling time : 1

1A dedução apresentada de forma mais completa aparece na seção 2.4.3, pág. 17
32
A resposta deste sistema para um impulso unitário, R(z)=1 seria: Y(z) = G(z) · 1, cuja resposta inicial no
tempo poderia ser obtida pelo método da divisão longa em Z, ou seja:
0,3678z +0,2644 z2 − 1,3678z + 0,3678
−0,3678z +0,5031 +0,1353z−1 0,3678z−1 + 0,7675z−2 + 0,9145z−3 + ...
+0,7675 −0,1353z−1
−0,7675 +1,0497z−1 +0,2823z−2
0,9145z−1 −0,2823z−2
ou seja, y(kT) = 0z0 + 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 ??, pág. ??):
f(∞) = lim
k→∞
f(k) = lim
z→1
(1 − z−1
)F(z)
a resposta da planta em regime permanente para um impulso unitário aplicado à sua entrada resulta em:
y(∞) = lim
k→∞
y(kT) = lim
z→1
(1 − z−1
) · Y(z)
que neste caso nos dá:
y(∞) = lim
z→1
(1 − z−1
) · Y(z) = lim
z→∞
z − 1
z
·
0,36788z + 0,26424
(z − 1)(z − 0,36788)
y(∞) = lim
z→1
0,36788z + 0,26424
z(z − 0,36788)
=
0,6321
0,6321
= 1
3.1 Simples Controlador Proporcional, K
Fechando uma malha de realimentação unitária, este sistema resulta em:
FTMF(z) =
Y(z)
R(z)
=
FTMA(z)
1 + FTMA(z)
=
F(z)
1 + F(z)
onde FTMA(z) = F(z) tem o seguinte formato:
F(z) =
K(az + b)
z2 − (1 + a)z + a
com a = 0,3678 (a = eT ) e b= 0,2644.
Os pólos em malha fechada serão as raízes da equação: [1 + F(z)] = 0. Esta também é a equação carac-
terística deste sistema: EC(z):
FTMF(z) =
0,36788(z + 0,7183)
z2 − z + 0,6321
=
0,36788(z + 0,7183)
(z − 0,5 − j0,6182)(z − 0,5 + j0,6182)
Portanto, se obtêm um equação característica no formato:
EC(z) = 1 + F(z) = z2
− (1 + a)z + a + Kaz + Kb = 0
Quando K = 1, obtêm-se:
EC(z) = z2
− z + 0,6321
cujos pólos estarão em: z = 0,5 ±j0,6182 ou z = 0,8907 ±45,55o, portanto, ainda dentro do círculo unitário
– este sistema responde então de forma subamortecida para uma entrada degrau.
Resolvendo no MATLAB temos:
 ftmf=feedback (BoG , 1 ) %fechando malha com H(s)=1 e realimentacao unitaria
Transfer function :
0.3679 z + 0.2642
−−−−−−−−−−−−−−−−−
z^2 − z + 0.6321
Sampling time : 1
 zpk ( ftmf )
Zero/ pole / gain :
33
0.36788 ( z+0.7183)
−−−−−−−−−−−−−−−−−−
( z^2 − z + 0.6321)
Sampling time : 1
 [num_mf , den_mf]= tfdata ( 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=roots ( den_mf ) %Descobrindo onde foram parar os polos de MF:
polos_mf =
0.5000 + 0.6182 i
0.5000 − 0.6182 i
 [ theta , rho ]= cart2pol ( real ( 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) / pi %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 definição do erro em regime permanente (eq. (1.2) – seção 1, pág. 5), temos:
lim
k→∞
e(kT) = lim
z→1
(z − 1) ·
1
1 + F(z)
· Yr(z)
O e(∞) para entrada degrau unitário fica:
e(∞)|u(t) = lim
z→1
(z − 1) ·
1
1 + F(z)
·
z
(z − 1)
=
1
1 + lim
z→1
F(z)
=
1
1 + Kp
onde: Kp = ganho de posição; e F(z) = FTMA(z).
Neste caso em particular, BoG(z) ou FTMA(z) é um sitema do tipo 1 (com 1 integrador – pólo em
z = 1):
B0G(z) = FTMA(z) =
0,36788(z + 0,7183)
(z − 1)(z − 0,3679)
então:
lim
k→∞
e(kT) =
1
1 + limz→1
N(z)
(z − 1)D (z)
=
1
1 + Kp
onde, Kp → ∞ e consequentemente, e(∞) = 0.
Simulando no MATLAB, se obtêm a resposta mostrada na figura 3.2:
 step ( ftmf )
3.1.1 Determinando Km ´ax
Note porém 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
instável, usando o método de Jury.
Analisando: EC(z) = anzn + an−1zn−1 + ... + a1z + a0 = 0, temos
Neste caso: EC(z) = z2 − (1 + a)z + a + Kaz + Kb = 0, onde a = 0,3679 e b= 0,2642, então:
EC(z) = z2
+ (Ka − 1 − a)z + (a + Kb)
EC(z) = z2
+ (0,3678K − 1,3679)z + (0,3678 + 0,2644K) = 0
Observando as pré-condições de estabilidade:
34
Time (sec.)
Amplitude
Step Response
0 5 10 15 20 25
0
0.2
0.4
0.6
0.8
1
1.2
1.4
From: U(1)
To:Y(1)
Figura 3.2: Resposta ao degrau unitário de BoG(z) em malha-fechada quando K = 1.
a) |a0|  a2, que neste caso, se transforma em:
|a + Kb|  1, que resulta em:
K 
1 − a
b
, ou seja, K  2,3922, e:
K 
1 − a
b
, ou seja, K  2,3922 (condição desprezada).
b) EC(1)  0, para sistemas de ordem par, então:
EC(1) = 1 + Ka − 1 − a + a + Kb  0,
daqui concluímos que: K  0;
c) (−1)nEC(−1)  0, então: EC(−1)  0, verificando:
EC(−1) = 1 − Ka + 1 + a + a + Kb  0,
K(b − a)  −2 − 2a,
K 
2 + 2a
b − a
, que neste caso, nos fornece:
K  −12.1986 (condição refutada: ganho negativo).
Analisando as condições, chegamos à conclusão de que o ganho neste caso (note que T = 1), deve ficar
entre: 0  K  2,3992.
Usando-se o MATLAB para comprovar estes resultados, temos:
 rlocus (numd, dend )
 x =[ −1:0.1:1]; y=sqrt ( ones (1 , length ( x ) )−x .^2) ;
 hold on
 plot ( x , y , ’ : ’ , x , −y , ’ : ’ )
axis ( ’ equal ’ )
que gera o gráfico mostrado na figura 3.3.
Podemos confirmar o valor máximo que poderia ser adotado para K, fazendo no MATLAB:
 r l o c f i n d (numd, dend )
Select a point in the graphics window
selected point =
0.2615 + 0.9455 i
ans =
2.2789}
Conferindo no gráfico gerado na figura 3.4.
Se para o K = 1 pode ser percebido um overshoot de 40%, diminuindo-se este ganho, este valor pode ser
baixado se levarmos em consideração ainda que este sistema em malha fechada responde como um sistema
35
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1.5
-1
-0.5
0
0.5
1
1.5
Real Axis
ImagAxis
Figura 3.3: RL para BoG(z) =
0.3678(z+0.7183)
(z−1)(z−0.3678)
.
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1.5
-1
-0.5
0
0.5
1
1.5
Real Axis
ImagAxis
K=2.2789
K=3.1892
K=0.9186
K=0.1964
Figura 3.4: Sintonizando o controlador proporcional no RL.
de segunda ordem, então basta definir valores convenientes para o fator de amortecimento (principalmente),
, e para a freqüência natural, n. Um valor melhor tolerado, seria um overshoot de 5% que se obtêm 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:
 zgrid (0.7 ,0.5 , ’new ’ )
 rlocus (numd, dend )
 axis ( ’ equal ’ )
 hold on
 r l o c f i n d (numd, dend )
Select a point in the graphics window
selected point =
0.6077 + 0.2537 i
ans =
0.3284
36
O gráfico gerado pelo MATLAB é mostrado na figura 3.5.
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1.5
-1
-0.5
0
0.5
1
1.5
Real Axis
ImagAxis
K=0.3284
=0.7
wn
=0.5
Figura 3.5: Ajustando ganho do controlador proporcional para limitar %OS.
Comprovando a saída no domínio tempo, podemos fazer no MATLAB:
 K=0.32;
 [num_mf , den_mf]= feedback (K numd, dend ,1 ,1 , −1) ;
 printsys (num_mf , den_mf , ’ z ’ )
num/den =
0.11772 z + 0.084557
−−−−−−−−−−−−−−−−−−−−
z^2 − 1.2502 z + 0.45244
dstep (num_mf , den_mf ) }
o que gera o gráfico mostrado na figura 3.6.
Time (sec.)
Amplitude
Step Response
0 5 10 15 20 25
0
0.2
0.4
0.6
0.8
1
1.2
1.4
From: U(1)
To:Y(1)
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 unitário, resulta em:
y(∞) = lim
z→1
(z − 1) · FTMF(z) ·
z
z − 1
= lim
z→1
FTMF(z)
usando o MATLAB para calcular y(∞)Degrau:
 polyval (num_mf , 1 ) / polyval ( den_mf , 1 )
ans =
1.0000}

Se fosse desejado simular um outro tipo de entrada ao sistema, poderíamos fazê-lo facilmente no MA-
TLAB. Supondo o caso de se querer simular uma entrada parabólica:
 for i =0:10 , u ( i +1)= i ^2; end
 plot (u , ’b : ’ )
 hold on
 dlsim (num_mf , den_mf , u )
Que gera o gráfico mostrado na figura 3.7.
Time (sec.)
Amplitude
Linear Simulation Results
0 2 4 6 8 10 12
0
10
20
30
40
50
60
70
80
90
100
To:Y(1)
u(k)=k2
y(k)
Figura 3.7: Resposta do sistema a uma entrada parabolica.
Simulando uma entrada rampa para o caso anterior: R(z) =
Tz
(z − 1)2
, temos:
 num_r=[1 0 ] ;
 den_r=conv ([1 −1] ,[1 −1])
 [num_mf2 , den_mf2]= series (num_mf , den_mf , num_r , den_r ) ;
 printsys (num_mf2 , den_mf2 , ’ z ’ ) ;
num/den =
0.11772 z^2 + 0.084557 z
−−−−−−−−−−−−−−−−−−−−−−−−−−
z^4 − 3.2502 z^3 + 3.9528 z^2 − 2.155 z + 0.45244

Determinando o erro em regime permanente temos:
y(∞) = cte
que no MATLAB pode ser calculado fazendo-se:
 Falta revisar esta parte (7 nov 2013) 
38
ou seja, observamos que este controlador (proporcional) não é 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) =
Z−1 Tz
(z − 1)2
= k · T:
 for i =0:25; k ( i +1)= i ; r ( k+1)=k T ; end ;
 plot ( k , r , ’b : ’ )
 hold on
 dlsim (num_mf , den_mf , r )

se gera o gráfico mostrado na figura 3.8.
Time (sec.)
Amplitude
Linear Simulation Results
0 5 10 15 20 25
0
5
10
15
20
25
To:Y(1)
Figura 3.8: Resposta do sistema à uma entrada rampa.
3.2 Controlador (polinomial) cancelando pólo(s) dominante(s)
Continuando com o projeto de um controlador digital no formato C(z) = K ·
z − a
z − b
; podemos fazer que a =
pólo mais dominante da planta, ou seja:
C(z) =
K(z − 0,36788)
(z + 0,24)
lembrando que:
B0G(z) =
0,36788 · (z + 0,7183)
(z − 1)(z − 0,36788)
39
Pólos Dominantes no Plano-Z
Assim como ocorre no plano-s, algumas raízes no plano-z geram efeito mais preponderante que outros.
É importante no projeto de um controlador separar estas raízes consideradas dominantes.
No plano-se, as raízes localizadas próximas do eixo j no semi-plano esquerdo eram consideradas
dominantes porque sua correspondente resposta temporal mostra um decaimento mais lento. As raízes
que estão localizadas mais longe do eixo j correspondem à responstas que decaim mais rápido.
No plano-z, as raízes dominantes são aquelas que estão dentro e próximas do círculo unitário enquanto
a região (no plano-z) menos significativa é que está próxima da origem do plano-z.
O eixo real negativo é geralmente evitado uma vez que sua resposta temporal é naturalmente oscilatória
(sinal alternando entre instantes de amostragem).
A figura AA mostra as regiões para raízes dominantes e menos, tanto no plano-s quanto no plano-z.
Obs.: Extraído de: Kar and Majhi[Module 4, Lecture 2].
Figura AA: Mapeamento de pólos e zeros de um sistema de segunda ordem.
No plano-z, as raízes próximas da origem são menos significativas do ponto de vista de overshoot e fator
amortecimento.. Entretanto, estas raízes não podem ser completamente desconsideradas uma vez que
um número excessivo de pólos em relação à zeros gera um efeito de delay na região inicial da resposta
no tempo. Isto é, adicionar pólos em z = 0 não vai afetar nem o overshoot e nem o fator amortecimento,
mas o tempo de resposta vai apresentar um delay adicional de um período de amostragem.
A melhor maneira de simplificar (tonar menos complexo, com menor ordem) um sistema no plano-z é
trocar os pólos próximos da origem por pólos em z = 0 o que vai simplificar a análise uma vez que pólos
em z = 0 correspondem à puros atrasos no tempo.
A idéia é via controlador se cancelar o polo da planta em z = −0,36788. O que torna a função transferên-
cia em malha aberta deste sistema em:
F(z) =
K · 0,36788 · (z + 0,7183)
(z − 1)(z + 0,24)
que dá como lugar das raízes um gráfico como o mostrado pela figura 3.9. Seguem comandos no MATLAB
usados para gerar a figura 3.9.
 fnum=numd;
 fden=conv ([1  textbf { { } − 1 } ] , [ 1  textbf { 0 . 2 4 } ] ) ;
 printsys ( fnum , fden , ’ z ’ )
num/den =
0.36788 z + 0.26424
−−−−−−−−−−−−−−−−−−−
z^2 − 0.76 z − 0.24
 rlocus ( fnum , fden )
 hold on
40
zgrid ( 0 . 7 , 0 . 5 ) ;
 axis ( ’ equal ’ ) ;
 r l o c f i n d ( fnum , fden )
Select a point in the graphics window
selectedpoint =
−0.4795 + 0.8538 i
ans =
4.6445

-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-2
-1.5
-1
-0.5
0
0.5
1
1.5
2
Real Axis
ImagAxis
K=4,6445
Figura 3.9: RL do Controlador cancelando pólo dominante de BoG(z).
Mas se queremos que o sistema responda com %OS de no máximo 5%, fazemos = 0.7 e então 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) ;
 printsys (num_mf , den_mf , ’ z ’ )
num/den =
0.44146 z + 0.31709
−−−−−−−−−−−−−−−−−−−−−
z^2 − 0.31854 z + 0.077089
 dstep (num_mf , den_mf )
que resulta no gráfico mostrado na figura 3.11.
41
-3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2
-1.5
-1
-0.5
0
0.5
1
1.5
Real Axis
ImagAxis
K=1.2828
=0.7
Figura 3.10: Sintonizando controlador por cancelamento de pólo dominante.
Time (sec.)
Amplitude
Step Response
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
1.2
1.4
From: U(1)
To:Y(1)
Figura 3.11: Resposta à entrada degrau para controlador cancelando pólo dominante.
42
Time (sec.)
Amplitude
Linear Simulation Results
0 5 10 15 20 25
0
5
10
15
20
25
To:Y(1)
Figura 3.12: Resposta à entrada rampa para controlador por cancelamento de pólo dominante.
O valor em regime permanente de y(kT) pode ser calculado como:
 polyval (num_mf , 1 ) / polyval ( den_mf , 1 ) }
ans =
1.0000

ou seja, erro nulo para entrada degrau. Mas este controlador ainda não resolve o problema de anular o erro
para entrada rampa, que resulta no gráfico da figura 3.12.
3.3 Cancelamento imperfeito de pólos-zeros
Detalhe: na prática não se consegue realizar um cancelamento perfeito de pólos-zeros, seja porque nem
sempre nosso sistema digital de controle opera com números em ponto flutuante, seja porque o cálculo não
éexecutado com precisão suficiente ou seja porque o conversor final de digital para analógico trabalha com
poucosbits de resolução (baixa quantização do sinal).
No caso real, o que poderia acontecer? Levando em conta o exemplo anterior, vamos supor que o pólo
que gostaríamos de cancelar seria em z = 0,36788 que note, é proporcional à: a = e−T (ou seja, o pólo
ainda se desloca em função do período de amostragem adotado). Vamos super que consigamos sintetizar no
máximoum valor de a = 0,36 – o que acontece? Então nosso controlador fica:
C(z) =
K · (z − a)
(z + 0,24)
=
1,20 · (z − 0,36)
(z + 0,24)
A função transferência em malha aberta fica:
FTMA(z) = F(z) = C(z) · B0G(Z) =
1,20 · 0,3678 · (z − 0,36) · (z + 0,7183)
(z − 1) · (z − 0,3678) · (z + 0,24)
No MATLAB:
 K=1.2;
 cnum=[1 −0.36];
 cden=[1 0. 24] ;
 printsys (cnum, cden , ’ z ’ )
num/den =
z − 0.36
−−−−−−−−−−
z + 0.24
 roots (cnum)
ans =
0.3600
43
roots ( dend )
ans =
1.0000
0.3679
 [ fnum , fden ]= series (cnum, cden , numd, dend ) ;
 printsys ( fnum , fden , ’ z ’ ) ;
num/den =
0.36788 z^2 + 0.1318 z − 0.095127
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^3 − 1.1279 z^2 + 0.039588 z + 0.088291
 roots ( fnum )
ans =
−0.7183
0.3600
 roots ( fden )
ans =
1.0000
0.3679
−0.2400

O diagrama de lugar das raízes para este sistema fica:
 rlocus ( fnum , fden )
 zgrid (0 ,0) ;
 axis ( ’ equal ’ )
 hold on
 zgrid ( 0 . 7 , 0 . 5 ) ;
 rlocus ( fnum , fden , K)
 axis ([ −2 1.5 −1.1 1 . 1 ] )
o que gera o gráfico monstrado da figura 3.13.
-2 -1.5 -1 -0.5 0 0.5 1 1.5
-1
-0.5
0
0.5
1
Real Axis
ImagAxis
K=1.2
=0.7
Figura 3.13: RL para o caso de cancelamento imperfeito de pólos-zeros.
Um “zoom” sobre a região onde o cancelamento não foi perfeito é mostrado na figura 3.14.
A resposta para a entrada degrau fica então:
 axis ([ −2 1.5 −1.1 1 . 1 ] )
 [num_mf , den_mf]= feedback (K fnum , fden ,1 ,1 , −1) ;
 printsys (num_mf , den_mf , ’ z ’ )
num/den =
0.44146 z^2 + 0.15817 z − 0.11415
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^3 − 0.68642 z^2 + 0.19775 z − 0.025861
 dstep (num_mf , den_mf )
e se obtêm o gráfico mostrado na figura 3.15.
44
0 0.2 0.4 0.6 0.8 1 1.2
-0.2
-0.1
0
0.1
0.2
0.3
0.4
0.5
0.6
0.7
Real Axis
ImagAxis
K=1.2
=0.7
Figura 3.14: Ampliação sobre região de interesse da figura 3.13.
Time (sec.)
Amplitude
Step Response
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
From: U(1)
To:Y(1)
Figura 3.15: Resposta à entrada degrau no caso do cancelamento imperfeito de pólos-zeros.
Nota-se que a resposta sofreu um ligeiro atraso.
Mas este não é todo o problema envolvido com o mundo real. Devemos ficar atentos ao esforço de
controle que foi realizado neste caso, ou seja, é interessante analizar a variação do sinal de controle,
u(kT). Valores elevados podem causar a saturação de um estágio de potência que esteja ligado na saída do
conversor D/A, ou saturação do próprio D/A.
A figura 3.16 mostra uma simulação do sistema anterior no MATLAB/Simulink.
Atenção para alguns ajustes necessário no Simulink, por exemplo, nas propriedades para os blocos To
Workspace, notar que para facilidade de uso a caixa Save Format deve ficar ajustada para matrix, como
mostra a figura 3.17.
Os parâmetros da simulação devem ser ajustadas para o tempo máximo de 10 segundos, conforme
mostra a figura 3.18.
Depois de usar os blocos “To Workspace”, pode-se visualizar melhor os resultados graficamente, no MA-
45
Zero-Order
Hold
t
To Workspace4
r
To Workspace3
e
To Workspace2
u
To Workspace1
y
To Workspace
Step
1
s +s2
Planta
1.2
Gain
12:34
Digital Clock
z-0.36
z+0.24
Controlador
Figura 3.16: Simulação do controlador por cancelamento de pólos dominantes.
!
Figura 3.17: Parâmetros dos blocos “To Workspace” que devem ser ajustados.
!
Figura 3.18: Parâmetros de simulação.
TLAB, usando os vetores criados e os comandos plot(·) e stairs(·):
 subplot (211) }
 s t a i r s ( t , r , ’b : ’ ) ;
 hold on ;
 s t a i r s ( t , y , ’k− ’ ) ;
 axis ([0 10 0 1 . 1 ] )
46
0 1 2 3 4 5 6 7 8 9 10
0
0.2
0.4
0.6
0.8
1
r(kT)
y(kT)
0 1 2 3 4 5 6 7 8 9 10
0
0.5
1 e(kT)
u(kT)
u(max)=1.2
Figura 3.19: Resultados da simulação realizada no Simulink.
 legend ( ’ r ( kT ) ’ , ’ y ( kT ) ’ )
 subplot (212) ;
 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

Desta forma se obtêm os gráficos mostrados na figura 3.19.
Note que se a saída do controlador para este sistema estivesse normalizada, tentaríamos impor ao atu-
ador na planta um sobrevalor de 20% (u(.)=1.2). Na prática, nem sempre isto é aceitável e nosso sinal de
controle deve variar dentro de parâmetros fixos (conhecidos para o sistema em questão).
47
3.4 Projeto de Controlador Digital usando Root Locus
Quando se projetava controladores no domínio tempo usando o diagrama de Lugar das Raízes (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 (pólos
dominantes complexos – sistema de 2a-ordem, sobre-amortecido, 0   1).
Tipos de Controladores: Diferentes tipos de controladores já foram estudados (controle automático con-
tínuo 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 transitória. Do mesmo modo,
um controlador por Avanço de Fase servia para melhorar a resposta dinâmica enquanto um controlador por
Atraso de Fase melhorava a resposta em regime permanente.
Cancelamento Polo-Zero: Um método comum de projeto de controladores no plano-s ou plano-z consiste
em cancelar os polos indesejados (lentos) ou zeros da função transferência da planta através dos zeros e
polos do controlador. Com os controladores digitais, podemos agora, acrescentar polos e zeros em algumas
posições vantajosas. Entretanto, devemos levar em consideração que a abordagem de cancelamento de
polos e zeros nem sempre resulta numa solução satisfatória. Por exemplo, se os polos indesejáveis estão
próximos do eixo j , se ocorre cancelamentos inexatos o que é praticamente inevitável na prática (por erros
de arredondamento, precisão numérica de cálculo, truncagem de resultados), o resultado pode conduzir a
um sistema de malha fechada marginalmente estável ou mesmo num sistema instável em malha fechada.
Por esta razão, não se deve tentar cancelar um polo instável.
3.4.1 Compensador por Avanço de Fase
Considere um compensador no formato: C(z) = K
z + a
z + b
. Ele se tornará um compensador de avanço de
fase se seu zero se localizar à direita do seu polo.
Procedimento:
1. Calcule a posição desejada para os polos de malha fechada baseado nos critérios fornecidos para o
projeto do controlador.
2. Mapeie os polos do plano-s para o plano-z (usando a definição da Transformada Z).
3. Verifique se a frequência de amostragem é de 8 à 10 vezes maior que a frequência de oscilação amor-
tecida desejada.
4. Calcule a contribuição dos ângulos relativa à todos os polos e zeros de malha aberta com relação à
desejada posição para os polos de malha fechada.
5. Calcule a contribuição exigida pela função transferência do controlador para que o ângulo desejado
(contribuição necessária) seja satisfeita.
6. Posicione o zero do controlador numa posição adequada (cancelando algum polo dominante da planta)
e calcule a contribuição angular que deve vir do polo do controlador.
7. Determine a localização do polo do controlador de forma a proporcionar o ângulo necessário.
8. (Finalmente) descubra o valor do ganho K usando o critério 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 período de amostragem, T = 0,2 segundos.
Solução:
O par de polos dominantes complexos no domínio contínuo devem estar em: − n ± j n 1 − 2, onde n
48
Figura 3.20: Sistema de controle discreto – projeto do controlador por avanço de fase.
corresponde à frequência natural de oscilação não amortecida.
Sabemos que: ts =
4
n
= 2 segundos, então, n = 4 (rad/s).
49
3.5 Projeto de Controlador PI usando Root Locus
Deseja-se projetar um controlador digital para garantir erro nulo ao regime permanente para entrada
degrau acompanhado de uma resposta dinâmica satisfatória. A constante de erro de velocidade deve ser
pelo menos 5. O período de amostragem adotado é de 0,1 segundos. A planta é dada por:
G(s) =
10
(s + 1)(s + 2)
Usando o MATLAB podemos determinar boG(z):
 num=10;
 den=conv ([1 1] ,[1 2]) ;
 G=t f (num, den ) ;
 zpk (G)
ans =
10
−−−−−−−−−−−
( s+2) ( s+1)
Continuous−time zero / pole / gain model .
 T=0.1;
 BoG=c2d (G, T )
BoG =
0.04528 z + 0.04097
−−−−−−−−−−−−−−−−−−−−−−
z^2 − 1.724 z + 0.7408
Sample time : 0.1 seconds
Discrete −time transfer function .
 zpk (BoG)
ans =
0.04528 ( z+0.9048)
−−−−−−−−−−−−−−−−−−−−−
( z −0.9048) ( z −0.8187)
Sample time : 0.1 seconds
Discrete −time zero / pole / gain model .

Assim temos que:
BoG(z) =
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 função transferência de um controlador PI no domínio-Z usando integração retangular resulta em:
C(z) = kp +
Ki T
z − 1
=
Kp z − (Kp − Ki T)
z − 1
O parâmetro 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 não nulo mas finito para entradas de primeira ordem
(rampa). Lembrando que:
Entrada Rampa =
Tz
(z − 1)2
o erro em regime permanente é dado por:
ess = lim
z→1
(1 − z−1
)
1
1 + FTMA(z)
R(z) = lim
z→1
T
(z − 1)FTMA(z)
=
1
Kv
onde Kv =
1
T
limz→1 [(z − 1)FTMA(z)] é conhecido como a constante de erro de velocidade.
Neste caso Kv ≥ 5:
Kv =
1
T
lim
z→1
(z − 1)
Kpz − (Kp − Ki T) · (0,04528z + 0,04097)
(z − 1) · (z2 − 1,724z + 0,7408)
Kv =
1
T
Kp − Kp + Ki T (0,04528 + 0,04097)
(z − 1,724 + 0,7408)
50
Kv =
1
T
(Ki T)0,0863
0,0173
Kv = 5,0Ki
onde os fatores 0,0863 e 0,0173 podem ser determinados com o auxílio do Matlab:
 [numd, dend]= tfdata (BoG , ’ v ’ )
numd = 0 0.0453 0.0410
dend = 1.0000 −1.7236 0.7408
 lim1=polyval (numd, 1 )
lim1 = 0.0863
 lim2=polyval ( dend , 1 )
lim2 = 0.0173
 lim1 / lim2
ans = 5.0000
Desta forma, os requisitos de desempenho dinâmico para este sistema serão satisfeitos se Ki ≥ 1.
Se Ki = 1 a função transferência em malha aberta fica:
FTMA(z) = C(z) · BoG(z)
FTMA(z) =
[Kp(z − 1) +
Ki T
0,1 ][0,04528(z + 0,9048)]
(z − 1)(z − 1,724z + 0,7408)
FTMA(z) =
0,04528Kp (z − 1)(z + 0,9048) +
0,1
(Ki T) 0.04528(z + 0,9048)
z3 − 2,7235z2 + 2,4643z − 0,7408
FTMA(z) =
(0,04528Kp)z2 + (0,004528 − 0,0043Kp)z + (0,004097 − 0,04097Kp)
z3 − 2,7235z2 + 2,4643z − 0,7408
(3.1)
Onde a FTMA(z) pode ser obtido com a ajuda do Matlab (neste caso Kp = 1 e Ki = 1):
notar que: C(z) =
Kpz − (Kp − Ki T)
(z − 1)
se transforma em: C(z) =
z − (1 − 0,1)
z − 1
=
z − 0,9
z − 1
e então:
 [numd, dend]= tfdata (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 −0.7408

 K_i =1; K_p=1; %parâmetros 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
Discrete −time transfer function .
 zpk (C)
ans =
( z −0.9)
−−−−−−−
( z −1)
Sample time : 0.1 seconds
Discrete −time zero / pole / gain model .
 %determinando FTMA(z):
 FTMA=series (C, BoG)
FTMA =
0.04528 z^2 + 0.000219 z − 0.03687
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^3 − 2.724 z^2 + 2.464 z − 0.7408
Sample time : 0.1 seconds
Discrete −time transfer function .
51
−6 −5 −4 −3 −2 −1 0 1 2
−3
−2
−1
0
1
2
3
Root Locus
Real Axis
ImaginaryAxis
(a) RL sem zoom.
0.8 0.85 0.9 0.95 1
−0.15
−0.1
−0.05
0
0.05
0.1
0.15
Root Locus
Real Axis
ImaginaryAxis
(b) Zoom sobre o gráfico original.
Figura 3.21: Lugar das raízes para sistema com controlador PI.
 zpk (FTMA)
ans =
0.04528 ( z+0.9048) ( z −0.9)
−−−−−−−−−−−−−−−−−−−−−−−−−−−
( z −1) ( z −0.9048) ( z −0.8187)
Sample time : 0.1 seconds
Discrete −time zero / pole / gain model .
 %Podemos obter o RL para a FTMA(z):
 rlocus (FTMA)
O diagrama do lugar das raízes pode ser visto na figura 3.21. Note que temos 2 zeros (de malha-aberta)
nas posições: z = −0,9048 e z = 0,9 e pólos (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 é estável 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) não
corresponde diretamente ao ganho Kp, uma vez que alterações no valor de Kp fazem variar a posição 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 válido 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 função transferência em malha-aberta – (3.1) obtemos os resultados mostrados
na figura 3.24. Este resultado foi obtido seguindo as seguintes instruções no MATLAB:
 %Se Kp=0.4 e Ki=1:
 Kp=0.4;
 num_c3=[Kp −(Kp−Ki T ) ] ;
 den_c3=[1 −1];
 C3=t f (num_c3 , den_c3 , T )
C3 =
0.4 z − 0.3
−−−−−−−−−−−
z − 1
Sample time : 0.1 seconds
Discrete −time transfer function .
 zpk (C3)
ans =
0.4 ( z −0.75)
−−−−−−−−−−−−
( z −1)
Sample time : 0.1 seconds
Discrete −time zero / pole / gain model .
 ftma3=series (C3 , BoG)
ftma3 =
0.01811 z^2 + 0.002804 z − 0.01229
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^3 − 2.724 z^2 + 2.464 z − 0.7408
Sample time : 0.1 seconds
52
0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4
−0.2
0
0.2
0.4
0.6
0.8
System: ftma
Gain: 1.37
Pole: 0.881 + 0.322i
Damping: 0.18
Overshoot (%): 56.3
Frequency (rad/s): 3.57
System: ftma
Gain: 4.81
Pole: 0.803 + 0.613i
Damping: −0.0155
Overshoot (%): 105
Frequency (rad/s): 6.52
System: ftma
Gain: 10.8
Pole: 0.666 + 0.907i
Damping: −0.125
Overshoot (%): 149
Frequency (rad/s): 9.45
Root Locus
Real Axis
ImaginaryAxis
Figura 3.22: RL aumentado com valores de ganhos para o controlador PI.
0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4
−0.2
0
0.2
0.4
0.6
0.8
System: ftma
Gain: 4.81
Pole: 0.803 + 0.613i
Damping: −0.0155
Overshoot (%): 105
Frequency (rad/s): 6.52
System: ftma
Gain: 1.37
Pole: 0.881 + 0.322i
Damping: 0.18
Overshoot (%): 56.3
Frequency (rad/s): 3.57System: ftma
Gain: 0.252
Pole: 0.908 + 0.112i
Damping: 0.588
Overshoot (%): 10.2
Frequency (rad/s): 1.52
Root Locus
Real Axis
ImaginaryAxis
ζ=0,5912
Figura 3.23: RL com alguns valores de ganho e = 0,5912 (%OS=10%).
53
Discrete −time transfer function .
 zpk ( ftma3 )
ans =
0.018112 ( z+0.9048) ( z −0.75)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−
( z −1) ( z −0.9048) ( z −0.8187)
Sample time : 0.1 seconds
Discrete −time zero / pole / gain model .
 ftmf3=feedback ( ftma3 , 1 )
ftmf3 =
0.01811 z^2 + 0.002804 z − 0.01229
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^3 − 2.705 z^2 + 2.467 z − 0.7531
Sample time : 0.1 seconds
Discrete −time transfer function .
 ftmf3=feedback ( ftma3 , 1 )
ftmf3 =
0.01811 z^2 + 0.002804 z − 0.01229
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^3 − 2.705 z^2 + 2.467 z − 0.7531
Sample time : 0.1 seconds
Discrete −time transfer function .
 figure ; step ( ftmf3 )
Notar pela figura 3.24, que tanto o sobressinal gerado foi elevado, %OS=70%, quanto o tempo de
acomodação do sistema: ts = 19,2 segundos.
Step Response
Time (seconds)
Amplitude
0 5 10 15 20 25 30
0
0.2
0.4
0.6
0.8
1
1.2
1.4
1.6
1.8
System: ftmf3
Peak amplitude: 1.7
Overshoot (%): 69.7
At time (seconds): 1.6
System: ftmf3
Settling time (seconds): 19.2
Figura 3.24: Resposta do sistema com PI ajustado com Kp = 0,4 e Ki = 1,0.
A figura 3.25 mostra o RL para o PI anterior.
Se por outro lado fizermos Ki = 10 (Ki  1) para garantir Kv  5, C(z) se torna:
C(z) =
Kp (z − 1) − 1
z − 1
e então podemos usar MATLAB para determinar a FTMA(z) considerando Kp = 1:
 K_i =10; K_p=1;
 num_c=[K_p −(K_p−K_i T) ]
num_c = 1 0
 den_c=[1 −1];
 C=t f (num_c , den_c , T )
54
0.6 0.7 0.8 0.9 1 1.1 1.2
−0.1
0
0.1
0.2
0.3
0.4
System: ftma3
Gain: 0.46
Pole: 0.961 + 0.133i
Damping: 0.214
Overshoot (%): 50.3
Frequency (rad/s): 1.41
System: ftma3
Gain: 1.86
Pole: 0.958 + 0.263i
Damping: 0.0245
Overshoot (%): 92.6
Frequency (rad/s): 2.68
System: ftma3
Gain: 0.114
Pole: 0.957 + 0.057i
Damping: 0.579
Overshoot (%): 10.7
Frequency (rad/s): 0.73
System: ftma3
Gain: 0.114
Pole: 0.957 + 0.057i
Damping: 0.579
Overshoot (%): 10.7
Frequency (rad/s): 0.73
System: ftma3
Gain: 0.114
Pole: 0.957 + 0.057i
Damping: 0.579
Overshoot (%): 10.7
Frequency (rad/s): 0.73
System: ftma3
Gain: 0.0446
Pole: 0.955 + 0.00148i
Damping: 0.999
Overshoot (%): 0
Frequency (rad/s): 0.465
Root Locus
Real Axis
ImaginaryAxis
Figura 3.25: RL para PI com Kp = 0,4 e Ki = 1,0.
C =
z
−−−−−
z − 1
Sample time : 0.1 seconds
Discrete −time transfer function .
 FTMA=series (C, BoG)
FTMA =
0.04528 z^2 + 0.04097 z
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^3 − 2.724 z^2 + 2.464 z − 0.7408
Sample time : 0.1 seconds
Discrete −time transfer function .
 zpk (FTMA)
ans =
0.04528 z ( z+0.9048)
−−−−−−−−−−−−−−−−−−−−−−−−−−−
( z −1) ( z −0.9048) ( z −0.8187)
Sample time : 0.1 seconds
Discrete −time zero / pole / gain model .
 OS=10; %percentual de sobrepasso
 zeta=(−log (OS/100) ) /( sqrt ( pi ^2+( log (OS/100) ^2) ) )
zeta = 0.5912
 rlocus (FTMA)
 hold on
 zgrid ( zeta , 0 )
O RL obtido com o código anterior é mostrado na figura 3.26.
Notar que neste caso, a faixa de valores do ganho K que pode ser usado para o sistema ainda ser estável
(K  0,0655) e para baixo sobressinal é mais baixo (K  0,00769), ver figura 3.27.
55
−7 −6 −5 −4 −3 −2 −1 0 1 2
−3
−2
−1
0
1
2
3
Root Locus
Real Axis
ImaginaryAxis
Figura 3.26: RL para controlador PI com Kp = 1 e Ki = 10.
Root Locus
Real Axis
ImaginaryAxis
−0.2 0 0.2 0.4 0.6 0.8 1 1.2
−0.5
−0.4
−0.3
−0.2
−0.1
0
0.1
0.2
0.3
0.4
0.5
System: FTMA
Gain: 0.0655
Pole: 0.992 + 0.146i
Damping: −0.017
Overshoot (%): 105
Frequency (rad/s): 1.47
0.591
System: FTMA
Gain: 0.00769
Pole: 0.965 + 0.0433i
Damping: 0.614
Overshoot (%): 8.68
Frequency (rad/s): 0.569
Figura 3.27: RL expandido mostrando faixa para baixos valores de K.
56
3.6 Controlador Dead-beat (Controle por tempo mínimo, finito)
Idéia: fazer o sistema em malha fechada atingir o regime permanente no menor tempo possível (no tempo
mínimo absoluto, k = 1) ou dentro de um número finito de períodos amostrados.
Para tanto, C(z) deve conter todos os pólos e zeros de BoG(z), isto é:
• Os pólos de C(z) contêm os zeros de BoG(z);
• Os zeros de C(z) contêm os pólos de BoG(z);
e além disto, são acrescentados tantos integradores quanto os necessários para anular (zerar) o erro em
regime permanente para o tipo de entrada especificado, ou:
C(z) = Kc ·
PE
n=1 z − pBoG(z)n
ZE
m=1 z − zBoG(z)m
· (z − 1)w
(3.2)
onde: Kc = ganho do controlador;
ZE = quantidade de zeros estáveis da planta (BoG(z));
PE = quantidade de pólos estáveis da planta;
zBoG(z)n
= n-ésimo zero da planta;
pBoG(z)m
= m-ésimo pólo da planta;
(z − 1) = são integradores impostos pelo integrador no sistema em malha fechada;
w = número de integradores necessários para tornar nulo o erro em regime per-
manente – depende do tipo de entrada com a qual se está esperando operar
a planta (degrau, rampa, parábola, etc).
Note que o controlador não cancela pólos ou zeros instáveis da planta. Se estes existirem, estes são
desconsiderados na equação de C(z).
3.6.1 Exemplo1: O controlador Deadbeat
Seja a função transferência de uma planta digital dada por:
BoG(z) =
z + 0,6
3z2 − z − 1
Suponha que acrescentaremos o controlador digital em cascata com a planta:
C(z) =
3z2 − z − 1
(z − 1)(z + 0,6
Desta forma, a função transferência de malha aberta torna-se:
FTMA(z) = C(z)BoG(z) =
1
z − 1
E assim a função transferência de malha-fechada fica:
FTMF(z) =
FTMA(z)
1 + FTMA(z)
=
1
z
(3.3)
Note que a eq. (3.3) quando excitada por uma entrada degrau unitário resulta em:
Y(z) =
1
z
·
z
(z − 1)
= z−1
+ z−2
+ ...
ou seja, a saída y(k) representa a resposta do sistema em malha-fechada para uma entrada degrau unitário
e que inicia em k = 1, ou seja, um período de amostragem seguinte ao acionamento do sistema.
Note que y(k) alcança a resposta desejada igual a 1 com apenas 1 período de amostragem de atraso e
que a saída permanece neste estado indefinidamente. Ou seja, que logo após 1 único período de amostra-
gem, 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) não garante que oscilações (ripples) não vão ocorrer
entre dois instantes de amostragem de y(k), ou seja, entre os instantes amostrados da resposta do sistema.
57
3.6.2 Exemplo2: Projeto de Controlador Deadbeat
Seja a planta indicada à seguir, projetar um controlador pelo critério do tmepo mínimo, garantindo ainda erro
nulo em regime permanente para entrada degrau unitário. Dados da planta:
G(s) =
10
(s + 1)(s + 10)
Solução:
1. Primeiramente determinamos a função transferência amostrada da planta: BoG(z).
Usando o MATLAB, podemos fazer:
 num=10;
 help poly
POLY Convert roots to polynomial .
POLY(A) , when A i s an N by N matrix , i s a row vector with
N+1 elements which are the c o e f f i c i e n t s of the
characteristic polynomial , DET( lambda EYE ( SIZE (A) ) − A) .
 den=poly ([ −1 −10]) ;
 G=t f (num, den ) ;
 zpk (G) %confirmando que entramos corretamente com os dados para G(s)
Zero/ pole / gain :
10
−−−−−−−−−−−−
( s+10) ( s+1)
 %Resta discretizar G(s):
 T=0.1; %guardando o período de amostragem adotado.
 BoG=c2d (G, T ) %aplicando o ZOH sobre G(s)
Transfer function :
0.0355 z + 0.02465
−−−−−−−−−−−−−−−−−−−−−−
z^2 − 1.273 z + 0.3329
Sampling time : 0.1
 zpk (BoG) %mostrando dados expandidos
Zero/ pole / gain :
0.035501 ( z+0.6945)
−−−−−−−−−−−−−−−−−−−−−
( z −0.9048) ( z −0.3679)
Sampling time : 0.1
Então BoG(z) assume o formato: BoG(z) =
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:
C(z) =
Kc · (z − 0.9048)(z − 0.3679)
(z + 0.6945)(z − 1)
(3.4)
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 necessário acrescentar algum pólo
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 tfdata
−−− help for l t i / tfdata −−−
TFDATA Quick access to transfer function data .
[NUM, DEN] = TFDATA(SYS ) returns the numerator ( s ) and denominator ( s )
of the transfer function SYS . For a transfer function with NY
outputs and NU inputs , NUM and DEN are NY−by−NU c e l l arrays where
the ( I , J ) entry specifies the transfer function from input J to
output I . SYS i s f i r s t converted to transfer function i f necessary .
For a single SISO model SYS , the syntax
[NUM, DEN] = TFDATA(SYS , ’ v ’ )
returns the numerator and denominator as row vectors rather than
c e l l arrays .
 [num_BoG , den_BoG]= tfdata (BoG , ’ v ’ ) %extraindo dados de BoG(z)
num_BoG =
58
0 0.0355 0.0247
den_BoG =
1.0000 −1.2727 0.3329
 roots (num_BoG)
ans = −0.6945
 polos_BoG=roots ( den_BoG )
polos_BoG =
0.9048
0.3679
 zeros_BoG=roots (num_BoG)
zeros_BoG =
−0.6945
 num_c=poly ( polos_BoG ) ; %construindo numerador de C(z), polinomialmente
 den_c=poly ([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^2 − 0.3055 z − 0.6945
Sampling time : 0.1
 zpk (C) %verificando formato do controlador...
Zero/ pole / gain :
( z −0.9048) ( z −0.3679)
−−−−−−−−−−−−−−−−−−−−−
( z −1) ( z+0.6945)
Sampling time : 0.1
3. O passo seguinte é fechar a malha de realimentação, incluindo a determinação de Kc.
Usando o MATLAB:
 FTMA=series (C, BoG) %determinando primeiro a FTMA(z)
Transfer function :
0.0355 z^3 − 0.02053 z^2 − 0.01956 z + 0.008206
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
z^4 − 1.578 z^3 + 0.02728 z^2 + 0.7821 z − 0.2312
Sampling time : 0.1
 zpk (FTMA) %confirmando localizacao final dos polos e zeros de C(z)BoG(z):
Zero/ pole / gain :
0.035501 ( z+0.6945) ( z −0.9048) ( z −0.3679)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
( z+0.6945) ( z −0.9048) ( z −1) ( z −0.3679)
Sampling time : 0.1
%note que usando o comando minreal(..) se poderia cancelar polos-zeros numericamente, por exemplo:
 FTMAr=minreal (FTMA,1e−4) ;
 zpk ( FTMAr ) %versao numerica com polos-zeros cancelados
Zero/ pole / gain :
0.035501
−−−−−−−−
( z −1)
Sampling time : 0.1
%mas continuar com FTMA(z) permite vizualizar os cancelamentos polos-zeros
%no diagrana do lugar das raizes
Notamos então que a função transferência em malha-aberta, FTMA(z) fica:
FTMA(z) = C(z) · BoG(z) =
0.035501
(z − 1)
(3.5)
ou seja, resultou exatamente no que se pretendia.
Inspecionando a eq. (3.5) percebe-se que nosso sistema em malha-aberta contêm apenas 1 pólo em
z = 1. Quando o laço de realimentação for fechado, com a introdução do ganho do controlador, Kc, se
percebe que este pólo de malha-aberta partirá do ponto z = 1 e “caminhará” até z = −∞, a medida que
Kc aumenta. Ou seja, teremos como resultado apenas 1 pólo, real, em malha-fechada.
Lembrando a forma como pólos simples reais reagem no tempo para uma entrada degrau, fica fácil
perceber que quanto mais próximo da origem do plano-z estiver o pólo de malha-fechada, tão mais
rápido será a resposta do sistema (ver Apêndice: B.1). Como queremos que a planta entre em regime
permanente no menor tempo possível, tentaremos fixar o pólo de malha-fechada em z = 0, ajustando de
forma adequada o ganho do controlador.
59
Usando novamente o MATLAB para determinador o Kc teremos:
%continuando com o RL da FTMA completa para confirmar os cancelamentos
 rlocus (FTMA)
 axis equal
Os últimos comandos no MATLAB geram o gráfico mostrado na figura 3.28.
-3 -2 -1 0 1 2
-1
-0.5
0
0.5
1
Root Locus
Real Axis
ImaginaryAxis
Figura 3.28: RL para sitema com controlador Deat-beat.
Procedemos com mais comandos no MATLA para “sintonia” do controlador:
 hold on %mantem RL anterior na janela grafica
 [K , polos_MF ]= r l o c f i n d (FTMA)
Select a point in the graphics window
selected_point =
0.0036 − 0.0031 i
K =
28.0686
polos_MF =
−0.6945
0.9048
0.3679
0.0035
 %Se tentou posicionar os polos de MF sobre a origem do plano-z
 %verificando o resultado obtido...
 figure ; %abre nova janela grafica
 FTMF=feedback (K FTMA, 1 ) ; %fechando a malha com o ganho encontrado
 zpk (FTMF ) %confirmando polos e zeros de MF
Zero/ pole / gain :
0.99645 ( z+0.6945) ( z −0.9048) ( z −0.3679)
−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−
( z+0.6945) ( z −0.9048) ( z −0.3679) ( z −0.00355)
Sampling time : 0.1
 %Hum... notamos um polo em z=-0.6945 (gera oscilação saída controlador)
 step (FTMF )
Os últimos comandos geram as figuras 3.29(a) e (b).
Se percebe pela figura 3.29(b) que a planta entrou em regime permanente praticamente depois da pri-
meira amostra (k = 1). Podemos ainda determinar algebricamente o valor de regime permanente da
saída do sistema em malha fechada:
y(∞) = lim
k→infty
FTMF(z)R(z) = lim
z→1
(1 − z−1
)FTMF(z)
1
(1 − z−1)
Usando o MATLAB para determinar o valor de y(∞):
60
-3 -2 -1 0 1 2
-1
-0.5
0
0.5
1
Root Locus
Real Axis
ImaginaryAxis
Kc
=28.0689
(a) Ajustando o ganho no RL.
0 0.5 1 1.5 2
0
0.2
0.4
0.6
0.8
1
Step Response
Time (sec)
Amplitude
Note: regime permanente a partir de k=1 (t=0.1)
(b) Correspondente resposta ao degrau.
Figura 3.29: RL ajustado e resultado da saída do sistema com controlador deat-beat sintonizado.
 [num_mf , den_mf]= tfdata (FTMF , ’ v ’ )
num_mf =
0 0.9965 −0.5762 −0.5490 0.2303
den_mf =
1.0000 −0.5818 −0.5489 0.2331 −0.0008
 y_infty=polyval (num_mf , 1 ) / polyval ( den_mf , 1 )
y_infty =
1.0000
Mas este tipo de resposta têm sua contraparte: um elevado eforço de controle. Para comprovar as ampli-
tudes envolvidas com o sinal de controle, u(k) podemos simular este sistema no MATLAB/Simulink – ver
figura 3.30.
Zero-Order
Hold
To Workspace4
t
To Workspace3
u
To Workspace2
e
To Workspace1
r
To Workspace
y
Step
Gain
28.0689
G(s)
10
s +11s+102
Clock
C(z)
(z-0.9048)(z-0.3679)
(z-1)(z+0.6945)
Figura 3.30: Simulação do controlador Dead-beat no MATLAB/Simulink.
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 parâmetros editados para confirmar que são discretos,
isto é, com período de amostragem definido em T = 0.1 – ver figuras 3.31(a) e (b).
E também devemos ajustar os parâmetros de simulação no Simulink. Selecione Simulation  Configu-
ration Parameters e ajute o campo Solver options  Type: Fixed-step, Solver: ode4 (Runge-Kutta)
(conforme sugestão de (Nise, 2012)) e Fixed step size: para 0.1 – conforme mostra a figura 3.32.
Uma vez feito os ajustes no Simulik é possível visualizar os resultados obtidos através dos comandos a
seguir, que geram os gráficos da figura 3.33(a) e (b):
61
(a) Parâmetros de C(z). (b) Parâmetros do ZOH.
Figura 3.31: Ajuste de parâmetros de blocos discretos no Simulink.
Figura 3.32: Parâmetros de Simulação para o controlador dead-beat.
62
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
tempo (s)
y(k) Resposta malha fechada, entrada degrau [y(k)]
(a) Saída da planta em MF, y(k).
0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2
-30
-20
-10
0
10
20
30
A ªo de Controle [u(k)]
tempo (s)
u(k)
(b) Correspondente ação de controle, u(k).
Figura 3.33: Saída do sistema e correspondente ação de controle para o controlador dead-beat.
 figure ; plot ( t , y )
 t i t l e ( ’Acao de Controle [ u ( k ) ] ’ )
 xlabel ( ’tempo ( s ) ’ ) ;
 ylabel ( ’u ( k ) ’ )
 figure ; s t a i r s ( t , u )
 t i t l e ( ’Ação de Controle [ u ( k ) ] ’ )
 xlabel ( ’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 oscilação de u(k))
– uma faixa de excursão provavelmente muito maior que a suportada pelo converssor D/A ou driver de
potência conectado fisicamente entre a saída do controlador digital e a entrada da planta.
63
Efeitos Adversos do Controlador Dead-Beat
Notar que este controlador:
1. Gera uma ação de controle, u(kT), com aplitudades excessivamente elevadas nos primeiros
instantes de amostragem do sistema. Muito provavelmente saturando o converssor D/A pre-
sente à sua saída ou ultrapassando limites físicos (ou economicamente viáveis) para o amplifi-
cador de potência (driver de potência) que normalmente segue o controlador digital.
2. E gera “inter sampling ripples” na saída do sistema. Ou seja, entre os instantes de amostra-
gem, o sistema (planta) continua evoluindo no tempo (é um sistema contínuo no tempo) como
resposta às fortes atuações de controle realizadas, o que faz a planta oscilar ou apresentar um
ripple na sua saída.
Tanto o “ripple” do sinal de controle ou do sinal de saída da planta implica em redução da vida útil do
sistema, tanto pior quanto maiores forem descontínuas as derivadas de ordem superior (até terceira
ordem, os chamados “jerks”) – se traduzindo por vezes até de maneira audível como vibrações ou
“zumbidos” durante a operação do sistema.
3.6.3 Exemplo2: Outro projeto de Controlador Deadbeat
Seja a planta indicada à seguir, baseada em [Nise (2012), Cap. 2, pág. 113, 197] – estudo de caso para
controle de posição de uma antena – ver figuras 3.34 e 3.35. Sua função transferência, para controle de
posição angular de posição, é dada por:
G(s) =
Ea(s)
o(s)
=
0,2083
s(s + 1,71)
=
[rad]
[Volts]
onde: Ea(s): tensão elétrica (Volts) apresentada na entrada do driver de potência do motor elétrico da
antena. Pode variar entre −5,0 à 5,0 (Volts).
o(s): orientação final da antena (posição angular), saída em (radianos).
notar ainda que esta planta possui certas limitações físicas (reais) como:
Zona-morta: o motor não responde para baixas voltagens de entrada, isto é, não 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 saída do motor e o eixo rotor
da antena. Isto significa que tão logo o motor reverte sua rotação, o eixo de saída da antena (depois de
ter passado pela acoplamento entre as engrenagens saindo do motor), permanece estático enquanto
o motor prossegue na sua reversão. Quando os dentes das engrenagens finalmente se conectam, o
eixo de saída da antena começa a girar na direção da reversão (sem mais nenhum efeito de backslash).
Neste caso, o conjunto motor-antena possui folga de ±0,15 (radianos).
Supondo que o período de amotragem à ser adotado é de T = 0.1 (segundos), temos:
BoG(z) =
0,00098459(z + 0,9446)
(z − 1)(z − 0,8428)
que resulta num sitema do tipo 1.
Neste caso, a própria planta já possui seu integrador o que garante erro nulo em regime permanente
para entrada degrau.
Projetando o controlador dead-beat para este sistema, C(z), temos:
C(z) =
1
0,00098459
Kc
·
(z − 0,8428)
(z + 0,9446)
Com isto a FTMA(z) fica:
FTMA(z) = C(z) · BoG(z) =
1(z − 0,8428)(z + 0,9446)
(z − 1)(z − 0,8428)(z + 0,9446)
=
1
z − 1
64
e assim a FTMF(z) fica:
FTMF(z) =
FTMA(z)
1 + FTMA(z)
=
1
z−1
1 + 1
z−1
=
1
z − 1 + 1
=
1
z
= z−1
como:
Y(z)
R(z)
= FTMF(z) ∴ Y(z) = FTMF(z) · R(z)
então se R(z) é uma entrada degrau, teremos:
Y(z) =
1
z
·
z
(z − 1)
=
1
z − 1
= 1z−1
+ 1z−2
+ 1z−3
+ ...
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 cálculos para determinar C(z) usando MATLAB seguem à seguir:
Primeiramente o sistema foi simulando considerando um sistema ideal, isto é, sem limitações – ver figura
XX.
65
(a) Layout detalhado.
(b) Esquemático.
Figura 3.34: Sistema de controle de posição (azimute) de uma antena (Extraído de [Nise (2012), Cap. 2, pág. 32]).
Figura 3.35: Diagrama em blocos referente a um estudo de caso de controle de posição (azimute) de uma anterna (Ex-
traído de [Nise (2012), pág. 3]).
66
Capítulo 4
Projeto de Controladores Digitais
4.1 Método dos Pólos Dominantes
Objetivos: determinar C(z) tal que o processo em malha-fechada se comporte como o especificado.
Especificações:
• Precisão (erro em regime permanente);
• Forma do transitório.
Num sistema comum com malha de realimentação unitária fechada pelo controlador C(z) temos:
FTMA(z) = C(z) · BoG(z)
que deve atender as especificações de precisão, isto é, o e(∞) está associado com a FTMA(z).
Fechando a malha obtemos:
FTMF(z) =
Y(z)
R(z)
=
C(z)BoG(z)
1 + C(z)BoG(z)
cuja equação característica, EC(z) resulta em:
EC(z) = 1 + C(z)BoG(z) = 0
de onde se percebe que a presença de C(z) permite que possamos atuar na resposta do sistema em
malha-fechada (regime transitório), através de C(z).
Formas aceitáveis de transitórios: 0,5   0,7 (para sistemas de 2a-ordem) – resultam nos gráficos
mostrados na figura 4.1.
Step Response
Time (seconds)
Amplitude
0 0.5 1 1.5 2
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: G
Peak amplitude: 1.05
Overshoot (%): 5
At time (seconds): 0.868
ζ=0,6901
Step Response
Time (seconds)
Amplitude
0 0.5 1 1.5 2 2.5
0
0.2
0.4
0.6
0.8
1
1.2
1.4
System: G
Peak amplitude: 1.2
Overshoot (%): 20
At time (seconds): 0.707
ζ=0,4559
(a) 0,7. (b) 0,5.
Figura 4.1: Respostas típicas de sistemas de 2a-ordem.
67
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...
Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...

Mais conteúdo relacionado

Mais procurados

Manual de-motores-eletricos
Manual de-motores-eletricosManual de-motores-eletricos
Manual de-motores-eletricosdionisyo
 
Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...
Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...
Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...Luiz Roberto Prado
 
Partida estrela triângulo do zero ao dimensionamento versao1.0
Partida estrela triângulo do zero ao dimensionamento versao1.0Partida estrela triângulo do zero ao dimensionamento versao1.0
Partida estrela triângulo do zero ao dimensionamento versao1.0jose sousa
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabDavid Luna Santos
 
Mec variadores velocidade
Mec variadores velocidadeMec variadores velocidade
Mec variadores velocidadeJoaquim Pedro
 
1 lista (Exercício sobre Gestão da Manutenção)
1 lista (Exercício sobre Gestão da Manutenção)1 lista (Exercício sobre Gestão da Manutenção)
1 lista (Exercício sobre Gestão da Manutenção)Mikoian Rios Rios
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADARafael Costa
 
Automação com clp (ladder)
Automação com clp (ladder)Automação com clp (ladder)
Automação com clp (ladder)laenio
 
Maquinas elétricas ( Senai )
Maquinas elétricas ( Senai )Maquinas elétricas ( Senai )
Maquinas elétricas ( Senai )Ricardo Akerman
 
Norma EDP-Escelsa Instalações Coletivas
Norma EDP-Escelsa Instalações ColetivasNorma EDP-Escelsa Instalações Coletivas
Norma EDP-Escelsa Instalações Coletivasjacksoow Sobrenome
 

Mais procurados (20)

Linguagens clp
Linguagens clpLinguagens clp
Linguagens clp
 
Manual de-motores-eletricos
Manual de-motores-eletricosManual de-motores-eletricos
Manual de-motores-eletricos
 
Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...
Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...
Como calcular a potencia do motor e selecionar o redutor no acionamento de ma...
 
Flip Flops Parte 1
Flip Flops Parte 1Flip Flops Parte 1
Flip Flops Parte 1
 
Ctc m1 a_v2_t
Ctc m1 a_v2_tCtc m1 a_v2_t
Ctc m1 a_v2_t
 
Clp logo e s7 200
Clp logo e s7 200Clp logo e s7 200
Clp logo e s7 200
 
2 metodos de discretizacao
2   metodos de discretizacao2   metodos de discretizacao
2 metodos de discretizacao
 
Partida estrela triângulo do zero ao dimensionamento versao1.0
Partida estrela triângulo do zero ao dimensionamento versao1.0Partida estrela triângulo do zero ao dimensionamento versao1.0
Partida estrela triângulo do zero ao dimensionamento versao1.0
 
Analise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com MatlabAnalise de funções de transferencia de malha fechada com Matlab
Analise de funções de transferencia de malha fechada com Matlab
 
Automatos programaveis
Automatos programaveisAutomatos programaveis
Automatos programaveis
 
Mec variadores velocidade
Mec variadores velocidadeMec variadores velocidade
Mec variadores velocidade
 
1 lista (Exercício sobre Gestão da Manutenção)
1 lista (Exercício sobre Gestão da Manutenção)1 lista (Exercício sobre Gestão da Manutenção)
1 lista (Exercício sobre Gestão da Manutenção)
 
Automação industrial
Automação industrialAutomação industrial
Automação industrial
 
Transceptores aula completa
Transceptores aula completaTransceptores aula completa
Transceptores aula completa
 
MALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADAMALHA ABERTA E MALHA FECHADA
MALHA ABERTA E MALHA FECHADA
 
Automação com clp (ladder)
Automação com clp (ladder)Automação com clp (ladder)
Automação com clp (ladder)
 
Manutenção de motores de indução
Manutenção de motores de induçãoManutenção de motores de indução
Manutenção de motores de indução
 
Maquinas elétricas ( Senai )
Maquinas elétricas ( Senai )Maquinas elétricas ( Senai )
Maquinas elétricas ( Senai )
 
Poligrafo torno mecanico
Poligrafo torno mecanicoPoligrafo torno mecanico
Poligrafo torno mecanico
 
Norma EDP-Escelsa Instalações Coletivas
Norma EDP-Escelsa Instalações ColetivasNorma EDP-Escelsa Instalações Coletivas
Norma EDP-Escelsa Instalações Coletivas
 

Semelhante a Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...

Calculo numerico do professor eduardo colli.
Calculo numerico do professor  eduardo colli.Calculo numerico do professor  eduardo colli.
Calculo numerico do professor eduardo colli.Anderson Araujo
 
Algoritmos e programação
Algoritmos e programaçãoAlgoritmos e programação
Algoritmos e programaçãoJucir
 
Livro numerico ime usp
Livro numerico ime uspLivro numerico ime usp
Livro numerico ime usplcrslcrs
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmospaula maria
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmososmarpx
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosRicardo Borges
 
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.ANTONIO INACIO FERRAZ
 
Apostila completa de eletrônica digital.
Apostila completa de eletrônica digital.Apostila completa de eletrônica digital.
Apostila completa de eletrônica digital.Paulo Henrique
 
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.ANTONIO INACIO FERRAZ
 
Apostila completa de eletronica digital.
Apostila completa de eletronica digital.Apostila completa de eletronica digital.
Apostila completa de eletronica digital.Vitorjulio Pereira
 
-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...
-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...
-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...Antonio Inácio Ferraz
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petriuern
 
Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...
Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...
Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...Silvio Gomes
 

Semelhante a Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)... (20)

Controle
ControleControle
Controle
 
Ebook controle classico
Ebook controle classicoEbook controle classico
Ebook controle classico
 
Apostila juliano eme905
Apostila juliano eme905Apostila juliano eme905
Apostila juliano eme905
 
Calculo numerico do professor eduardo colli.
Calculo numerico do professor  eduardo colli.Calculo numerico do professor  eduardo colli.
Calculo numerico do professor eduardo colli.
 
Algoritmos e programação
Algoritmos e programaçãoAlgoritmos e programação
Algoritmos e programação
 
Apostila3
Apostila3Apostila3
Apostila3
 
Livro numerico ime usp
Livro numerico ime uspLivro numerico ime usp
Livro numerico ime usp
 
sumando 1 2 3
sumando 1 2 3sumando 1 2 3
sumando 1 2 3
 
apostila sistmas digitais
apostila sistmas digitaisapostila sistmas digitais
apostila sistmas digitais
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
F ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmosF ferrari ccechinel-introducao-a-algoritmos
F ferrari ccechinel-introducao-a-algoritmos
 
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
 
Apostila completa de eletrônica digital.
Apostila completa de eletrônica digital.Apostila completa de eletrônica digital.
Apostila completa de eletrônica digital.
 
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
ANTONIO INACIO FERRAZ-ESTUDANTE DE FARMÁCIA EM CAMPINAS SP.
 
Apostila completa de eletronica digital.
Apostila completa de eletronica digital.Apostila completa de eletronica digital.
Apostila completa de eletronica digital.
 
-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...
-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...
-ELETRONICA DIGITAL-ANTONIO INACIO FERRAZ, TÉCNICO EM ELETRONICA ,AGROPECUÁRI...
 
Redes de Petri
Redes de PetriRedes de Petri
Redes de Petri
 
Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...
Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...
Friedli, s. cálculo 1. 1ª ed. belo horizonte, imprensa universitária da ufmg,...
 

Mais de Fernando Passold

Root locus cap_9_parte_4_pt
Root locus cap_9_parte_4_ptRoot locus cap_9_parte_4_pt
Root locus cap_9_parte_4_ptFernando Passold
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoFernando Passold
 
Desenvolvimento de robô social
Desenvolvimento de robô socialDesenvolvimento de robô social
Desenvolvimento de robô socialFernando Passold
 
Trabalho 2 2015_2-pages_antigo
Trabalho 2 2015_2-pages_antigoTrabalho 2 2015_2-pages_antigo
Trabalho 2 2015_2-pages_antigoFernando Passold
 
Notas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de KarnaughNotas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de KarnaughFernando Passold
 
Tutorial sobre Ajuste de Controladores PID
Tutorial sobre Ajuste de Controladores PIDTutorial sobre Ajuste de Controladores PID
Tutorial sobre Ajuste de Controladores PIDFernando Passold
 
Tutorial softwares da área de Luminotécnica
Tutorial softwares da área de LuminotécnicaTutorial softwares da área de Luminotécnica
Tutorial softwares da área de LuminotécnicaFernando Passold
 
Luminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) CálculosLuminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) CálculosFernando Passold
 
Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.Fernando Passold
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Fernando Passold
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Fernando Passold
 
Introdução aos Kits Lego NXT
Introdução aos Kits Lego NXTIntrodução aos Kits Lego NXT
Introdução aos Kits Lego NXTFernando Passold
 
Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)Fernando Passold
 
Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)Fernando Passold
 
Root locus cap_9_parte_2_color
Root locus cap_9_parte_2_colorRoot locus cap_9_parte_2_color
Root locus cap_9_parte_2_colorFernando Passold
 
Introdução aos kits Lego RCX
Introdução aos kits Lego RCXIntrodução aos kits Lego RCX
Introdução aos kits Lego RCXFernando Passold
 
Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4Fernando Passold
 
Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4Fernando Passold
 
Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4Fernando Passold
 

Mais de Fernando Passold (20)

Root locus cap_9_parte_4_pt
Root locus cap_9_parte_4_ptRoot locus cap_9_parte_4_pt
Root locus cap_9_parte_4_pt
 
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novoArduino sist u_controlados_intro_eletrica_2019_keynote_novo
Arduino sist u_controlados_intro_eletrica_2019_keynote_novo
 
Desenvolvimento de robô social
Desenvolvimento de robô socialDesenvolvimento de robô social
Desenvolvimento de robô social
 
Trabalho 2 2015_2-pages_antigo
Trabalho 2 2015_2-pages_antigoTrabalho 2 2015_2-pages_antigo
Trabalho 2 2015_2-pages_antigo
 
Notas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de KarnaughNotas extras sobre Mapas de Karnaugh
Notas extras sobre Mapas de Karnaugh
 
Tutorial sobre Ajuste de Controladores PID
Tutorial sobre Ajuste de Controladores PIDTutorial sobre Ajuste de Controladores PID
Tutorial sobre Ajuste de Controladores PID
 
Tutorial softwares da área de Luminotécnica
Tutorial softwares da área de LuminotécnicaTutorial softwares da área de Luminotécnica
Tutorial softwares da área de Luminotécnica
 
Luminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) CálculosLuminotécnica: Parte 2) Cálculos
Luminotécnica: Parte 2) Cálculos
 
Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.Luminotecnica: Parte 1) Fator Conforto e outras definições.
Luminotecnica: Parte 1) Fator Conforto e outras definições.
 
Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)Mapas de Karnaugh (introdução, até 4 variáveis)
Mapas de Karnaugh (introdução, até 4 variáveis)
 
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
Programação de Kits Lego NXT usando Linguagem Gráfica Nativa (ou NXT-G)
 
Introdução aos Kits Lego NXT
Introdução aos Kits Lego NXTIntrodução aos Kits Lego NXT
Introdução aos Kits Lego NXT
 
Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)Introdução à Robótica Móvel - Visão Geral (2011/2)
Introdução à Robótica Móvel - Visão Geral (2011/2)
 
Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)Proposta Curso de Eng. da Computação (de 2011 !)
Proposta Curso de Eng. da Computação (de 2011 !)
 
Root locus cap_9_parte_2_color
Root locus cap_9_parte_2_colorRoot locus cap_9_parte_2_color
Root locus cap_9_parte_2_color
 
Introdução aos kits Lego RCX
Introdução aos kits Lego RCXIntrodução aos kits Lego RCX
Introdução aos kits Lego RCX
 
Basic step1
Basic step1Basic step1
Basic step1
 
Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4Introducción a la Robótica Móvil - part 4/4
Introducción a la Robótica Móvil - part 4/4
 
Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4Introducción a la Robótica Móvil - part 3/4
Introducción a la Robótica Móvil - part 3/4
 
Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4Introducción a la Robótica Móvil - part 2/4
Introducción a la Robótica Móvil - part 2/4
 

Último

02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdfJorge Andrade
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxLuizHenriquedeAlmeid6
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumAugusto Costa
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalJacqueline Cerqueira
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxkarinedarozabatista
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinhaMary Alvarenga
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Mary Alvarenga
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxKtiaOliveira68
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniCassio Meira Jr.
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaJúlio Sandes
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasCassio Meira Jr.
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADOcarolinacespedes23
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfManuais Formação
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavrasMary Alvarenga
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxLuizHenriquedeAlmeid6
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxOsnilReis1
 

Último (20)

02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf02. Informática - Windows 10 apostila completa.pdf
02. Informática - Windows 10 apostila completa.pdf
 
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptxSlides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
Slides Lição 03, Central Gospel, O Arrebatamento, 1Tr24.pptx
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -XI OLIMPÍADAS DA LÍNGUA PORTUGUESA      -
XI OLIMPÍADAS DA LÍNGUA PORTUGUESA -
 
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - CartumGÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
GÊNERO TEXTUAL - TIRINHAS - Charges - Cartum
 
Gerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem OrganizacionalGerenciando a Aprendizagem Organizacional
Gerenciando a Aprendizagem Organizacional
 
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptxAD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
AD2 DIDÁTICA.KARINEROZA.SHAYANNE.BINC.ROBERTA.pptx
 
Em tempo de Quaresma .
Em tempo de Quaresma                            .Em tempo de Quaresma                            .
Em tempo de Quaresma .
 
Bullying - Texto e cruzadinha
Bullying        -     Texto e cruzadinhaBullying        -     Texto e cruzadinha
Bullying - Texto e cruzadinha
 
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
Grupo Tribalhista - Música Velha Infância (cruzadinha e caça palavras)
 
Orações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptxOrações subordinadas substantivas (andamento).pptx
Orações subordinadas substantivas (andamento).pptx
 
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e TaniModelos de Desenvolvimento Motor - Gallahue, Newell e Tani
Modelos de Desenvolvimento Motor - Gallahue, Newell e Tani
 
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma AntigaANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
ANTIGUIDADE CLÁSSICA - Grécia e Roma Antiga
 
Habilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e EspecíficasHabilidades Motoras Básicas e Específicas
Habilidades Motoras Básicas e Específicas
 
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
activIDADES CUENTO  lobo esta  CUENTO CUARTO GRADOactivIDADES CUENTO  lobo esta  CUENTO CUARTO GRADO
activIDADES CUENTO lobo esta CUENTO CUARTO GRADO
 
UFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdfUFCD_10392_Intervenção em populações de risco_índice .pdf
UFCD_10392_Intervenção em populações de risco_índice .pdf
 
Bullying - Atividade com caça- palavras
Bullying   - Atividade com  caça- palavrasBullying   - Atividade com  caça- palavras
Bullying - Atividade com caça- palavras
 
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptxSlides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
Slides Lição 4, Betel, Ordenança quanto à contribuição financeira, 2Tr24.pptx
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptxATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
ATIVIDADE AVALIATIVA VOZES VERBAIS 7º ano.pptx
 

Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)...

  • 1. Controle Automático III (Controle Digital) Fernando Passold Last Updated: 2 de junho de 2014
  • 2. . Este material foi desenvolvido para a disciplina de “Controle Automático III” do curso de Enge- nharia Elétrica da UPF, que poderia ser chamada também de “Controle Discreto no Tempo” ou simplesmente de “Controle Digital”. Este material não pretende ser auto-suficiente em si mesmo, apesar da quantidade de Apên- dices, mas visa ser usado como continuidade para disciplinas anteriores na área de Controle Automático, uma vez que pressupõe que o leitor já tenha adquirido fundamentos anteriores na área de Controle Automático “clássico”. Isto é, que esteja ao menos familiarizado com trans- formadas de Laplace e projetos de controladores (analógicos) usando Diagrama do Lugar das Raízes (Root-Locus) e preferencialmente que também, domine o projeto de controladores de Avanço-Atraso (Lead-Lag) no domínio frequência. Este material foi criado usando software livre e de domínio público: 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. 2
  • 3. Sumário 1 Teoria de Erros 5 1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2 Sistema “padrão” de realimentação unitária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5 1.2.1 Caso 1) Entrada Degrau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6 1.2.2 Caso 2) Entrada Rampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 1.3 Tabela Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9 2 Estabilidade 11 2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.2 Resposta Entrada Limitadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 2.3 Representação de Pólos no Plano Complexo (Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.1 Caso 1) F(z) com Pólos Reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 2.3.2 Caso 2) F(z) com Pólos Complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13 2.4 Método de Jury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15 2.4.1 Exemplo de Sistema de Segunda Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.2 Exemplo de Sistemas de Terceira Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16 2.4.3 Exemplo de Planta de Segunda ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17 2.5 Efeitos do Período de Amostragem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 2.6 Diagrama do Lugar das Raízes (RL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 2.6.1 Construindo o Diagrama do Lugar das Raízes . . . . . . . . . . . . . . . . . . . . . . . . . 21 2.6.2 Exemplos de Traçados de RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 3 Controladores Digitais 31 3.1 Simples Controlador Proporcional, K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33 3.1.1 Determinando Km ´ax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 3.2 Controlador (polinomial) cancelando pólo(s) dominante(s) . . . . . . . . . . . . . . . . . . . . . . 39 3.3 Cancelamento imperfeito de pólos-zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43 3.4 Projeto de Controlador Digital usando Root Locus . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.4.1 Compensador por Avanço de Fase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48 3.5 Projeto de Controlador PI usando Root Locus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50 3.6 Controlador Dead-beat (Controle por tempo mínimo, finito) . . . . . . . . . . . . . . . . . . . . . 57 3.6.1 Exemplo1: O controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57 3.6.2 Exemplo2: Projeto de Controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . . . . . 58 3.6.3 Exemplo2: Outro projeto de Controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . 64 4 Projeto de Controladores Digitais 67 4.1 Método dos Pólos Dominantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67 4.2 Metodologia de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68 4.3 Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69 5 Projeto por Emulação 75 5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 75 5.2 Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76 5.2.1 Exemplo1: Caso de um Controlador de 1a-ordem . . . . . . . . . . . . . . . . . . . . . . . 77 5.2.2 Exemplo2: Caso de um Controlador por Avanço de Fase . . . . . . . . . . . . . . . . . . . 77 5.3 Relação entre o plano-s e plano-z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 80 5.4 Método de Tustin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82 5.4.1 Exemplo1: Equação de diferenças usando o Método de Tustin . . . . . . . . . . . . . . . . 83 5.4.2 Exemplo2: Projeto de Controlador Digital usando o Método de Tustin . . . . . . . . . . . 83 3
  • 4. 5.5 Outras Transformações Bilineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85 A Equações Auxiliares 87 A.1 Tabela de Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 A.2 Equação do Segundo Grau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 A.3 Relações de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 A.4 Progressão Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87 A.5 Definição da Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 A.6 Propriedades da Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88 A.7 Tabela de Transformadas Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89 B Respostas temporais no Plano-Z 91 B.1 Casos de Pólos Reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91 B.2 Caso de Pólos Complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92 C Transformada Z - Uso do MATLAB 93 C.1 Transformada Z Inversa (Usando o MATLAB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93 C.2 Sistemas com Sustentador de Ordem Zero [B0G(z)] . . . . . . . . . . . . . . . . . . . . . . . . . . 96 D Respostas Típicas de Sistemas de 2a-ordem 97 D.1 Sistemas com 0 < < 1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98 D.2 Relação entre posição do pólo e sobrepasso (%OS) . . . . . . . . . . . . . . . . . . . . . . . . . . 100 D.3 Relação entre posição do pólo e Ts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 D.4 Relação entre posição do pólo e Tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 D.5 Relação entre posição do pólo e . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100 E Revisão Controladores Clássicos 101 E.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101 E.2 Melhorando o erro em regime permanente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 E.3 Melhorando o Erro Estacionário (PI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102 F MATLAB: Comandos 105 4
  • 5. Capítulo 1 Teoria de Erros 1.1 Introdução Relação com as características desejáveis num sistema de controle. As especificações de um sistema de controle incluem: • desempenho em regime permanente (precisão); • desempenho em regime transitório (formas de onda); • robustez (degradação do controle frente à mudanças no sistema). 1.2 Sistema “padrão” de realimentação unitária Seja um típico sistema de controle em malha fechada do tipo SISO (single-input, single-output) como o mostrado na figura 1.1. yr(t) Algoritmo de Controle C(z) T e(kT)+ u(kT) T Bo Atuador + Processo + Medidor G(z) y(t) (realimentação unitária) - Figura 1.1: Sistema “padrão” de realimentação unitária. Note que: • este sistema controla o valor medido do erro, não a variável de saída. • a unidade para medição de Y é a mesma que a adotada para a referência Yr, para que o bloco somador atue de fomra conveniente. • qualquer sistema em malha fechada com realimentação unitária (H(s) = 1), tende a igualar a entrada e a saída (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 então: yr(t) C(z) + BoG(z) y(t) - Figura 1.2: Sistema “padrão” no formato digital. 5
  • 6. Y(z) Yr(z) = C(z) · BoG(z) 1 + C(z)BoG(z) = FTMA(z) 1 + FTMA(z) = F(z) 1 + F(z) isolando o erro: E(z) = Yr(z) − Y(z) = Yr(z) · 1 − F(z) 1 + F(z) = Yr(z) 1 + F(z) − F(z) 1 + F(z) notamos então que o comportamento do erro é dado por: E(z) = 1 1 + F(z) · Yr(z) (1.1) ou seja, que o erro é função de Yr e da FTMA(z), ou: Erro = f[Yr,F] O que acontece então como o erro em regime permanente (precisão)? Procedendo com o cálculo do erro em regime permanente (quando t → ∞): lim k→∞ e(kT) = lim z→1 (z − 1) · E(z) Para o nosso caso: lim k→∞ e(kT) = lim z→1 (z − 1) · 1 1 + F(z) · Yr(z) (1.2) Para continuar com a análise, necessitamos levantar hipóteses sobre entradas (referências) do sistema. Normalmente se trabalha com: entrada degrau, rampa e parábola. 1.2.1 Caso 1) Entrada Degrau Yr(z) = U(z) = z z − 1 neste caso: lim k→∞ e(kT) = lim z→1 (z − 1) · 1 1 + F(z) · Yr(z) = lim z→1 (z − 1) · 1 1 + F(z) · z (z − 1) lim k→∞ e(kT) = 1 1 + limz→1 F(z) (1.3) Este limite é conhecido como Kp=ganho de posição (similar ao ganho estático dos sistemas contínuos no tempo), ou seja: Kp = lim z→1 F(z) (1.4) Falta agora analisar Kp para alguns tipos de sistema F(z). Note que nos resta calcular limz→1 F(z). Se F(z) possui termos com pólo em z = 1, isto é, possui integradores, e(kT)|k→∞ = 0. Demonstração O que seria uma integração numérica? Supondo que se esteja interessado numa integração numérica retangular – ver figura 1.3 onde: i(k)= integral de 0 à k. Então: i(0) = 0 i(T) = g(0) · T = i(0) + g(0) · T i(2T) = i(0) + g(0) · T + g(T) · T = i(1) + T g(T) ... i(k) = i(k − 1) + T · g(k − 1) (1.5) 6
  • 7. % Gráfico criado no MATLAB: >> k=0:5; >> y=1.2.^k; >> plot(k,y,’k--’) >> hold on >> stem(k,y,’mo’) >> stairs(k,y,’b-’) >> xlabel(’kT’); >> ylabel(’g’) Figura 1.3: Método de integração numérica retangular. Note que a expressão (1.5) está no formato de uma equação de diferenças, então: I(z) = z−1 · I(z) + T · z−1 · G(z) I(z)[1 − z−1 ] = T z−1 G(z) I(z) = T z−1 1 − z−1 G(z) ou: I(z) = T (z − 1) · G(z) (1.6) Note o pólo em z = 1. Se fosse adotado outro método de integração numérica, ainda assim teríamos o termo (z −1) aparecendo no denominador da função. Exemplo: integração numérica trapezoidal Acompanhando pela figura 1.4, agora temos algo como: >> % Gráfico 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; % versão discreta >> figure; plot(t,y,’k--’); >> hold on; >> stem(k,yd,’mo’) >> plot(k,yd,’b-’) Figura 1.4: Método de integração numérica trapezoidal. i(kT) = i[(k − 1)T] + T 2 [g[(k − 1)T] + g(kT)] (1.7) lembrando que a área de um trapézio é dada por: A = (B + b) · h 2 7
  • 8. Transformando (1.7) numa expressão em Z, obtemos: I(z) = z−1 · I(z) + T 2 (z−1 + 1) · G(z) = T/2 (1 − z−1) (1 + z−1 ) · G(z) I(z) = T/2 (z − 1) (z + 1)G(z) (1.8) Note novamente em (1.8) o termo (z − 1) no denominador, ou seja, que volta a aparecer o pólo em z = 1. Assim, de maneira geral, se pode afirmar que uma equação característica com integradores é do tipo: F(z) = N(z) (1 − z−1) · D (z) com pólo em z = 1. Voltando ao cálculo do erro para provar que e(kT)|k→∞ = 0 quando existe pelo menos um integrador em F(z), temos: e(kT)|k→∞ = 1 1 + limz→1 F(z) onde: limz→1 F(z) = Kp (ganho de posição). Então: 1. Se F(z) não possui integradores, então: f(z) = N(z) D(z) , (D(z) 0) então: limk→∞ e(kT) = 1 1 + Kp = Cte = número finito e portanto, e(kT)|k→∞ 0. 2. Se F(z) contêm pelo menos 1 integrador, então F(z) é do tipo: F(z) = N(z) (z − 1) · D (z) e o erro é dado por: lim k→∞ e(kT) = 1 1 + limz→1 N(z) (z − 1)D (z) = 1 1 + Kp neste caso, Kp → ∞ e consequentemente, e(∞) = 0. Isto significa que se meu sistema possuir pelo menos um integrador, é bem provável (depende da quantização do sistema), que seu erro em regime permanente seja nulo. 1.2.2 Caso 2) Entrada Rampa Neste caso: Yr(z) = T z (z − 1)2 e neste caso e(∞) fica: lim k→∞ e(kT) = lim z→1 (z − 1) · 1 1 + F(z) · T z (z − 1)2 = lim z→1 T z (z − 1) + (z − 1)F(z) = T limz→1(z − 1) · F(z) = T Kv (1.9) 8
  • 9. onde Kv= ganho de velocidade. Da mesma forma que procedemos para o caso anterior, vamos analisar o comportamento do erro, depen- dendo da função F(z). 1. Considerando F(z) sem integradores (um sistema do tipo “0”): lim k→∞ e(kT) = ∞ isto é, não converge. 2. Se F(z) possui 1 integrador (sistema do tipo “1”): D(z) = (z − 1) · D (z) limk→∞ e(kT) = T Kv = cte = valor finito, mas 0. 3. Se F(z) possui 2 integradores (sistema do tipo “2”): lim k→∞ e(kT) = 0 Isto significa que acrescentamos tantos integradores (D(z) = (z − 1)) na FTMA do processo quanto o necessário para tornar o erro nulo. 1.3 Tabela Resumo Segue uma tabela resumo sobre Teoria de Erros (ou Precisão): Entradas: Degrau Rampa Parábola Sistema: z z − 1 T z (z − 1)2 T2 z (z + 1) 2(z − 1)3 Tipo 0 F(z) = N(z) D(z) 1 + Kp ∞ ∞ Tipo 1 F(z) = N(z) (z − 1)D (z) 0 T Kv ∞ Tipo 2 F(z) = N(z) (z − 1)2D (z) 0 0 T2 ka onde: Kp = limz→1 FTMA(z) = ganho de posição. Kv = limz→1 (z − 1)FTMA(z) = ganho de velocidade. Ka = limz→1 (z − 1)2 FTMA(z) = ganho de aceleração. Tabela 1.1: Tabela resumo sobre erros.(Ogata, 1995, pág. 355) 9
  • 10. 10
  • 11. Capítulo 2 Estabilidade 2.1 Introdução Trata-se do objetivo mais importante para um sistema de controle. Para sistemas lineares e invariantes no tempo são BIBO estáveis (entrada limitada e saída limitada) se a aplicação de uma entrada limitada produz uma saída limitada. Mas atenção, este conceito é suficiente para sistemas contínuos no tempo. Para sistemas discretos (amostrados) ainda depende do período de amostragem adotado! A estabilidade de um sistema em malha fechada depende de: • Ganhos; • Pólos; • Zeros; • Atrazos; • T, período de amostragem. 2.2 Regime transitório de um sistema submetido a uma entrada limi- tada (degrau) Suponha que temos o sistema mostrado na figura 2.1. Yr + - G(z) H(z) Y Figura 2.1: Sistema em malha fechada. onde: Y Yr = G 1 + GH = FTMF(z) = F(z) = N(z) D(z) conforme mostra a figura 2.2. F(z) Yr(z) Y(z) Figura 2.2: Função de malha-fechada. Da figura 2.2 percebemos que: Y(z) = F(z) · Yr(z) = z (z − 1) · N(z) D(z) (2.1) 11
  • 12. onde: z (z − 1) é a transformada Z do degrau. Os zero finitos de F(z) são as raízes de N(z) = 0. E os pólos de F(z) são as raízes de D(z) = 0. Se o método da decomposição em termos simples (frações parciais) for aplicado sobre a equação 2.1 teremos: Y(z) z = c0 z − 1 + Pólos Reais ci z − pi + Pólos Complexos cj (z − pj) + cj (z − pj) (2.2) Lembrando que: Z−1 ci z z − pi = ci · pk i obtemos: y(kT) = c0 + Pólos Reais ci pk i + Pólos Complexos cj pk j + cj pk j (2.3) onde: c0 = termo em função da entrada (define o regime permanente da saída); os outros termos ( ’s) = função das características de F(z), definem o regime transitório que depende dos pólos de F(z) ponderados pelos coeficientes ci ou cj, cujas magnitudes são determinadas pelo numerador de F(z). 2.3 Representação de Pólos no Plano Complexo (Z) A seguir estudaremos como os pólos contribuem na resposta y(KT) 2.3.1 Caso 1) F(z) com Pólos Reais Neste caso, y(KT) depende dos termos ci pk i . A figura 2.3 mostra os mapeamentos possíveis para pólos no plano Z e suas respectivas repercussões no domínio amostrado. 1-1 -1 1 Im{Z} Re{Z} xxxxxx Caso 2: Caso1: Caso 3: Caso 4: Caso 5: Caso 6: Figura 2.3: Respostas transientes para casos de simples pólos reais. Analisando a figura 2.3 nota-se: Caso 1 : pi > 1, pólo instável, saída divergente, tanto mais quanto mais distante o pólo estiver de z = 1. Caso 2 : pi = 1, sistema em ressonância, o pólo se encontra sobre z = 1. Este tipo de sistema corre o risco de não ser estável para certas entradas. 12
  • 13. Caso 3 : 0 < pi < 1, saída convergente (decrescente), apresentando valores decrescentes tão rápidamente quanto mais próximo de z = 0 estiver este pólo. Caso 4 : −1 < pi < 0, saída converge (decresce com o tempo), mas como pi é negativo, forma-se uma se- quencia convergente alternada. Caso 5 : p = −1, sistema oscilando com amplitude constante (enquanto |pi | = 1) na frequencia de f = 1/(2T). Caso 6 : pi < −1, outro pólo instável, sistema apresenta saida divergente (crescente) e alternada (sinal ne- gativo para pi ). 2.3.2 Caso 2) F(z) com Pólos Complexos Neste caso, F(z) apresenta pólos conjugados complexos: cj pk j + ¯cj ¯pk j , onde: cj = a + jb pj = + j Representando o pólo na forma polar, resulta em: pj = ej cj = Aej onde: = 2 + 2 = tan−1 Im{z} Re{z} x ⇢ ✓ pj ↵ então: cj pk j + ¯cj ¯pk j = A k ej(k + ) + A k e−j(k + ) (2.4) = A k ej(k + ) + e−j(k + ) = 2A k cos(k + ) ou seja, a saída se tranforma numa exponencial sobreposta com uma senóide amostrada nos instantes k. Supondo que k = 2 (múltiplos cossenos), temos: t = k T ∴ k = tpp T . Isolando em tpp e substituindo em k = 2 , obtemos tpp = 2 T , onde tpp significa um pseudo-período. A figura 2.4 mostra o efeito amostrado da eq. (2.5). ✓ "a medida que 6,28*T Figura 2.4: Impacto de sobre a eq. (2.5). A figura 2.5 mostra diferentes casos de pólos complexos no plano-z e respectivas respostas transientes no tempo discreto. 13
  • 14. z z − eaT cos( T) z2 − 2e−aT z cos( T) + e−2aT = Z e−akT cos( kT) Figura 2.5: Representações gráficas da Transformada Inversa Z.[Cadzow (1973),Kuo (1992)] 14
  • 15. 2.4 Método de Jury Este método permite determinar a estabilidade de um sistema discreto linear através da análise dos coeficientes da sua equação característica. Seria uma analaogia num sistema discreto ao critério de estabilidade de Routh-Hurwitz. Seja o polinômino D(z) extraído da equação característica de um sistema discreto: D(z) = anzn + an−1zn−1 + ... + a1z + a0 = 0 o sistema é estável se e somente se suas raízes estiverem contidas dentro do círculo unitário no plano Z. Isto implica em 3 condições preliminares1 (i) |a0| < an (ii) D(z)|z=1 = D(1) > 0 (iii) D(z)|z=−1 = D(−1) > 0 para n par < 0 para n ímpar , ou: (−1)nD(−1) > 0. Uma vez atendidas as condições anteriores parte-se para o arranjo (ou Tabela) de Jury (similar ao do método de Routh-Hurwittz): Linha z0 z1 z2 ... zn−1 zn 1 a0 a1 a2 ... an−1 an 2 an an−1 an−2 ... a1 a0 3 b0 b1 b2 ... bn−1 4 bn−1 bn−2 bn−3 ... b0 ... ... ... ... ... ... 2n − 5 p0 p1 p2 p3 2n − 4 p3 p2 p1 p0 2n − 3 q0 q1 q2 A tabela de Jury é construída da seguinte forma: • A tabela consiste em (2n − 3) linhas. Para um sistema de segunda-ordem, a tabela possui apenas 1 linha. • Primeira linha: seus elementos consistem dos coeficientes de D(z) arranjados em potências ascenden- tes em z. • Segunda linha: seus elementos consistes nos coeficientes de D(z) arranjados em potências descenden- tes de z. Os outros elementos dependem dos determinantes: bk = a0 an−k an ak , k = 0,1,2,...,n − 1 ck = b0 bn−1−k bn−1 bk , k = 0,1,2,...,n − 2 dk = c0 cn−2−k cn−2 ck , k = 0,1,2,...,n − 3 q0 = p0 p3 p3 p0 , q2 = p0 p1 p3 p2 Note que: • Os elementos de qualquer linha par (linhas 2, 4, ...) são simplesmente o reverso da linha imediatamente precedente ímpar (linhas 1, 3, ...). • A última linha (2n − 3) possui apenas 3 elementos. 1Atenção: Ogata (1995) referencia a equação característica como: P(z) = a0zn + a1zn−1 + ... + an−1z + an – o que faz inverter a primeira pré-condição (no caso dele) para: |an| < a0. 15
  • 16. Uma vez finalizado o arranjo, pode-se concluir que o sistema será estável se: |a0| < |an| |b0| > |bn−1| |c0| > |cn−2| |d0| > |dn−3|    (n − 1) restrições ... |p0| > |p3| |q0| > |q2| 2.4.1 Exemplo de Sistema de Segunda Ordem Exemplo 1: Num sistema de 2a-ordem, n = 2 e neste caso, a tabela de Jury contêm apenas 1 linha. Assim, para estabilidade: D(1) > 0 D(−1) > 0 |a0| < |a2| Por exemplo, para o sistema: D(z) = z2 − 0.25 = 0, as pré-condições necessárias para estabilidade são: Condições Sistema Satisfeito ou não? 1) D(1) > 0 D(1) = 1 − 0.25 = 0.75 > 0 Satisfeito 2) D(−1) 0 D(−1) = 1 − 0.25 = 0.75 0 Satisfeito 3) |a0| |a2| |a0| = 0.25 a2 = 1 Satisfeito Desta forma, percebe-se que todas as condições foram satisfeitas, ou seja, o sistema é estável. 2.4.2 Exemplo de Sistemas de Terceira Ordem Exemplo 2: Determinar a estabilidade de um sistema discreto cuja equação característica é: D(z) = z3 − 1,2z2 − 1,375z − 0,25 = 0 As pré-condições para estabilidade são: Condições Sistema Satisfeito ou não? 1) D(1) 0 D(1) = 1 − 1,2 − 1,375 − 0,25 = −1,875 0 Não Satisfeito 2) D(−1) 0 D(−1) = −1 − 1,2 + 1,375 − 0,25 = −1,125 0 Satisfeito 3) |a0| a3 |a0| = 0.25 a3 = 1 Satisfeito Exemplo 3: Seja a equação característica: D(z) = z3 + 3,3z2 + 4z + 0,8 = 0 As pré-condições para estabilidade são: Condições Sistema Satisfeito ou não? 1) D(1) 0 D(1) = 1 + 3,3 + 4 + 0,8 = 9,1 0 Satisfeito 2) D(−1) 0 D(−1) = −1 + 3,3 − 4 + 0,8 = −0,9 0 Satisfeito 3) |a0| a3 |a0| = 0.8 a3 = 1 Satisfeito O arranjo de Jury resulta em: Linha z0 z1 z2 z3 1 0,8 4,0 3,3 1,0 2 1,0 3,3 4,0 0,8 3 b0 b1 b2 16
  • 17. onde: b0 = a0 a3 a3 a0 = a2 0 − a2 3 = −0,36 b1 = a0 a2 a3 a1 = a0a1 − a2a3 = −0,1 b2 = a0 a1 a3 a2 = a0a2 − a1a3 = −1,36 A condição suficiente para estabilidade é: |b0| |b2|. Assim, observando-se os valores obtidos para b0 e b2, nota-se que esta condição não foi satisfeita e consequentemente, este sistema não é estável. De fato, as raízes de D(z) estão em: D=[1 3.3 4 0.8] D = 1.0000 3.3000 4.0000 0.8000 roots (D) ans = −1.5268 + 0.9574 i −1.5268 − 0.9574 i −0.2463 2.4.3 Exemplo de Planta de Segunda ordem Analize a estabilidade do seguinte sistema em malha-fechada (fig 2.6) [Phillips and Nagle (1994); pág. 191, 231]: Bo(s) K s(s + 1) YR + - Y T ou Bo(s) YR + - Y T 1 s(s + 1) K T Figura 2.6: Sistema exemplo. Sua função transferência é dada por: Y(z) YR(z) = BoG(z) 1 + BoG(z) onde BoG(z) é na forma: BoG(z) = K(b0 + b1z) (z − 1)(z − a) Determinando BoG(z): Z {Bo(s)G(s)} = (1 − z−1 )Z 1 s2(s + 1) = (1 − z−1 )Z 1 1s2 − 1 1s + 1 1(s + 1) = (z − 1) z Tz (z − 1)2 − z (z − 1) + z (z − e−T ) BoG(z) = K[z(T + e−T − 1) + (1 − Te−T − e−T )] (z − 1)(z − e−T ) Nota que segue o formato: BoG(z) = K(b0 + b1z) (z − 1)(z − a) = K b1 b1 b1 z + b0 b1 (z − 1)(z − a) 17
  • 18. A equação característica do sistema é então: D(z) = 1 + BoG(z) = 0 D(z) = (z − 1)(z − a) + K(b0 + b1z) = 0 Expandindo os termos de D(z), se obtêm: D(z) = z2 − (1 + a)z + a2 + Kb0 + Kb1z D(z) = z2 − (1 + a − Kb1)z + (a2 + Kb0) Usando-se o método de Jury para identificar os requisitos para estabilidade do sistema temos: D(z) = z2 −(1 + a − Kb1)z +(a2 + Kb0) = a2 a1 a0 Pelos critérios de Jury: 1) D(1) 0 → 1 − 1 + a + Kb1 + a + Kb0 0 se obtêm: Kb1 + Kb0 0, que pode ser escrito como: K 0, Se (b1 + b0) 0 2) D(−1) 0 → 1 + 1 + a − Kb1 + a + Kb0 0 ∴ K(b0 − b1) −2a − 2 K −2(1 + a) b0 − b1 , Se (b0 − b1) 0 e 3) |a0| a2 → a + Kb0 1 ∴ K 1 − a b0 , Se b0 0 2.5 Efeitos do Período de Amostragem Verificando para o caso do sistema anterior, os efeitos causados por diferentes valores para o período de amostragem T: a) Suponha que T = 0,1 (segundos): Então: a = e−T = 0,9048374 b1 = e−T + T − 1 = 0,0048374 b0 = 1 − e−T − Te−T = 0,0046788 Aplicando os critérios de estabilidade, temos: 1) K 0, b1 + b2 0 2) K 1 − a b0 ,K 0,0952 0,0047887 , K 20,3389 3) K 2(1 + a) b0 − b1 , K −2.4024 × 104 (Desconsiderada – a menos restritiva) então, a condição para estabilidade se resume à: 0 K 20,3389 b) Supondo que T = 1,0 (segundos): teremos: a = e−T = 0,3679 b1 = e−T + T − 1 = 0,3679 b0 = 1 − e−T − Te−T = 0,2642 18
  • 19. Aplicando os critérios de estabilidade, temos: 1) K 0, b1 + b2 0 2) K 1 − a b0 , K 2.3922 3) K 2(1 + a) b0 − b1 , K −26.3972 (Desconsiderada – a menos restritiva) então, a condição para estabilidade se resume à: 0 K 2.3922 Comportamento de um sistema na situação do ganho máximo Vamos verificar o que acontece quando T = 1,0 (segundos) e K = 2,3922: Para este valor de K a equação do sistema fica: BoG(z) = K(b0 + b1z) (z − 1)(z − a) = K(0,3679z + 0,2642) z2 − 1,3679z + 0,3679 assim, a função transferência em malha-fechada fica: FTMF(z) = BoG(z) 1 + BoG(z) e sua equação característica fica: D(z) = 1 + BoG(z) = 0 = 1 + K(0,3679z + 0,2642) z2 − 1,3679z + 0,3679 = 0 = z2 + (0,3679K − 1,3679)z + (0,3679 + 0,2642K) = 0 = z2 − 0,4878z + 1 = 0 ou seja, as raízes para D(z) (pólos do sistema) ficam em: z1 = 0,2439 + j0,9698 z2 = 0,2439 − j0,9698 que equivale à z = 1,0∠1,3244(rad) = 1,0∠ ± T. Ou seja, o sistema oscila e na frequência de 1,3244 (rad/s) (ou 8,3214 (Hz)). Usando o MATLAB para realizar os cálculos fica: T=1.0; a=exp(−T) a = 0.3679 b1=exp(−T )+T−1 b1 = 0.3679 b0=1−exp(−T )−T exp(−T ) b0 = 0.2642 K=(1−a ) /b0 K = 2.3922 %Montando BoG(z): num=K [ b1 b0 ] num = 0.8800 0.6321 den=conv ([1 −1] ,[1 −a ] ) den = 1.0000 −1.3679 0.3679 BoG=t f (num, den , T ) ; zpk (BoG) Zero/ pole / gain : 0.88005 ( z+0.7183) 19
  • 20. −−−−−−−−−−−−−−−−−− ( 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]= tfdata (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=roots ( den_mf ) p_mf = 0.2439 + 0.9698 i 0.2439 − 0.9698 i %Determinando polo em coordenadas polares: [ theta , rho ]= cart2pol ( real ( p_mf (1) ) , imag ( p_mf (1) ) ) theta = 1.3244 rho = 1.0000 freq=theta (2 pi ) freq = 8.3214 Conclusão Nota-se que a medida que aumenta o período de amostragem T, se é obri- gado a abaixar o ganho K do controlador, para manter a estabilidade do sis- tema. ↑ 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 evolução é função do ganho e tamanho do período de amostragem adotado. 2.6 Diagrama do Lugar das Raízes (RL) • O efeito do Ganho (K) num sistema e/ou do período de amostragem na estabilidade absoluta ou rela- tiva do sistema em malha fechada deve ser investigada adicionalmente às características da resposta transitória. O método do Lugar das Raízes (RL) é muito útil neste sentido. • O método do Lugar das Raízes (Root Locus (RL)) para sistemas contínuos no tempo pode ser estendido para os sistemas de tempo discreto sem muitas modificações uma vez que a equação característica do sistema de controle discreto segue o mesmo formato que no sistema de controle contínuo no tempo. Em muitos sistemas LTI (Lineares e Invariantes no Tempo), a equação característica pode seguir um dos seguintes formatos: 1 + G(z)H(z) = 0 1 + GH(z) = 0 combinando ambas as equações anteriores, podemos definir a equação característica como sendo: 1 + L(z) = 0 (2.5) onde L(z) = G(z)H(z) ou L(z) = GH(z). L(z) é popularmente conhecida como a função transferência do impulso para o laço aberto. A equação 2.5 pode ser escrita como: L(z) = −1 uma vez que L(z) expressa uma quantidade complexa ela pode ser dividida em 2 equações, uma equação relacionada com os ângulos e outra com a magnitude. Isto resulta em 2 critérios à serem seguidos: 20
  • 21. • Critério Angular: ∠L(z) = ±180o(2k + 1), k = 0,1,2,... • Critério da Magnitude: |L(z)| = 1 Os valores de z que satisfazem ambos os critérios correspondem às raízes da equação característica ou aos polos de malha-fechada. Antes de construir o diagrama do Lugar das Raízes, a equação 1 + L(z) = 0 deve ser reorganizada na seguinte forma: 1 + K (z + z1)(z + z2)···(z + zm) (z + p1)(z + p2)···(z + pn) = 0 (2.6) onde zi ’s e pi ’s correspondem respectivamente aos zeros e polos da função transferência em malha aberta (FTMA(z)), m é o número de zeros e n é o número de pólos. 2.6.1 Construindo o Diagrama do Lugar das Raízes As regras para construção do RL para sistemas digitais são as mesmas que as usadas para sistemas no tempo contínuo: 1. O diagrama de RL é simétrico com relação ao eixo real. O número de traçados do RL corresponde ao número de polos de malha aberta. 2. Os traçados do RL partem dos polos de malha aberta com K = 0 e terminam nos zeros de malha aberta, com K = ∞. Na ausência de zeros de malha aberta, o RL tende para −∞ quando K → ∞. O número de traçados que tendem para −∞ corresponde a diferença entre o número de polos e de zeros. 3. Uma região do eixo real fará parte do RL se o número de polos mais o número de zeros à direita desta parte for ímpar. 4. Se existem n polos de malha aberta e m zeros de malha aberta, então n − m traçados do RL vão tender para −∞ ao longo de linhas retas assintóticas desenhadas à partir de um único ponto s = que é chamado de centro do loci: = (Partes reais dos pólos de malha aberta) − (Partes reais dos zeros de malha aberta) n − m (2.7) O ângulo de partida das assintotas é dado por: = 180o(2q + 1) n − m , q = 0,1,...,n − m − 1 (2.8) 5. As raízes da equação abaixo definem os pontos de partida (breakaway) e chegada (break in) dos traça- dos de RL: dK dz = 0 (2.9) onde K é expresso em função de z da equação característica do sistema. Esta é uma condição neces- sária porém, não é suficiente. Devemos verificar se as soluções encontradas recaem sobre o RL sendo traçado. 6. A interseção (se existe) do RL com o círculo unitário pode ser determinada à partir do arranjo de Routh(- Hurwitz). 7. O ângulo de partida para pólos complexos de malha aberta é dado por: p = 180o + (2.10) onde corresponde à contribuição final de todos os ângulos dos pólos e zeros de malha aberta para este polo: = i i − j p j (2.11) onde i ’s correspondem às contribuições dos ângulos gerados pelos zeros e j’s correspondem às con- tribuições dos ângulos gerados pelos polos. 8. O ângulo de chegada relacionado com o zero complexo é dado por: z = 180o − (2.12) onde é o mesmo valor determinado pela regra anterior. 21
  • 22. 9. O ganho no ponto zo sobre o RL é determinando através de: K = n j=1 |zo + pj| m i=1 |zo + zi | (2.13) 2.6.2 Exemplos de Traçados de RL Exemplo_1 Para o caso do exemplo anterior, reproduzido novamente na figura 2.7 (ver seção 2.4.3, pág. 17, Bo(s) YR + - Y T 1 s(s + 1) K T Figura 2.7: Sistema exemplo de 2a-ordem. Com T = 1,0 (segundos), temos: BoG(z) = K(b0 + b1z) (z − 1)(z − a) = 0,36788K(z + 0,7183) (z − 1)(z − 0,3679) = K(0,3679z + 0,2642) z2 − 1,3679z + 0,3679 O lugar das raízes se origina em z = 1 e z = 0,3679 e termina em z = −0,7183 e z = −∞. O número de assíntotas equivale à: np − nz, então (2 − 1) = 1, temos 1 assíntota. O ângulo de partida da assíntota é dado por: Ângulo da assíndota = = (2N + 1) 180o (np − nz) , N = 0,1,2,... onde: N = 0 corresponde a assíntota com o menor ângulo com respeito ao eixo real. Embora N assuma um número infinito de valores, o ângulo repete a si mesmo a medida que N aumenta. O número de diferentes assíntotas é dado por: np − nz. Neste caso: = (2N + 1) · 180 np − nz = 180o 1 = 1800 , p/N=0 = 3 · 180o 1 = 540o , p/N=1 Os pontos de partida (break-way) e chegada (break-in) podem ser determinados à partir das raízes de: d K d z = A (z)B(z) − A(z)B (z) B2(z) = 0 onde: o apóstrofe indica diferenciação em relação à z e A(z) e B(z) são extraídos à partir da equação carac- terística: Se a equação característica D(z) = 0 for escrita como: D(z) = 1 + F(z) = 0 = 1 + K · B(z) A(z) então: K = − A(z) B(z) 22
  • 23. Para o caso do nosso sistema, os pontos de partida/chegada são dados por: d dz BoG(z) = 0 ← du dv = vdu − udv v2 neste caso: d dz BoG(z) = d dz 0,36788K(z + 0,7183) (z − 1)(z − 0,3679) = (z2 − 1,3368z + 0,368)(0,368K) − (0,368Kz + 0,264K)(2z − 1,368) (z2 − 1.368z + 0.3679)2 = 0 trabalhando esta equação, temos: 0,368Kz2 − 0,503424Kz + 0,135424K − 0,736Kz2 + 0,503424Kz − 0,528Kz + 0,361152K = 0 0,368Kz2 − 0,503424Kz + 0,135424K − 0,736Kz2 − 0,024576Kz + 0,461152K = 0 −0,368Kz2 − 0,538Kz + 0,496576K = 0 descobrindo as raízes para a equação anterior obtemos: = b2 − 4ac ∴ = 0,278784 − 4(−0,368)(0,496576) = 1,0097439 z = −b ± √ 2a ∴ z = 0,528 ± 1,0048601 −(2 · 0,368) z1 = −2,0826904 z1 = +0,6479077 e nestes pontos K vale: • p/z = z1 = −2,0826904, BoG(z) = 1, então: 0,368K(z + 0,717) (z2 − 1,368z + 0,368) z=−2,0826904 = 1 0,368K(−2,08 + 0,717) (−2,08)2 − 1,368(−2,08) + 0,368) = 1 −0,501584K 7,53984 = 1 K = 7,53984 0,501584 K = 15,03 • p/z = z1 = 0,6479077, BoG(z) = 1, então: 0,368K(z + 0,717) (z2 − 1,368z + 0,368) z=0,6479077 = 1 0,368K(0,65 + 0,717) (0,65)2 − 1,368(0,65) + 0,368) = 1 −0,503056K −0,0987 = 1 K = 0,0987 0,503056 K = 0,196 Usando o MATLAB, obtemos a figura 2.8: T=1.0; %Entrando com dados do sistema a=exp(−T) ; b1=exp(−T )+T −1;; b0=1−exp(−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
  • 24. z^2 − 1.368 z + 0.3679 Sampling time : 1 zpk (BoG) Zero/ pole / gain : 0.36788 ( z+0.7183) −−−−−−−−−−−−−−−−−− ( z −1) ( z −0.3679) Sampling time : 1 rlocus (BoG) axis equal Figura 2.8: Lugar das raízes para o sistema usado como exmeplo Verificando a resposta do sistema para entrada degrau usando o ganho máximo K = 2.3922, obtemos, usando o MATLAB, a figura 2.9 que confirma a resposta oscilatória do sistema. K=(1−a ) /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/ pole / gain : 0.88005 ( z+0.7183) −−−−−−−−−−−−−−−−−−− ( z^2 − 0.4878z + 1) Sampling time : 1 figure ; step (FTMF ) Ajustando o sistema anterior para outros valores de ganho Se fosse desejada uma resposta com sobrepasso máximo de 20% poderíamos ter ajustado o ganho no correspondente valor para : 24
  • 25. Figura 2.9: Resposta ao degrau unitário usando ganho máximo. Lembrando que: = −ln%OS/100 2 + ln2 (%OS/100) = = 0,4559 este valor de pode ser “impresso” no diagrama do Lugar das Raízes deste sistema para servir como guia para definição da posição desejada para os pólos de malha-fechada do sistema e consequente valor K do ganho necessário – no MATLAB: zeta=(−log (20/100) ) /( sqrt ( pi ^2+( log (20/100) ^2) ) ) zeta = 0.4559 figure ; %abre nova janela grafica rlocus (BoG) ; hold on zgrid ( zeta , 0 ) axis equal r l o c f i n d (BoG) Select a point in the graphics window selected_point = 0.5787 + 0.4183 i ans = 0.5547 %Encontramos o ganho como sendo: k=0.5547; %Fechamos a malha com este ganho e verificamos resposta do sistema novo_mf=feedback ( k BoG , 1 ) Transfer function : 0.2041 z + 0.1466 −−−−−−−−−−−−−−−−−−−−−− z^2 − 1.164 z + 0.5145 Sampling time : 1 zpk ( novo_mf ) 25
  • 26. Zero/ pole / gain : 0.20406 ( z+0.7183) −−−−−−−−−−−−−−−−−−−−−−− ( z^2 − 1.164z + 0.5145) Sampling time : 1 %Verificando resposta para entrada degrau: step ( novo_mf ) A figura 2.10 mostra o diagrama do Lugar das Raízes com a linha guia para o = 0,4559 selecionado e a figura 2.11 mostra a correspondente resposta do sistema para um degrau unitário aplicado à sua entrada com K = 0,5547 que satisfaz o valor desejado para . −3 −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 −2 −1.5 −1 −0.5 0 0.5 1 1.5 2 0.456 Root Locus Real Axis ImaginaryAxis K=0,5547 Figura 2.10: Determinando o valor do ganho para %OS ( ) desejado através do RL. Step Response Time (sec) Amplitude 0 5 10 15 20 25 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: novo_mf Peak amplitude: 1.19 Overshoot (%): 18.8 At time (sec): 5 System: novo_mf Settling Time (sec): 11.7 Figura 2.11: Resposta para o degrau unitário do sistema com ganho ajustado com K = 0,5547. Exemplo_2 Seja o sistema mostrado na figura 2.12. 26
  • 27. Figura 2.12: Sistema de controle discreto no tempo – exemplo 2. Para T = 0,5 segundos teremos: Z Gh0(s)Gp(s) = Z 1 − e−Ts s · 1 s + 1 = (1 − z−1 )Z 1 s(s + 1) = (1 − z−1 )Z 1 s − 1 s + 1 = z − 1 z z z − 1 − z z − e−T = 1 − e−T z − e−T Vamos supor que será usado um controlador integral – PI, isto é, GD (z) = Kz z − 1 , assim teremos: G(z) = GD (z) · GhGp(z) = Kz z − 1 · 1 − e−T z − e−T A equação característica fica então: 1 + G(z) = 0 1 + Kz(1 − e−T ) (z − 1)(z − e−T ) = 0 que para T = 0,5 resulta em: L(z) = 0,3935Kz (z − 1)(z − 0,6065) L(z) possui polos em z = 1 e z = 0,6065 e um zero em z = 0. Os pontos de partida e chegada podem ser calculados a partir de dK dz = 0: K = − (z − 1)(z − 0,6065) 0,3935z dK dz = − z2 − 0,6065 0,3935z2 = 0 cujas raízes resultam em: z2 = 0,6065 z1 = 0,7788 z2 = −0,7788 O ganho crítico Ku pode ser encontrado usando o critério da magnitude: 0,3935z (z − 1)(z − 0,6065) = 1 K o ganho crítico Ku corresponde ao ponto em que z = −1, então: 0,3935z (−2)(−1,6065) = 1 Ku Ku = 8,165 27
  • 28. 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 traços partem dos dois polos em K = 0. Se vamos aumentando o valor de k, um dos traços segue até o zero e o outro tende a infinito (negativo). −2.5 −2 −1.5 −1 −0.5 0 0.5 1 1.5 −1 −0.8 −0.6 −0.4 −0.2 0 0.2 0.4 0.6 0.8 1 Root Locus Real Axis ImaginaryAxis Figura 2.13: RL do sistema do exemplo 2 para T = 0,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=series ( c , BoG) Transfer function : 0.3935 z −−−−−−−−−−−−−−−−−−−−−− z^2 − 1.607 z + 0.6065 Sampling time : 0.5 zpk (FTMA) Zero/ pole / gain : 28
  • 29. 0.39347 z −−−−−−−−−−−−−−−− ( z −1) ( z −0.6065) Sampling time : 0.5 rlocus (FTMA) Se para o sistema anterior fosse usado T = 1 segundo, teríamos: G(z) = 0,6321Kz (z − 1)(z − 0,3679) com os pontos de partida e chegada dados por: z2 = 0,3679 → z1 = 0,6065 e z2 = −0,6065 e o ganho crítico, seria: Ku = 4,328. Se para o sistema anterior fosse usado agora T = 2 segundo, teríamos: G(z) = 0,8647Kz (z − 1)(z − 0,1353) e o ganho crítico, seria agora: Ku = 2,626. Note como a medida que aumenta T, diminui a faixa para o ganho K. 29
  • 30. 30
  • 31. Capítulo 3 Controladores Digitais De modo geral, os controladores digitais a serem estudados nesta seção obedecem ao formato genérico: C(z) = K · (z − a) (z − b) e todos serão aplicados sobre o seguinte tipo de planta (ver figura 3.1): G(s) = 1 s(s + 1) com T = 1 (segundo). Bo(s) YR + - Y T 1 s(s + 1) C(z) T BoG(z) G(s) u(kT)e(kT)e(t) y(t) ou Bo(s) + - Y T 1 s(s + 1) C(z) T BoG(z) G(s) u(kT)e(kT) y(t)r(kT) Sistema Digital Planta ZOH y(kT) Figura 3.1: Sistema usando como exemplo. Este sistema acompanhado de um sustentador de ordem zero, B0G(z), se transforma em: B0G(s) = (1 − e−sT ) · 1 s2 − 1 s + 1 s + 1 31
  • 32. transformando para plano Z temos1: BoG(z) = (1 − z−1 ) · Z 1 s2 − 1 s + 1 s + 1 = (1 − z−1 ) · Tz (z − 1)2 − z z − 1 + z z − e−T = (ze−T − z + Tz) + (1 − e−T − Te−T ) (z − 1)(z − e−T ) para T = 1, temos então: B0G(z) = 0,3678z + 0,2644 (z − 1)(z − 0,3678) = 0,3678 · (z + 0,7183) z2 − 1,3678z + 0,3678 = a(z + b) (z − 1)(z − a) onde a=pólo da planta resultado da digitalização da mesma (a = e−T ); e b=zero da planta. Esta expressão também pode ser obtida no MATLAB fazendo-se: num=1; den=[1 1 0 ] ; T=1; [numd, dend]=c2dm(num, den , T ) numd = 0 0.3679 0.2642 dend = 1.0000 −1.3679 0.3679 printsys (numd, dend , ’ z ’ ) num/den = 0.36788 z + 0.26424 −−−−−−−−−−−−−−−−−−−−−−−− z^2 − 1.3679 z + 0.36788 roots (numd) ans = −0.7183 roots ( dend ) ans = 1.0000 0.3679 Ou também 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/ pole / gain : 1 −−−−−−− s ( s+1) BoG=c2d (G, T ) Transfer function : 0.3679 z + 0.2642 −−−−−−−−−−−−−−−−−−−−−− z^2 − 1.368 z + 0.3679 Sampling time : 1 zpk (BoG) Zero/ pole / gain : 0.36788 ( z+0.7183) −−−−−−−−−−−−−−−−−− ( z −1) ( z −0.3679) Sampling time : 1 1A dedução apresentada de forma mais completa aparece na seção 2.4.3, pág. 17 32
  • 33. A resposta deste sistema para um impulso unitário, R(z)=1 seria: Y(z) = G(z) · 1, cuja resposta inicial no tempo poderia ser obtida pelo método da divisão longa em Z, ou seja: 0,3678z +0,2644 z2 − 1,3678z + 0,3678 −0,3678z +0,5031 +0,1353z−1 0,3678z−1 + 0,7675z−2 + 0,9145z−3 + ... +0,7675 −0,1353z−1 −0,7675 +1,0497z−1 +0,2823z−2 0,9145z−1 −0,2823z−2 ou seja, y(kT) = 0z0 + 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 ??, pág. ??): f(∞) = lim k→∞ f(k) = lim z→1 (1 − z−1 )F(z) a resposta da planta em regime permanente para um impulso unitário aplicado à sua entrada resulta em: y(∞) = lim k→∞ y(kT) = lim z→1 (1 − z−1 ) · Y(z) que neste caso nos dá: y(∞) = lim z→1 (1 − z−1 ) · Y(z) = lim z→∞ z − 1 z · 0,36788z + 0,26424 (z − 1)(z − 0,36788) y(∞) = lim z→1 0,36788z + 0,26424 z(z − 0,36788) = 0,6321 0,6321 = 1 3.1 Simples Controlador Proporcional, K Fechando uma malha de realimentação unitária, este sistema resulta em: FTMF(z) = Y(z) R(z) = FTMA(z) 1 + FTMA(z) = F(z) 1 + F(z) onde FTMA(z) = F(z) tem o seguinte formato: F(z) = K(az + b) z2 − (1 + a)z + a com a = 0,3678 (a = eT ) e b= 0,2644. Os pólos em malha fechada serão as raízes da equação: [1 + F(z)] = 0. Esta também é a equação carac- terística deste sistema: EC(z): FTMF(z) = 0,36788(z + 0,7183) z2 − z + 0,6321 = 0,36788(z + 0,7183) (z − 0,5 − j0,6182)(z − 0,5 + j0,6182) Portanto, se obtêm um equação característica no formato: EC(z) = 1 + F(z) = z2 − (1 + a)z + a + Kaz + Kb = 0 Quando K = 1, obtêm-se: EC(z) = z2 − z + 0,6321 cujos pólos estarão em: z = 0,5 ±j0,6182 ou z = 0,8907 ±45,55o, portanto, ainda dentro do círculo unitário – este sistema responde então de forma subamortecida para uma entrada degrau. Resolvendo no MATLAB temos: ftmf=feedback (BoG , 1 ) %fechando malha com H(s)=1 e realimentacao unitaria Transfer function : 0.3679 z + 0.2642 −−−−−−−−−−−−−−−−− z^2 − z + 0.6321 Sampling time : 1 zpk ( ftmf ) Zero/ pole / gain : 33
  • 34. 0.36788 ( z+0.7183) −−−−−−−−−−−−−−−−−− ( z^2 − z + 0.6321) Sampling time : 1 [num_mf , den_mf]= tfdata ( 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=roots ( den_mf ) %Descobrindo onde foram parar os polos de MF: polos_mf = 0.5000 + 0.6182 i 0.5000 − 0.6182 i [ theta , rho ]= cart2pol ( real ( 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) / pi %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 definição do erro em regime permanente (eq. (1.2) – seção 1, pág. 5), temos: lim k→∞ e(kT) = lim z→1 (z − 1) · 1 1 + F(z) · Yr(z) O e(∞) para entrada degrau unitário fica: e(∞)|u(t) = lim z→1 (z − 1) · 1 1 + F(z) · z (z − 1) = 1 1 + lim z→1 F(z) = 1 1 + Kp onde: Kp = ganho de posição; e F(z) = FTMA(z). Neste caso em particular, BoG(z) ou FTMA(z) é um sitema do tipo 1 (com 1 integrador – pólo em z = 1): B0G(z) = FTMA(z) = 0,36788(z + 0,7183) (z − 1)(z − 0,3679) então: lim k→∞ e(kT) = 1 1 + limz→1 N(z) (z − 1)D (z) = 1 1 + Kp onde, Kp → ∞ e consequentemente, e(∞) = 0. Simulando no MATLAB, se obtêm a resposta mostrada na figura 3.2: step ( ftmf ) 3.1.1 Determinando Km ´ax Note porém 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 instável, usando o método de Jury. Analisando: EC(z) = anzn + an−1zn−1 + ... + a1z + a0 = 0, temos Neste caso: EC(z) = z2 − (1 + a)z + a + Kaz + Kb = 0, onde a = 0,3679 e b= 0,2642, então: EC(z) = z2 + (Ka − 1 − a)z + (a + Kb) EC(z) = z2 + (0,3678K − 1,3679)z + (0,3678 + 0,2644K) = 0 Observando as pré-condições de estabilidade: 34
  • 35. Time (sec.) Amplitude Step Response 0 5 10 15 20 25 0 0.2 0.4 0.6 0.8 1 1.2 1.4 From: U(1) To:Y(1) Figura 3.2: Resposta ao degrau unitário de BoG(z) em malha-fechada quando K = 1. a) |a0| a2, que neste caso, se transforma em: |a + Kb| 1, que resulta em: K 1 − a b , ou seja, K 2,3922, e: K 1 − a b , ou seja, K 2,3922 (condição desprezada). b) EC(1) 0, para sistemas de ordem par, então: EC(1) = 1 + Ka − 1 − a + a + Kb 0, daqui concluímos que: K 0; c) (−1)nEC(−1) 0, então: EC(−1) 0, verificando: EC(−1) = 1 − Ka + 1 + a + a + Kb 0, K(b − a) −2 − 2a, K 2 + 2a b − a , que neste caso, nos fornece: K −12.1986 (condição refutada: ganho negativo). Analisando as condições, chegamos à conclusão de que o ganho neste caso (note que T = 1), deve ficar entre: 0 K 2,3992. Usando-se o MATLAB para comprovar estes resultados, temos: rlocus (numd, dend ) x =[ −1:0.1:1]; y=sqrt ( ones (1 , length ( x ) )−x .^2) ; hold on plot ( x , y , ’ : ’ , x , −y , ’ : ’ ) axis ( ’ equal ’ ) que gera o gráfico mostrado na figura 3.3. Podemos confirmar o valor máximo que poderia ser adotado para K, fazendo no MATLAB: r l o c f i n d (numd, dend ) Select a point in the graphics window selected point = 0.2615 + 0.9455 i ans = 2.2789} Conferindo no gráfico gerado na figura 3.4. Se para o K = 1 pode ser percebido um overshoot de 40%, diminuindo-se este ganho, este valor pode ser baixado se levarmos em consideração ainda que este sistema em malha fechada responde como um sistema 35
  • 36. -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -1.5 -1 -0.5 0 0.5 1 1.5 Real Axis ImagAxis Figura 3.3: RL para BoG(z) = 0.3678(z+0.7183) (z−1)(z−0.3678) . -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -1.5 -1 -0.5 0 0.5 1 1.5 Real Axis ImagAxis K=2.2789 K=3.1892 K=0.9186 K=0.1964 Figura 3.4: Sintonizando o controlador proporcional no RL. de segunda ordem, então basta definir valores convenientes para o fator de amortecimento (principalmente), , e para a freqüência natural, n. Um valor melhor tolerado, seria um overshoot de 5% que se obtêm 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: zgrid (0.7 ,0.5 , ’new ’ ) rlocus (numd, dend ) axis ( ’ equal ’ ) hold on r l o c f i n d (numd, dend ) Select a point in the graphics window selected point = 0.6077 + 0.2537 i ans = 0.3284 36
  • 37. O gráfico gerado pelo MATLAB é mostrado na figura 3.5. -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -1.5 -1 -0.5 0 0.5 1 1.5 Real Axis ImagAxis K=0.3284 =0.7 wn =0.5 Figura 3.5: Ajustando ganho do controlador proporcional para limitar %OS. Comprovando a saída no domínio tempo, podemos fazer no MATLAB: K=0.32; [num_mf , den_mf]= feedback (K numd, dend ,1 ,1 , −1) ; printsys (num_mf , den_mf , ’ z ’ ) num/den = 0.11772 z + 0.084557 −−−−−−−−−−−−−−−−−−−− z^2 − 1.2502 z + 0.45244 dstep (num_mf , den_mf ) } o que gera o gráfico mostrado na figura 3.6. Time (sec.) Amplitude Step Response 0 5 10 15 20 25 0 0.2 0.4 0.6 0.8 1 1.2 1.4 From: U(1) To:Y(1) Figura 3.6: Resposta ao degrau depois de nova sintonia do controlador proporcional – note o menor overshoot. 37
  • 38. O valor em regime permanente para y(kT) quando R(z) = entrada degrau unitário, resulta em: y(∞) = lim z→1 (z − 1) · FTMF(z) · z z − 1 = lim z→1 FTMF(z) usando o MATLAB para calcular y(∞)Degrau: polyval (num_mf , 1 ) / polyval ( den_mf , 1 ) ans = 1.0000} Se fosse desejado simular um outro tipo de entrada ao sistema, poderíamos fazê-lo facilmente no MA- TLAB. Supondo o caso de se querer simular uma entrada parabólica: for i =0:10 , u ( i +1)= i ^2; end plot (u , ’b : ’ ) hold on dlsim (num_mf , den_mf , u ) Que gera o gráfico mostrado na figura 3.7. Time (sec.) Amplitude Linear Simulation Results 0 2 4 6 8 10 12 0 10 20 30 40 50 60 70 80 90 100 To:Y(1) u(k)=k2 y(k) Figura 3.7: Resposta do sistema a uma entrada parabolica. Simulando uma entrada rampa para o caso anterior: R(z) = Tz (z − 1)2 , temos: num_r=[1 0 ] ; den_r=conv ([1 −1] ,[1 −1]) [num_mf2 , den_mf2]= series (num_mf , den_mf , num_r , den_r ) ; printsys (num_mf2 , den_mf2 , ’ z ’ ) ; num/den = 0.11772 z^2 + 0.084557 z −−−−−−−−−−−−−−−−−−−−−−−−−− z^4 − 3.2502 z^3 + 3.9528 z^2 − 2.155 z + 0.45244 Determinando o erro em regime permanente temos: y(∞) = cte que no MATLAB pode ser calculado fazendo-se: Falta revisar esta parte (7 nov 2013) 38
  • 39. ou seja, observamos que este controlador (proporcional) não é 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) = Z−1 Tz (z − 1)2 = k · T: for i =0:25; k ( i +1)= i ; r ( k+1)=k T ; end ; plot ( k , r , ’b : ’ ) hold on dlsim (num_mf , den_mf , r ) se gera o gráfico mostrado na figura 3.8. Time (sec.) Amplitude Linear Simulation Results 0 5 10 15 20 25 0 5 10 15 20 25 To:Y(1) Figura 3.8: Resposta do sistema à uma entrada rampa. 3.2 Controlador (polinomial) cancelando pólo(s) dominante(s) Continuando com o projeto de um controlador digital no formato C(z) = K · z − a z − b ; podemos fazer que a = pólo mais dominante da planta, ou seja: C(z) = K(z − 0,36788) (z + 0,24) lembrando que: B0G(z) = 0,36788 · (z + 0,7183) (z − 1)(z − 0,36788) 39
  • 40. Pólos Dominantes no Plano-Z Assim como ocorre no plano-s, algumas raízes no plano-z geram efeito mais preponderante que outros. É importante no projeto de um controlador separar estas raízes consideradas dominantes. No plano-se, as raízes localizadas próximas do eixo j no semi-plano esquerdo eram consideradas dominantes porque sua correspondente resposta temporal mostra um decaimento mais lento. As raízes que estão localizadas mais longe do eixo j correspondem à responstas que decaim mais rápido. No plano-z, as raízes dominantes são aquelas que estão dentro e próximas do círculo unitário enquanto a região (no plano-z) menos significativa é que está próxima da origem do plano-z. O eixo real negativo é geralmente evitado uma vez que sua resposta temporal é naturalmente oscilatória (sinal alternando entre instantes de amostragem). A figura AA mostra as regiões para raízes dominantes e menos, tanto no plano-s quanto no plano-z. Obs.: Extraído de: Kar and Majhi[Module 4, Lecture 2]. Figura AA: Mapeamento de pólos e zeros de um sistema de segunda ordem. No plano-z, as raízes próximas da origem são menos significativas do ponto de vista de overshoot e fator amortecimento.. Entretanto, estas raízes não podem ser completamente desconsideradas uma vez que um número excessivo de pólos em relação à zeros gera um efeito de delay na região inicial da resposta no tempo. Isto é, adicionar pólos em z = 0 não vai afetar nem o overshoot e nem o fator amortecimento, mas o tempo de resposta vai apresentar um delay adicional de um período de amostragem. A melhor maneira de simplificar (tonar menos complexo, com menor ordem) um sistema no plano-z é trocar os pólos próximos da origem por pólos em z = 0 o que vai simplificar a análise uma vez que pólos em z = 0 correspondem à puros atrasos no tempo. A idéia é via controlador se cancelar o polo da planta em z = −0,36788. O que torna a função transferên- cia em malha aberta deste sistema em: F(z) = K · 0,36788 · (z + 0,7183) (z − 1)(z + 0,24) que dá como lugar das raízes um gráfico como o mostrado pela figura 3.9. Seguem comandos no MATLAB usados para gerar a figura 3.9. fnum=numd; fden=conv ([1 textbf { { } − 1 } ] , [ 1 textbf { 0 . 2 4 } ] ) ; printsys ( fnum , fden , ’ z ’ ) num/den = 0.36788 z + 0.26424 −−−−−−−−−−−−−−−−−−− z^2 − 0.76 z − 0.24 rlocus ( fnum , fden ) hold on 40
  • 41. zgrid ( 0 . 7 , 0 . 5 ) ; axis ( ’ equal ’ ) ; r l o c f i n d ( fnum , fden ) Select a point in the graphics window selectedpoint = −0.4795 + 0.8538 i ans = 4.6445 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 Real Axis ImagAxis K=4,6445 Figura 3.9: RL do Controlador cancelando pólo dominante de BoG(z). Mas se queremos que o sistema responda com %OS de no máximo 5%, fazemos = 0.7 e então 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) ; printsys (num_mf , den_mf , ’ z ’ ) num/den = 0.44146 z + 0.31709 −−−−−−−−−−−−−−−−−−−−− z^2 − 0.31854 z + 0.077089 dstep (num_mf , den_mf ) que resulta no gráfico mostrado na figura 3.11. 41
  • 42. -3 -2.5 -2 -1.5 -1 -0.5 0 0.5 1 1.5 2 -1.5 -1 -0.5 0 0.5 1 1.5 Real Axis ImagAxis K=1.2828 =0.7 Figura 3.10: Sintonizando controlador por cancelamento de pólo dominante. Time (sec.) Amplitude Step Response 0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1 1.2 1.4 From: U(1) To:Y(1) Figura 3.11: Resposta à entrada degrau para controlador cancelando pólo dominante. 42
  • 43. Time (sec.) Amplitude Linear Simulation Results 0 5 10 15 20 25 0 5 10 15 20 25 To:Y(1) Figura 3.12: Resposta à entrada rampa para controlador por cancelamento de pólo dominante. O valor em regime permanente de y(kT) pode ser calculado como: polyval (num_mf , 1 ) / polyval ( den_mf , 1 ) } ans = 1.0000 ou seja, erro nulo para entrada degrau. Mas este controlador ainda não resolve o problema de anular o erro para entrada rampa, que resulta no gráfico da figura 3.12. 3.3 Cancelamento imperfeito de pólos-zeros Detalhe: na prática não se consegue realizar um cancelamento perfeito de pólos-zeros, seja porque nem sempre nosso sistema digital de controle opera com números em ponto flutuante, seja porque o cálculo não éexecutado com precisão suficiente ou seja porque o conversor final de digital para analógico trabalha com poucosbits de resolução (baixa quantização do sinal). No caso real, o que poderia acontecer? Levando em conta o exemplo anterior, vamos supor que o pólo que gostaríamos de cancelar seria em z = 0,36788 que note, é proporcional à: a = e−T (ou seja, o pólo ainda se desloca em função do período de amostragem adotado). Vamos super que consigamos sintetizar no máximoum valor de a = 0,36 – o que acontece? Então nosso controlador fica: C(z) = K · (z − a) (z + 0,24) = 1,20 · (z − 0,36) (z + 0,24) A função transferência em malha aberta fica: FTMA(z) = F(z) = C(z) · B0G(Z) = 1,20 · 0,3678 · (z − 0,36) · (z + 0,7183) (z − 1) · (z − 0,3678) · (z + 0,24) No MATLAB: K=1.2; cnum=[1 −0.36]; cden=[1 0. 24] ; printsys (cnum, cden , ’ z ’ ) num/den = z − 0.36 −−−−−−−−−− z + 0.24 roots (cnum) ans = 0.3600 43
  • 44. roots ( dend ) ans = 1.0000 0.3679 [ fnum , fden ]= series (cnum, cden , numd, dend ) ; printsys ( fnum , fden , ’ z ’ ) ; num/den = 0.36788 z^2 + 0.1318 z − 0.095127 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^3 − 1.1279 z^2 + 0.039588 z + 0.088291 roots ( fnum ) ans = −0.7183 0.3600 roots ( fden ) ans = 1.0000 0.3679 −0.2400 O diagrama de lugar das raízes para este sistema fica: rlocus ( fnum , fden ) zgrid (0 ,0) ; axis ( ’ equal ’ ) hold on zgrid ( 0 . 7 , 0 . 5 ) ; rlocus ( fnum , fden , K) axis ([ −2 1.5 −1.1 1 . 1 ] ) o que gera o gráfico monstrado da figura 3.13. -2 -1.5 -1 -0.5 0 0.5 1 1.5 -1 -0.5 0 0.5 1 Real Axis ImagAxis K=1.2 =0.7 Figura 3.13: RL para o caso de cancelamento imperfeito de pólos-zeros. Um “zoom” sobre a região onde o cancelamento não foi perfeito é mostrado na figura 3.14. A resposta para a entrada degrau fica então: axis ([ −2 1.5 −1.1 1 . 1 ] ) [num_mf , den_mf]= feedback (K fnum , fden ,1 ,1 , −1) ; printsys (num_mf , den_mf , ’ z ’ ) num/den = 0.44146 z^2 + 0.15817 z − 0.11415 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^3 − 0.68642 z^2 + 0.19775 z − 0.025861 dstep (num_mf , den_mf ) e se obtêm o gráfico mostrado na figura 3.15. 44
  • 45. 0 0.2 0.4 0.6 0.8 1 1.2 -0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 Real Axis ImagAxis K=1.2 =0.7 Figura 3.14: Ampliação sobre região de interesse da figura 3.13. Time (sec.) Amplitude Step Response 0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1 From: U(1) To:Y(1) Figura 3.15: Resposta à entrada degrau no caso do cancelamento imperfeito de pólos-zeros. Nota-se que a resposta sofreu um ligeiro atraso. Mas este não é todo o problema envolvido com o mundo real. Devemos ficar atentos ao esforço de controle que foi realizado neste caso, ou seja, é interessante analizar a variação do sinal de controle, u(kT). Valores elevados podem causar a saturação de um estágio de potência que esteja ligado na saída do conversor D/A, ou saturação do próprio D/A. A figura 3.16 mostra uma simulação do sistema anterior no MATLAB/Simulink. Atenção para alguns ajustes necessário no Simulink, por exemplo, nas propriedades para os blocos To Workspace, notar que para facilidade de uso a caixa Save Format deve ficar ajustada para matrix, como mostra a figura 3.17. Os parâmetros da simulação devem ser ajustadas para o tempo máximo de 10 segundos, conforme mostra a figura 3.18. Depois de usar os blocos “To Workspace”, pode-se visualizar melhor os resultados graficamente, no MA- 45
  • 46. Zero-Order Hold t To Workspace4 r To Workspace3 e To Workspace2 u To Workspace1 y To Workspace Step 1 s +s2 Planta 1.2 Gain 12:34 Digital Clock z-0.36 z+0.24 Controlador Figura 3.16: Simulação do controlador por cancelamento de pólos dominantes. ! Figura 3.17: Parâmetros dos blocos “To Workspace” que devem ser ajustados. ! Figura 3.18: Parâmetros de simulação. TLAB, usando os vetores criados e os comandos plot(·) e stairs(·): subplot (211) } s t a i r s ( t , r , ’b : ’ ) ; hold on ; s t a i r s ( t , y , ’k− ’ ) ; axis ([0 10 0 1 . 1 ] ) 46
  • 47. 0 1 2 3 4 5 6 7 8 9 10 0 0.2 0.4 0.6 0.8 1 r(kT) y(kT) 0 1 2 3 4 5 6 7 8 9 10 0 0.5 1 e(kT) u(kT) u(max)=1.2 Figura 3.19: Resultados da simulação realizada no Simulink. legend ( ’ r ( kT ) ’ , ’ y ( kT ) ’ ) subplot (212) ; 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 Desta forma se obtêm os gráficos mostrados na figura 3.19. Note que se a saída do controlador para este sistema estivesse normalizada, tentaríamos impor ao atu- ador na planta um sobrevalor de 20% (u(.)=1.2). Na prática, nem sempre isto é aceitável e nosso sinal de controle deve variar dentro de parâmetros fixos (conhecidos para o sistema em questão). 47
  • 48. 3.4 Projeto de Controlador Digital usando Root Locus Quando se projetava controladores no domínio tempo usando o diagrama de Lugar das Raízes (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 (pólos dominantes complexos – sistema de 2a-ordem, sobre-amortecido, 0 1). Tipos de Controladores: Diferentes tipos de controladores já foram estudados (controle automático con- tínuo 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 transitória. Do mesmo modo, um controlador por Avanço de Fase servia para melhorar a resposta dinâmica enquanto um controlador por Atraso de Fase melhorava a resposta em regime permanente. Cancelamento Polo-Zero: Um método comum de projeto de controladores no plano-s ou plano-z consiste em cancelar os polos indesejados (lentos) ou zeros da função transferência da planta através dos zeros e polos do controlador. Com os controladores digitais, podemos agora, acrescentar polos e zeros em algumas posições vantajosas. Entretanto, devemos levar em consideração que a abordagem de cancelamento de polos e zeros nem sempre resulta numa solução satisfatória. Por exemplo, se os polos indesejáveis estão próximos do eixo j , se ocorre cancelamentos inexatos o que é praticamente inevitável na prática (por erros de arredondamento, precisão numérica de cálculo, truncagem de resultados), o resultado pode conduzir a um sistema de malha fechada marginalmente estável ou mesmo num sistema instável em malha fechada. Por esta razão, não se deve tentar cancelar um polo instável. 3.4.1 Compensador por Avanço de Fase Considere um compensador no formato: C(z) = K z + a z + b . Ele se tornará um compensador de avanço de fase se seu zero se localizar à direita do seu polo. Procedimento: 1. Calcule a posição desejada para os polos de malha fechada baseado nos critérios fornecidos para o projeto do controlador. 2. Mapeie os polos do plano-s para o plano-z (usando a definição da Transformada Z). 3. Verifique se a frequência de amostragem é de 8 à 10 vezes maior que a frequência de oscilação amor- tecida desejada. 4. Calcule a contribuição dos ângulos relativa à todos os polos e zeros de malha aberta com relação à desejada posição para os polos de malha fechada. 5. Calcule a contribuição exigida pela função transferência do controlador para que o ângulo desejado (contribuição necessária) seja satisfeita. 6. Posicione o zero do controlador numa posição adequada (cancelando algum polo dominante da planta) e calcule a contribuição angular que deve vir do polo do controlador. 7. Determine a localização do polo do controlador de forma a proporcionar o ângulo necessário. 8. (Finalmente) descubra o valor do ganho K usando o critério 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 período de amostragem, T = 0,2 segundos. Solução: O par de polos dominantes complexos no domínio contínuo devem estar em: − n ± j n 1 − 2, onde n 48
  • 49. Figura 3.20: Sistema de controle discreto – projeto do controlador por avanço de fase. corresponde à frequência natural de oscilação não amortecida. Sabemos que: ts = 4 n = 2 segundos, então, n = 4 (rad/s). 49
  • 50. 3.5 Projeto de Controlador PI usando Root Locus Deseja-se projetar um controlador digital para garantir erro nulo ao regime permanente para entrada degrau acompanhado de uma resposta dinâmica satisfatória. A constante de erro de velocidade deve ser pelo menos 5. O período de amostragem adotado é de 0,1 segundos. A planta é dada por: G(s) = 10 (s + 1)(s + 2) Usando o MATLAB podemos determinar boG(z): num=10; den=conv ([1 1] ,[1 2]) ; G=t f (num, den ) ; zpk (G) ans = 10 −−−−−−−−−−− ( s+2) ( s+1) Continuous−time zero / pole / gain model . T=0.1; BoG=c2d (G, T ) BoG = 0.04528 z + 0.04097 −−−−−−−−−−−−−−−−−−−−−− z^2 − 1.724 z + 0.7408 Sample time : 0.1 seconds Discrete −time transfer function . zpk (BoG) ans = 0.04528 ( z+0.9048) −−−−−−−−−−−−−−−−−−−−− ( z −0.9048) ( z −0.8187) Sample time : 0.1 seconds Discrete −time zero / pole / gain model . Assim temos que: BoG(z) = 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 função transferência de um controlador PI no domínio-Z usando integração retangular resulta em: C(z) = kp + Ki T z − 1 = Kp z − (Kp − Ki T) z − 1 O parâmetro 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 não nulo mas finito para entradas de primeira ordem (rampa). Lembrando que: Entrada Rampa = Tz (z − 1)2 o erro em regime permanente é dado por: ess = lim z→1 (1 − z−1 ) 1 1 + FTMA(z) R(z) = lim z→1 T (z − 1)FTMA(z) = 1 Kv onde Kv = 1 T limz→1 [(z − 1)FTMA(z)] é conhecido como a constante de erro de velocidade. Neste caso Kv ≥ 5: Kv = 1 T lim z→1 (z − 1) Kpz − (Kp − Ki T) · (0,04528z + 0,04097) (z − 1) · (z2 − 1,724z + 0,7408) Kv = 1 T Kp − Kp + Ki T (0,04528 + 0,04097) (z − 1,724 + 0,7408) 50
  • 51. Kv = 1 T (Ki T)0,0863 0,0173 Kv = 5,0Ki onde os fatores 0,0863 e 0,0173 podem ser determinados com o auxílio do Matlab: [numd, dend]= tfdata (BoG , ’ v ’ ) numd = 0 0.0453 0.0410 dend = 1.0000 −1.7236 0.7408 lim1=polyval (numd, 1 ) lim1 = 0.0863 lim2=polyval ( dend , 1 ) lim2 = 0.0173 lim1 / lim2 ans = 5.0000 Desta forma, os requisitos de desempenho dinâmico para este sistema serão satisfeitos se Ki ≥ 1. Se Ki = 1 a função transferência em malha aberta fica: FTMA(z) = C(z) · BoG(z) FTMA(z) = [Kp(z − 1) + Ki T 0,1 ][0,04528(z + 0,9048)] (z − 1)(z − 1,724z + 0,7408) FTMA(z) = 0,04528Kp (z − 1)(z + 0,9048) + 0,1 (Ki T) 0.04528(z + 0,9048) z3 − 2,7235z2 + 2,4643z − 0,7408 FTMA(z) = (0,04528Kp)z2 + (0,004528 − 0,0043Kp)z + (0,004097 − 0,04097Kp) z3 − 2,7235z2 + 2,4643z − 0,7408 (3.1) Onde a FTMA(z) pode ser obtido com a ajuda do Matlab (neste caso Kp = 1 e Ki = 1): notar que: C(z) = Kpz − (Kp − Ki T) (z − 1) se transforma em: C(z) = z − (1 − 0,1) z − 1 = z − 0,9 z − 1 e então: [numd, dend]= tfdata (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 −0.7408 K_i =1; K_p=1; %parâmetros 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 Discrete −time transfer function . zpk (C) ans = ( z −0.9) −−−−−−− ( z −1) Sample time : 0.1 seconds Discrete −time zero / pole / gain model . %determinando FTMA(z): FTMA=series (C, BoG) FTMA = 0.04528 z^2 + 0.000219 z − 0.03687 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^3 − 2.724 z^2 + 2.464 z − 0.7408 Sample time : 0.1 seconds Discrete −time transfer function . 51
  • 52. −6 −5 −4 −3 −2 −1 0 1 2 −3 −2 −1 0 1 2 3 Root Locus Real Axis ImaginaryAxis (a) RL sem zoom. 0.8 0.85 0.9 0.95 1 −0.15 −0.1 −0.05 0 0.05 0.1 0.15 Root Locus Real Axis ImaginaryAxis (b) Zoom sobre o gráfico original. Figura 3.21: Lugar das raízes para sistema com controlador PI. zpk (FTMA) ans = 0.04528 ( z+0.9048) ( z −0.9) −−−−−−−−−−−−−−−−−−−−−−−−−−− ( z −1) ( z −0.9048) ( z −0.8187) Sample time : 0.1 seconds Discrete −time zero / pole / gain model . %Podemos obter o RL para a FTMA(z): rlocus (FTMA) O diagrama do lugar das raízes pode ser visto na figura 3.21. Note que temos 2 zeros (de malha-aberta) nas posições: z = −0,9048 e z = 0,9 e pólos (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 é estável 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) não corresponde diretamente ao ganho Kp, uma vez que alterações no valor de Kp fazem variar a posição 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 válido 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 função transferência em malha-aberta – (3.1) obtemos os resultados mostrados na figura 3.24. Este resultado foi obtido seguindo as seguintes instruções no MATLAB: %Se Kp=0.4 e Ki=1: Kp=0.4; num_c3=[Kp −(Kp−Ki T ) ] ; den_c3=[1 −1]; C3=t f (num_c3 , den_c3 , T ) C3 = 0.4 z − 0.3 −−−−−−−−−−− z − 1 Sample time : 0.1 seconds Discrete −time transfer function . zpk (C3) ans = 0.4 ( z −0.75) −−−−−−−−−−−− ( z −1) Sample time : 0.1 seconds Discrete −time zero / pole / gain model . ftma3=series (C3 , BoG) ftma3 = 0.01811 z^2 + 0.002804 z − 0.01229 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^3 − 2.724 z^2 + 2.464 z − 0.7408 Sample time : 0.1 seconds 52
  • 53. 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 −0.2 0 0.2 0.4 0.6 0.8 System: ftma Gain: 1.37 Pole: 0.881 + 0.322i Damping: 0.18 Overshoot (%): 56.3 Frequency (rad/s): 3.57 System: ftma Gain: 4.81 Pole: 0.803 + 0.613i Damping: −0.0155 Overshoot (%): 105 Frequency (rad/s): 6.52 System: ftma Gain: 10.8 Pole: 0.666 + 0.907i Damping: −0.125 Overshoot (%): 149 Frequency (rad/s): 9.45 Root Locus Real Axis ImaginaryAxis Figura 3.22: RL aumentado com valores de ganhos para o controlador PI. 0.5 0.6 0.7 0.8 0.9 1 1.1 1.2 1.3 1.4 −0.2 0 0.2 0.4 0.6 0.8 System: ftma Gain: 4.81 Pole: 0.803 + 0.613i Damping: −0.0155 Overshoot (%): 105 Frequency (rad/s): 6.52 System: ftma Gain: 1.37 Pole: 0.881 + 0.322i Damping: 0.18 Overshoot (%): 56.3 Frequency (rad/s): 3.57System: ftma Gain: 0.252 Pole: 0.908 + 0.112i Damping: 0.588 Overshoot (%): 10.2 Frequency (rad/s): 1.52 Root Locus Real Axis ImaginaryAxis ζ=0,5912 Figura 3.23: RL com alguns valores de ganho e = 0,5912 (%OS=10%). 53
  • 54. Discrete −time transfer function . zpk ( ftma3 ) ans = 0.018112 ( z+0.9048) ( z −0.75) −−−−−−−−−−−−−−−−−−−−−−−−−−−− ( z −1) ( z −0.9048) ( z −0.8187) Sample time : 0.1 seconds Discrete −time zero / pole / gain model . ftmf3=feedback ( ftma3 , 1 ) ftmf3 = 0.01811 z^2 + 0.002804 z − 0.01229 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^3 − 2.705 z^2 + 2.467 z − 0.7531 Sample time : 0.1 seconds Discrete −time transfer function . ftmf3=feedback ( ftma3 , 1 ) ftmf3 = 0.01811 z^2 + 0.002804 z − 0.01229 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^3 − 2.705 z^2 + 2.467 z − 0.7531 Sample time : 0.1 seconds Discrete −time transfer function . figure ; step ( ftmf3 ) Notar pela figura 3.24, que tanto o sobressinal gerado foi elevado, %OS=70%, quanto o tempo de acomodação do sistema: ts = 19,2 segundos. Step Response Time (seconds) Amplitude 0 5 10 15 20 25 30 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 System: ftmf3 Peak amplitude: 1.7 Overshoot (%): 69.7 At time (seconds): 1.6 System: ftmf3 Settling time (seconds): 19.2 Figura 3.24: Resposta do sistema com PI ajustado com Kp = 0,4 e Ki = 1,0. A figura 3.25 mostra o RL para o PI anterior. Se por outro lado fizermos Ki = 10 (Ki 1) para garantir Kv 5, C(z) se torna: C(z) = Kp (z − 1) − 1 z − 1 e então podemos usar MATLAB para determinar a FTMA(z) considerando Kp = 1: K_i =10; K_p=1; num_c=[K_p −(K_p−K_i T) ] num_c = 1 0 den_c=[1 −1]; C=t f (num_c , den_c , T ) 54
  • 55. 0.6 0.7 0.8 0.9 1 1.1 1.2 −0.1 0 0.1 0.2 0.3 0.4 System: ftma3 Gain: 0.46 Pole: 0.961 + 0.133i Damping: 0.214 Overshoot (%): 50.3 Frequency (rad/s): 1.41 System: ftma3 Gain: 1.86 Pole: 0.958 + 0.263i Damping: 0.0245 Overshoot (%): 92.6 Frequency (rad/s): 2.68 System: ftma3 Gain: 0.114 Pole: 0.957 + 0.057i Damping: 0.579 Overshoot (%): 10.7 Frequency (rad/s): 0.73 System: ftma3 Gain: 0.114 Pole: 0.957 + 0.057i Damping: 0.579 Overshoot (%): 10.7 Frequency (rad/s): 0.73 System: ftma3 Gain: 0.114 Pole: 0.957 + 0.057i Damping: 0.579 Overshoot (%): 10.7 Frequency (rad/s): 0.73 System: ftma3 Gain: 0.0446 Pole: 0.955 + 0.00148i Damping: 0.999 Overshoot (%): 0 Frequency (rad/s): 0.465 Root Locus Real Axis ImaginaryAxis Figura 3.25: RL para PI com Kp = 0,4 e Ki = 1,0. C = z −−−−− z − 1 Sample time : 0.1 seconds Discrete −time transfer function . FTMA=series (C, BoG) FTMA = 0.04528 z^2 + 0.04097 z −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^3 − 2.724 z^2 + 2.464 z − 0.7408 Sample time : 0.1 seconds Discrete −time transfer function . zpk (FTMA) ans = 0.04528 z ( z+0.9048) −−−−−−−−−−−−−−−−−−−−−−−−−−− ( z −1) ( z −0.9048) ( z −0.8187) Sample time : 0.1 seconds Discrete −time zero / pole / gain model . OS=10; %percentual de sobrepasso zeta=(−log (OS/100) ) /( sqrt ( pi ^2+( log (OS/100) ^2) ) ) zeta = 0.5912 rlocus (FTMA) hold on zgrid ( zeta , 0 ) O RL obtido com o código anterior é mostrado na figura 3.26. Notar que neste caso, a faixa de valores do ganho K que pode ser usado para o sistema ainda ser estável (K 0,0655) e para baixo sobressinal é mais baixo (K 0,00769), ver figura 3.27. 55
  • 56. −7 −6 −5 −4 −3 −2 −1 0 1 2 −3 −2 −1 0 1 2 3 Root Locus Real Axis ImaginaryAxis Figura 3.26: RL para controlador PI com Kp = 1 e Ki = 10. Root Locus Real Axis ImaginaryAxis −0.2 0 0.2 0.4 0.6 0.8 1 1.2 −0.5 −0.4 −0.3 −0.2 −0.1 0 0.1 0.2 0.3 0.4 0.5 System: FTMA Gain: 0.0655 Pole: 0.992 + 0.146i Damping: −0.017 Overshoot (%): 105 Frequency (rad/s): 1.47 0.591 System: FTMA Gain: 0.00769 Pole: 0.965 + 0.0433i Damping: 0.614 Overshoot (%): 8.68 Frequency (rad/s): 0.569 Figura 3.27: RL expandido mostrando faixa para baixos valores de K. 56
  • 57. 3.6 Controlador Dead-beat (Controle por tempo mínimo, finito) Idéia: fazer o sistema em malha fechada atingir o regime permanente no menor tempo possível (no tempo mínimo absoluto, k = 1) ou dentro de um número finito de períodos amostrados. Para tanto, C(z) deve conter todos os pólos e zeros de BoG(z), isto é: • Os pólos de C(z) contêm os zeros de BoG(z); • Os zeros de C(z) contêm os pólos de BoG(z); e além disto, são acrescentados tantos integradores quanto os necessários para anular (zerar) o erro em regime permanente para o tipo de entrada especificado, ou: C(z) = Kc · PE n=1 z − pBoG(z)n ZE m=1 z − zBoG(z)m · (z − 1)w (3.2) onde: Kc = ganho do controlador; ZE = quantidade de zeros estáveis da planta (BoG(z)); PE = quantidade de pólos estáveis da planta; zBoG(z)n = n-ésimo zero da planta; pBoG(z)m = m-ésimo pólo da planta; (z − 1) = são integradores impostos pelo integrador no sistema em malha fechada; w = número de integradores necessários para tornar nulo o erro em regime per- manente – depende do tipo de entrada com a qual se está esperando operar a planta (degrau, rampa, parábola, etc). Note que o controlador não cancela pólos ou zeros instáveis da planta. Se estes existirem, estes são desconsiderados na equação de C(z). 3.6.1 Exemplo1: O controlador Deadbeat Seja a função transferência de uma planta digital dada por: BoG(z) = z + 0,6 3z2 − z − 1 Suponha que acrescentaremos o controlador digital em cascata com a planta: C(z) = 3z2 − z − 1 (z − 1)(z + 0,6 Desta forma, a função transferência de malha aberta torna-se: FTMA(z) = C(z)BoG(z) = 1 z − 1 E assim a função transferência de malha-fechada fica: FTMF(z) = FTMA(z) 1 + FTMA(z) = 1 z (3.3) Note que a eq. (3.3) quando excitada por uma entrada degrau unitário resulta em: Y(z) = 1 z · z (z − 1) = z−1 + z−2 + ... ou seja, a saída y(k) representa a resposta do sistema em malha-fechada para uma entrada degrau unitário e que inicia em k = 1, ou seja, um período de amostragem seguinte ao acionamento do sistema. Note que y(k) alcança a resposta desejada igual a 1 com apenas 1 período de amostragem de atraso e que a saída permanece neste estado indefinidamente. Ou seja, que logo após 1 único período de amostra- gem, 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) não garante que oscilações (ripples) não vão ocorrer entre dois instantes de amostragem de y(k), ou seja, entre os instantes amostrados da resposta do sistema. 57
  • 58. 3.6.2 Exemplo2: Projeto de Controlador Deadbeat Seja a planta indicada à seguir, projetar um controlador pelo critério do tmepo mínimo, garantindo ainda erro nulo em regime permanente para entrada degrau unitário. Dados da planta: G(s) = 10 (s + 1)(s + 10) Solução: 1. Primeiramente determinamos a função transferência amostrada da planta: BoG(z). Usando o MATLAB, podemos fazer: num=10; help poly POLY Convert roots to polynomial . POLY(A) , when A i s an N by N matrix , i s a row vector with N+1 elements which are the c o e f f i c i e n t s of the characteristic polynomial , DET( lambda EYE ( SIZE (A) ) − A) . den=poly ([ −1 −10]) ; G=t f (num, den ) ; zpk (G) %confirmando que entramos corretamente com os dados para G(s) Zero/ pole / gain : 10 −−−−−−−−−−−− ( s+10) ( s+1) %Resta discretizar G(s): T=0.1; %guardando o período de amostragem adotado. BoG=c2d (G, T ) %aplicando o ZOH sobre G(s) Transfer function : 0.0355 z + 0.02465 −−−−−−−−−−−−−−−−−−−−−− z^2 − 1.273 z + 0.3329 Sampling time : 0.1 zpk (BoG) %mostrando dados expandidos Zero/ pole / gain : 0.035501 ( z+0.6945) −−−−−−−−−−−−−−−−−−−−− ( z −0.9048) ( z −0.3679) Sampling time : 0.1 Então BoG(z) assume o formato: BoG(z) = 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: C(z) = Kc · (z − 0.9048)(z − 0.3679) (z + 0.6945)(z − 1) (3.4) 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 necessário acrescentar algum pólo 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 tfdata −−− help for l t i / tfdata −−− TFDATA Quick access to transfer function data . [NUM, DEN] = TFDATA(SYS ) returns the numerator ( s ) and denominator ( s ) of the transfer function SYS . For a transfer function with NY outputs and NU inputs , NUM and DEN are NY−by−NU c e l l arrays where the ( I , J ) entry specifies the transfer function from input J to output I . SYS i s f i r s t converted to transfer function i f necessary . For a single SISO model SYS , the syntax [NUM, DEN] = TFDATA(SYS , ’ v ’ ) returns the numerator and denominator as row vectors rather than c e l l arrays . [num_BoG , den_BoG]= tfdata (BoG , ’ v ’ ) %extraindo dados de BoG(z) num_BoG = 58
  • 59. 0 0.0355 0.0247 den_BoG = 1.0000 −1.2727 0.3329 roots (num_BoG) ans = −0.6945 polos_BoG=roots ( den_BoG ) polos_BoG = 0.9048 0.3679 zeros_BoG=roots (num_BoG) zeros_BoG = −0.6945 num_c=poly ( polos_BoG ) ; %construindo numerador de C(z), polinomialmente den_c=poly ([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^2 − 0.3055 z − 0.6945 Sampling time : 0.1 zpk (C) %verificando formato do controlador... Zero/ pole / gain : ( z −0.9048) ( z −0.3679) −−−−−−−−−−−−−−−−−−−−− ( z −1) ( z+0.6945) Sampling time : 0.1 3. O passo seguinte é fechar a malha de realimentação, incluindo a determinação de Kc. Usando o MATLAB: FTMA=series (C, BoG) %determinando primeiro a FTMA(z) Transfer function : 0.0355 z^3 − 0.02053 z^2 − 0.01956 z + 0.008206 −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− z^4 − 1.578 z^3 + 0.02728 z^2 + 0.7821 z − 0.2312 Sampling time : 0.1 zpk (FTMA) %confirmando localizacao final dos polos e zeros de C(z)BoG(z): Zero/ pole / gain : 0.035501 ( z+0.6945) ( z −0.9048) ( z −0.3679) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ( z+0.6945) ( z −0.9048) ( z −1) ( z −0.3679) Sampling time : 0.1 %note que usando o comando minreal(..) se poderia cancelar polos-zeros numericamente, por exemplo: FTMAr=minreal (FTMA,1e−4) ; zpk ( FTMAr ) %versao numerica com polos-zeros cancelados Zero/ pole / gain : 0.035501 −−−−−−−− ( z −1) Sampling time : 0.1 %mas continuar com FTMA(z) permite vizualizar os cancelamentos polos-zeros %no diagrana do lugar das raizes Notamos então que a função transferência em malha-aberta, FTMA(z) fica: FTMA(z) = C(z) · BoG(z) = 0.035501 (z − 1) (3.5) ou seja, resultou exatamente no que se pretendia. Inspecionando a eq. (3.5) percebe-se que nosso sistema em malha-aberta contêm apenas 1 pólo em z = 1. Quando o laço de realimentação for fechado, com a introdução do ganho do controlador, Kc, se percebe que este pólo de malha-aberta partirá do ponto z = 1 e “caminhará” até z = −∞, a medida que Kc aumenta. Ou seja, teremos como resultado apenas 1 pólo, real, em malha-fechada. Lembrando a forma como pólos simples reais reagem no tempo para uma entrada degrau, fica fácil perceber que quanto mais próximo da origem do plano-z estiver o pólo de malha-fechada, tão mais rápido será a resposta do sistema (ver Apêndice: B.1). Como queremos que a planta entre em regime permanente no menor tempo possível, tentaremos fixar o pólo de malha-fechada em z = 0, ajustando de forma adequada o ganho do controlador. 59
  • 60. Usando novamente o MATLAB para determinador o Kc teremos: %continuando com o RL da FTMA completa para confirmar os cancelamentos rlocus (FTMA) axis equal Os últimos comandos no MATLAB geram o gráfico mostrado na figura 3.28. -3 -2 -1 0 1 2 -1 -0.5 0 0.5 1 Root Locus Real Axis ImaginaryAxis Figura 3.28: RL para sitema com controlador Deat-beat. Procedemos com mais comandos no MATLA para “sintonia” do controlador: hold on %mantem RL anterior na janela grafica [K , polos_MF ]= r l o c f i n d (FTMA) Select a point in the graphics window selected_point = 0.0036 − 0.0031 i K = 28.0686 polos_MF = −0.6945 0.9048 0.3679 0.0035 %Se tentou posicionar os polos de MF sobre a origem do plano-z %verificando o resultado obtido... figure ; %abre nova janela grafica FTMF=feedback (K FTMA, 1 ) ; %fechando a malha com o ganho encontrado zpk (FTMF ) %confirmando polos e zeros de MF Zero/ pole / gain : 0.99645 ( z+0.6945) ( z −0.9048) ( z −0.3679) −−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−− ( z+0.6945) ( z −0.9048) ( z −0.3679) ( z −0.00355) Sampling time : 0.1 %Hum... notamos um polo em z=-0.6945 (gera oscilação saída controlador) step (FTMF ) Os últimos comandos geram as figuras 3.29(a) e (b). Se percebe pela figura 3.29(b) que a planta entrou em regime permanente praticamente depois da pri- meira amostra (k = 1). Podemos ainda determinar algebricamente o valor de regime permanente da saída do sistema em malha fechada: y(∞) = lim k→infty FTMF(z)R(z) = lim z→1 (1 − z−1 )FTMF(z) 1 (1 − z−1) Usando o MATLAB para determinar o valor de y(∞): 60
  • 61. -3 -2 -1 0 1 2 -1 -0.5 0 0.5 1 Root Locus Real Axis ImaginaryAxis Kc =28.0689 (a) Ajustando o ganho no RL. 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 Step Response Time (sec) Amplitude Note: regime permanente a partir de k=1 (t=0.1) (b) Correspondente resposta ao degrau. Figura 3.29: RL ajustado e resultado da saída do sistema com controlador deat-beat sintonizado. [num_mf , den_mf]= tfdata (FTMF , ’ v ’ ) num_mf = 0 0.9965 −0.5762 −0.5490 0.2303 den_mf = 1.0000 −0.5818 −0.5489 0.2331 −0.0008 y_infty=polyval (num_mf , 1 ) / polyval ( den_mf , 1 ) y_infty = 1.0000 Mas este tipo de resposta têm sua contraparte: um elevado eforço de controle. Para comprovar as ampli- tudes envolvidas com o sinal de controle, u(k) podemos simular este sistema no MATLAB/Simulink – ver figura 3.30. Zero-Order Hold To Workspace4 t To Workspace3 u To Workspace2 e To Workspace1 r To Workspace y Step Gain 28.0689 G(s) 10 s +11s+102 Clock C(z) (z-0.9048)(z-0.3679) (z-1)(z+0.6945) Figura 3.30: Simulação do controlador Dead-beat no MATLAB/Simulink. 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 parâmetros editados para confirmar que são discretos, isto é, com período de amostragem definido em T = 0.1 – ver figuras 3.31(a) e (b). E também devemos ajustar os parâmetros de simulação no Simulink. Selecione Simulation Configu- ration Parameters e ajute o campo Solver options Type: Fixed-step, Solver: ode4 (Runge-Kutta) (conforme sugestão de (Nise, 2012)) e Fixed step size: para 0.1 – conforme mostra a figura 3.32. Uma vez feito os ajustes no Simulik é possível visualizar os resultados obtidos através dos comandos a seguir, que geram os gráficos da figura 3.33(a) e (b): 61
  • 62. (a) Parâmetros de C(z). (b) Parâmetros do ZOH. Figura 3.31: Ajuste de parâmetros de blocos discretos no Simulink. Figura 3.32: Parâmetros de Simulação para o controlador dead-beat. 62
  • 63. 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 tempo (s) y(k) Resposta malha fechada, entrada degrau [y(k)] (a) Saída da planta em MF, y(k). 0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 2 -30 -20 -10 0 10 20 30 A ªo de Controle [u(k)] tempo (s) u(k) (b) Correspondente ação de controle, u(k). Figura 3.33: Saída do sistema e correspondente ação de controle para o controlador dead-beat. figure ; plot ( t , y ) t i t l e ( ’Acao de Controle [ u ( k ) ] ’ ) xlabel ( ’tempo ( s ) ’ ) ; ylabel ( ’u ( k ) ’ ) figure ; s t a i r s ( t , u ) t i t l e ( ’Ação de Controle [ u ( k ) ] ’ ) xlabel ( ’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 oscilação de u(k)) – uma faixa de excursão provavelmente muito maior que a suportada pelo converssor D/A ou driver de potência conectado fisicamente entre a saída do controlador digital e a entrada da planta. 63
  • 64. Efeitos Adversos do Controlador Dead-Beat Notar que este controlador: 1. Gera uma ação de controle, u(kT), com aplitudades excessivamente elevadas nos primeiros instantes de amostragem do sistema. Muito provavelmente saturando o converssor D/A pre- sente à sua saída ou ultrapassando limites físicos (ou economicamente viáveis) para o amplifi- cador de potência (driver de potência) que normalmente segue o controlador digital. 2. E gera “inter sampling ripples” na saída do sistema. Ou seja, entre os instantes de amostra- gem, o sistema (planta) continua evoluindo no tempo (é um sistema contínuo no tempo) como resposta às fortes atuações de controle realizadas, o que faz a planta oscilar ou apresentar um ripple na sua saída. Tanto o “ripple” do sinal de controle ou do sinal de saída da planta implica em redução da vida útil do sistema, tanto pior quanto maiores forem descontínuas as derivadas de ordem superior (até terceira ordem, os chamados “jerks”) – se traduzindo por vezes até de maneira audível como vibrações ou “zumbidos” durante a operação do sistema. 3.6.3 Exemplo2: Outro projeto de Controlador Deadbeat Seja a planta indicada à seguir, baseada em [Nise (2012), Cap. 2, pág. 113, 197] – estudo de caso para controle de posição de uma antena – ver figuras 3.34 e 3.35. Sua função transferência, para controle de posição angular de posição, é dada por: G(s) = Ea(s) o(s) = 0,2083 s(s + 1,71) = [rad] [Volts] onde: Ea(s): tensão elétrica (Volts) apresentada na entrada do driver de potência do motor elétrico da antena. Pode variar entre −5,0 à 5,0 (Volts). o(s): orientação final da antena (posição angular), saída em (radianos). notar ainda que esta planta possui certas limitações físicas (reais) como: Zona-morta: o motor não responde para baixas voltagens de entrada, isto é, não 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 saída do motor e o eixo rotor da antena. Isto significa que tão logo o motor reverte sua rotação, o eixo de saída da antena (depois de ter passado pela acoplamento entre as engrenagens saindo do motor), permanece estático enquanto o motor prossegue na sua reversão. Quando os dentes das engrenagens finalmente se conectam, o eixo de saída da antena começa a girar na direção da reversão (sem mais nenhum efeito de backslash). Neste caso, o conjunto motor-antena possui folga de ±0,15 (radianos). Supondo que o período de amotragem à ser adotado é de T = 0.1 (segundos), temos: BoG(z) = 0,00098459(z + 0,9446) (z − 1)(z − 0,8428) que resulta num sitema do tipo 1. Neste caso, a própria planta já possui seu integrador o que garante erro nulo em regime permanente para entrada degrau. Projetando o controlador dead-beat para este sistema, C(z), temos: C(z) = 1 0,00098459 Kc · (z − 0,8428) (z + 0,9446) Com isto a FTMA(z) fica: FTMA(z) = C(z) · BoG(z) = 1(z − 0,8428)(z + 0,9446) (z − 1)(z − 0,8428)(z + 0,9446) = 1 z − 1 64
  • 65. e assim a FTMF(z) fica: FTMF(z) = FTMA(z) 1 + FTMA(z) = 1 z−1 1 + 1 z−1 = 1 z − 1 + 1 = 1 z = z−1 como: Y(z) R(z) = FTMF(z) ∴ Y(z) = FTMF(z) · R(z) então se R(z) é uma entrada degrau, teremos: Y(z) = 1 z · z (z − 1) = 1 z − 1 = 1z−1 + 1z−2 + 1z−3 + ... 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 cálculos para determinar C(z) usando MATLAB seguem à seguir: Primeiramente o sistema foi simulando considerando um sistema ideal, isto é, sem limitações – ver figura XX. 65
  • 66. (a) Layout detalhado. (b) Esquemático. Figura 3.34: Sistema de controle de posição (azimute) de uma antena (Extraído de [Nise (2012), Cap. 2, pág. 32]). Figura 3.35: Diagrama em blocos referente a um estudo de caso de controle de posição (azimute) de uma anterna (Ex- traído de [Nise (2012), pág. 3]). 66
  • 67. Capítulo 4 Projeto de Controladores Digitais 4.1 Método dos Pólos Dominantes Objetivos: determinar C(z) tal que o processo em malha-fechada se comporte como o especificado. Especificações: • Precisão (erro em regime permanente); • Forma do transitório. Num sistema comum com malha de realimentação unitária fechada pelo controlador C(z) temos: FTMA(z) = C(z) · BoG(z) que deve atender as especificações de precisão, isto é, o e(∞) está associado com a FTMA(z). Fechando a malha obtemos: FTMF(z) = Y(z) R(z) = C(z)BoG(z) 1 + C(z)BoG(z) cuja equação característica, EC(z) resulta em: EC(z) = 1 + C(z)BoG(z) = 0 de onde se percebe que a presença de C(z) permite que possamos atuar na resposta do sistema em malha-fechada (regime transitório), através de C(z). Formas aceitáveis de transitórios: 0,5 0,7 (para sistemas de 2a-ordem) – resultam nos gráficos mostrados na figura 4.1. Step Response Time (seconds) Amplitude 0 0.5 1 1.5 2 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: G Peak amplitude: 1.05 Overshoot (%): 5 At time (seconds): 0.868 ζ=0,6901 Step Response Time (seconds) Amplitude 0 0.5 1 1.5 2 2.5 0 0.2 0.4 0.6 0.8 1 1.2 1.4 System: G Peak amplitude: 1.2 Overshoot (%): 20 At time (seconds): 0.707 ζ=0,4559 (a) 0,7. (b) 0,5. Figura 4.1: Respostas típicas de sistemas de 2a-ordem. 67