Upload
nouel
View
206
Download
18
Embed Size (px)
Citation preview
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