Вы находитесь на странице: 1из 11

Controle de Processos Contnuos

1 - Regras para Sintonia de Controladores PID

2 - Busca Numrica de Ganhos Otimizados

Flvio Jos Aguiar Soares - aviosoares@ifam.edu.br

Abril de 2012
Captulo 1

9aaula
Regras para Sintonia de Controladores
PID
Se a planta ou o sistema fsico G(s) que se deseja controlar possuir um modelo matemtico ou for possvel
se obter um, ento os mtodos analticos de especicao de desempenho podem e devem ser aplicados.
Entretanto se G(s) for muito complexa ou desconhecida, ento devem ser empregados tcnicas experi-
mentais para sintonizar os ganhos do controlador PID.

1.1 Aula de Laboratrio - Exerccios sobre Sintonia de Controlado-

res PID

Resolva os exerccios abaixo utilizando o programa Matlab.

1. Seja o sistema fsico denido por Gp (s)= 2


s2 +4 e
(s2 )

a) Obtenha a resposta a uma entrada degrau para s2 +4 ;


2

b) Obtenha a resposta a uma entrada degrau para e(s ) ;


2

c) Apresente o polinmio correspondente a Gp ;

d) Obtenha a resposta a uma entrada degrau;

e) O que voc pode dizer com relao a estabilidade deste sistema?

f) Este comportamente j era esperado? porqu?

e) Considere o primeiro mtodo de sintonia de Ziegler-Nichols. Isole a parte do grco similar a


Figura 1.1. Estime os valores da constante de tempo T e do tempo morto L.
T =
L=

1
CAPTULO 1. 9A AULA REGRAS PARA SINTONIA DE CONTROLADORES PID 2

Figura 1.1: Transiente com atraso.

Tabela 1.1: Primeiro mtodo de Ziegler - Nichols.


Controlador Kp Ti Td
P T
L - -
PI 0, 9 TL L
0,3 -
PID 1, 2 TL 2L L
2

f) Obter os ganhos para controladores PI usando o primeiro mtodo de Ziegler-Nichols.


P Kp =
I Ti =

g) Obter os ganhos para controladores PID usando o primeiro mtodo de Ziegler-Nichols.


P Kp =
I Ti =
D Td =

h) Obtenha a funo de transferncia do controlador Gc (s), considerando os casos em que Gc (s)


seja um controlador PI ou um controlador PID. Primeiro mtodo Z N .
P I Gc (s) =
P ID Gc (s) =

f) Obtenha a funo de transferncia do global G(s), considerando os casos em que Gc (s) seja um
controlador PI ou um controlador PID. Primeiro mtodo Z N .
P I G(s) =
P ID G(s) =

i) Considerando o segundo mtodo de Ziegler-Nichols, obtenha o ganho crtico Kcr e o perodo


crtico .
Kcr =
Pcr =
CAPTULO 1. 9A AULA REGRAS PARA SINTONIA DE CONTROLADORES PID 3

Tabela 1.2: Segundo mtodo de Ziegler - Nichols.


Controlador Kp Ti Td
P Kcr
2 - -
PI 0, 45 K2cr Pcr
1,2 -
PID 0, 6 K2cr Pcr
2 1, 25Pcr

j) Obter os ganhos para controladores PI usando o segundo mtodo de Ziegler-Nichols.


P Kp =
I Ti =

l) Obter os ganhos para controladores PID usando o segundo mtodo de Ziegler-Nichols.


P Kp =
I Ti =
D Td =

m) Obtenha a funo de transferncia do controlador Gc (s), considerando os casos em que Gc (s)


seja um controlador PI ou um controlador PID. Segundo mtodo Z N
P I Gc (s) =
P ID Gc (s) =

n) Obter a funo de transferncia global G(s), considerando os casos em que Gc (s) seja um
controlador PI ou um controlador PID.Segundo mtodo Z N
P I G(s) =
P ID G(s) =

o) Obter os ganhos para um controlador PI e para um controlador PID usando o mtodo CHR
para o problema servo e para o problema regulattio com 20% de sobresinal.
P Kp =
I Ti =

P Kp =
I Ti =
D Td =

p) Obter os ganhos para controladores PID usando o mtodo CC.


P Kp =
I Ti =
D Td =

q) Obter os ganhos para um controlador PI e PID usando o mtodo da Integral do erro usando os
critrios de desempenho IAE e ITAE.
P Kp =
CAPTULO 1. 9A AULA REGRAS PARA SINTONIA DE CONTROLADORES PID 4

I Ti =

P Kp =
I Ti =
D Td =

2. Refazer o problema anterior adotanto Gp (s)= 2s+25


s2 +4s+25
CAPTULO 1. 9A AULA REGRAS PARA SINTONIA DE CONTROLADORES PID 5

1.1.1 Dicas para a resoluo:

O Matlab opera polinmios na forma de vetores, ento o formato da equao Gp (s) = 2


s2 +4 e
(s2 )
precisa ser
convertido em um polimio equivalente. Isto pode ser feito utilizando a funo pade. Apresentamos abaixo
o help do Matlab para esta funo:

PADE Pade approximation of time delays.

[NUM,DEN] = PADE(T,N) returns the Nth-order Pade approximation of the continuous-time delay exp(-
T*s) in transfer function form. The row vectors NUM and DEN contain the polynomial coecients in
descending powers of s.

Veja que a funo pade retorna um polinmio para a expresso exp (T s)


, de modo que o numerador e
o denominador do polinmio que representam a funo exponencial precisar ser multiplicado. pelo polin-
mino em s de G (s).
p

A multiplicao de funes denominada convoluo. Para isso se usa a funo conv(funo1,funo2)


que ir tomar os dois argumentos e retornar os polinmiois da convoluo.
Captulo 2

10aaula
Busca Numrica de Ganhos Otimizados
Denir o ganho do controlador PID a tarefa que o projetista de controle deve ser capaz de resolver.
Existem diversos mtodos experimentais, como vimos no captulo anterior. Todos se baseiam no com-
portamento dinmico da planta, ou seja na resposta de Gp (s).
Veremos agora alguns mtodos nmericos que faro uma busca pelos ganhos timos para os elementos
do controlador PID.
1- Busca Exaustiva:

Nome tcnico para dizer, chute! se no der chute de novo! Depois de algumas tentativas, com sorte voc
pode obter bons resultados. Mas este no um mtodo muito ecaz.
Neste mtodo se procura uma soluo que atenda as especicaes de desempenho, ou seja os tempos de
acomodao pelos critrios de 2% e 5%, mximo sobre-sinal, etc. Entretanto os ganhos obtidos no devem
saturar os atuadores.
Se no sabe o que signica saturar, pergunte ao professor.
Quando o atuador satura se perde a ao de controle e a malha de realimentao deija de ter funo
ativa, ou seja, a malha de controle mesmo sendo fechada passa a se comportar como uma malha aberta.
A esta altura voc j deve ter uma compreenso correta do que malha fechada e malha aberta, se no
tiver, pergunte ao professor.
2- Busca numrica:

Neste mtodo voc dene a faixa em que deseja que os seus ganhos estejam situados. Na prtica isso
denido pela potncia do seu atuador. Uma Ferrari faz de 0 a 100Km em pouco mais de 3s, em quantos
segundos voc acha que um fusca faz?
Evidentemente a faixa dos ganhos deve atender as especicaes de desempenho. Estes valores so
obtidos empregando-se um algortmo de busca. A seguir veremos alguns exemplos retirado do Ogata que
fazem esta busca.
Use o Matlab e reescreva estes exemplos em arquivos.m de modo a vericar o seu funcionamento. Voc
deve tentar compreender a funo de cada linha de programo. O que ela faz e porque ela est ali. Ou seja,
comente cada linha de programao .

6
CAPTULO 2. 10A AULA BUSCA NUMRICA DE GANHOS OTIMIZADOS 7

2.0.2 Exemplos:

EX - 1: Dado o controlador Gc (s) = k (s+a)


s
2
, se deseja determinar os valores de k e a para a FTMF de
modo que dada uma entrada degrau unitrio o mximo sobre-sinal seja 5% < M < 10%.
Soluo: Vamos supor inicialmente que 2 M 5 e que 0, 5 a 1, 5. Caso o algortmo de busca no
encontre uma soluo os intervalos de busca devem ser ampliados e a busca reiniciada.

Figura 2.1: Malha de controle na qual se prentende obter os ganhos do PID.

Este algoritmo corresponde ao programa 10.2, pgina 566 e 568 do livro texto, 4a edio.
Soluo A:
Crie um arquivo.m no Matlab e copie o programa abaixo. tente entender qual a funo de cada linha do
programa e porque ela est ali. Se no entender... pergunte ao professor.
Procure escrever do lado da linha os seus comentrios
Este algoritmo determinar a primeira resposta que satiszer a condio 5

clear all
clc
t=0:0.01:8;
for k=5:-0.2:2;
for a=1.5:-0.2:0.5;
num=[0 0 1.2*k 2.4*k*a 1.2*k*a^2];
den=[0.36 1.86 2.5+1.2*k 1+2.4*k*a 1.2*k*a^2];
y=step(num,den,t);
m=max(y);
if m<1.1 & m>1.05
break %interrompe o loop interno que varia o parmetro a
end
end
if m<1.1 & m>1.05
break % interrompe o loop externo que varia o parmetro k
end
end
plot(t,y)
grid
CAPTULO 2. 10A AULA BUSCA NUMRICA DE GANHOS OTIMIZADOS 8

title('Resposta ao degrau unitrio')


xlabel('t(s)')
ylabel('Sada')
ganhos=[k;a;m];

O algortmo vai gerar um grco. Amplie a regio do sobre-sinal e verique se ele est dentro do intervalo
de projeto desejado.
Observe que o algoritmo foi capaz de determinar os ganhos que fazem com que a resposta dinmica esteja
dentro do intervalo
Soluo B:
Como exerccio, comente cada linha do algoritmo.
Este algoritmo determinar a primeira resposta que satiszer a condio 5

clear all
clc
t=0:0.01:8;
for k=5:-0.2:2;
for a=1.5:-0.2:0.5;
num1 = k*[1 2*a a^2];
den1 = [0 1 0];
tf1 = tf(num1,den1) % tf1 = Gc(s) = PID
num2 = [0 0 0 1.2];
den2 = [0.36 1.86 2.5 1];
tf2 = tf(num2,den2) % tf2 = Gp(s)
tf3 = tf1 * tf2 % tf3 = Gc(s)*Gp(s)
sys = feedback(tf3,1);

Onde sys = C(s)


R(s) = G(s) =
Gc (s)Gp (s)
1+Gc (s)Gp (s)

y = step(sys,t)
m = max(y)
if m<1.1 & m>1.05
plot(t,y);
grid;
title('Resposta do Sistema a um degrau unitrio')
xlabel('t(s)')
ylabel('Sada')
ganhos=[k;a;m];
break %interrompe o loop interno que varia o parmetro a
end
end
if m<1.1 & m>1.05
CAPTULO 2. 10A AULA BUSCA NUMRICA DE GANHOS OTIMIZADOS 9

break % interrompe o loop externo que varia o parmetro k


end
end

No exemplo anterior o algortmo de busca para assim que encontra a primeira soluo. Veremos a seguir
um exemplo em que o algortmo encontra um conjunto de possveis solues.
EX - 2: Considere o mesmo sistema fsico do exemplo anterior, mas agora adotaremos um ganho k < 10%.
Neste caso o sistema pode ser superamortecido.
Este algoritmo corresponde ao programa 10.4, pgina 570 do livro texto, 4a edio.
A ttulo de exerccio comente cada linha do programa abaixo, identicando sua funo dentro do algoritmo

clear all
clc
% Valores de k e a que sero testados
k=[2.0 2.2 2.4 2.6 2.8 3.0];
a=[0.5 0.7 0.9 1.1 1.3 1.5];
t=0:0.01:5;
gp=([0 0 0 1.2],[0.36 1.8 2.5 1]);
ca=0;
for i=1:6;
for j=1:6;
gc=tf*(k(i)*1 2*a(j) a(j)^2],[0 1 0];
G=(gc*gp)\(1+gc*gp);
y=step(G,t);
m=max(y);
if m< 1.10
ca = ca+1;
solucoes(ca,:)=[k(i) a(j) m];
end
end
end
% solucoes vai imprimir as solues encontradas

saida_de_solucoes_k_a_m = sortrows(solucoes,3)
% vai ordenar as solues em 3 colunas com valores crescentes,
% ou seja, vai reordenar as solues do mnimo para o mximo sobre-sinal.

% para imprimir maior valor de M < 10%, fazer:


% observe que ca um contador que vai estar com o ltimo valor (no caso ca=15)
k=saida_de_solucoes(ca,1);
a=saida_de_solucoes(ca,2);
CAPTULO 2. 10A AULA BUSCA NUMRICA DE GANHOS OTIMIZADOS 10

gc=tf(k*{1 2*a a^2},[0 1 0]);


G=gc*gp/(1+gc*gp)
step(G,t) % imprime soluo a entrada degrau

% para imprimir menor valor de M < 10%, fazer:


k=saida_de_solucoes(11,1);
a=saida_de_solucoes(11,2);
gc=tf(k*{1 2*a a^2},[0 1 0]);
G=gc*gp/(1+gc*gp)
step(G,t) % imprime soluo a entrada degrau

2.0.3 Lista de Exerccios:

Resolva os seguintes problemas propostos do livro texto, 4a edio:

Refaa os exemplos A.10.1, A.10.3, A.10.5, A.10.7, A.10.8, A.10.9.

Faa os exerccios B.10.1, B.10.2, B.10.3, B.10.7.


2
Refaa o exemplo A.10.11. Considere um controlador PID onde Gc = k (s+a)
a que deve controlar a
planta Gp = s(s+1)(s+5) .
1
Obtenha:
a) Um algortmo que faa a busca automtica dos ganhos. Determine o valores dos ganhos k e a de
modo que o mximo sobre-sinal esteja dentro do intervalo 5% < M < 10% com tempo de acomodao
ts < 3s. Adote a regio de busca 2 k 50 e 0, 05 a 2.
b) A funo de transferncia G(s);
c) A equao caracterstica;
d) Determine o mximo valor de ganho para que a resposta a uma entrada degrau seja estvel.
Lembre-se que existem algumas maneiras de vericar a estabilidade de uma funo, pelo mtodo de
Routh ou pela posio dos plos da equao caracterstica. Os plos de uma funo correspondem as
suas razes. As razes de um polinmio pode ser obtido utilizando a funo roots().

B.10.11 utilizando o Matlab.

B.10.12 utilizando o Matlab.

Вам также может понравиться