apostila (notas de aula) teoria de controle digital (ou discreto no tempo)

110
Controle Automático III (Controle Digital) Fernando Passold I Last Updated: 2 de junho de 2014

Upload: fernando-passold

Post on 19-Jun-2015

1.749 views

Category:

Education


5 download

DESCRIPTION

Apostila (notas de aula) sobre teoria de controle digital (ou discreto no tempo). Material ainda em preparação - versão atualizada até Jun 2, 2014.

TRANSCRIPT

Page 1: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Controle Automático III(Controle Digital)

Fernando PassoldI Last Updated: 2 de junho de 2014

Page 2: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

.

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” ousimplesmente 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 ControleAutomá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 dasRaízes (Root-Locus) e preferencialmente que também, domine o projeto de controladores deAvanç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 URWPalladio), tamanho 10.

©Prof. Dr. Eng. Fernando Passold, 2 de junho de 2014.

2

Page 3: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Sumário

1 Teoria de Erros 5

1.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51.2 Sistema “padrão” de realimentação unitária . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Caso 1) Entrada Degrau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61.2.2 Caso 2) Entrada Rampa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8

1.3 Tabela Resumo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 9

2 Estabilidade 11

2.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.2 Resposta Entrada Limitadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 Representação de Pólos no Plano Complexo (Z) . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2.3.1 Caso 1) F (z) com Pólos Reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 122.3.2 Caso 2) F (z) com Pólos Complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13

2.4 Método de Jury . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 152.4.1 Exemplo de Sistema de Segunda Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.2 Exemplo de Sistemas de Terceira Ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.4.3 Exemplo de Planta de Segunda ordem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17

2.5 Efeitos do Período de Amostragem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 182.6 Diagrama do Lugar das Raízes (RL) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20

2.6.1 Construindo o Diagrama do Lugar das Raízes . . . . . . . . . . . . . . . . . . . . . . . . . 212.6.2 Exemplos de Traçados de RL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22

3 Controladores Digitais 31

3.1 Simples Controlador Proporcional, K . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 333.1.1 Determinando Kmax . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34

3.2 Controlador (polinomial) cancelando pólo(s) dominante(s) . . . . . . . . . . . . . . . . . . . . . . 393.3 Cancelamento imperfeito de pólos-zeros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.4 Projeto de Controlador Digital usando Root Locus . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

3.4.1 Compensador por Avanço de Fase . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 483.5 Projeto de Controlador PI usando Root Locus . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 503.6 Controlador Dead-beat (Controle por tempo mínimo, finito) . . . . . . . . . . . . . . . . . . . . . 57

3.6.1 Exemplo1: O controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 573.6.2 Exemplo2: Projeto de Controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . . . . . 583.6.3 Exemplo2: Outro projeto de Controlador Deadbeat . . . . . . . . . . . . . . . . . . . . . . 64

4 Projeto de Controladores Digitais 67

4.1 Método dos Pólos Dominantes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.2 Metodologia de Projeto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.3 Comentários . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

5 Projeto por Emulação 75

5.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 755.2 Método de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76

5.2.1 Exemplo1: Caso de um Controlador de 1a-ordem . . . . . . . . . . . . . . . . . . . . . . . 775.2.2 Exemplo2: Caso de um Controlador por Avanço de Fase . . . . . . . . . . . . . . . . . . . 77

5.3 Relação entre o plano-s e plano-z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 805.4 Método de Tustin . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82

5.4.1 Exemplo1: Equação de diferenças usando o Método de Tustin . . . . . . . . . . . . . . . . 835.4.2 Exemplo2: Projeto de Controlador Digital usando o Método de Tustin . . . . . . . . . . . 83

3

Page 4: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

5.5 Outras Transformações Bilineares . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85

A Equações Auxiliares 87

A.1 Tabela de Derivadas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87A.2 Equação do Segundo Grau . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87A.3 Relações de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87A.4 Progressão Geométrica . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 87A.5 Definição da Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88A.6 Propriedades da Transformada Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88A.7 Tabela de Transformadas Z . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89

B Respostas temporais no Plano-Z 91

B.1 Casos de Pólos Reais . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 91B.2 Caso de Pólos Complexos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 92

C Transformada Z - Uso do MATLAB 93

C.1 Transformada Z Inversa (Usando o MATLAB) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 93C.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 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 98D.2 Relação entre posição do pólo e sobrepasso (%OS) . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.3 Relação entre posição do pólo e Ts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.4 Relação entre posição do pólo e Tp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100D.5 Relação entre posição do pólo e Ø . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 100

E Revisão Controladores Clássicos 101

E.1 Introdução . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101E.2 Melhorando o erro em regime permanente . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102E.3 Melhorando o Erro Estacionário (PI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102

F MATLAB: Comandos 105

4

Page 5: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 omostrado na figura 1.1.

yr(t)Algoritmo

de Controle

C(z)T

e(kT)+ u(kT)

TBo

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 somadoratue de fomra conveniente.

• qualquer sistema em malha fechada com realimentação unitária (H(s) = 1), tende a igualar a entradae 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

Page 6: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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→∞):

limk→∞

e(kT) = limz→1

(z −1) · E(z)

Para o nosso caso:

limk→∞

e(kT) = limz→1

(z −1) · 11 + 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 −1neste caso:

limk→∞

e(kT) = limz→1

(z −1) · 11 + F (z)

· Yr(z)

= limz→1

(z −1) · 11 + F (z)

· z(z −1)

limk→∞

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 notempo), ou seja:

Kp = limz→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) · Ti(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

Page 7: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

% 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) aparecendono 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] +T2

[g[(k −1)T] + g(kT)] (1.7)

lembrando que a área de um trapézio é dada por:

A =(B + b) · h

2

7

Page 8: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Transformando (1.7) numa expressão em Z, obtemos:

I(z) = z−1 · I(z) +T2

(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 emF (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:

limk→∞

e(kT) =1

1 + limz→1N(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 daquantizaçã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:

limk→∞

e(kT) = limz→1

(z −1) · 11 + F (z)

· T z(z −1)2

= limz→1

T z(z −1) + (z −1)F (z)

=T

limz→1(z −1) · F (z)=

TKv

(1.9)

8

Page 9: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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”):

limk→∞

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) =TKv

= cte = valor finito, mas , 0.

3. Se F (z) possui 2 integradores (sistema do tipo “2”):

limk→∞

e(kT) = 0

Isto significa que acrescentamos tantos integradores (D (z) = (z − 1)) na FTMA do processo quanto onecessá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:Ózz −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

ÓTKv

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

Page 10: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

10

Page 11: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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) sea aplicação de uma entrada limitada produz uma saída limitada. Mas atenção, este conceito é suficientepara sistemas contínuos no tempo. Para sistemas discretos (amostrados) ainda depende do período deamostragem 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:YYr

=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

Page 12: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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.1teremos:

Y(z)z

=c0

z −1+

¼Pólos Reais

ciz − pi

Pólos Complexos

(cj

(z − pj )+

cj(z − pj )

)(2.2)

Lembrando que:

Z−1{

ci zz − pi

}= ci · pki

obtemos:y(kT) = c0 +

¼Pólos Reais

ci pki +

¼Pólos Complexos

(cj p

kj + c j p

kj

)(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) ponderadospelos 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 pki . 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

1Im{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 riscode não ser estável para certas entradas.

12

Page 13: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Caso 3 : 0 < pi < 1, saída convergente (decrescente), apresentando valores decrescentes tão rápidamentequanto 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 pkj + cj p

kj , onde:

cj = a+ jb

pj = Ó+ jÔ

Representando o pólo na forma polar, resulta em:

pj = âe jÚ

cj = Ae jïonde: â =

√Ó2 + Ô2

Ú = tan−1(ÔÓ

)Im{z}

Re{z}

x⇢

pj

então:

cj pkj + cj p

kj = Aâke j(kÚ+ï) + Aâke−j(kÚ+ï) (2.4)

= Aâk[e j(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 =tppT

.

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 transientesno tempo discreto.

13

Page 14: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

z[z − eaT cos(éT)

]z2 −2e−aTz 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

Page 15: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

2.4 Método de Jury

Este método permite determinar a estabilidade de um sistema discreto linear através da análise doscoeficientes da sua equação característica. Seria uma analaogia num sistema discreto ao critério deestabilidade de Routh-Hurwitz.

Seja o polinômino D (z) extraído da equação característica de um sistema discreto:

D (z) = anzn + an−1z

n−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(i i) D (z)|z=1 = D (1) > 0

(i i i) 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 dométodo de Routh-Hurwittz):

Linha z0 z1 z2 . . . zn−1 zn

1 a0 a1 a2 . . . an−1 an2 an an−1 an−2 . . . a1 a03 b0 b1 b2 . . . bn−14 bn−1 bn−2 bn−3 . . . b0...

......

......

...2n −5 p0 p1 p2 p32n −4 p3 p2 p1 p02n −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 1linha.

• 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−kan ak

∣∣∣∣∣ , k = 0,1,2, . . . ,n −1

ck =∣∣∣∣∣ b0 bn−1−kbn−1 bk

∣∣∣∣∣ , k = 0,1,2, . . . ,n −2

dk =∣∣∣∣∣ c0 cn−2−kcn−2 ck

∣∣∣∣∣ , k = 0,1,2, . . . ,n −3

q0 =∣∣∣∣∣ p0 p3p3 p0

∣∣∣∣∣ , q2 =∣∣∣∣∣ p0 p1p3 p2

∣∣∣∣∣Note que:

• Os elementos de qualquer linha par (linhas 2, 4, . . .) são simplesmente o reverso da linha imediatamenteprecedente í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 aprimeira pré-condição (no caso dele) para: |an | < a0.

15

Page 16: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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, paraestabilidade:

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 3 Satisfeito2) D (−1) > 0 D (−1) = 1−0.25 = 0.75 > 0 3 Satisfeito3) |a0| < |a2| |a0| = 0.25 < a2 = 1 3 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 7 Não Satisfeito2) D (−1) < 0 D (−1) = −1−1,2 + 1,375−0,25 = −1,125 < 0 3 Satisfeito3) |a0| < a3 |a0| = 0.25 < a3 = 1 3 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 3 Satisfeito2) D (−1) < 0 D (−1) = −1 + 3,3−4 + 0,8 = −0,9 < 0 3 Satisfeito3) |a0| < a3 |a0| = 0.8 < a3 = 1 3 Satisfeito

O arranjo de Jury resulta em:Linha z0 z1 z2 z3

1 0,8 4,0 3,3 1,02 1,0 3,3 4,0 0,83 b0 b1 b2

16

Page 17: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

onde:

b0 =∣∣∣∣∣ a0 a3a3 a0

∣∣∣∣∣ = a20 − a

23 = −0,36

b1 =∣∣∣∣∣ a0 a2a3 a1

∣∣∣∣∣ = a0a1 − a2a3 = −0,1

b2 =∣∣∣∣∣ a0 a1a3 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, asraí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{

1s2(s + 1)

}= (1− z−1)Z

{1

1s2− 1

1s+

11(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

b1z +

b0

b1

)(z −1)(z − a)

17

Page 18: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 > 0se 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− ab0

, 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 deamostragem T :

a) Suponha que T = 0,1 (segundos):

Então: a = e−T = 0,9048374b1 = e−T + T −1 = 0,0048374b0 = 1− e−T − Te−T = 0,0046788

Aplicando os critérios de estabilidade, temos:

1) K > 0, b1 + b2 > 0 3

2) K <1− ab0

,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,3679b1 = e−T + T −1 = 0,3679b0 = 1− e−T − Te−T = 0,2642

18

Page 19: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Aplicando os critérios de estabilidade, temos:

1) K > 0, b1 + b2 > 0 3

2) K <1− ab0

, 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−1b1 = 0.3679>> b0=1−exp (−T )−T*exp (−T )b0 = 0.2642>> K=(1−a ) /b0K = 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

Page 20: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

−−−−−−−−−−−−−−−−−−( z−1) ( z−0.3679)

Sampling time : 1>> %Fechando a malha para obter D(z):>> FTMF=feedback ( BoG , 1 )

Transfer f u n c t i o n :0.88 z + 0.6321−−−−−−−−−−−−−−−−−−z^2 − 0.4878 z + 1

Sampling time : 1>> %Recuperando D(z):>> [ num_mf , den_mf , T]= t f d a t a ( FTMF , ’ v ’ )num_mf = 0 0.8800 0.6321den_mf = 1.0000 −0.4878 1.0000T = 1>> %Encontrando as raizes de D(z):>> p_mf=roots ( den_mf )p_mf =

0.2439 + 0.9698 i0.2439 − 0.9698 i

>> %Determinando polo em coordenadas polares:>> [ theta , rho ]= cart2pol ( r e a l ( p_mf ( 1 ) ) , imag ( p_mf ( 1 ) ) )theta = 1.3244rho = 1.0000>> freq=theta * ( 2 * p i )f req = 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 sistemaestá evoluindo entre os instantes de amostragem. Esta evolução é função do ganho e tamanho do períodode 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 respostatransitó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 estendidopara os sistemas de tempo discreto sem muitas modificações uma vez que a equação característica dosistema 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 dosseguintes 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 impulsopara 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çãorelacionada com os ângulos e outra com a magnitude. Isto resulta em 2 critérios à serem seguidos:

20

Page 21: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

• 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 ouaos polos de malha-fechada. Antes de construir o diagrama do Lugar das Raízes, a equação 1 + L(z) = 0deve 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 notempo contínuo:

1. O diagrama de RL é simétrico com relação ao eixo real. O número de traçados do RL corresponde aonú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 detraç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 destaparte 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 tenderpara −∞ 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:

dKdz

= 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 sendotraç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 paraeste 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

Page 22: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

9. O ganho no ponto zo sobre o RL é determinando através de:

K =

µnj=1 |zo + pj |µmi=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 daassí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 umnúmero infinito de valores, o ângulo repete a si mesmo a medida que N aumenta. O número de diferentesassí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 Kd 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

Page 23: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Para o caso do nosso sistema, os pontos de partida/chegada são dados por:

ddz

[BoG (z)

]= 0 ← du

dv=

vdu − udvv2

neste caso:

ddz

[BoG (z)

]=

ddz

[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 = 00,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,0826904z1 = +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,501584K7,53984

∣∣∣∣∣ = 1

K =7,53984

0,501584K = 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,503056K = 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 f u n c t i o n :0.3679 z + 0.2642

−−−−−−−−−−−−−−−−−−−−−−

23

Page 24: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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

>> r locus ( BoG )>> a x i s 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 ) /b0K = 2.3922>> FTMF=feedback ( K*BoG , 1 )

Transfer f u n c t i o n :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.4878 z + 1)

Sampling time : 1>> f i g u r e ;>> 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 nocorrespondente valor para Ø:

24

Page 25: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 guiapara definição da posição desejada para os pólos de malha-fechada do sistema e consequente valor K doganho necessário – no MATLAB:

>> zeta =(− log (20/100) ) / ( s q r t ( p i ^2+( log (20/100) ^2) ) )zeta = 0.4559>> f i g u r e ; %abre nova janela grafica>> r locus ( BoG ) ;>> hold on>> z g r i d ( zeta , 0 )>> a x i s equal>> r l o c f i n d ( BoG )Select a p o i n t i n the graphics window

s e l e c t e d _ p o i n t =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 f u n c t i o n :0.2041 z + 0.1466

−−−−−−−−−−−−−−−−−−−−−−z^2 − 1.164 z + 0.5145

Sampling time : 1>> zpk ( novo_mf )

25

Page 26: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Zero / pole / gain :0.20406 ( z +0.7183)

−−−−−−−−−−−−−−−−−−−−−−−( z^2 − 1.164 z + 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 ea figura 2.11 mostra a correspondente resposta do sistema para um degrau unitário aplicado à sua entradacom 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

Imag

inar

y Ax

is

K=0,5547

Figura 2.10: Determinando o valor do ganho para %OS (Ø) desejado através do RL.

Step Response

Time (sec)

Ampl

itude

0 5 10 15 20 250

0.2

0.4

0.6

0.8

1

1.2

1.4System: novo_mfPeak amplitude: 1.19Overshoot (%): 18.8At time (sec): 5

System: novo_mfSettling 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

Page 27: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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· 1s + 1

}= (1− z−1)Z

{1

s(s + 1)

}= (1− z−1)Z

{1s− 1s + 1

}=

z −1z

[ zz −1

− zz − e−T

]=

1− e−T

z − e−T

Vamos supor que será usado um controlador integral – PI, isto é, GD (z) =Kzz −1

, assim teremos:

G (z) = GD (z) ·GhGp(z)

=Kzz −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 dedKdz

= 0:

K = − (z −1)(z −0,6065)0,3935z

dKdz

= −z2 −0,60650,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)

∣∣∣∣∣ =1K

o ganho crítico Ku corresponde ao ponto em que z = −1, então:∣∣∣∣∣ 0,3935z(−2)(−1,6065)

∣∣∣∣∣ =1Ku

Ku = 8,165

27

Page 28: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 vamosaumentando 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

Imag

ina

ry A

xis

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:

>> c l e a r a l l>> num=1;>> den=[1 1 ] ;>> G= t f (num, den )

Transfer f u n c t i o n :1

−−−−−s + 1

>> T =0.5 ;>> BoG=c2d (G , T )

Transfer f u n c t i o n :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 f u n c t i o n :z

−−−−−z − 1

Sampling time : 0.5>> FTMA=s e r i e s ( c , BoG )

Transfer f u n c t i o n :0.3935 z

−−−−−−−−−−−−−−−−−−−−−−z^2 − 1.607 z + 0.6065

Sampling time : 0.5>> zpk ( FTMA )

Zero / pole / gain :

28

Page 29: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

0.39347 z−−−−−−−−−−−−−−−−( z−1) ( z−0.6065)

Sampling time : 0.5>> r locus ( 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

Page 30: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

30

Page 31: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 ) ·( 1s2− 1s

+1

s + 1

)31

Page 32: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

transformando para plano Z temos1:

BoG (z) = (1− z−1) · Z{ 1s2− 1s

+1

s + 1

}= (1− z−1) ·

[Tz

(z −1)2− zz −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.2642dend =

1.0000 −1.3679 0.3679>> p r i n t s y s (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.00000.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 f u n c t i o n :

1−−−−−−−s^2 + s>> zpk (G)Zero / pole / gain :

1−−−−−−−s ( s +1)>> BoG=c2d (G , T )Transfer f u n c t i o n :

0.3679 z + 0.2642−−−−−−−−−−−−−−−−−−−−−−z^2 − 1.368 z + 0.3679Sampling 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

Page 33: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

A resposta deste sistema para um impulso unitário, R (z)=1 seria: Y(z) = G (z) · 1, cuja resposta inicial notempo 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 (∞) = limk→∞

f (k) = limz→1

(1− z−1)F (z)

a resposta da planta em regime permanente para um impulso unitário aplicado à sua entrada resulta em:

y(∞) = limk→∞

y(kT) = limz→1

(1− z−1) · Y(z)

que neste caso nos dá:

y(∞) = limz→1

(1− z−1) · Y(z) = limz→∞

(z −1z

)·[

0,36788z + 0,26424(z −1)(z −0,36788)

]

y(∞) = limz→1

0,36788z + 0,26424z(z −0,36788)

=0,63210,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 unitariaTransfer f u n c t i o n :0.3679 z + 0.2642−−−−−−−−−−−−−−−−−z^2 − z + 0.6321Sampling time : 1>> zpk ( ftmf )Zero / pole / gain :

33

Page 34: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

0.36788 ( z +0.7183)−−−−−−−−−−−−−−−−−−( z^2 − z + 0.6321)Sampling time : 1>> [ num_mf , den_mf]= t f d a t a ( ftmf , ’ v ’ ) %Separando numerador e denominador da TFnum_mf =

0 0.3679 0.2642den_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 i0.5000 − 0.6182 i

>> [ theta , rho ]= cart2pol ( r e a l ( polos_mf ( 1 ) ) , imag ( polos_mf ( 1 ) ) )>> %Verificando se estao fora do circulo unitario em Ztheta = 0.8907rho = 0.7951>> deg=( rho *180) / p i %transformando de (rad) –> (deg)deg = 45.5536>>

Note que como este é um sistema do tipo 1 (planta com 1 integrador), ele responde com erro nulo para aentrada 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:

limk→∞

e(kT) = limz→1

(z −1) · 11 + F (z)

· Yr(z)

O e(∞) para entrada degrau unitário fica:

e(∞)|u(t) = limz→1

(z −1) · 11 + F (z)

· z(z −1)

=1

1 + limz→1

F (z)=

11 + 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 emz = 1):

B0G (z) = FTMA(z) =0,36788(z + 0,7183)

(z −1)(z −0,3679)

então:

limk→∞

e(kT) =1

1 + limz→1N(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 Kmax

Note porém que este ganho (K = 1), gera um overshoot muito elevado para a resposta esperada para osistema.

Podemos calcular qual o valor de Kmax que podemos incorporar neste sistema antes de que ele fiqueinstá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

Page 35: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Time (sec.)

Ampl

itude

Step Response

0 5 10 15 20 250

0.2

0.4

0.6

0.8

1

1.2

1.4From: 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− ab

, ou seja, K < 2,3922, e:

K >1− ab

, 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 + 2ab − 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 ficarentre: 0 < K < 2,3992.

Usando-se o MATLAB para comprovar estes resultados, temos:

>> rlocus (numd , dend )>> x = [ −1 : 0 . 1 : 1 ] ; y=s q r t ( ones ( 1 , length ( x ) )−x . ^ 2 ) ;>> hold on>> p l o t ( x , y , ’ : ’ , x ,−y , ’ : ’ )>>a x i s ( ’ 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 p o i n t i n the graphics windowselected p o i n t =

0.2615 + 0.9455 ians =

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 serbaixado se levarmos em consideração ainda que este sistema em malha fechada responde como um sistema

35

Page 36: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

-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

Imag

Axi

s

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

Imag

Axi

s

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 Kdeveria ser adotado:

>> z g r i d ( 0 . 7 , 0 . 5 , ’new ’ )>> r locus (numd , dend )>> a x i s ( ’ equal ’ )>> hold on>> r l o c f i n d (numd , dend )Select a p o i n t i n the graphics windowselected p o i n t =

0.6077 + 0.2537 ians =

0.3284

36

Page 37: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

>>

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

Imag

Axi

s

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) ;>> p r i n t s y s ( 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.)

Ampl

itude

Step Response

0 5 10 15 20 250

0.2

0.4

0.6

0.8

1

1.2

1.4From: U(1)

To: Y

(1)

Figura 3.6: Resposta ao degrau depois de nova sintonia do controlador proporcional – note o menor overshoot.

37

Page 38: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

O valor em regime permanente para y(kT) quando R(z) = entrada degrau unitário, resulta em:

y(∞) = limz→1

(z −1) · FTMF (z) · zz −1

= limz→1

FTMF (z)

usando o MATLAB para calcular y(∞)Degrau:

>> p o l y v a l ( num_mf , 1 ) / p o l y v a l ( 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:

>> f o r i =0:10 , u ( i +1)= i ^2; end>> p l o t ( u , ’ b : ’ )>> hold on>> dlsim ( num_mf , den_mf , u )

Que gera o gráfico mostrado na figura 3.7.

Time (sec.)

Ampl

itude

Linear Simulation Results

0 2 4 6 8 10 120

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]= s e r i e s ( num_mf , den_mf , num_r , den_r ) ;>> p r i n t s y s ( num_mf2 , den_mf2 , ’ z ’ ) ;num/den =

0.11772 z^2 + 0.084557 z−−−−−−−−−−−−−−−−−−−−−−−−−−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

Page 39: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

ou seja, observamos que este controlador (proporcional) não é suficiente para garantir erro nulo paraentrada 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 :

>> f o r i =0:25; k ( i +1)= i ; r ( k +1)=k *T ; end ;>> p l o t ( k , r , ’ b : ’ )>> hold on>> dlsim ( num_mf , den_mf , r )>>

se gera o gráfico mostrado na figura 3.8.

Time (sec.)

Ampl

itude

Linear Simulation Results

0 5 10 15 20 250

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 − az − 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

Page 40: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 consideradasdominantes porque sua correspondente resposta temporal mostra um decaimento mais lento. As raízesque 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 enquantoa 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 fatoramortecimento.. Entretanto, estas raízes não podem ser completamente desconsideradas uma vez queum número excessivo de pólos em relação à zeros gera um efeito de delay na região inicial da respostano 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ólosem 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 MATLABusados para gerar a figura 3.9.

>> fnum=numd ;>> fden=conv ( [ 1 \ t e x t b f { { } −1 } ] , [ 1 \ t e x t b f { 0 . 2 4 } ] ) ;>> p r i n t s y s ( fnum , fden , ’ z ’ )num/den =

0.36788 z + 0.26424−−−−−−−−−−−−−−−−−−−z^2 − 0.76 z − 0.24

>> r locus ( fnum , fden )>> hold on

40

Page 41: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

>> z g r i d ( 0 . 7 , 0 . 5 ) ;>> a x i s ( ’ equal ’ ) ;>> r l o c f i n d ( fnum , fden )Select a p o i n t i n the graphics windows e l e c t e d p o i n t =−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

Imag

Axi

s

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 obtemosa figura 3.10.

Assim, fazendo K = 1.2, obtemos a resposta no tempo para entrada degrau:

>> K=1.2 ;>> [ num_mf , den_mf]= feedback ( K* fnum , fden ,1 ,1 , −1) ;>> p r i n t s y s ( num_mf , den_mf , ’ z ’ )num/den =

0.44146 z + 0.31709−−−−−−−−−−−−−−−−−−−−−z^2 − 0.31854 z + 0.077089

>> dstep ( num_mf , den_mf )

que resulta no gráfico mostrado na figura 3.11.

41

Page 42: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

-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

Imag

Axi

sK=1.2828

=0.7

Figura 3.10: Sintonizando controlador por cancelamento de pólo dominante.

Time (sec.)

Ampl

itude

Step Response

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

1.2

1.4From: U(1)

To: Y

(1)

Figura 3.11: Resposta à entrada degrau para controlador cancelando pólo dominante.

42

Page 43: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Time (sec.)

Ampl

itude

Linear Simulation Results

0 5 10 15 20 250

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:

>> p o l y v a l ( num_mf , 1 ) / p o l y v a l ( 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 erropara 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 nemsempre 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 compoucosbits 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óloque gostaríamos de cancelar seria em z = 0,36788 que note, é proporcional à: a = e−T (ou seja, o póloainda se desloca em função do período de amostragem adotado). Vamos super que consigamos sintetizar nomá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 . 2 4 ] ;>> p r i n t s y s ( cnum , cden , ’ z ’ )num/den =

z − 0.36−−−−−−−−−−

z + 0.24>> roots (cnum )ans =

0.3600

43

Page 44: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

>> roots ( dend )ans =

1.00000.3679

>> [ fnum , fden ]= s e r i e s ( cnum , cden , numd , dend ) ;>> p r i n t s y s ( fnum , fden , ’ z ’ ) ;num/den =

0.36788 z^2 + 0.1318 z − 0.095127−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−z^3 − 1.1279 z^2 + 0.039588 z + 0.088291

>> roots ( fnum )ans =−0.7183

0.3600>> roots ( fden )ans =

1.00000.3679−0.2400

>>

O diagrama de lugar das raízes para este sistema fica:

>> rlocus ( fnum , fden )>> z g r i d ( 0 , 0 ) ;>> a x i s ( ’ equal ’ )>> hold on>> z g r i d ( 0 . 7 , 0 . 5 ) ;>> r locus ( fnum , fden , K )>> a x i s ([ −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

Imag

Axi

s

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:

>> a x i s ([ −2 1.5 −1.1 1 . 1 ] )>> [num\_mf , den\_mf]= feedback ( K* fnum , fden ,1 ,1 , −1) ;>> p r i n t s y s (num\_mf , den\_mf , ’ z ’ )num/den =

0.44146 z^2 + 0.15817 z − 0.11415−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−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

Page 45: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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

Imag

Axi

s

K=1.2

=0.7

Figura 3.14: Ampliação sobre região de interesse da figura 3.13.

Time (sec.)

Ampl

itude

Step Response

0 1 2 3 4 5 6 7 8 9 100

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 decontrole 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 doconversor 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 "ToWorkspace", notar que para facilidade de uso a caixa "Save Format" deve ficar ajustada para "matrix", comomostra a figura 3.17.

Os parâmetros da simulação devem ser ajustadas para o tempo máximo de 10 segundos, conformemostra a figura 3.18.

Depois de usar os blocos “To Workspace”, pode-se visualizar melhor os resultados graficamente, no MA-

45

Page 46: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Zero-OrderHold

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.24Controlador

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− ’ ) ;>> a x i s ( [ 0 10 0 1 . 1 ] )

46

Page 47: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

0 1 2 3 4 5 6 7 8 9 100

0.2

0.4

0.6

0.8

1

r(kT)y(kT)

0 1 2 3 4 5 6 7 8 9 100

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 decontrole deve variar dentro de parâmetros fixos (conhecidos para o sistema em questão).

47

Page 48: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 (RootLocus) o projeto se baseava em aproximar o comportamento do sistema em malha fechada para um sistemade malha fechada com um par de polos complexos conjugados que domina o seu comportamento (pólosdominantes 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 sedeseja melhorar a resposta em regime permanente (anular o erro em regime permanente). O controlador PDera 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 porAtraso 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 consisteem cancelar os polos indesejados (lentos) ou zeros da função transferência da planta através dos zeros epolos do controlador. Com os controladores digitais, podemos agora, acrescentar polos e zeros em algumasposições vantajosas. Entretanto, devemos levar em consideração que a abordagem de cancelamento depolos e zeros nem sempre resulta numa solução satisfatória. Por exemplo, se os polos indesejáveis estãopróximos do eixo jé, se ocorre cancelamentos inexatos o que é praticamente inevitável na prática (por errosde arredondamento, precisão numérica de cálculo, truncagem de resultados), o resultado pode conduzir aum 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) = Kz + az + 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 oprojeto 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 tempode 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

Page 49: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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

Page 50: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

3.5 Projeto de Controlador PI usando Root Locus

Deseja-se projetar um controlador digital para garantir erro nulo ao regime permanente para entradadegrau acompanhado de uma resposta dinâmica satisfatória. A constante de erro de velocidade deve serpelo 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 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> zpk ( BoG )ans =

0.04528 ( z +0.9048)−−−−−−−−−−−−−−−−−−−−−( z−0.9048) ( z−0.8187)

Sample time : 0.1 secondsDiscrete −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 dotipo 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 Tz −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 velocidadedeste 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 = limz→1

[(1− z−1)

11 + FTMA(z)

R(z)

]= lim

z→1

T(z −1)FTMA(z)

=1Kv

onde Kv =1T

limz→1 [(z −1)FTMA(z)] é conhecido como a constante de erro de velocidade.

Neste caso Kv ≥ 5:

Kv =1T

limz→1

(z −1)

[Kpz − (Kp − KiT)

]· (0,04528z + 0,04097)

(z −1) · (z2 −1,724z + 0,7408)

Kv =1T

[Kp − Kp + KiT

](0,04528 + 0,04097)

(z −1,724 + 0,7408)

50

Page 51: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Kv =1T

(KiT)0,08630,0173

Kv = 5,0Ki

onde os fatores 0,0863 e 0,0173 podem ser determinados com o auxílio do Matlab:

>> [numd , dend]= t f d a t a ( BoG , ’ v ’ )numd = 0 0.0453 0.0410dend = 1.0000 −1.7236 0.7408>> lim1=p o l y v a l (numd, 1 )l im1 = 0.0863>> lim2=p o l y v a l ( dend , 1 )l im2 = 0.0173>> lim1 / lim2ans = 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 − KiT)

(z −1)se transforma em: C(z) =

z − (1−0,1)z −1

=z −0,9z −1

e então:

>> [numd , dend]= t f d a t a ( BoG , ’ v ’ ) %separando numerador e denominador de BoG(z)numd = 0 0.0453 0.0410dend = 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 − 1Sample time : 0.1 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> zpk (C )ans =

( z −0.9)−−−−−−−

( z−1)Sample time : 0.1 secondsDiscrete −time zero / pole / gain model .>> %determinando FTMA(z):>> FTMA=s e r i e s ( 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 secondsDiscrete −time t r a n s f e r f u n c t i o n .

51

Page 52: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

−6 −5 −4 −3 −2 −1 0 1 2−3

−2

−1

0

1

2

3

Root Locus

Real Axis

Imagin

ary

Axis

(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

Imagin

ary

Axis

(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 secondsDiscrete −time zero / pole / gain model .>> %Podemos obter o RL para a FTMA(z):>> r locus ( 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 – verdetalhe na figura 3.21(b).

Trabalhando-se sobre o RL mostrado na figura 3.21(a) percebe-se que o sistema é estável para umapequena faixa de valores de K, K < 4,81 – ver figura 3.22. Note que o ganho K (usado para gerar o RL) nãocorresponde diretamente ao ganho Kp, uma vez que alterações no valor de Kp fazem variar a posição doszeros do controlador PI, fazendo variar o RL conforme se altera Kp – ver eq. (3.1). Perceber pela figura 3.22que 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 ganhoneste 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 mostradosna 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 − 1Sample time : 0.1 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> zpk ( C3 )ans =

0.4 ( z−0.75)−−−−−−−−−−−−

( z−1)Sample time : 0.1 secondsDiscrete −time zero / pole / gain model .>> ftma3=s e r i e s ( 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

Page 53: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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: ftmaGain: 1.37Pole: 0.881 + 0.322iDamping: 0.18Overshoot (%): 56.3Frequency (rad/s): 3.57

System: ftmaGain: 4.81Pole: 0.803 + 0.613iDamping: −0.0155Overshoot (%): 105Frequency (rad/s): 6.52

System: ftmaGain: 10.8Pole: 0.666 + 0.907iDamping: −0.125Overshoot (%): 149Frequency (rad/s): 9.45

Root Locus

Real Axis

Imagin

ary

Axis

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: ftmaGain: 4.81Pole: 0.803 + 0.613iDamping: −0.0155Overshoot (%): 105Frequency (rad/s): 6.52

System: ftmaGain: 1.37Pole: 0.881 + 0.322iDamping: 0.18Overshoot (%): 56.3Frequency (rad/s): 3.57System: ftma

Gain: 0.252Pole: 0.908 + 0.112iDamping: 0.588Overshoot (%): 10.2Frequency (rad/s): 1.52

Root Locus

Real Axis

Imagin

ary

Axis

ζ=0,5912

Figura 3.23: RL com alguns valores de ganho e Ø = 0,5912 (%OS=10%).

53

Page 54: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Discrete −time t r a n s f e r f u n c t i o n .

>> zpk ( ftma3 )ans =

0.018112 ( z +0.9048) ( z−0.75)−−−−−−−−−−−−−−−−−−−−−−−−−−−−( z−1) ( z−0.9048) ( z−0.8187)

Sample time : 0.1 secondsDiscrete −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 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> 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 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> f i g u r e ; step ( ftmf3 )

Notar pela figura 3.24, que tanto o sobressinal gerado foi elevado, %OS=70%, quanto o tempo deacomodação do sistema: ts = 19,2 segundos.

Step Response

Time (seconds)

Am

plit

ude

0 5 10 15 20 25 300

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

1.8

System: ftmf3Peak amplitude: 1.7Overshoot (%): 69.7At time (seconds): 1.6

System: ftmf3Settling 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

Page 55: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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: ftma3Gain: 0.46Pole: 0.961 + 0.133iDamping: 0.214Overshoot (%): 50.3Frequency (rad/s): 1.41

System: ftma3Gain: 1.86Pole: 0.958 + 0.263iDamping: 0.0245Overshoot (%): 92.6Frequency (rad/s): 2.68

System: ftma3Gain: 0.114Pole: 0.957 + 0.057iDamping: 0.579Overshoot (%): 10.7Frequency (rad/s): 0.73

System: ftma3Gain: 0.114Pole: 0.957 + 0.057iDamping: 0.579Overshoot (%): 10.7Frequency (rad/s): 0.73

System: ftma3Gain: 0.114Pole: 0.957 + 0.057iDamping: 0.579Overshoot (%): 10.7Frequency (rad/s): 0.73

System: ftma3Gain: 0.0446Pole: 0.955 + 0.00148iDamping: 0.999Overshoot (%): 0Frequency (rad/s): 0.465

Root Locus

Real Axis

Ima

gin

ary

Axis

Figura 3.25: RL para PI com Kp = 0,4 e Ki = 1,0.

C =z

−−−−−z − 1

Sample time : 0.1 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> FTMA=s e r i e s ( C , BoG )FTMA =

0.04528 z^2 + 0.04097 z−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−z^3 − 2.724 z^2 + 2.464 z − 0.7408

Sample time : 0.1 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> zpk ( FTMA )ans =

0.04528 z ( z +0.9048)−−−−−−−−−−−−−−−−−−−−−−−−−−−( z−1) ( z−0.9048) ( z−0.8187)

Sample time : 0.1 secondsDiscrete −time zero / pole / gain model .>> OS=10; %percentual de sobrepasso>> zeta =(− log (OS/100) ) / ( s q r t ( p i ^2+( log (OS/100) ^2) ) )zeta = 0.5912>> rlocus ( FTMA )>> hold on>> z g r i d ( 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

Page 56: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

−7 −6 −5 −4 −3 −2 −1 0 1 2−3

−2

−1

0

1

2

3

Root Locus

Real Axis

Imagin

ary

Axis

Figura 3.26: RL para controlador PI com Kp = 1 e Ki = 10.

Root Locus

Real Axis

Ima

gin

ary

Axis

−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: FTMAGain: 0.0655Pole: 0.992 + 0.146iDamping: −0.017Overshoot (%): 105Frequency (rad/s): 1.47

0.591

System: FTMAGain: 0.00769Pole: 0.965 + 0.0433iDamping: 0.614Overshoot (%): 8.68Frequency (rad/s): 0.569

Figura 3.27: RL expandido mostrando faixa para baixos valores de K.

56

Page 57: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 tempomí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 emregime 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 operara 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ãodesconsiderados 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 −1Suponha 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 −1E assim a função transferência de malha-fechada fica:

FTMF (z) =FTMA(z)

1 + FTMA(z)=

1z

(3.3)

Note que a eq. (3.3) quando excitada por uma entrada degrau unitário resulta em:

Y(z) =1z· 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árioe 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 eque 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 ocorrerentre dois instantes de amostragem de y(k), ou seja, entre os instantes amostrados da resposta do sistema.

57

Page 58: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 erronulo 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 withN+1 elements which are the c o e f f i c i e n t s of thec h a r a c t e r i s t i c 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 f u n c t i o n :

0.0355 z + 0.02465−−−−−−−−−−−−−−−−−−−−−−z^2 − 1.273 z + 0.3329Sampling time : 0.1>> zpk ( BoG ) %mostrando dados expandidosZero / 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 seguinteformato:

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 introduzidoum integrador (termo (z −1)) no controlador. De qualquer forma, seria necessário acrescentar algum póloextra 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 zeroshelp t f d a t a−−− help f o r l t i / t f d a t a −−−

TFDATA Quick access to t r a n s f e r f u n c t i o n data .

[NUM, DEN ] = TFDATA ( SYS ) returns the numerator ( s ) and denominator ( s )of the t r a n s f e r f u n c t i o n SYS . For a t r a n s f e r f u n c t i o n with NYoutputs and NU inputs , NUM and DEN are NY−by−NU c e l l arrays wherethe ( I , J ) entry s p e c i f i e s the t r a n s f e r f u n c t i o n from i n p u t J tooutput I . SYS i s f i r s t converted to t r a n s f e r f u n c t i o n i f necessary .

For a s i n g l e SISO model SYS , the syntax[NUM, DEN ] = TFDATA ( SYS , ’ v ’ )

returns the numerator and denominator as row vectors rather thanc e l l arrays .

>> [ num_BoG , den_BoG]= t f d a t a ( BoG , ’ v ’ ) %extraindo dados de BoG(z)num_BoG =

58

Page 59: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

0 0.0355 0.0247den_BoG =

1.0000 −1.2727 0.3329>> roots ( num_BoG )ans = −0.6945>> polos_BoG=roots ( den_BoG )polos_BoG =

0.90480.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 f u n c t i o n :z^2 − 1.273 z + 0.3329−−−−−−−−−−−−−−−−−−−−−−−z^2 − 0.3055 z − 0.6945Sampling 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=s e r i e s ( C , BoG ) %determinando primeiro a FTMA(z)Transfer f u n c t i o n :

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.2312Sampling 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, 1 e−4) ;>> zpk ( FTMAr ) %versao numerica com polos-zeros canceladosZero / 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 emz = 1. Quando o laço de realimentação for fechado, com a introdução do ganho do controlador, Kc , sepercebe que este pólo de malha-aberta partirá do ponto z = 1 e “caminhará” até z = −∞, a medida queKc 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ácilperceber que quanto mais próximo da origem do plano-z estiver o pólo de malha-fechada, tão maisrápido será a resposta do sistema (ver Apêndice: B.1). Como queremos que a planta entre em regimepermanente no menor tempo possível, tentaremos fixar o pólo de malha-fechada em z = 0, ajustando deforma adequada o ganho do controlador.

59

Page 60: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Usando novamente o MATLAB para determinador o Kc teremos:

%continuando com o RL da FTMA completa para confirmar os cancelamentos>> r locus ( FTMA )>> a x i s 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

Imagin

ary

Axis

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 p o i n t i n the graphics window

s e l e c t e d _ p o i n t =0.0036 − 0.0031 i

K =28.0686

polos_MF =−0.6945

0.90480.36790.0035

>> %Se tentou posicionar os polos de MF sobre a origem do plano-z>> %verificando o resultado obtido...>> f i g u r e ; %abre nova janela grafica>> FTMF=feedback ( K*FTMA , 1 ) ; %fechando a malha com o ganho encontrado>> zpk ( FTMF ) %confirmando polos e zeros de MFZero / 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 dasaída do sistema em malha fechada:

y(∞) = limk→inf ty

FTMF (z)R(z) = limz→1

(1− z−1)FTMF (z)1

(1− z−1)

Usando o MATLAB para determinar o valor de y(∞):

60

Page 61: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

-3 -2 -1 0 1 2-1

-0.5

0

0.5

1

Root Locus

Real Axis

Imagin

ary

Axis

Kc=28.0689

(a) Ajustando o ganho no RL.

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

Step Response

Time (sec)

Am

plit

ude

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]= t f d a t a ( FTMF , ’ v ’ )num_mf =

0 0.9965 −0.5762 −0.5490 0.2303den_mf =

1.0000 −0.5818 −0.5489 0.2331 −0.0008

>> y _ i n f t y =p o l y v a l ( num_mf , 1 ) / p o l y v a l ( den_mf , 1 )y _ i n f t y =

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 – verfigura 3.30.

Zero-OrderHold

To Workspace4t

To Workspace3u

To Workspace2e

To Workspace1r

To Workspacey

StepGain

28.0689

G(s)

10s +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 sustentadorde 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 aseguir, que geram os gráficos da figura 3.33(a) e (b):

61

Page 62: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

(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

Page 63: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

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

30Açª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.

>> f i g u r e ; p l o t ( t , y )>> t i t l e ( ’ Acao de Controle [ u ( k ) ] ’ )>> x l a b e l ( ’ tempo ( s ) ’ ) ;>> y l a b e l ( ’ u ( k ) ’ )>> f i g u r e ; s t a i r s ( t , u )>> t i t l e ( ’Ação de Controle [ u ( k ) ] ’ )>> x l a b e l ( ’ tempo ( s ) ’ ) ;>> y l a b e l ( ’ 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 depotência conectado fisicamente entre a saída do controlador digital e a entrada da planta.

63

Page 64: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Efeitos Adversos do Controlador Dead-Beat

Notar que este controlador:

1. Gera uma ação de controle, u(kT), com aplitudades excessivamente elevadas nos primeirosinstantes 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) comoresposta às fortes atuações de controle realizadas, o que faz a planta oscilar ou apresentar umripple 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 dosistema, tanto pior quanto maiores forem descontínuas as derivadas de ordem superior (até terceiraordem, 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 paracontrole de posição de uma antena – ver figuras 3.34 e 3.35. Sua função transferência, para controle deposiçã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 daantena. 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 certavoltagens. 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 rotorda antena. Isto significa que tão logo o motor reverte sua rotação, o eixo de saída da antena (depois deter passado pela acoplamento entre as engrenagens saindo do motor), permanece estático enquantoo motor prossegue na sua reversão. Quando os dentes das engrenagens finalmente se conectam, oeixo 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 permanentepara 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)=

1z −1

64

Page 65: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

e assim a FTMF (z) fica:

FTMF (z) =FTMA(z)

1 + FTMA(z)=

1z−1

1 + 1z−1

=1

z −1 + 1=

1z

= 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) =1z· z

(z −1)=

1z −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

Page 66: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

(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

Page 67: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

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 emmalha-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áficosmostrados na figura 4.1.

Step Response

Time (seconds)

Am

plit

ude

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

1.2

1.4System: GPeak amplitude: 1.05Overshoot (%): 5At time (seconds): 0.868

ζ=0,6901

Step Response

Time (seconds)

Am

plit

ude

0 0.5 1 1.5 2 2.50

0.2

0.4

0.6

0.8

1

1.2

1.4

System: GPeak amplitude: 1.2Overshoot (%): 20At time (seconds): 0.707

ζ=0,4559

(a) Ø � 0,7. (b) Ø � 0,5.Figura 4.1: Respostas típicas de sistemas de 2a-ordem.

67

Page 68: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

4.2 Metodologia de Projeto

O projeto deve obedecer as seguintes especificações:

1. Especificações quanto ao regime permanente:

• Erro nulo para uma entrada de ordem n e;

• Erro limitado ou pré-definido para entradas de ordem superior (n + 1).

Exemplo: utilizando as especificações:

• Erro nulo para entrada degrau← Kp =∞ (onde Kp corresponde ao ganho de posição);

• Erro pré-definido para entrada rampa← TKv

= cte (constante finita, limitada).

2. Especificações quanto ao regime transitório:

• Forma de resposta aceitável caracterizada por parâmetros tais como Ø, wn (frequência de oscila-ção) ou wd , ou ainda pela posição no plano complexo das raízes desejadas para a equação carac-terística, ou seja, que raízes da função transferência devem ser dominantes.

Especificações (resumo):

• Regime Permanente⇒{

Kp ∴ Ganho de posiçãoKv ∴ Ganho de Velocidade

• Regime Transitório⇒

ECdesejada(z) = anzn + an−1zn−1 + . . .+ a0 = 0.↓ (normalmente an = 1)

Pólos Dominantes:Pole−Zero Map

Real Axis

Ima

gin

ary

Axis

−1 −0.5 0 0.5 1−1

−0.5

0

0.5

1

Problema: Determinar C(z)⇒{

Estrutura ?Valores ?

.

Exemplo: Posso ter a seguinte estrutura:

C(z) =Kc(z − a)

(z −1)

Ganho = Kc ;1 integrador;1 zero variável (a);

Proposta: definir a estrutura de C(z), procurando atender as especificações com adicionalmente a funçãoC(z)BoG (z) (FTMA(z)), mais simples possível.

Seguindo esta perspectiva, o controlador C(z) deve conter:

1. Tantos integradores quantos sejam necessários para satisfazer as especificações de regime perma-nente.

Se f (t) = 3 + 2t + 3t2

∫= para entrada degrau, F (z) = Tipo 1

2×∫

’s = para entrada rampa, F (z) = Tipo 23×

∫’s = para entrada parabólica, F (z) = Tipo 3

para e(∞) = 0

Então:∫’s = Os que a entrada dispões −Os que já existem no processo.

2. Um ganho ajustável, Kc ;

68

Page 69: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

3. Pólos e Zeros de C(z) cancelando zeros e pólos estáveis de BoG (z).

Exemplo: Supondo-se que: BoG (z) =g(z + 0,7)

(z −0,5)(z −1,3), então: C(z) =

(z −0,5)(z + 0,7)

, que resulta na:

FTMA(z) = C(z)BoG (z) =g

(z −1,3)– ver figura 4.2.

>> num=[1 0.7];

>> den=conv([1 -0.5],[1 -1.3]);

>> T=1;

>> BoG=tf(num,den,T);

>> num_c=[1 -0.5];

>> den_c=[1 0.7];

>> ftma=series(C,BoG);

>> rlocus(ftma)

−3 −2 −1 0 1 2−1.5

−1

−0.5

0

0.5

1

1.5

Root Locus

Real Axis

Ima

gin

ary

Axis

(a) Código no MATLAB. (a) RL gerado pela FTMA(z).

Figura 4.2: Exemplo de C(z) onde não se cancela zero instável.

4. Tantos parâmetros quanto sejam necessários para atender as especificações de regime transitório.

Exemplo: Ø e wn ⇒ 1 parâmetro livre para cada um – ver figura 4.3.

0 0.5 1 1.5 2 2.5 3 3.5 40

0.2

0.4

0.6

0.8

1

1.2

1.4

1.6

Step Response

Time (seconds)

Ampl

itude

Tp =⇡

wn

p1 � ⇣2

Ts =4

⇣ wn

%OS = exp�(⇣⇡/p

1 � ⇣2) ⇥ 100

Tr =0, 6 + 2, 16⇣

wn

Tp =á

wn

√1− Ø2

, Peak time.

%OS = exp−(Øá/√

1− Ø2)×100, Percent overshoot.

Ø =− ln%OS/100√

á2 + ln2 %OS/100, Damping ratio.

Ts =4

Øwn, Settling time.

Tr = 0,6+2,16Øwn

, Rise time.

(a) Diagrama no tempo. (b) Parâmetros típicos.

Figura 4.3: Parâmetros típicos para respostas de 2a-ordem.

Os parâmetros são introduzidos em C(z) na forma:

1 + az−1

1 + bz−1=

z + az + b

ou,1 + a1z−1 + a0z−2

1 + bz−1=

z2 + a1z + a0

z(z + b)

Eventualmente não há como posicionar o parâmetro desejado no N(z) ou D (z).

4.3 Comentários

1. A base para este método é questionável (cancelamento pólo/zero) porque a representação por funçãotransferência é limitada.Exemplo: Seja:

69

Page 70: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Y(s)U(s)

=1s

Y(s)U(s)

=s + 1

s(s + 1)Sistema 1 Sistema 2

Para o sistema 1 temos:y = u

sY(s)− y(0) = U(s)

Y(s) =1sU(s) +

y(0)s

A condição inicial de y(t), y(0) vai ter influência na variável de saída Y(s).

Para o sistema 2 temos:Y(s)U(s)

=s + 1

s(s + 1)

y + y = u + u ,U(0) = 0

s2Y(s)− sy(0)− y(0) + sY(s)− y(0) = sU(s) + U(s)

Y(s) =1

s(s + 1)[(s + 1)U(s) + (s + 1)y(0) + y(0)]

« Falta completar »(20 May 2014)

« Aula de 20/05/14:Até Exemplo com planta: G (s) = 1

äs+1Resolvido para e(inf) = 0 para entrada degrau.

Falta resolver para 2o-caso: e(∞) = 0,05 para entrada rampa.»

70

Page 71: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Exemplo2: Continuação do Exemplo1 mas neste caso, se deseja também erro para entrada rampa ≤ 0,05.Lembrando que:

BoG (z) =1− e−T/ä

z − e−T/ä−→ BoG (z) =

0,2z = 0,8 T=0,1

Solução1:

C(z) = Kc(z −0,8)

(z −1) (z − a)︸ ︷︷ ︸introdução de + 1 integrador

Então:

C(z)BoG (z) =0,2Kc

(z −1)(z − a)⇒ Eq. 2o-grau

Mas: EC(z)⇒ 2o-grau (Posicionar 2 raízes mas só tenho 1 parâmetro variável).Conclusão: estrutura inicial de C(z) é insuficiente.

Solução2: outra estrutura para C(z):

C(z) = Kc(z −0,8)(z − b)(z −1)(z − a)

teremos então:

C(z)BoG (z) =0,2Kc(z − b)(z −1)(z − a)

que nos garante: e(∞) = 0 para entrada degrau;mas queremos e(∞) = 0,05 (= 5%) para entrada rampa.Calculando então o ganho de velocidade associado com o erro para uma entrada rampa temos:

limk→∞

e[k] =TKv

TKv

= 0,05 ∴ Kv =0,1

0,05= 2

Pela definição para ganho de velocidade, temos:

Kv = limz→1

(z −1)FTMA(z)

Kv = limz→1

(z −1)0,2Kc(z − b)(z −1)(z − a)

= 2

assim:0,2Kc(1− b) = 2(1− a) (4.1)

note que: temos 3 incógnitas: Kc , b e a mas apenas 1 equação!

Mas lembramos entre os requisitos desejados para o sistema compensado constava:

• resposta transitória caracterizada por raíz em 0,1 (dominante).

o que significa que a resposta do sistema deve ser a mais próxima possível da saída de um sistema de1a-ordem com pólo em z=0,1.

E nossa FTMA(z) já resultou num sistema de 2a-ordem. A solução então é tornar a resposta deste sistemade 2a-ordem num caso de sistema de 2a-ordem “super-amortecido”, com 2 pólos reais em malha-fechada,onde o pólo adicional deveria se localizar então o mais próximo possível da origem para que seu impacto sejapouco percebido na resposta da saída do sistema.Lembrando que:

F (s) f (kT) F (z)a

s(s + a)1− e−akT z(1− e−aT )

(z −1)(z − e−aT )

71

Page 72: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

então, a resposta desejada para o degrau unitário deveria ficar: y(k) = 1−0,1k .Note que e−akT = (ea)︸︷︷︸

cte

kT .

Se fizermos a = 10 vezes menor (mais rápido) que o 0,1 (o pólo de MF desejado), teremos: a = 0,01 eassim:

C(z)BoG (z) =0,2Kc(z − b)

(z −1)(z −0,01)

Voltando a eq. (4.1) temos ainda que:

0,2Kc(1− b) = 2(1−0,01)

0,2Kc(1− b) = 1,98

Lembramos ainda que: ECd (z) = z −0,1 = 0, mas podemos fazer: EC ′d (z) = z(z −0,1) = 0 e que:

FTMA(z) = C(z)BoG (z) =0,2Kc(z − b)

(z −1)(z − 0,01︸︷︷︸a

)

FTMF (z) =FTMA(z)

1 + FTMA(z)

EC(z) = 1 + FTMA(z) = 0

neste caso:

EC(z) = 1 +0,2Kc(z − b)

(z −1)(z −0,01)= 0

1 +0,2Kc(z − b)

z2 −1,01z + 0,01= 0

z2 + (0,2Kc −1,01)z + 0,01−0,2Kcb = 0 (4.2)

onde podemos considerar 1 pólo (de malha-aberta) na origem e outro na posição desejada: z = 0.1; ficamosentão com algo como: z(z −0,1) = 0 ou:

z(z −0,1) = 0 ∴ z2 −0,1z = 0 (4.3)

Comparando a eq. (4.3) com a eq. (4.2) temos então:

0,2Kc −1,01 = −0,1

Kc =1,01−0,1

0,2= 4,55

e temos ainda da eq. (4.2) que: −0,2Kcb = 0, ou seja, que b = 0. Assim, finalmente:

C(z) = 4,55z(z −0,8)

(z −1)(z −0,01)

Verificando no MATLAB:

>> %especificando a planta já discretizada:>> num=0.2 ;>> den=[1 −0 . 8 ] ;>> T =0.1 ;>> BoG= t f (num, den , T ) ;>> zpk ( BoG )

0.2−−−−−−−( z −0.8)

Sample time : 0.1 secondsDiscrete −time zero / pole / gain model .>> %especificando o controlador:>> num_c=conv ( [ 1 0 ] , [ 1 −0.8] ) ;>> den_c=conv ( [ 1 −1] , [1 −0.01]) ;>> C= t f ( num_c , den_c , T ) ;>> zpk (C )

z ( z −0.8)

72

Page 73: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

−−−−−−−−−−−−−−( z−1) ( z−0.01)

Sample time : 0.1 secondsDiscrete −time zero / pole / gain model .>> %obtendo a FTMA(z):>> FTMA=s e r i e s ( C , BoG ) ;>> zpk ( FTMA )

0.2 z ( z −0.8)−−−−−−−−−−−−−−−−−−−−−−( z−1) ( z −0.8) ( z−0.01)

Sample time : 0.1 secondsDiscrete −time zero / pole / gain model .>> %Dando uma olhada no RL deste sistema:>> r locus ( FTMA )>> %definindo o ganho do controlador (da malha fechada):>> ftmf=feedback ( K*FTMA , 1 ) ;>> %verificando a resposta para entrada degrau:>> step ( ftmf )>> %criando vetores para simular resposta para entrada rampa:>> f o r k =0:10; t ( k +1)=k *T ; r ( k +1)=k *T ; end ;>> f i g u r e ; p l o t ( t , r ) ; %mostra sinal de referencia criado>> %Acrescentando a parte do degrau depois da rampa:>> r =[ r ones ( 1 , 1 0 ) ] ;>> s i z e ( r )

1 21>> f o r k =0:20; t ( k +1)=k *T ; end ; %recriando vetor tempo, t>> f i g u r e ; p l o t ( t , r ) %mostra como sinal contínuo>> f i g u r e ; s t a i r s ( t , r ) %mostra como o sinal digital é sintetizado>> %Simula a entrada rampa + degrau criada:>> [ y , t t ]= ls im ( ftmf , r , t ) ;>> p l o t ( t , r , ’ k−− ’ , t t , y , ’ b− ’ ) %mostra como sistema contínuo>> %Mostrando como os sinais (digitais) são criados:>> f i g u r e ; s t a i r s ( t , r , ’ k−− ’ ) %mostra 1o) referência>> hold on>> s t a i r s ( t t , y ) %mostra resposta do sistema em MF

A figura 4.4 mostra os gráficos gerados pelo MATLAB.

73

Page 74: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

−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

Imag

inar

y Ax

is

(a) RL do sistema.

−0.1 −0.05 0 0.05 0.1 0.15 0.2 0.25 0.3−0.15

−0.1

−0.05

0

0.05

0.1

0.15

System: FTMAGain: 4.05Pole: 0.1 − 9.11e−09iDamping: 1Overshoot (%): 0Frequency (rad/s): 23

System: FTMAGain: 4.51Pole: 0.0542 + 0.084iDamping: 0.918Overshoot (%): 0.0711Frequency (rad/s): 25.1

Root Locus

Real Axis

Imag

inar

y Ax

is

(b) Detalhe do RL mostrando em (a).

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

1.2

1.4Step Response

Time (seconds)

Ampl

itude

(c) Resposta ao degrau.

0 0.5 1 1.5 20

0.2

0.4

0.6

0.8

1

1.2

1.4Resposta do Sistema

Tempo (s)

r(k),

y(k)

Erro (rampa) = 5%

Atraso na resposta de 1xT (0,1 seg.)

(d) Resposta à entrada rampa + degrau.

Figura 4.4: Figuras geradas pelo Matlab para o exemplo2.

74

Page 75: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Capítulo 5

Projeto por Emulação

5.1 Introdução

Um sistema contendo tanto um sinal contínio no tempo quanto um sinal discreto é dito um sistema dedados amostrado [Franklin et al. (1994), Cap. 8: Digital Control].

Assumimos que o período de amostragem é fixo. Na prática, sistemas de controle digitais algumasvezes possuem períodos de amostragem variáveis e/ou diferentes períodos de amostragem entre seusramos de realimentação. Normalmente, a lógica do computador inclui um sinal de clock que fornece umpulso, ou interrupção, a cada T segundos, um conversor A/D envia uma sequencia numérica binária parao computador a cada instante de tempo que a interrupção ocorre. Outra alternativa de implementação,as vezes referenciada como free-running consiste em acessar o conversor A/D depois que cada ciclo deexecução do código foi completada. No primeiro caso, o período de amostragem é preciso e fixo. No últimocaso, o período de amostragem depende do tamanho do código à ser executado, o qual eventuais laçosde repetição e desvios condicionais (IFs) devem ser evitados, o que caso contrário, poderia fazer variar aquantidade de código à ser executada, fazendo variar o período de amostragem.

Também num sistema de controle digital deve estar presente um sampler (amostrador) e um conversorA/D para a entrada de comando (ou referência), r(t), o que gera o sinal discretizado r(kT) que juntamentecom o saída amostrada do sistema, y(kT) gera o sinal de erro discretizado: e(kT) = r(kT)− y(kT) – ver figura5.1.

Um sistema contínuo de compensação pode ser aproximado por uma equação de diferenças que seriauma versão discreta de uma equação diferencial e pode ser adotado para emular o comportamento dinâ-mico de um compensador contínuo, C(s), se o período de amostragem for curto o suficiente. O resultadodesta equação de diferenças seria um sinal discreto u(kT) a cada instante de amostragem. Este sinalseria convertido para o mundo contínuo, u(t) através de um conversor D/A e um sustentador (Holder). Oconversor D/A converte o número binário numa tensão analógica e o sustentador manteria a última tensãoanalógica gerada durante os instantes de amostragem.

Existem duas técnicas básicas para determinar a equação de diferenças que define o controlador digital.Uma delas, chamada emulação, consistem em projetar o compensador contínuo no tempo, C(s) usando mé-todos clássicos de controle automático e então realizar uma aproximação de C(s) para uma representaçãodiscreta, C(z) usando um dos seguintes métodos:

• Método de Euler;

• Método de Tustin;

• Método da Correspondência Pólo-Zero (MPZ = Matched Pole-Zero).

O último método, o da correspondência pólo-zero leva em conta a definição da transformada-Z, extrapo-lando então a relação entre os planos s e z, obedecendo a relação:

z = esT

Se tomamos a transformada−Z da função amostrada x(k), então os pólos de X(z) estão relacionadoscom os pólos de X(s) obedecendo a relação z = esT . O problema é que temos que considerar também ques = (1/T) lnz é a inversa de z = esT . Sendo assim, se temos P(z) e substituímos z = eTs , obtemos P(eTs)

75

Page 76: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

como resultado da conversão para o plano−s. De modo simular, se temos P(s) e substituímos s = (1/t) lnz,obtemos P[(1/T) lnz] como resultado da conversão para o plano−z. Infelizmente, ambas transformaçõesconduzem a funções trancedentais que obviamente podem ser levadas à caso, respeitando detalhes dacomplicada transformada Z [Nise (2012), Cap. 13: Digital Control Systems].

5.2 Método de Euler

Uma maneira particularmente simples de fazer com que um computador digital se aproxime da soluçãoem tempo-real de uma equação diferencial é usar o método de Euler (também conhecido como regra retan-gular direta – forward rectangular rule). Ela é resultado da seguinte aproximação:

dxdt

= limÉt→0

ÉxÉt

que aplicada neste caso em particular resulta em:

x ≈ x(k + 1)− x(x)T

onde:T = o período de amostragem (em segundos) = tk+1 − tk ,tk = kT ,

x(k) = valor de x no instante tk ,x(k + 1) = valor de x no instante tk+1.

Esta aproximação pode ser usada no lugar de várias derivadas que apareçam na equação diferencialdo controlador e resulta num conjunto de equaçãoes que pode ser calculada por um computador digital.Estas equações de diferenças são resolvidas repetidamente a cada T período de tempo. Para sistemas commargem de banda da ordem de uns poucos Hertz, taxas de amostragem resultam normalmente na ordem de1 KHz, e assim os períodos de amostragem ficarão em torno de 1 mseg e os erros envolvidos na aproximaçãoresultarão bastante pequenos [Franklin et al. (1994)].

Obs.: Extraído de [Franklin et al. (1994)].

Figura 5.1: Diagrama de blocos para um sistema básico de controle: (a) sistema contínuo e (b) incluindo um computadordigital.

76

Page 77: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

5.2.1 Exemplo1: Caso de um Controlador de 1a-ordem

Usando o método de Euler, encontre a equação de diferenças que necessita ser programada num compu-tador se C(s) é dado como:

C(s) =U(s)E(s)

= Kos + as + b

Solução: Primeiro determinamos a equação diferencial que corresponde à C(s):

(s + b)U(s) = Ko(s + a)E(s)

por inspeção percebemos que a correspondente equação diferencial é:

u + bu = Ko(e + ae) (5.1)

Usando o método de Euler para aproximar a eq. (5.1) obtermos a seguinte equação de diferenças:

u(k + 1)− u(k)T

+ bu(k) = Ko

[e(k + 1)− e(k)

T+ ae(k)

](5.2)

Rearrumando a eq. (5.2) obtemos:

u(k + 1) = u(k) + T

{−bu(k) + Ko

[e(k + 1)− e(k)

T+ ae(k)

]}(5.3)

A equação (5.3) determina o novo valor de controle, u(k + 1), uma vez conhecida a amostra passada do sinalde controle, u(k) e os novos e valores passados do sinal de erro, e(k + 1) e e(k).

5.2.2 Exemplo2: Caso de um Controlador por Avanço de Fase

Encontre uma implementação digital para compensador de avanço de fase definido para a seguinteplanta(Exemplo 5.13 de [Franklin et al. (1994)]):

G (s) =1

s(s + 1)

usando taxas de amostragem de: a) 20 e b) 40 Hz. Simule as equações de controle para uma entradadegrau e compare o resultado obtido entre o controlador analógico e o digital. O sistema deve responder emmalha-fechada com fator de amortecimento Ø > 0,5 e com frqueência natural wn > 7 (rad/s).

Na ocasião deste exercício foram feitas diferentes tentativas de pares pólo-zero para o compensador deavanço de fase como mostra a figura 5.2.

A função transferência em malha aberta resulta:

FTMA(s) = C(s)G (s) =70(s + 2)

s(s + 10)(s + 1)

onde Ko = 70. Este ganho resulta na resposta ao degrau mostrada na figura 5.3.

Solução: a função transferência do compensador de avanço de fase para esta planta fica (baseado no exem-plo 5.13 de [Franklin et al. (1994)]):

C(s) = 70s + 2s + 10

Desta forma, os parâmetros para a eq. (5.3) são a = 2, b = 10 e Ko = 70.

77

Page 78: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

−25 −20 −15 −10 −5 0 5−6

−4

−2

0

2

4

60.5

0.5

7

Root Locus

Real Axis

Imag

inar

y Ax

is

−12 −10 −8 −6 −4 −2 0 2−15

−10

−5

0

5

10

15

0.5

0.5

7

7

Root Locus

Real Axis

Imag

inar

y Ax

is

(a) C(s) = (s + 2)/(s + 20) (b) C(s) = (s + 2)/(s + 10)

−8 −7 −6 −5 −4 −3 −2 −1 0 1 2−3

−2

−1

0

1

2

3

4

5

6

7

8

0.5

0.5

7

Root Locus

Real Axis

Imag

inar

y Ax

is

C(s)=(s+2)/(s+20)C(s)=(s+2)/(s+10)C(s)=s+2

(c) C(s) = s + 2Figura 5.2: Lugar das Raízes para G (s) = 1/[s(s + 1)] e 3 casos de C(s).

Figura 5.3: Resposta ao degrau para G (s) = 1/[s(s + 1)] e C(s) = 70(s + 2)/(s + 10).

78

Page 79: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

• (a) Para a taxa de amostragem de 20 Hz, T = 0,05 (segundos) e a eq. (5.3) pode ser simplificada para:

u(k + 1) = 0,5u(k) + 70[e(k + 1)−0,9e(k)]

ou:u(k) = 0,5u(k −1) + 70[e(k)−0,9e(k −1)]

Colocando no formato de C(z) temos:

U(z) = 0,5z−1U(z) + 70[E(z)−0,9z−1E(z)]

trabalhando a expressão anterior obtemos:

U(z)[1−0,5z−1] = 70E(z)[1−0,9z−1]

C(z) =U(z)E(z)

=70(1−0,9z−1)

(1−0,5z−1)=

70(z −0,9)(z −0,5)

• (b) Para a taxa de amostragem de 40 Hz, T = 0,025 (segundos), a eq. (5.3) simplificada resulta em:

u(k + 1) = 0,75u(k) + 70[e(k + 1)−0,95e(k)]

ou:u(k) = 0,75u(k −1) + 70[e(k)−0,95e(k −1)]

Colocando no formato de C(z) obtemos:

C(z) =U(z)E(z)

=70(1−0,95z−1)

[1−0,75z−1]=

70(z −0,95)(z −0,75)

O código no MATLAB para calcular a resposta contínua ao degrau fica:

>> num=70*[1 2]>> den=conv ( [ 1 1 0 ] , [ 1 1 0 ] )>> [ numcl , dencl ]= feedback (num, den , 1 , 1 )>> step ( numcl , dencl )

Que resulta no gráfico mostrado na figura 5.3.

A figura 5.4 mostra o diagrama em blocos do sistema simulado usando tanto o compensador contínuo notempo (a) quanto o simulador discreto (b).

(a)

(b)

fs=40 Hz (T=0.025)

Zero−OrderHold

Step Scope

Plant1

1s +s2

Plant

1s +s2

LeadCompensator

(s+2)(s+10)

Gain1

70

Gain

70

DiscreteLead

Compensator

(z−0.95)(z−0.75)

Figura 5.4: Simulação do compensandor do exemplo 5.2.2.

As respostas ao degrau para (a) T=0.05 e (b) T=0.025 aparecem na figura 5.5.

79

Page 80: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

0 0.2 0.4 0.6 0.8 1 1.2 1.40

0.2

0.4

0.6

0.8

1

1.2

1.4

Tempo (seg)

Saíd

a da

Pla

nta

Resposta ao Degrau

r(t)Compensador AnalógicoCompensador Digital

0 0.2 0.4 0.6 0.8 1 1.2 1.40

0.2

0.4

0.6

0.8

1

1.2

1.4

Tempo (seg)

Resposta ao Degrau

Saíd

a da

Pla

nta

r(t)Compensador AnalógicoCompensador Digital

(a) fs = 20 [Hz] (b) fs = 40 [Hz].Figura 5.5: Respostas obtidos para o método de discretização de Euler.

5.3 Relação entre o plano-s e plano-z

A figura 5.6 mostra as linhas de mapeamento resultantes para valores constantes de Ø e para valoresconstantes de wn baseado na relação: z = esT .

Obs.: Extraído de [Franklin et al. (1994), Cap. 8: Digital Control].

Figura 5.6: Frequencia natural (wn) e fator de amortecimento (Ø) no plano-Z.

E a figura 5.7 mostra diferentes respostas no tempo resultantes para diferentes posições para um póloem malha fechada.

80

Page 81: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Obs.: Extraído de [Franklin et al. (1994), Cap. 8: Digital Control].

Figura 5.7: Sequencias de tempo associadas com pólos no plano-Z.

81

Page 82: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

5.4 Método de Tustin

Outro método de discretização é tratar o problema como uma integração numérica. Suponha que:

U(s)E(s)

= C(s) =1s

o qual é uma integração. Assim sendo:

u(kT) =∫ kT−T

0e(t)dt +

∫ kT

kT−Te(t)dt

pode ser reescrito como:

u(kT) = u(kT − T) + área entre e(t) sobre a última T (5.4)

Para o método de Tustin, a abordagem a cada passo do período de amostragem é usar integrações trape-

zoidais que tentam aproximar e(t) através de uma linha direta entre dois instantes de amostragem. Reescre-vendo u(kT) como u(k) e u(kT − T) como u(k − 1) para simplificar a escrita, transformamos a equação (5.4)em:

u(k) = u(k −1) +T2

[e(k −1) + e(k)]

tomando a transformada−Z da expressão anterior, obtemos:

U(z)E(z)

=T2

(1 + z−1

1− z−1

)=

1

2T

(1− z−1

1 + z−1

)Para C(s) = a/(s + a), aplicando esta aproximação para a integração resulta em:

D (z) =a

2T

(1− z−1

1 + z−1

)+ a

Note que se substituírmos:

s =2T

(1− z−1

1 + z−1

)(5.5)

para cada ocorrência de s em qualquer C(s), obtemos C(z) baseado na equação de integração trapezoidal.

Este é o chamado método de transformação bilinear de Tustin [Franklin et al. (1994)]. A idéia é a de quenos instantes amostrados, a transformação bilinear seja capaz de preservar o mesmo tipo (valor) da respostade um controlador contínuo no tempo. Em resumo este tipo de transformação é usado para transformar um

compensador contínuo no tempo, C(s) na sua versão digital, C(z). Explicitamente a transformação bilinerarde Tustin é dada por:

s =2(z −1)T(z + 1)

(5.6)

e sua inversa é dada por:

z =−(s +

2T

)(s − 2

T

) (5.7)

=1 +

T2s

1− T2s

Quanto menor o intervalo de amostragem, T (maior taxa de amostragem), melhor o projeto de compen-sador contínuo no tempo tornado digital através da eq. (5.6) leva a um resultado mais próximo da respostaque realmente seria obtida usando o compensador contínuo no tempo.

Åström and Wittenmark (1990), propuseram um linha guia para selecionar o período de amostragem àser adotado. A conclusão dos mesmos é a de que o valor de T em segundos, deve estar situado dentro dafaixa de 0,15/éÐM = 0,026 até 0,5/éÐM = 0,086, onde éÐM corresponde a frequência (rad/s) na qual odiagrama de magnitude da resposta em cascata do compensador mais planta passa pelos 0 dB.

82

Page 83: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

5.4.1 Exemplo1: Equação de diferenças usando o Método de Tustin

Voltando ao exemplo da seção 5.2.2 e usando taxa de amostragem de fs = 15 [Hz], podemos usar oMATLAB para computar a aproximação de Tustin.

Solução A forma contínua do compensador estudado na seção 5.2.2 era:

C(s) = 70s + 2s + 10

Usando declarações na linha de comandos do MATLAB, podemos fazer:

>> numc=70*[1 2 ] ;>> denc=[1 1 0 ] ;>> T=1/15;>> C= t f ( numc , denc ) ;>> zpk (C )Zero / pole / gain :70 ( s +2)−−−−−−−−

( s +10)>> Cd=c2d ( C , T , ’ t u s t i n ’ )Transfer f u n c t i o n :56 z − 49−−−−−−−−−

z − 0.5Sampling time : 0.066667>> zpk ( Cd )Zero / pole / gain :56 ( z−0.875)−−−−−−−−−−−−

( z −0.5)Sampling time : 0.066667>>

que produz:

C(z) =56−49z−1

1−0,5z−1

que pode ser transcrito para uma equação de diferenças resultando em:

u(k) = 0,223u(k −1) + 70e(k)−59,12e(k −1)

que é similar a obtida usando o método de Euler.

5.4.2 Exemplo2: Projeto de Controlador Digital usando o Método de Tustin

Seja um sistema (planta) descrito pela equação:

G (s) =1

s(s + 6)(s + 10)(5.8)

onde o projeto de um compensador por avanço resultou num sistema compensado que opera com sobresinal máximo de 20% e um tempo de acomodação de 1,1 segundos. Defina a equação de diferenças quecorresponde ao compensador contínuo transformado para digital usando o método de Tustin. A equqção docompensador é dada por:

C(s) =1977(s + 6)(s + 29,1)

(5.9)

Solução:Com base na eq. (5.8) e (5.9) se percebe que a frequência que corresponde à 0 dB, éÐM , para C(s)G (s), é de5,8 rad/s. Com base na linha guia proposta por (Åström and Wittenmark (1990)), o menor valor recomendadopara T deveria estar na faixa de 0,15/éÐM = 0,026 até 0,5/éÐM = 0,086 segundos. Iremos adotar o valor deT = 0,01 segundos.

Substituindo a eq. (5.6) na eq. (5.9) com T = 0,01 segundos, leva à:

C(z) =1778z −1674

z −0,746(5.10)

83

Page 84: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

e a função transferência da planta usando sustentador de ordem zero (ZOH), com T = 0,01 segundos resultaem:

(1,602×10−7z2) + (6,156×10−7z)(1,478×10−7)z3 −2,847z2 + 2,699z −0,8521

(5.11)

As equações anteriores podem ser obtidas usando o seguinte código no MATLAB:

>> num=1;>> den=poly ( [ 0 −6 −10]) ;>> G= t f (num, den ) ;>> zpk (G)

1−−−−−−−−−−−−−−s ( s +10) ( s +6)

Continuous−time zero / pole / gain model .>> num_c=1977*[1 6 ] ;>> den_c =[1 2 9 . 1 ] ;>> C= t f ( num_c , den_c ) ;>> zpk (C )

1977 ( s +6)−−−−−−−−−−

( s +29.1)Continuous−time zero / pole / gain model .>> %convertendo para controle digital>> T=0.01;>> help c2d

c2d Converts continuous−time dynamic system to d i s c r e t e time .

SYSD = c2d ( SYSC , TS , METHOD) computes a d iscrete −time model SYSD withsampling time TS that approximates the continuous−time model SYSC .The s t r i n g METHOD s e l e c t s the d i s c r e t i z a t i o n method among the f o l l o w i n g :

’ zoh ’ Zero−order hold on the inp uts’ foh ’ L inear i n t e r p o l a t i o n of inpu ts’ impulse ’ Impulse− i n v a r i a n t d i s c r e t i z a t i o n’ t u s t i n ’ B i l i n e a r ( Tust in ) approximation .’ matched ’ Matched pole−zero method ( f o r SISO systems only ) .

The d e f a u l t i s ’ zoh ’ when METHOD i s omitted . The sampling time TS shouldbe s p e c i f i e d i n the time u n i t s of SYSC ( see " TimeUnit " property ) .

>> Cd=c2d ( C , T , ’ t u s t i n ’ ) ;>> zpk ( Cd )

1777.7 ( z−0.9417)−−−−−−−−−−−−−−−−−

( z−0.746)Sample time : 0.01 secondsDiscrete −time zero / pole / gain model .>> %convertendo a planta para o mundo digital usando ZOH:>> Gd=c2d (G , T )Gd =

1.602e−07 z^2 + 6.156e−07 z + 1.478e−07−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

z^3 − 2.847 z^2 + 2.699 z − 0.8521Sample time : 0.01 secondsDiscrete −time t r a n s f e r f u n c t i o n .>> zpk ( Gd )

1.6016e−07 ( z +3.586) ( z +0.2574)−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−−

( z−1) ( z−0.9418) ( z−0.9048)Sample time : 0.01 secondsDiscrete −time zero / pole / gain model .>> ftma=s e r i e s ( C , G) ; %FTMA(s)>> ftmad= s e r i r e s ( Cd , Gd ) ; %FTMA(z) com T=0,01 (s)>> ftmf=feedback ( ftma , 1 ) ; %FTMF(s)>> ftmfd=feedback ( ftmad , 1 ) ; %FTMF(z)>> [ y , t ]= step ( ftmf ) ; %resposta degrau, sistema contínuo>> p l o t ( t , y )>> [ yd1 , td1 ]= step ( ftmfd ) ;>> hold on ;>> s t a i r s ( td1 , yd1 , ’m− ’ )>> legend ( ’ FTMF ( s ) ’ , ’ FTMF ( z ) com T=0,01 ’ )>> t i t l e ( ’ Resposta ao Degrau ’ ) ;>> x l a b e l ( ’Tempo ( s ) ’ ) ;>> y l a b e l ( ’ y ^* ( t ) ’ )>> g r i d

A resposta para entrada degrau para o sistema compensando é mostrada na figura 5.8, que comparaas respostas do compensador contínuo no tempo versus compensadores digitais usando T = 0,086 (s),

84

Page 85: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

T = 0,026 (s) e T = 0,01 (s).

(a) Resposta ao degrau. (b) “Zoom” sobre o gráfico (a).

Figura 5.8: Respostas em malha-fechada para o exemplo 2.

5.5 Outras Transformações Bilineares

Note que o método de Tustin trata-se de um caso específico da aplicação de um método de transformaçãobilinear do tipo:

z =as + bcs + d

e sua inversa:

s =−dz + bcz − a

A idéia é sempre buscar uma simples transformação capaz de atuar em ambos os lados (plano-s e plano-z)através de algum método de substituição direta [Nise (2012), Cap. 13: Digital Control Systems].

Por exemplo, a transformação bilinear:

z =s + 1s −1

e sua inversa: s =z + 1z −1

é proposta por Kuo (1992) para aproximar raízes presentes no interior do círculo unitário |z| = 1 para osemi-plano esquerdo do plano-s. No caso, esta transformação recebeu o nome de transformação-r .

Outro tipo de transformação bilinear é a transformada-w onde:

é =1

ln(z)

que tenta transformar o círculo unitário do plano-z para o eixo imaginário de outro plano complexo é [Karand Majhi]. Neste caso:

é =2T

(z −1)(z + 1)

(5.12)

e su inversa:

z =

2T

2T−é

(5.13)

=1 + éT

2

1− éT2

85

Page 86: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

que é uma variação da proposta originária de [Ogata (1995), Cap. 4: Design of Discrete-Time Control Systemsby Conventional Methods]:

z =w + 1w −1

e sua inversa: w =z + 1z −1

Em comum as últimas 2 transformadas permitem realizar todo um projeto de controlador discreto usandoo mapeamento em frequencia, tal qual se fazia usando Diagramas de Bode quando estávamos no plano-s(ou no mundo contínuo). Neste último caso, estas transformadas permitem converter BoG (z) em BoG (w) elidar com o projeto do controlador tal qual se fazia antes usando Diagrama de Bode – o que muda agora éque ao invés do Diagrama de Bode ser feito no plano-s é realizado sobre o plano-w.

86

Page 87: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Apêndice A

Equações Auxiliares

A.1 Tabela de Derivadas

ddx

[u(x)n] = n · u(x)n−1 · ddx

u(x)

ddx

[u(x) · v(x)] = u(x)ddx

v(x) + v(x)ddx

u(x)

ddx

[u(x)v(x)

]=

v(x) ddx u(x)− u(x) d

dx v(x)

v(x)2

A.2 Equação do Segundo Grau

x2 − Sx + P = 0(x − x1)(x − x2) = 0

(a+ b)2 = a2 + 2ab + b2

(a− b)2 = a2 −2ab + b2

A.3 Relações de Euler

e jx + e−jx = 2cos(x) cos(x) =e jx + e−jx

2

e jx − e−jx = 2j sin(x) sin(jx) =e jx − e−jx

2j

A.4 Progressão Geométrica

Sn = a+ aq + aq2 + . . .+ aqn−1

Sn =n−1¼i=0

aqn =a− aqn

1− q

S∞ =∞¼i=0

aqn =a

1− q, se |q| < 1

87

Page 88: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

A.5 Definição da Transformada ZSeja f ∗(t) o resultado de do sinal contínuo f (t) discretizado no tempo por um trem de impulsos ÖT (t) ocor-

rendo à cada instante T de amostragem:

f ∗(t) =∞¼k=0

f (kT) · Ö(t − kT) = f (t) · ÖT (t)

Então a Transformada de Laplace do sinal discretizado fica:

L {f ∗(t)} =∞¼k=0

f (kT) · e−Ts

A transformada Z é o resultado da transformação:

z = eTs

onde:

s =1T

lnz

ou, se temos a disposição as amostras do sinal discretizado temos:

F (z) =∞¼k=0

f (kT)z−k

A.6 Propriedades da Transformada ZTeorema/Propriedade Nome (Comentários)

1. Z {a · f (k) + b · g(k)} = a · F (z) + b ·G (z) Linearidade: Adição, subtração e multiplica-ção por constante. Onde a e b são constan-tes.

2. Z {f (k + 1)} = z F (z)− z f (0) Avanço no Tempo

3. Z {x(t − nT)} = x−n X(z) Atraso no Tempo

4.

Z{e−atx(t)

}=

∞¼k=0

x(kT) · e−akT z−k

=∞¼k=0

x(kT)(z eaT )−k = X(z eaT )Translação Complexa

5. Z {f (t) ∗ g(k)} = F (z) ·G (z) Convolução: Multiplicação no domínimofrequência

6. f (0) = limz→∞ F (z) Teorema do Valor Inicial

7. f (∞) = limk→∞ f (k) = limz→1 (1− z−1)F (z) Teorema do Valor Final

88

Page 89: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

A.7 Tabela de Transformadas Z

F (s) f (t) f (kT) ou f (k) F (z) Obs.

1 1 Ö(t) Ö(kT) 1 Função Impulso

2 e−KTs Ö(t − kT) Ö(t − kT) z−kFunção Impulso deslo-cada no tempo

31s

u(t) u(k) ou 1z

z −1

Degrau Unitário

3a akz

z − a

41s2

t kTTz

(z −1)2

Rampa

52s3

t2 (kT)2 T2z(z + 1)(z −1)3

Parábola

5a1s3

12!

(kT)2 T2

2z(z + 1)(z −1)3

5b1s4

13!

(kT)3 T3

6z(z2 + 4z + 1)

(z −1)4

5c1sm

lima→∞

(−1)m−1

(m −1)!�m−1

�am−1e−akT lim

a→∞(−1)m−1

(m −1)!�m−1

�am−1z

(z − e−aT )

61

s + ae−at e−akT

zz − e−aT

Exponencial

6a1

(s + a)2t eat kTe−akT

Tze−aT

(z − e−aT )2

Pólos Múltiplos

6b1

(s + a)3

12

(kT)2e−akTT2

2e−aT

z(z + e−aT )(z − e−aT )3

6c1

(s + a)m(−1)m−1

(m −1)!�m−1

�am−1(e−akT )

(−1)m−1

(m −1)!�m−1

�am−1z

z − e−aT

7a

s(s + a)1− e−at 1− e−akT z(1− e−aT )

(z −1)(z − e−aT )

ExponencialDecrescente

7aa

s2(s + a)1a

(akT −1 + e−akT ) z[z(aT −1 + e−aT ) + (1− e−aT − aTe−aT ) ]

a(z −1)2 (z − e−aT )

s2 +é2siné t sinékT

z sinéTz2 −2z coséT + 1

Senóide

9s

s2 +é2cosé t cosékT

z(z − coséT)z2 −2z coséT + 1

Cossenóide

10é

(s + a)2 +é2e−at siné t e−akT sinékT

ze−aT sinéTz2 −2ze−aT coséT + e−2aT

Senóideamortecida

11s + a

(s + a)2 +é2e−at cosé t e−akT cosékT

z2 − ze−aT coséTz2 −2ze−aT coséT + e−2aT

Cossenídeamortecida

89

Page 90: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

90

Page 91: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Apêndice B

Respostas temporais no Plano-Z

B.1 Casos de Pólos Reais

Lembrando que:

Z−1{ c · zz −Ó

}= c ·Ók

Percebe-se que:

Z−1{ c · zz −Ó

}→ 0 tanto mais rápido quanto: |Ó| → 0

Podemos simular algumas respostas para diferentes posições de pólos reais dentro do círculo unitário noplano-Z.:

Z−1

{1 · zz −1)

}= 1 Z−1

{ 1 · zz −0,7

}= 0,7k Z−1

{ 1 · zz −0,5

}= 0,5k Z−1

{1 · z

z −0,2)

}= 0,2k

Z−1{ 1 · zz + 0,7

}= (−0,7)k Z−1

{ 1 · zz + 0,5

}= (−0,5)k Z−1

{ 1 · zz + 0,2

}= (−0,2)k

91

Page 92: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

B.2 Caso de Pólos Complexos

A figura B.1 ilustra o plano-z ressaltando diferentes fatores de amortecimento (Ø), tempos de resposta (Ts)normalizados e tempos de pico (Tp) normalizados.

Obs.: Extraído de Nise (2012).

Figura B.1: Plano-z com referências para diferentes valores de Ø, Ts e Tp

92

Page 93: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Apêndice C

Transformada Z - Uso do MATLAB

C.1 Transformada Z Inversa (Usando o MATLAB)

Como usar o MATLAB para realizar Transformadas Inversas de Z 1

Para “ativar” o symbolic toolbox é necessário antes de mais nada definir que ”variáveis“ o MATLAB devetratar com simbólicas. Por exemplo:

>> z=sym ( ’ z ’ )z =z>>

e podemos também fazer:

>> k=sym ( ’ k ’ ) ;

teremos algo como:

>> whosName Size Bytes Classans 1x1 8 double arrayk 1x1 126 sym o b j e ctz 1x1 126 sym o b j ec t

Grand t o t a l i s 5 elements using 260 bytes>>

Para realizar transformadas inversas de Z, simbólicas, podemos usar a função iztrans do SymbolicToolbox do MATLAB.

Exemplo1: Seja: F (z) =z

z −2, descobrir f (kT).

No MATLAB faríamos:

>>i z t r a n s ( z / ( z−2) )ans =2^n>>

ou poderíamos fazer:

>> i z t r a n s ( z / ( z−2) , k )ans =2^k>>

O que nós dá: f (kT) = 2k .

Lembrando da tabela, temos que: Z{ak

}=

zz − a

.

Exemplo2: Seja:

F (z) =0,5z

(z −1)(z −0,5)

1Necessário o ”Symbolic Math Toolbox“

93

Page 94: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

determine f (kT).

Usando o MATLAB:

>> i z t r a n s ( 0 . 5 * z / ( ( z−1) * ( z −0.5) ) , k )ans =1−(1/2)^k>>

ou seja, f (kT) = 1−1/2k = 1−0,5k , que é o resultado que se pode obter resolvendo este problema pelo métododas frações parciais:

F (z)z

=0,5

(z −1)(z −0,5)=

Az −1

+B

z −0,5

resolvendo:

A = (z −1) · F (z)|z=1 ∴ A =(z −1) ·0,5

(z −1)(z −0,5)

∣∣∣∣∣z=1

∴ A =0,5

1−0,5= 1

B = (z −0,5) · F (z)|z=0,5 ∴ B =(z −0,5) ·0,5

(z −1)(z −0,5)

∣∣∣∣∣z=0,5

∴ B =0,5

0,5−1= −1

finalmente:

F (z) =F (z)z

=1

z −1− 1z −0,5

ou:F (z) =

zz −1

− zz −0,5

Consultando a tabela de transformadas temos que:

f (kT) = 1 ·1k −1 · (0,5)k = u(k)−0,5k

Exemplo3: Seja:

Y(z) =z + 4

(z −1)(z −2)

obtenha y(kT):

Pelo método da expansão em frações parciais:

Y(z)z

=z + 4

z(z −1)(z −2)=

az

+b

z −1+

cz −2

a = z · F (z)|z=0 ∴ a =z · (z + 4)

z(z −1)(z −2)

∣∣∣∣∣z=0

∴ a =4

(−1)(−2)= 2

b = (z −1) · F (z)|z=1 ∴ b =(z −1) · (z + 4)z(z −1)(z −2)

∣∣∣∣∣z=1

∴ b =5

(1)(−1)= −5

c = (z −2) · F (z)|z=2 ∴ c =(z −2) · (z + 4)z(z −1)(z −2)

∣∣∣∣∣z=2

∴ c =6

(2)(1)= 3

Y(z)z

=2z

+(−5)z −1

+3

z −2

Y(z) =2zz

+(−5)zz −1

+3zz −2

Lembrando da Tabela:

Z−1{ zz − a

}= ak

Z−1{ zz −1

}= u(kT)

temos então que:y(kT) = 2Ö(k)−5 · u(k) + 3 · (2)k

Usando o MATLAB ficaria:

94

Page 95: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

>> i z t r a n s ( ( z +4) / ( ( z−1) * ( z−2) ) , k )ans =2* charfcn [ 0 ] ( k ) −5+3*2^k>>

ou simplesmente: y(kT) = 2Ö(k)−5 · u(k) + 3 ·2k .

Exemplo4: Determine y(kT) para:

Y(z) =z3 −2z2 + 2z

(z −1)3

Usando o MATLAB teríamos:

>> i z t r a n s ( ( z^3−2*z^2+2*z ) / ( ( z−1) ^3) , k )ans =1−1/2*k+1/2*k^2>>

ou simplesmente: y(kT) = 1− 12k +

12k2.

Exemplo5: Obter f (kT) para:

F (z) =z2 + z + 0,25

(z −0,5)2

Resolvendo pelo método dos resíduos:

F (z) =z2 + z + 0,25

(z −0,5)2=

(z + 0,5)(z + 0,5)(z −0,5)(z −0,5)

Como são pólos múltiplos:

Residuo[pm] =1

(m −1)!· dm−1

dzm−1

[(z − pm)m · F (z) · zk−1

]∣∣∣∣∣∣z=pm

Então:

Residuo[0,5(2)] =ddz

[(z −0,5)2 · (z + 0,5)2 · zk−1

(z −0,5)2

]∣∣∣∣∣∣z=0,5

=ddz

[(z2 + z + 0,25) · zk−1

]∣∣∣∣∣z=0,5

=ddz

[zk+1 + zk + 0,25zk−1

]∣∣∣∣∣z=0,5

= (k + 1)zk+1−1 + kzk−1 + 0,25(k −1)zk−2∣∣∣z=0,5

= (k + 1)zk + kzk−1 + 0,25(k −1)zk−2∣∣∣z=0,5

= zk[(k + 1) + kz−1 + 1/4(k −1)z−2

]∣∣∣∣z=0,5

= (0,5)k[(k + 1) + k ·

(12

)−1+ 1

4 (k −1) ·(

12

)−2]

= (0,5)k [4k]

= 4k · (0,5)k

f (kT) = 4k(0,5)k (C.1)

Mas...

f (0) = limz→∞

(z2 + z + 0,25z2 − z + 0,25

)(C.2)

= limz→∞

1− 1z + 0,25

z2

1− 1z + 0,25

z2

= 1

(C.3)

95

Page 96: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

mas para k = 0 de f (kT) encontrado anteriormente (eq. (C.1)), obterímaos: f (0) = 0 que “não bate” com oencontrado na (eq. C.2). Então falta compensar (ajustar) para este termo inicial e assim f (kT) fica igual à:

f (kT) = Ö(k) + 4k(0,5)k

Usando o MATLAB:

>> f=i z t r a n s ( ( z^2+z +0.25) / ( ( z −0.5) ^2) , k )f =charfcn [ 0 ] ( k ) +4* (1/2)^k *k>>

ou seja: y(kT) = Ö(k) + 4 ·(1

2

)k· k.

C.2 Sistemas com Sustentador de Ordem Zero [B0G (z)]

Note que um sustentador de ordem zero pode ser modelado como:

B0(s) =S(s)E(s)

= L{u(t)− u(t − T)

}=

1s− e−Ts

s

B0(s) =1− e−Ts

s

Mas agora quando associamos o sustentador a um processo, G (s), o sistema fica:

Antes (no plano-s):S(s)E(s)

= B0(s) ·G (s)

agora que estamos no plano-z, isto é, digitalizamos o sistema, ficamos com:

S(z)E(z)

= Z{B0(s) ·G (s)

}= Z

{B0(s) ·G (s)

}= Z

{1− e−Ts

s·G (s)

}= Z

{G (s)s

}−Z

{e−TsG (s)

s

}Se fizermos F (s) = G (s)

s , temos:

Z{B0(s) ·G (s)

}= Z

{F (s)

}−Z

{e−Ts · F (s)

}como e−Ts · F (s) equivale a um deslocamento no tempo de f (t):

e−Ts · F (s)⇒ f (t − T)

então:Z{f [(k −1)T]

}= z−1 · F (z)

e assim:Z{B0(s) ·G (s)

}= Z

{F (s)

}− z−1 · Z

{F (s)

}ou simplesmente:

B0 G (z) = (1− z−1) · Z{G (s)s

}que é o método que adotaremos daqui por diante.

96

Page 97: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Apêndice D

Respostas Típicas de Sistemas de

2a-ordem

Seja um sitema de 2a-ordem cuja equação diferencial seja:

d2ydx2

+ 2Øéndydx

+ 2é2n = 2é2

nx

sua transformada de Laplace resulta em:

G (s) =Y(s)R(s)

=

[é2n

s2 + 2Øéns +é2n

]ou G (s) =

bs2 + as + b

supondo o caso de raízes complexas para o denominador de G (s), temos pólos que se localizam em:s = ã ± jéd , ou s = −Øén ± jén

√1− Ø2,

onde:

ã = én cos(Ó) = énØ ,

éd = én sin(Ó) = én

√1− Ø2 ,

Ø = cos(Ó) e

sin(Ó) =√

1− Ø2.

Im{s}

Re{s}

!n

X

X

!d

�!d

�� + j!d

�� � j!d

��

Note que quando este sistema é submetido à uma entrada degrau unitário(R(s) =

1s

), resulta em diferen-

tes tipos de resposta – ver figura D.1.

97

Page 98: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Obs.: Extraído de Nise (2012).

Figura D.1: Respostas típicas para sistemas de 2a-ordem submetidos à uma entrada degrau unitário.

• quando Ø = 0 temos um dos pólos sobre o eixo s = 0 resultando num sistema oscilatório;

• quando 0 < Ø < 1, temos 2 pólos complexos resultando num sistema sub-amortecido;

• quando Ø = 1 temos 2 pólos reais resultando num sistema criticamente amortecido;

D.1 Sistemas com 0 < Ø < 1

A resposta de um sistema de 2a-ordem, C(s) do tipo sub-amortecido, submetido à uma entrada degrau,resulta em:

C(s) =é2n

s(s2 + 2Øéns +é2n)

=K1

s+

K2s + K3

s2 + 2Øéns +é2n

cuja expanção em frações parciais leva à:

C(s) =1s−

(s + Øén) +Ø√

1− Ø2én

√1− Ø2

(s + Øén)2 +é2n(1− Ø2)

(D.1)

98

Page 99: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

A Transforma inversa de Laplace da eq. (D.1) produz:

c(t) = 1− e−Øén t

cos(én

√1− Ø2 t

)+

Ø√1− Ø2

sin(én

√1− Ø2 t

)= 1− 1√

1− Ø2e−Øén t cos

(én

√1− Ø2 t −æ

)

onde: æ = tan−1

Ø√1− Ø2

.

Parâmetros típicos de sistema de segunda ordem

Baseado em G (s) −→ G (s) =b

z2 + ax + b=

é2n

s2 + 2Øés +é2n

podemos extrair certos parâmetros típicos de um sistema de segunda ordem:

• Frequência natural de oscilação: én , corresponde a frequencia de oscilação do sistema sem amor-tecimento (quando a parte imaginária dos pólos, a = 0, com pólos sobre o eixo jé em: ±j

√b, én =

√b,

b = é2n .

• Fator de Amortecimento: Ø, pólos complexos contêm parte real: ã = −a/2. A magnitude deste coefici-ente modula o decaimento exponencial da senóide amortecida:

Ø =Exponential decay frequency

Natural frequency=|ã|én

=a/2én

onde: a = 2Øén .

• Tempo de Pico (Peak time): Tp, instante de tempo no qual ocorre o valor máximo de saída do sistema.O Tempo do pico, TP , é dado por:

TP =á

én

√1− Ø2

• Percentual de Sobrepasso (Percent Overshoot): %OS, quantidade de sobrepasso do sinal de saídaque excede o valor de regime estacionário. O percentual de sobrepasso, %OS, é previsto através de:

%OS = e−(Øá/√

1−Ø2)×100

ou, especificado o valor de %OS, pode-se determinar o fator de amortecimento, Ø, através de:

Ø =− ln(%OS/100)√

á2 + ln2 (%OS/100)

E o seguinte codigo no MATLAB, permite calcular o valor de Ø a partir do valor atriabuido para %OS:

>> OS=5; % percentual de sobrepasso fornecido em %

>> zeta=(-log(OS/100))/(sqrt(pi^2+(log(OS/100)^2)))

zeta =

0.6901

>>

• Tempo de Assentamento (Settling time): Ts , tempo requerido para que as oscilações fiquem abaixo de±2% da banda (região) de assentamento do valor de regime estacionário. O tempo de acomodação ouassentamento (ou settling time), Ts , pode ser determinado através de:

Ts =− ln

(0,02

√1− Ø2

)Øén

ou Ts = 4Øén

(Válido para: 0 < Ø < 0,9)

99

Page 100: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

• Tempo de Subida (Rise time): Tr , tempo exigido para a saída variar entre 0,1 e 0,9 de seu valor final. Efinalmente o tempo de subida (rise time), Tr , pode ser determinado de:

Tr =0,6 + 2,16Ø

én

D.2 Relação entre posição do pólo e sobrepasso (%OS)

% Gráfico do RL no plano para diferentes valores de Ø.

D.3 Relação entre posição do pólo e Ts% Gráfico do RL no plano para diferentes valores de Ts .

D.4 Relação entre posição do pólo e Tp% Gráfico do RL no plano para diferentes valores de Tp.

D.5 Relação entre posição do pólo e Ø

% Gráfico do RL no plano para diferentes valores de Ø.

100

Page 101: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Apêndice E

Revisão Controladores Clássicos

E.1 Introdução

Quando trabalhamos com o projeto de um controlador normalmente estamos preocupados com:

• Limitações no ajuste de ganhos:

– Ajustar somente o ganho proporcional conduz a uma resposta transitória determinada unicamentepela posição original dos pólos da planta no diagrama do Lugar das Raízes (RL=Root Locus);

– Desta forma se fica limitado a respostas que somente existem ao longo do RL original da planta.

– Uma forma de resolver esta limitação é aumentar a ordem do sistema ou compensar o sistemacom pólos e zeros adicionais de modo que o sistema resultante (compensado) resulte num RL quepasse por pólos de malha-fechada desejados para o sistema compensado dentro de uma faixa deganho desejável.

• Melhorar a resposta transitória do sistema em malha-fechada;

• Reduzir o erro estacionário (ou de regime permanente):

– Podem ser usados compensadores de forma independente para melhorar as características doerro em regime permanente.

– Duas configurações são possíveis:

* Compensadores em Cascata – ver figura E.1(a).* Compensador na Malha de Realimentação (Feedback compensator) – ver figura E.1(b).

Figura E.1: Configurações possíveis para controladores.

O projeto de controladores em cascata permite:

101

Page 102: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

• reduzir o erro em regime permanente;

• melhorar a resposta transitória (acelerar o sistema);

Para tanto os seguintes controladores “clássicos” normalmente adotados são:

• Controlador PI: objetivo principal: zerar o erro de regime permanente;

• Controlador por Atraso de Fase (Lag): reduz o erro de regime permanente, mas não zera este erro;

• Controlador PD:

• Controlador por Avanço de Fase:

• Controlador PID:

• Controlador por Atraso-Avanço de Fase:

E.2 Melhorando o erro em regime permanente

Há duas maneiras de reduzir o erro de regime permanente:

• Uso de controlador PI;

• Uso de controlador por Atraso de Fase (Lag).

O compensador PI (Proporcional-mais-Integral):

• Usa um integrador puro (exige rede ativa, com amplificadores operacionais) para introduzir na malha-aberta, um pólo na origem do plano−s.

• Aumenta a ordem do sistema mas o erro é reduzido para zero.

O controlador por Atraso de Fase (Lag):

• Pode ser implementado através de uma rede passiva (não exige o uso de amplificadores operacionais)para acrescentar um pólo próximo da origem do plano−s.

• Não garante erro nulo em regime permanente, mas provoca uma redução significativa no erro de regimepermanente.

E.3 Melhorando o Erro Estacionário (PI)

A introdução do integrador anula o erro de regime permanente porém o acréscimo de um pólo na origemgeralmente modifica o RL original do sistema (planta) – ver figura E.2.

« Material Incompleto »« Falta Completar (13 May 2014) »

102

Page 103: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

a) Sistema original sem compensação.b) Acréscimo de um pólo na origem – notar que a contribuição angular no ponto A já não é mais de

180o (nem está sobre o RL).

Figura E.2: Anulando erro de regime permanente mas modificando o RL.

103

Page 104: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

104

Page 105: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Apêndice F

MATLAB: Comandos

abs(x) Obtêm o valor absoluto de x.angle(x) Calcula o ângulo em radianos.atan(x) Calcula arctan(x) (sem levar em conta o quadrante resultante).atan2(y,x) Determina o ângulo (tan−1 (y/x)) correto levando em conta o quadrante onde está

localizado o par (x,y).axis([xmin,xmax, ymin,ymax]) Fixa os limites de um gráfico no eixo X e Y .bode(G) PLota o diagrama de Bode para a função G (s).bode(G,w) Plota o diagrama de Bode para a função G (s) para a faixa de frequências contidas

no vetor w.[theta,rho]=cart2pol(x,y) Realiza a transformação polar do ponto (x,y) do plano cartesiano para o plano polar

resultando num vetor de amplitude rho com ângulo de inclinação de theta (radia-nos): (x,y)→ â∠Ú.

[numd,dend]=c2dm(num,den,T) Converte num(s)/den(s) para numd(z)/dend(z) usando Sustentador de Ordem Zero (ZOH) eperíodo de amostragem T .

BoG=c2d(G,T) Converte a transfer function G (s) para BoG (z) usando o Sustentador de OrdemZero (ZOH) com período de amostragem fixo em T (segundos).

BoG=c2d(G,T,’zoh’) Converte a transfer function G (s) para BoG (z) usando o Sustentador de OrdemZero (ZOH) com período de amostragem fixo em T (segundos).

Cd=c2d(C,T,’tustin’) Converte a transfer function C(s) para Cd(z) usando o método de Tustin (transfor-mação bilinear do plano-s para o plano-z), usando período de amostragem T (se-gundos). Útil para “digitalizar” um compensador projetado no domínio frequência,por exemplo, de avanço-atraso (Lead-Lag) para o “mundo digital”.

clc “Limpa” a janela de comandos do MATLAB e reposiciona cursor para o topo destajanela.

clear Limpa as variáveis da área de trabalho (“zera” a memória de trabalho do MATLAB).dcgain(G) Encontra o ganho DC (estático) para G (s) (isto é, s = 0) ou para G (z) (isto é, z = 1).end Dentro de uma rotina (arquivo .m) do MATLAB determina o fim do laço de repetição

ou do bloco de comparação.exp(a) Obtêm ea.

FTMF=feedback(G,H) Encontra FTMF =G

1 + GHconsiderando realimentação negativa.

FTMF=feedback(G,H,sign) Encontra FTMF =G

1±GH. sign determina o tipo de realimentação adotado, por

padrão o MATLAB considera −1 (realimentação negativa), mas o usuário pode es-pecificar uma realimentação positva se for o caso.

get(BoG) Apresenta na tela os atributos (ou propriedades) de um objeto no MATLAB. Se BoG

for do tipo transfer function retorna os atributos deste tipo de objeto.grid Acrescenta quadriculado nas janela gráfica atualmente ativa no MATLAB.hold on Ativa sobreposição dos próximos comandos gráficos na janela atualmente ativa.hold off “Desliga” sobreposições de gráficos numa mesma janela gráfica.imag(polo) Recupera a parte imaginária do polo.a=input(’str’) Permite a entrada (digitação pelo teclado) de valores para a variável a, acompa-

nhado da mensagem str (string).inv(P) Encontra a inversa da matrix P (quando há).length(P) Retorna a dimensão do vetor P .log(x) Calcula o logaritmo natural de x (ou loge x).log10(x) Calcula o logartimo na base de x (ou log10 x).margin(G) Encontra as margens de ganho e de fase para a transfer function G (s).max(P) Encontra o valor máximo contido dentro do vetor P .

105

Page 106: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

nichols(G,w) Desenha o diagrama de Nichols para a transfer funcion G (s) sobre a faixa defrequências determinada pelo vetor w. O parâmetro w é opcional.

nyquist(G,w) Desenha o diagrama de Nyquist para a transfer funcion G (s) sobre a faixa defrequências determinada pelo vetor w. O parâmetro w é opcional.

[num,den]=ord2(wn,z) Cria um sistema de segunda-ordem, G (s) =1[

s2 + 2Øéns +é2] .

plot(t1,y1, t2,y2, t3,y3) Plota x1 versus t1, y2 versus t2, y3 versus t3 no mesmo gráfico.pole(G) Encontra os pólos para a transfer function G (s).den=poly([-p1 -p2 -p3]) Fomra o polinômio den = (s+p1)(s+p2)(s+p3) (s para o plano-s, ou z para o plano-z,

depende o uso posterior de den.polyval(P, a) Substitui o valor a sobre o polinômio P .real(polo) Encontra as partes reais do vetor polo.

residue(numf,denf) Encontra os resíduos (expanção em frações parciais) para F (s) = numf (s)denf (s) .

[K,polos_mf]=rlocfind(FTMA) Permite uma seleção interativa de um ponto do diagrama do lugar das raízes (nãodesenhado por esta função) para a transfer function FTMA, retornando o ganhode malha fechada K e a correspondente localização dos pólos de malha fechadapolos_mf.

rlocus(FTMA, K) Gera o gráfico corresponde ao diagrama do Lugar das Raízes (root locus) para atransfer function FTMA dentro da faiza de valores de ganho (para malha fechada)especificados pelo vetor K. O parâmetro K é opcional.

roots(den) Encontra as raízes do polinônimo (vetor) den.FTMA=series(C,BoG) Determina a transfer function resultante da álgebra de blocos em série para:

FTMA(z) = C(z)·BoG (z) (neste caso no plano-z, mas serve igualmente para o plano-s).

sgrid(z,wn) Sobrepõe linhas guia de z(Ø) e wn(én) sobre um diagrama de lugar das raízes –neste caso no plano-s (especificamente).

zgrid(z,wn) Sobrepõe linhas guia de z(Ø) e wn(én) sobre um diagrama de lugar das raízes –neste caso no plano-z (especificamente).

sin(x) Encontra o sin(x). x em radianos.sqrt(a) Calcula

√a.

step(G1,G2,. . . Gn) Plota as respostas das transfer function G1 até Gn num único gráfico. Os parâme-tros G2 até Gn são opcionais.

subplot(xyz) Organiza uma janela gráfica no formato da matriz especificado pelos valores dex(linhas) × y(colunas), deixando a mesma pronta para aceitar os próximos coman-dos gráficos à partir da célula z.

text(x,y,’str’) Acrescenta o texto (string) str na janela gráfica atualmente ativa, na posição (x,y).[K,p,z]=tf2zp(numg,deng) Encontra o ganho dc (estático), (K), pólos (p) e zeros (z) de G (s) = numg

deng. Esta função

não funciona sobre objetos transfer functions do MATLAB.

C=tf(num,den,T) Cria um objeto transfer function C(z) = num(z)den(z) , neste caso, no plano-z já que foi for-

necido o terceiro parâmetro T, período de amostragem, adotado para esta funçãotransferência. O terceito parâmetro (T) é opcional e quando não fornecido cria umafunção transferência no plano-s. O MATLAB agrega aos atributos do objeto transferfunction a informação sobre se a mesma trabalha no plano-s ou no plano-z. Este“conhecimento” é o que permite o MATLAB executar de forma diferenciada (aplicardiferentes métodos de resolução em) comandos como step ou rlocus conforme atransfer function se encontre sobre o plano-s ou plano-z.

[num,den,T]=tfdata(FTMA,’v’) Extraí o numerador (num) e denominador (den) da transfer function FTMA(z) = num(z)den(z) ,

neste caso, no plano-z, já que também retornará o período de amostragem previstopara esta função de transferência, T (segundos). O terceito parâmetro de retornopara esta função (T) não será necessário se a transfer function em questão traba-lhar sobre o plano-s.

title(’str’) Coloca o título (string) str na janela gráfica atualmente ativa.xlabel(’str’) Coloca a (string) str no eixo x da janela gráfica atualmente ativa.xlabel(’str’) Coloca a (string) str no eixo y da janela gráfica atualmente ativa.

zpk(numg,deng Mostra na janela de comandos, o ganho, pólos e zeros da função G (s) = numg(s)deng(s) –

neste caso, esta função não está trabalhando com transfer function.zpk(BoG) Mostra na janela de comandos, de forma fatorada, o ganho, pólos e zeros da fun-

ção BoG (z) – neste caso, o parâmetro único de entrada BoG deve ser uma transferfunction.

C=zpk(z,p,k,Ts) Cria um objeto do tipo transfer function C(z) cujo numerador é formado pelos ze-ros fornecidos pelo vetor z, o denominador é formado pelos pólos especificados novetor p, obedecendo ao ganho dc (estático) k e trabalhando com período de amos-tragem de Ts (segundos). Se o quarto parâmetro (de entrada) não for fornecido (oTs neste caso), o MATLAB entende que deve criar uma transfer function no plano-s.

106

Page 107: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

lsim(sys,u,t) Simula no tempo contínuo a resposta de um sistema (contínuo ou discreto), sys(transfer function) linear para a entrada arbitrária u (tantas colunas quantas en-tradas possuir o sistema sys) no tempo contínuo t (em segundos).Exemplo: » t = 0:0.01:5; u = sin(t); lsim(sys,u,t)

[y,t]=lsim(sys,u,t) Simula no tempo contínuo a resposta de um sistema (contínuo ou discreto), syslinear para a entrada arbitrária u no tempo contínuo t (em segundos), retornandoa resposta do sistema na variável y nos instantes de tempo t.Exemplo:>> t=0:0.1:10;

>> alpha=2;

>> ramp=alpha*t; % Gerando sinal de entrada

>> model=tf(1,[1 20 3]); % Função transferência do sistema

>> [y,t]=lsim(model,ramp,t);

>> plot(t,y)

107

Page 108: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

108

Page 109: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Referências Bibliográficas

Katsuhiko Ogata. Discrete-Time Control Systems, 2nd. ed. Upper Saddle River: Prentice Hall,1995. URL http://een.iust.ac.ir/profs/Jahed/digital%20controll/e%20book/discrete-time_

control_systems.pdf. (Acessado em 14 set 2013). Biblioteca da UPF: Número de Chamada: 681.5 O34di2.ed.-1995 (2 exemplares).

J. A. Cadzow. Discrete Time Systems: An Introduction with Interdisciplinary Applications. Prentice Hall Inter-national, 1973.

Benjamin C. Kuo. Digital Control Systems, 2nd. ed. Sauders College Publishing / Harcourt Brace JovanovichCollege Publisher, 1992. Biblioteca da UPF: Número de Chamada: 681.51 K96d 2.ed.-1992 (1 exemplar).

Charles L. Phillips and H. Troy Nagle. Digital Control Systems Analysis and Design, 2nd. ed. Prentice-HallInternational Inc., 1994.

Indrani Kar and S. Majhi. Course: Digital control systems. http://nptel.iitm.ac.in/courses/108103008/PDF/module4/m4_lec2.pdf. Dept. of Electronics and Electrical Eng., Indian Institute of TechnologyGuwahati, Guwahati, Assam, India.(Acessado em 7 nov 2013).

Norman S. Nise. Control Systems Engineering – 6th. ed. LTC, 2012. Biblioteca da UPF: Número de Chamada:681.5 N724e 6.ed.-2012 (4 exemplares).

Gene F. Franklin, J. David Powell, and Abbas Emami-Naeini. Feedback Control of Dynamic Systems. Addison-Wesley Publishing Company, 1994. Biblioteca da UPF: Número de Chamada: 681.51 F831f 3.ed. 1994 (2exemplares).

Karl Johan Åström and Björn Wittenmark. Computer Controlled Systems: theory and design, 2nd. ed. PrenticeHall International, 1990. Biblioteca da UPF: Número de Chamada 681.51 A859c 2.ed.-1990 (1 exemplar).

109

Page 110: Apostila (notas de aula) Teoria de Controle Digital (ou Discreto no tempo)

Índice Remissivo

E(z), 6FTMF (z), 6FTMF (z),H(s), 11Kp, 6

Ganho de posição, 6Kv , 9

Ganho de velocidade, 9Kv , constante de erro de velocidade, 50jerks, 64

BIBO estável, 11

Controlador Dead-Beat:Efeitos, 64Critério de Estabilidade

Método de Jury, 15Routh-Hurwitz, 15

Diagrama do Lugar das Raízes, 20

Efeitos do Período de Amostragem, 18Estabilidade, 11

Ganho Máximo, 19

H(s), 5conversor de unidades, 5

Integração retangular, 6Integração trapezoidal, 7

MATLABiztrans, 93sym, 93Transformada Inversa de Z, 93Variáveis Simbólicas, 93

Regras para RL, 21Respostas Pólos Reais em Z, 91RL, 20

Tabela Resumo Teoria de Erros, 9Teorema Valor Final, 88Transformação bilinear

Tustin, 82

110