Sie sind auf Seite 1von 8

Warthog

Robotics
USP
So Carlos
www.warthog.sc.usp.br
warthog@sc.usp.br

Algoritmo PID
Por Gustavo C. Oliveira, Membro da Diviso de Controle (2013)

1 Introduo
Um sistema de controle uma interconexo de componentes ou processos
configurada de forma a produzir uma determinada resposta. Em todo sistema de controle,
so definidos os sinais de entrada, que representam uma excitao externa ao sistema, e
os sinais de sada, que representam a resposta do sistema excitao externa. A anlise
de tais sistemas assume uma relao de causa e efeito entre os sinais de entrada e de
sada, que representa o processamento dos primeiros para gerar os segundos.
Num sistema de controle, um sinal de realimentao definido como uma medida
do sinal de sada do sistema que usado para o controle do mesmo. Sistemas que no
apresentam um sinal de realimentao so ditos de malha aberta. Sistemas que utilizam o
sinal de realimentao so classificados como sistemas de malha fechada. Estes ltimos
sero de nosso interesse, e a representao genrica dos mesmos pode ser observada
no diagrama de blocos da figura 1.
Alm dos sinais j apresentados, observamos a presena do sinal de erro, que
definido pela diferena entre o sinal de entrada e o sinal de realimentao.
Dentro os blocos, o controlador o responsvel por manipular o sinal de erro de
forma a modificar o sistema e fazer com que ele apresente as caractersticas de
desempenho desejadas. Existem diversas formas de se realizar tal manipulao. Aqui,
analisamos o algoritmo PID, sigla derivada dos termos Proporcional, Integral e Derivativo.

Figura 1 Diagrama de blocos de um sistema de malha fechada

2 O Algoritmo PID
O algoritmo PID bastante popular e largamente aplicado no controle dos mais
variados tipos de processos devido a sua eficincia e facilidade de implementao. Todo
controlador que manipula o sinal de erro utilizando este algoritmo chamado controlador
PID.
Para um controlador PID, a sada do controlador, u(t), dada por

e a funo de transferncia

onde e(t) o sinal de erro, Kp a constante de ganho proporcional, Ki a constante de


ganho integral e Kd a constante de ganho derivativo. Tais constantes podem assumir
quaisquer valores reais, inclusive negativos e nulos. A escolha destes valores um
problema a parte, que constitui o processo de ajuste do controlador.
Controladores PID so bastante eficientes no controle de processos onde a
dinmica dominante de segunda ordem. Para sistemas de primeira ordem, um simples
controlador PI (Kd = 0) geralmente obtm resultados satisfatrios. Controladores mais
complexos so indicados para sistemas de ordem mais alta ou que possuem um tempo
de resposta muito grande.
A seguir, para melhor entendermos como o controlador PID atua, iremos analisar
separadamente a influncia de cada termo sobre a resposta do sistema.

2.1 Ganho Proporcional


No caso de um controlador puramente proporcional, a resposta do controlador
simplesmente o sinal de erro multiplicado por Kp. O ganho proporcional ajuda a melhorar a
resposta do sistema, aproximando o valor final da sada ao valor esperado. No geral,
aumentando-se o valor de Kp, aumenta-se o valor da resposta final do sistema.
Como efeito secundrio, o ganho proporcional tambm melhora o tempo de
resposta do sistema. Ou seja, sozinho, ele j capaz de gerar bons resultados.
Entretanto, o controle proporcional pode criar alguns efeitos indesejados. O
aumento indiscriminado do valor de Kp pode fazer a resposta atingir valores muito altos, o
que pode muitas vezes danificar componentes do sistema. Ainda, a partir de certo valor,
observa-se que a resposta comea a apresentar carter oscilatrio, podendo inclusive

chegar a situaes de instabilidade. Finalmente, em muitas situaes, o ganho


proporcional, atuando sozinho, no capaz de eliminar totalmente o erro.

1 .6
R e s p o s ta
Kp =
Kp =
Kp =

1 .4

N a t u ra l
12
100
500

1 .2

0 .8

0 .6

0 .4

0 .2

0 .2

0 .4

0 .6

0 .8

1 .2

1.4

1 .6

1 .8

Figura 2 Respostas de um sistema para diversos valores de K p

Tais caractersticas podem ser visualizadas atravs da figura 2. Nela esto


representadas as respostas de um sistema em malha aberta (Resposta Natural) e com
um controlador proporcional com ganhos Kp iguais a 12, 100 e 500 quando excitado por
um degrau. Pode-se observar a melhoria da resposta do sistema com o aumento do valor
da constante de ganho proporcional, e tambm o surgimento de oscilaes para valores
elevados de Kp. Tambm possvel notar que, mesmo com um ganho proporcional muito
alto, o sistema no foi capaz de eliminar o erro totalmente.

2.2 Ganho Integral


A principal ao do ganho integral garantir preciso para o sistema, ou seja, fazer
com que a resposta final alcance o valor desejado, eliminando o erro. Com ganho integral,
um erro positivo sempre leva a um aumento do sinal de controle, enquanto que um erro
de sinal negativo sempre leva a uma queda do sinal de controle, por menor que o erro
seja.
fcil perceber que, com um ganho integral, o erro de estado estacionrio, quando
a resposta estabiliza em um determinado valor, ser sempre nulo: assuma que o sistema
encontra-se com a sada estabilizada em determinado valor, com um sinal de controle
constante u0(t) e um erro constante e0(t). Neste caso, a resposta do controlador ser:
u0(t) = Ki e0(t)t

Desta expresso, vemos que o sinal de controle s ser constante se o erro for
zero. Logo, um controlador com ganho integral, quando o sistema estvel, garante que
o erro final nulo.
O termo integral pode causar um problema conhecido como wind up. Quando a
varivel de controle atinge o valor mximo do atuador, o sistema opera como se estivesse
em malha aberta, pois o atuador permanecer em seu valor limite independente da sada
do processo. Se um controlador com ao integral estiver sendo usado, o erro continuar
sendo integrado, podendo tornar-se muito grande. Quando o sistema atinge o valor
esperado, o termo integral ainda alto, e a resposta do sistema se distancia do valor
esperado. O termo integral comea ento a diminuir, e o processo se reverte, criando
oscilaes em torno do valor esperado. Assim sendo, o uso do ganho integral tambm
pode interferir no tempo que o sistema necessita para se estabilizar. Em geral, quanto
maior o valor de Ki, mais demorado o processo de estabilizao da resposta.
A maneira mais simples de se lidar com o wind up limitar o termo integral,
definindo como limites os valores mximos e mnimos do atuador.
As caractersticas expostas acima podem ser observadas na figura 3, que mostra
as curvas referentes s respostas a um degrau de um sistema em malha aberta, com Ki
igual a 10, 100 e 125. Perceba a eliminao do erro final para os valores de Ki = 10 e
Ki = 100, o aumento do tempo de resposta com o crescimento de Ki e a desestabilizao
do sistema, com a resposta crescendo indefinidamente, quando Ki = 125.

3
R e s p os ta
Ki =
Ki =
Ki =

2 .5

N a t u ra l
10
100
125

1 .5

0 .5

-0 .5

-1

10

12

14

16

Figura 3 Respostas de um sistema para diversos valores de K i

18

20

2.3 Ganho Derivativo


O propsito principal do ganho derivativo melhorar a estabilidade da malha
fechada. Normalmente utiliza-se o controle derivativo junto com o proporcional, formando
um controlador PD. A ao deste tipo de controlador pode ser interpretada como um
controle proporcional a uma previso da sada do sistema, onde essa previso feita por
extrapolao pela tangente curva do erro.
O ganho derivativo pode ser utilizado para dar amortecimento resposta do
sistema. Um valor crescente de Kd reduz as oscilaes e as situaes de overshoot,
quando a resposta ultrapassa o valor esperado, mas tambm aumenta o tempo de
estabilizao do sistema. Ainda, se o valor de Kd crescer muito, o sistema volta a
apresentar oscilaes.
Os problemas que surgem devido ao uso de ganho derivativo esto relacionados
irregularidades no tempo de amostra, rudos e oscilaes de alta frequncia. A sada do
controlador, em controle digital, proporcional variao do sinal dividido pelo tempo de
amostra. Se a variao constante mas o tempo de amostra varia, isso cria rudo no
termo diferencial. Como o valor de Kd geralmente alto, esse rudo bastante
amplificado.
A ao de um controlador PD pode ser observada na figura 4. Nela esto presentes
as curvas que representam a resposta a um degrau de um sistema em malha aberta e
controladores com ganho Kp = 100, e valores de Kd iguais a 25, 100 e 500. interessante
notar o crescimento rpido da resposta do sistema e o aumento das oscilaes com o
crescimento de Kd.

1 .6
R e s p o s ta N a tu ra l
K d = 25
K d = 100
K d = 500

1 .4

1 .2

0 .8

0 .6

0 .4

0 .2

0.1

0 .2

0.3

0 .4

0 .5

0 .6

0.7

0 .8

Figura 4 Respostas de um sistema para diversos valores de K d

0 .9

2.4 Resumo
O uso de ganho proporcional j implica em melhorias na resposta do sistema. O
ganho derivativo melhora a estabilidade e diminui as oscilaes. E finalmente, a adio de
um ganho integral diminui o erro final, mas este ganho deve ser manejado com cuidado
pois pode causar desestabilizao do sistema. A tabela 1 a seguir apresenta
resumidamente os efeitos do aumento das constantes sobre o desempenho do sistema.

Constante

Tempo de
Resposta

Overshoot

Tempo de
Estabilizao

Erro Final

Kp

Diminui

Aumenta

Diminui

Ki

Diminui

Aumenta

Aumenta

Elimina

Kd

Diminui

Diminui

Tabela 1 Efeitos do aumento das constantes

3 Implementao Digital
Quando um computador digital utilizado para implementar uma lei de controle,
todo o processamento de sinais realizado em perodos discretos de tempo. A sequncia
de operaes a seguinte:

1 Esperar por uma interrupo de clock.


2 Ler a entrada analgica.
3 Calcular o sinal de controle.
4 Estabelecer a sada analgica.
5 Atualizar as variveis do controlador.
6 Reiniciar o processo.

O tempo de amostragem um dos fatores que afetam o desempenho do sistema.


Se a taxa de amostragem for muito alta, h o risco de acontecer estouro do integrador e
criar problemas de rudo com o termo diferencial. Uma regra prtica para sistemas de
controle digitais que o tempo de amostragem deve ser entre 0,1 e 0,01 do tempo de
estabilizao desejado.
Existem diversas formas de implementar o algoritmo PID em controle digital. A
seguir temos um cdigo bastante simples que implementa o algoritmo em linguagem C.

// Implementao do algoritmo PID em linguagem C


double e, e1, e2, u, delta_u;
k1= kp + ki + kd;
k2=-kp 2*kd;
k3= kd;
void pid( )
{
e2 = e1;
e1 = e;
y = readADC( );
e = setpoint y;
delta_u = k1*e + k2*e1 + k3*e2;
u = u + delta_u;
if (u > UMAX) u = UMAX;
if(u < umin) u = UMIN;
writeDA(u);
}

// atualiza as variveis de erro


// l a sada atravs de um sensor
// calcula o novo erro
// algoritmo PID
// limitao da sada para os limites do conversor DA
// envia a sada para o conversor DA

4 Ajuste do Controlador
As etapas tpicas do processo de ajuste de um controlador so as seguintes:
1 Determinar quais caractersticas do sistemas devem ser melhoradas.
2 Usar Kp para diminuir o tempo de subida da resposta, at que se observem
oscilaes.
3 Usar Kd para diminuir o overshoot e o tempo de estabilizao do sistema.
4 Usar Ki para eliminar o erro final.
Um mtodo para encontrar um bom conjunto inicial de parmetros de onde o ajuste
pode ser iniciado o primeiro mtodo de Ziegler-Nichols. Ele se aplica a sistemas com
nenhum integrador nem plos complexos conjugados dominantes, cuja resposta ao
degrau unitrio lembram uma curva em forma de S, sem overshoot.
Uma outra alternativa utilizar a ferramenta computacional Simulink para fazer
simulaes do sistema. Nela, existe um bloco chamado PID Controller que simula um
controlador PID. Com um clique duplo neste bloco, abre-se uma janela aonde podem ser
estabelecidos pelo usurio os valores das constantes do algoritmo. Existe tambm um
boto com o nome Tune..., onde pode-se fazer o ajuste automtico do controlador. O
usurio escolhe um tempo de resposta, e o software calcula os valores de cada
constante.

5 Concluso
O algoritmo PID uma ferramenta poderosa que pode ser utilizada para o controle
de diversos tipos de sistema. Sua facilidade de implementao, alm de sua eficincia, o
tornam uma tcnica bastante popular. Seu ajuste pode, por vezes, ser um processo
complicado. Porm, tomando-se alguns cuidados na realizao do ajuste, possvel
alcanar bons resultados.

6 Referncias Bibliogrficas
Bishop, R. H.; Dorf, R. C., Modern Control Systems. 11ed. , Prentice Hall, 2008.
strm, K.; Hgglund, T., PID Controllers: Theory, Desing and Tunning. 2ed. , ISA.
Toochinda, V., Digital PID Controllers. Disponvel em http://www.controlsystemslab.com.
Lacoste, R., PID Control Without Math. Disponvel em
http://itech.fgcu.edu/faculty/zalewski/CDA4170/files/PIDcontrol.pdf.
Zhong, J., PID Controller Tunning: A Short Tutorial. Disponvel em
http://wwwdsa.uqac.ca/~rbeguena/Systemes_Asservis/PID.pdf.
Wescott, T., PID without a PhD. Disponvel em
http://www.embedded.com/design/embedded/4211211/PID-without-a-PhD.
Todas as referncias eletrnicas foram acessadas em 08/06/2013.

Das könnte Ihnen auch gefallen