(0&RQWUROHGH6LVWHPDV0HFkQLFRV
Exemplo de Projeto PID
Para a planta cuja função de transferência está abaixo, determine os valores
das constantes de um controlador PID para que o sobressinal seja inferior a
20% e o tempo de estabilização a 2 % seja inferior a 6 segundos. Usar a
metodologia de Ziegler-Nichols.
Y ( s)
10
=
U ( s ) s ( s + 2)( s + 5)
Solução:
A metodologia de Ziegler-Nichols é baseada na margem de ganho para um
controlador apenas proporcional. O ganho que leva o sistema a oscilar será
chamado de Km, e a frequência respectiva de ωm. Pode-se encontrar este valor
de vários modos, por exemplo através do diagrama do lugar das raízes ou
pelos diagramas de Bode. Usando o diagrama do lugar das raízes através do
MATLAB, o programa respectivo pode ser o seguinte:
» np=10;
» dp=poly([-5 -2 0]);
» printsys(np,dp)
num/den =
10
-----------------s^3 + 7 s^2 + 10 s
» rlocus(np,dp)
» [Km pmf]=rlocfind(np,dp)
Select a point in the graphics window
selected_point =
0.0231 + 3.2551i
Km =
1
Página 2
DMC
10/30/01
7.4676
pmf =
-7.0778
0.0389 + 3.2480i
0.0389 - 3.2480i
O ponto selecionado evidentemente varia para cada aplicação do programa. No
entanto, como o método é empírico, os valores podem ter uma pequena
variação, o que não influi no resultado final. Dos valores dos pólos de malha
fechada para o ponto selecionado pode-se deduzir que a freqüência natural é
aproximadamente 3.25 rad/s. Assim, pode-se adotar as fórmulas para encontrar
as constantes do método:
» wm=3.25;
» Kp=0.6*Km;
» Kd=(Kp*pi)/(4*wm);
» Ki=(Kp*wm)/pi;
na10exemplos_s1.doc
DMC
10/30/01
Página 3
O diagrama de blocos do sistema encontra-se na figura abaixo. Deve-se
encontrar primeiro a função de transferência de malha aberta.
É conveniente observar que o diagrama acima não permite que o seu modelo
seja transferido adequadamente para o espaço do MATLAB, dado que existiria
uma função imprópria (o elemento derivativo). Poderia ser usado também o
bloco do SIMULINK do controlador PID, porém a representação acima é mais
clara em relação aos seus elementos. Para o cálculo da função de transferência
de malha aberta, resultado da convolução entre o controlador e a planta, não
pode ser usado o comando series, porque a função de transferência do
controlador é imprópria, ou seja,
K ( s) =
Kd s2 + K p s + Ki
s
.
Assim, considerando P(s) é a função de transferência da planta, para encontrar
KP ( s ) = K ( s ) P ( s )
faz-se uso dos seguintes comandos MATLAB:
» nk=[Kd Kp Ki];
» dk=[1 0];
» nma=conv(nk,np);
» dma=conv(dk,dp);
» printsys(nma,dma)
num/den =
10.83 s^2 + 44.81 s + 46.35
--------------------------s^4 + 7 s^3 + 10 s^2
na10exemplos_s1.doc
Página 4
DMC
10/30/01
Para encontrar a função de transferência de malha fechada, faz-se uso do
comando cloop:
» [nmf dmf]=cloop(nma,dma);
» printsys(nmf,dmf)
num/den =
10.83 s^2 + 44.81 s + 46.35
----------------------------------------s^4 + 7 s^3 + 20.83 s^2 + 44.81 s + 46.35
A função acima representa portanto o sistema de malha fechada para os
valores das constantes encontradas. Deve-se agora verificar se a resposta ao
degrau satisfaz os requisitos especificados inicialmente pelo problema. Em
geral, a solução apresentada pelo método Ziegler-Nichols é apenas razoável,
servindo como ponto de partida para se encontrar os valores finais mais
adequados e que satisfaçam as especificações. Assim, para a resposta ao
degrau, pode-se utilizar o diagrama de blocos traçado no SIMULINK, levando
ao gráfico abaixo.
Observa-se que o sobressinal é da ordem de 60 %, e o tempo de estabilização
também é superior a 6 segundos, o que não atende às especificações. Para
na10exemplos_s1.doc
Página 5
DMC
10/30/01
diminuir o sobressinal, pode-se aumentar o fator de amortecimento, o que pode
ser conseguido através do aumento do ganho derivativo, o que também
acarreta um melhor tempo de estabilização. Assim, usando o MATLAB com
os comandos a seguir e traçando a resposta ao degrau com o auxílio do
diagrama de blocos, encontra-se o gráfico abaixo.
» nk
nk =
1.0828 4.4805 4.6352
» Kd=5;
» nk=[Kd Kp Ki];
» nma=conv(nk,np);
» [nmf dmf]=cloop(nma,dma);
onde pode-se constatar que o sobressinal já atende à especificação porém o
tempo de estabilização ainda não é satisfatório. No entanto ocorre segundo
sobressinal que se prolonga durante algum tempo o qual é efeito da constante
de integração. Diminuindo-se este valor, pode-se melhorar a resposta. Para o
valor de Ki = 0.2, encontra-se o resultado da figura abaixo, com os seguintes
comandos:
» Kd=5;
na10exemplos_s1.doc
Página 6
DMC
10/30/01
» Ki=0.2;
» t=0:0.01:10;
» nk=[Kd Kp Ki];
» nma=conv(nk,np);
» [nmf dmf]=cloop(nma,dma);
» y=step(nmf,dmf,t);
» plot(t,y);grid
que aparentemente atende a todas as especificações. Para confirmar, deve-se
fazer uso do programa mstepar.m que calcula os parâmetros da resposta ao
degrau.
na10exemplos_s1.doc
Download

Exemplo de Projeto PID