sintonia de controladores pid

20
Aula de 11/09/2007 1- Sintonia de controladores PID Se dispomos do modelo do processo a ser controlado, não é difícil de fazer a sintonia dos ganhos do controlador de forma a obtermos a resposta desejada, mas, quando não dispomos do modelo do processo, precisamos de algumas técnicas, baseadas na resposta do sistema a ser controlado. A sintonia de controladores é um campo interessante de estudos, e que possui muita aplicação prática. Existem, atualmente, algumas regras empíricas e matemáticas que nos permitem buscar um bom desempenho de um dado processo, sem que a sua segurança fique comprometida. O ganho do controlador está relacionado com a “agressividade” com que responde às excitações do processo, portanto, para cada processo há um conjunto de ganhos do controlador, seja ele, P, PI ou PID que atenderá de forma satisfatória as necessidades do processo. Os métodos que serão abordados nos dão uma “sintonia grossa”, necessitando, posteriormente, de uma “sintonia fina”, para chegarmos o processo no ponto adequado de funcionamento. O entendimento é mais ou menos o seguinte: os métodos fazem com que acertamos o alvo, agora, para atingirmos a mosca, nós damos um jeito. 1.1. Alguns métodos de sintonia Em malha aberta para sistemas o Auto-ajustáveis Ziegler-Nichols (1º método); Cohen-Coon. o Não-auto-ajustáveis Ziegler-Nichols (1º método); Em malha fechada o Ziegler-Nichols (2° método). 1.1.1. Métodos que utilizam malha aberta para obtenção dos ganhos do controlador do sistema a ser controlado. Nestes métodos, utilizamos o sistema que desejamos controlar, em malha aberta, aplicando em sua entrada um degrau de excitação, e observamos a sua resposta. Baseados no gráfico de resposta retiram-se alguns valores que irão aproximar a resposta de um sistema do primeiro grau com um retardo de tempo. Em malha aberta existem dois tipos de sistemas: os auto-ajustáveis e os não-auto- ajustáveis. Os primeiros referem-se aos sistemas em malha aberta que tendem a um

Upload: nouel

Post on 05-Dec-2014

206 views

Category:

Documents


18 download

TRANSCRIPT

Aula de 11/09/2007

1- Sintonia de controladores PID

Se dispomos do modelo do processo a ser controlado, não é difícil de fazer a sintonia dos ganhos do controlador de

forma a obtermos a resposta desejada, mas, quando não dispomos do modelo do processo, precisamos de algumas

técnicas, baseadas na resposta do sistema a ser controlado.

A sintonia de controladores é um campo interessante de estudos, e que possui muita aplicação prática. Existem,

atualmente, algumas regras empíricas e matemáticas que nos permitem buscar um bom desempenho de um dado

processo, sem que a sua segurança fique comprometida. O ganho do controlador está relacionado com a

“agressividade” com que responde às excitações do processo, portanto, para cada processo há um conjunto de

ganhos do controlador, seja ele, P, PI ou PID que atenderá de forma satisfatória as necessidades do processo. Os

métodos que serão abordados nos dão uma “sintonia grossa”, necessitando, posteriormente, de uma “sintonia fina”,

para chegarmos o processo no ponto adequado de funcionamento. O entendimento é mais ou menos o seguinte: os

métodos fazem com que acertamos o alvo, agora, para atingirmos a mosca, nós damos um jeito.

1.1. Alguns métodos de sintonia

Em malha aberta para sistemas

o Auto-ajustáveis

Ziegler-Nichols (1º método);

Cohen-Coon.

o Não-auto-ajustáveis

Ziegler-Nichols (1º método);

Em malha fechada

o Ziegler-Nichols (2° método).

1.1.1. Métodos que utilizam malha aberta para obtenção dos ganhos do controlador do sistema a ser

controlado.

Nestes métodos, utilizamos o sistema que desejamos controlar, em malha aberta, aplicando em sua entrada um

degrau de excitação, e observamos a sua resposta. Baseados no gráfico de resposta retiram-se alguns valores que

irão aproximar a resposta de um sistema do primeiro grau com um retardo de tempo.

Em malha aberta existem dois tipos de sistemas: os auto-ajustáveis e os não-auto-ajustáveis. Os primeiros

referem-se aos sistemas em malha aberta que tendem a um determinado valor quando excitados por um degrau em

sua entrada, por exemplo, velocidade no eixo de um motor CC quando aplicada uma tensão Vcc, os últimos referem-

se aos sistemas em malha aberta que tendem a aumentar de amplitude quando excitados por um degrau em sua

entrada, por exemplo, posição de um motor CC quando aplicada uma tensão Vcc. Como a velocidade é constante, a

posição não é definida, sendo que, cada volta do eixo, equivale a uma posição de radianos e, portanto, tende a

aumentar. Os gráficos de resposta correspondentes a cada caso são os seguintes:

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.05

0.1

0.15

0.2

0.25

0.3

0.35Resposta de velocidade

Tempo (sec)

Vel

ocid

ade

GRÁFICO I

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6 1.8 20

0.1

0.2

0.3

0.4

0.5

0.6

0.7Resposta de posiçao

Tempo (sec)

Pos

içao

GRÁFICO II

Para os sistemas do tipo auto-ajustáveis (gráfico I) e não-auto-ajustáveis (gráfico II), as funções de transferência de

primeira ordem com retardo de tempo que aproximam das dinâmicas desses sistemas são:

( I ) e ( II )

Auto-ajustável Não-auto-ajustável

Sendo,

K – um determinado ganho;

– O retardo de tempo;

- A constante de tempo do processo.

Os parâmetros das expressões ( I ) e ( II ) são estimados a partir da resposta do processo (gráficos I e II) a uma

excitação em degrau na entrada, de magnitude M.

1.1.2. Método de Ziegler-Nichols em malha aberta para sistemas auto-ajustáveis

Utilizando os dados do servomotor CC já considerado, e supondo que não conhecemos a sua planta de velocidade,

apenas a sua resposta (M’) a um degrau de valor M, (no caso, vamos considerar M=5V) obtemos a curva a seguir.

O método consiste em traçar uma reta tangente, exatamente no ponto de inflexão da curva, ou seja, quando a curva

muda de derivada positiva (curva crescente), para derivada negativa (curva decrescente).

Sendo:

T – O retardo de tempo, obtido pelo prolongamento da tangente até cortar o eixo dos tempos;

T1 – Tempo necessário para a resposta atingir 63,2% do valor final.

M’ – Valor final obtido pela resposta do sistema.

A constante de tempo será dada por . Para isso, considera-se a resposta como sendo do primeiro grau e,

portando, é dada por: . Se então,

O valor de k, ganho da função de transferência do modelo aproximado, será dado por: .

Observe que, se estamos falando de resposta real de um sistema, a determinação deste ponto não é tarefa fácil, e o

ajuste dos ganhos do controlador é muito sensível à determinação desse ponto.

E os ganhos para os controladores serão dados conforme a seguinte tabela:

0 0.5 1 1.5 2 2.5 30

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Resposta ao degrau de 50V

Time (sec)

Am

plit

ud

e

T

T1

M' =

Tipo de controlador Kp Ti Td

P 0

PI 0

PID

Tabela - I

Exemplo resolvido

Baseando-se no gráfico da resposta de velocidade do sistema já estudado acima, determine:

a – O modelo aproximado do sistema (determinação de T, e k;

b – Os ganhos para um controlador PID utilizando Ziegler-Nichols (1º método);

Resolução:

Item a

Do gráfico de resposta de velocidade dado acima, tiramos:

Para a obtenção dos tempos a seguir, utilizou-se regra de três com o valor medido com régua e o valor indicado no gráfico.

.

(constante de tempo)

Modelo aproximado:

Modelo obtido das equações diferenciais da planta de velocidade e dos dados do servomotor CC fornecido:

.

Observe que, o modelo determinado, analiticamente, é um sistema de segunda ordem, enquanto que o obtido do

gráfico é um modelo de primeira ordem mais retardo de tempo.

Plotando os dois gráficos para um degrau de 5 volts em malha aberta, obtemos:

0 0.5 1 1.5 2 2.5 30

0.05

0.1

0.15

0.2

0.25

0.3

0.35

0.4

0.45

0.5

Aproximado

Real

Real

Aproximado

É bom lembrar que não existe um modelo que represente um sistema 100% a sua dinâmica. O nome “Real” adotado

no gráfico refere-se ao modelo obtido das equações diferenciais que regem a dinâmica do servomotor.

Item b

1.1.3. Método de Cohen-Coon em malha aberta para sistemas auto-ajustáveis.

Também utilizando malha aberta da planta a ser controlada, o procedimento de cálculo dos ganhos do controlador

para este método é o mesmo visto anteriormente, porém, os seus ganhos serão calculados considerando o ganho K

da função de transferência aproximada da planta, o que não era considerado no método anterior.

Os ganhos serão dados pela tabela III a seguir:

Tipo de controlador Kp Ti Td

P 0

PI 0

PID

TABELA II

Exemplo resolvido

Baseando-se no gráfico da resposta de velocidade do sistema visto anteriormente, determine os ganhos de um

controlador PID a ser utilizado no controle de velocidade.

Resolução:

Cálculo dos ganhos

Do exemplo anterior, temos:

.

Da tabela II para um controlador PID, temos:

Exemplo resolvido

Faça a simulação do sistema anterior considerando no mesmo gráfico:

A resposta de velocidade do sistema em malha aberta considerando uma entrada degrau de 5V;

Dada a função de transferência do processo de velocidade

A resposta do sistema em malha fechada considerando os valores calculados de kp, ki e kd, utilizando

Ziegler-Nichols (1º método) e um set-point de 1000 rpm;

A resposta do sistema em malha fechada considerando os valores de kp, ki e kd, utilizando o método de

Cohen-Coon e um set-point de 1000 rpm.

Resolução

Código MATLAB

T=5; t=0:0.01:T; SP=1000;

D=conv([0.01 0.1],[0.5 1]);

G2=tf(0.01,D);

kp=10.5; ki=95.45; kd=0.32; % Ziegler-Niclhos (grafico azul)

G1=tf([kd kp ki],[1 0]);

FTMF=(G1*G2)/(1+G1*G2);

y1=step(SP*FTMF,t);

kp=144.7; ki=1113; kd=2.9; % Cohen-Coon (grafico vertmelho)

G1=tf([kd kp ki],[1 0]);

FTMF=(G1*G2)/(1+G1*G2);

y2=step(SP*FTMF,t);

plot(t,y1,'b',t,y2,'r');

grid;

0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 50

500

1000

1500

Ziegler-Nichols

Cohen-Coon

Para que ocorra o set-point de 1000 rpm, qual deverá ser o sinal de erro E(s) na entrada do controlador?

Resolução

A função de transferência entre a saída do controlador (MV) e o SP de 1000 rpm é:

Código MATLAB

T=6; t=0:0.01:T; SP=1000;

D=conv([0.01 0.1],[0.5 1]);

G2=tf(0.01,D);

kp=10.5; ki=95.45; kd=0.32; % Erro devido aos ganhos de Ziegler-Niclhos (grafico azul)

G1=tf([kd kp ki],[1 0]);

e=1/(1+G1*G2);

y1=step(SP*e,t);

kp=144.7; ki=1113; kd=2.9; % Erro devido aos ganhos de Cohen-Coon (grafico vermelho)

G1=tf([kd kp ki],[1 0]);

e=1/(1+G1*G2);

y2=step(SP*e,t);

plot(t,y1,'b',t,y2,'r');

grid;

0 1 2 3 4 5 6-500

0

500

1000

Erro devido aos ganhos calculados por Ziegler-Nichols

Erro devido aos ganhos calculados por Cohen-Coon

Veja que, em malha aberta, Cohen-Coon apresentou resultados melhores comparando os gráficos.

1.1.4. Método de Ziegler-Nichols em malha aberta para sistemas não-auto-ajustáveis.

Como visto, para esses sistemas a função de transferência aproximada, determinada a partir do gráfico da resposta

do sistema é dada por:

, onde M é o degrau aplicado podendo ser unitário ( M = 1 ) ou não.

0 0.5 1 1.5 2 2.5 30

0.05

0.1

0.15

0.2

0.25Step Response

Time (sec)

Am

plit

ud

e

Inclinação = M.K

K também é conhecida como taxa de reação

O tempo de retardo T é dado pela intersecção da reta tangente com o eixo dos tempos. No caso acima,

.

A tabela para os cálculos dos ganhos dos controladores será dada por:

Tipo de controlador Kp Ti Td

P 0

PI 0

PID

Tabela III

Exemplo comentado

Baseando-se no gráfico da resposta de posição do sistema já estudado (gráfico acima), determine:

a – O modelo aproximado do sistema. Compare com o modelo real, baseado nas equações diferenciais de

posição do servomotor CC;

b – Os ganhos para um controlador PID a ser utilizado;

c – Faça a simulação do sistema e tente um ajuste fino nos ganhos, se necessário.

Foi aplicado ao sistema um degrau unitário (M=1), portanto, K = inclinação =

(o ângulo de inclinação é )

O retardo de tempo T=0,578 seg

Item a

A função de transferência aproximada fica:

A função de transferência real será:

Comparando os dois modelos temos:

Código MATLAB

J=0.01; b=0.1; K=0.01; R=1; L=0.5;

num=K; den=conv([L R],conv([J b],[1 0]));

t=0:0.001:10;

y1=step(num,den,t);

num=0.098; den=[1 0];

g=tf(num,den);

g.inputdelay=0.578;

y2=step(g,t)

plot(t,y1,'r',t,y2,'b');

grid;

0 1 2 3 4 5 6 7 8 9 100

0.1

0.2

0.3

0.4

0.5

0.6

0.7

0.8

0.9

1

Real

Aproximada

Aproximada

Real

Item b

De acordo com a tabela III, o cálculo dos ganhos do controlador PID fica:

Item c

Fazendo a simulação da planta para estes valores de ganhos e considerando um set-point de posição, por exemplo,

30°, temos:

Código MATLAB

J=0.01; b=0.1; K=0.01; R=1; L=0.5;

Kp=21.2; Ki=18.3; Kd=6.1;

numc=[Kd Kp Ki]; denc=[1 0];

nump=K; denp=conv([L R],conv([J b],[1 0]));

num=conv(numc,nump); den=conv(denc,denp);

[nummf,denmf]=cloop(num,den);

t=0:0.001:15;

step(30*nummf,denmf,t);

grid;

0 5 10 150

5

10

15

20

25

30

35

40

45

System: sys Peak amplitude: 42.4

Overshoot (%): 41.2 At time (sec): 1.78

System: sys Settling Time (sec): 7.17

Resposta de posiçao (SP=30)

Tempo (sec)

Po

siç

ao

Observa-se que o overshoot está em cerca de 40% e o tempo de estabelecimento em torno de 7 seg. Este transitório

pode ser melhorado aumentando o ganho Kd e diminuindo Ki . Por exemplo, passando Kd de 6,1 para 10 e Ki de 18,3

para 8, obtemos a resposta descrita no gráfico a seguir. Essa resposta possui um overshoot na faixa de 14% e um

tempo de estabelecimento em torno de 6 seg. Observe que são pequenas alterações (ajustes) em torno dos valores

determinados pelo método.

Obs.

Lembre-se! Quando diminuímos o valor de Ki estamos aumentando o valor de Ti (tempo de

integração).

Nestes exemplos procuramos deixar Kp constante, uma vez que, tanto Ki quanto Kd dependem de Kp,

ficando apenas as variáveis Ti e Td a serem modificadas durante os ajustes. No entanto, nada impede

de alterarmos Kp também. ( e ).

0 5 10 150

5

10

15

20

25

30

35

System: sys Peak amplitude: 34.3

Overshoot (%): 14.3 At time (sec): 2.2

System: sys Settling Time (sec): 5.96

Step Response

Time (sec)

Am

plit

ud

e

1.1.5. Método de Ziegler-Nichols em malha fechada – 2º método

É bastante utilizado na indústria para sintonia de controladores de processos e consiste em alterar os valores de Kp,

Ti e Td do controlador, incluso no processo, de forma que maximize o desempenho da malha como um todo. É

empregado em sistemas cuja dinâmica não se conhece.

O objetivo é fazer com que o sistema opere no limite da sua estabilidade, ou seja, com as partes reais dos polos

iguais a zero. Isso significa que, se os polos tiverem uma pequena parte real negativa, a resposta do sistema

convergirá para um determinado valor. Ao contrário, se eles tiverem uma pequena parte real positiva, a resposta do

sistema divergirá e se tornará instável. Portanto, o sistema com as partes reais dos seus polos iguais a zero deverá

apresentar resposta à uma excitação, por exemplo, um degrau, com amplitudes das oscilações, na medida do

possível, constantes. O par de polos complexos terá apenas as partes imaginárias. Veja a seguir:

As raízes de um sistema de segunda ordem, na forma canônica, como já vistas, são dadas por:

Se o amortecimento for igual a zero ( ) a sua parte real será igual a zero, então,

Sendo:

A frequência angular natural de oscilação dada em rad/seg;

A frequência de oscilação dada em ciclos/seg ou Hz.

Período de oscilação dado em segundos.

O método consiste em:

Com a malha fechada, colocar os ganhos integral e derivativo ajustados para ação mínima, isto é, e

, ou seja, .

O ganho proporcional é aumentado e aplica-se um degrau no sistema e registra-se a resposta. Aumenta-

se novamente o ganho Kp e aplica-se outra vez um degrau.

o Se a diferença entre o primeiro pico e o segundo pico das oscilações da resposta da segunda

aplicação do degrau, for menor do que a diferença entre o primeiro pico e o segundo das oscilações

da resposta da primeira aplicação do degrau, então, deveremos continuar aumentando o valor de

.

o Se for o contrário, deveremos diminuir o valo de Kp.

Quando a resposta do sistema ao degrau, atingir oscilações constantes, o valor do ganho será o ganho

crítico e o período será o período crítico .

Os valores de e serão utilizados para determinarmos os ganhos do controlador a ser utilizado

no sistema. Veja tabela IV.

Tipo de controlador Kp Ti Td

P 0

PI 0

PID

Tabela IV (Seborg et al, 1989)

Limitações práticas para o uso do método:

Alguns processos não toleram oscilações por muito tempo;

Leva demasiado tempo, se aplicado a processos lentos;

Deve ser verificado se nenhum elemento na malha de controle satura durante a oscilação sustentada.

Isso fará com que os resultados não tenham significado.

O objetivo, com este método, é determinar ajustes que produzam um decaimento de ¼ na amplitude de saída.

1.1.5.1. Aplicação prática do método

(tirado do trabalho de Engenharia Integrada VI dos alunos Alexandre Ferreira de Castro e Benedito Mauro de Oliveira – turma

EE8P52/2005 - UNIP/Araraquara)

A figura a seguir mostra a resposta de uma malha de controle de PH

Na figura, às 7:53h, a malha de controle de pH, que normalmente funcionava em modo manual, foi passada para

automático. A partir deste momento, pode-se perceber grandes oscilações na variável controlada (PV), devidas ao

ajuste inadequado do PID que estava sendo usado. Isto explica porque esta malha de controle tinha que funcionar

em manual. Foi feito, então, Td = 0 e Ti = infinito de forma a deixar o controlador apenas proporcional. Pode ser

observada a estabilização de PV em torno de 7,6, apresentando um erro indesejado de regime permanente, pois o

set-point requerido é de 8,2 (erro de aproximadamente 7%). Para determinar o ganho e o período críticos, entre 8:13h

e 8:22h, Kp foi aumentado, e para cada novo valor foi aplicado um degrau no set-point (mudança de set-point).

Às 8:23h foram obtidas as oscilações sustentadas na variável controlada (PV). O valor de Kp utilizado para obtenção

das oscilações é o ganho crítico (Kc). O período das oscilações é o período crítico (Tc). Baseado nos valores do

ganho e período críticos, Kp, Ti e Td foram determinados segundo a Tabela IV.

Os novos parâmetros foram aplicados ao PID às 8:35h e, a partir deste momento, observa-se a convergência da

variável controlada (PV) para o set-point de 8,2 (SP) devido à ação integral do controlador.

Um novo degrau foi aplicado para verificar a qualidade dos novos ganhos do controlador. Pode-se observar a

presença de oscilações no sistema, as quais foram corrigidas através de uma sintonia fina dos ganhos obtidos por

Ziegler-Nichols.

1.1.5.2. Aplicação analítica do método

O método analítico é idêntico ao prático, porém, agora dispomos do modelo da planta a ser controlada, o que antes

não dispúnhamos. Vamos ilustrar o cálculo dos ganhos dos controladores através de um exemplo explicativo.

Seja um sistema de posição dado pelo seguinte diagrama de blocos:

a) Fazer o primeiro ajuste do controle PID obtendo os ganhos Kp, Kd e Ki.

b) Plotar o gráfico da resposta deste sistema a uma entrada degrau de 30° de referência (set-point).

c) Fazer os ajustes fino com o objetivo de se ter a melhor resposta possível.

Resolução

Item a

Fazendo , e , obtemos a função de transferência do sistema:

A equação característica é dada por

As raízes para as quais o sistema terá parte real nula, correspondem a sendo uma incógnita a ser

determinada, portanto, substituindo:

Sabemos que e que , substituindo:

Rearranjando os termos reais e imaginários temos:

Para que este complexo seja zero, tanto a parte real quanto a imaginária devem se zero, logo chagamos no seguinte

sistema de equações:

Da segunda equação tiramos:

(considera-se a raiz positiva maior que zero).

Logo

Substituindo o valor de na primeira equação, temos:

Cálculo dos ganhos do controlador:

Item b

Simulando o sistema para esses valores de ganho, temos:

Código MATLAB

Kp=6; Ki=3.24; Kd=1.68;

numc=[Kd Kp Ki]; denc=[1 0]; nump=8; denp=conv([1 2],conv([1 4],[1 0]));

num=conv(numc,nump); den=conv(denc,denp);

[nummf,denmf]=cloop(num,den);

t=0:0.001:5;

step(30*nummf,denmf,t); grid;

O gráfico fica:

0 1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35

40

45

System: sys Peak amplitude: 44.9

Overshoot (%): 49.8 At time (sec): 0.959

System: sys Settling Time (sec): 3.47

Step Response

Time (sec)

Am

plit

ud

e

Observe que o overshoot ficou próximo de 50% e o tempo de estabelecimento próximo de 3,5 seg. Overshoots da

ordem de 60% podem ocorrer, com os valores de ganhos obtidos por este método. Portanto, torna-se necessário um

ajuste fino desses ganhos.

Item c

Melhorando a sintonia e alterando: Kp de 6 para 5; Ki de 3,24 para 0,1 e Kd de 1,68 para 4 obtemos:

0 1 2 3 4 5 6 7 8 9 100

5

10

15

20

25

30

35

40 System: sys

Peak amplitude: 35.5 Overshoot (%): 18.4 At time (sec): 0.598

System: sys Settling Time (sec): 1.49

Step Response

Time (sec)

Am

plit

ud

e

Note que com o ajuste fino, o overshoot caiu para algo próximo de 18% e o tempo de estabelecimento para próximo

de 1,5 seg. Se estas características da resposta atendem o processo, então o controlador está sintonizado.

Os novos valores de Ti e Td serão:

Exercício proposto

O sistema dado pela função de transferência é instável em malha aberta (observe que o denominador

com polinômio do segundo grau, e um dos elementos é negativo) com polos dados por: p1=1.0 ± j1.41.

a) Sintonize um controlador PID utilizando o método de Ziegler-Nichols (2° método) de forma a estabilizar este

processo.

b) Faça uma simulação e veja como ficou a sintonia.

b1) Quais os valores aproximados de Mp(%), Tr e Ts?

c) Altere alguns valores de ganho e tente melhorar a resposta.

c1) Quais os novos valores aproximados de MP(%), Tr e Ts?

d) Mostre que o controlador fará com que o valor final seja de . Sendo

Resp: Kc=2; Tc=3,63; Ganhos do controlador: Kp=1,2; Ti=1,82; Td=0,45