Академический Документы
Профессиональный Документы
Культура Документы
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.
res PID
1
CAPTULO 1. 9A AULA REGRAS PARA SINTONIA DE CONTROLADORES PID 2
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) =
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 =
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 =
[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.
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:
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
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);
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
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.