Entenda como funciona o algoritmo PID

O que é o PID?

          PID significa Proporcional, Integral e Derivativo, é um algoritmo utilizado em sistemas de controle por feedback. Esse sistema compara um valor medido (de um sensor, por exemplo) com um valor desejado (o alvo) e ajusta o sinal de saída para um atuador, de modo a reduzir a diferença (erro) entre o valor medido e o alvo.

          O controlador (no caso, a Injeção eletrônica) se utiliza de cálculos constantes para controlar o sistema. Ele verifica o valor atual do erro, a integral do erro, em um intervalo de tempo, e a derivada atual do sinal de erro. Assim se torna possível determinar não apenas o quanto de correção aplicar, mas também por quanto tempo aplicá-la.
          No caso de um sistema Drive by Wire, a posição do pedal do acelerador fornece o valor do alvo (o quanto o motorista quer “acelerar”), enquanto o ângulo do sensor de posição do acelerador (TPS) é o canal de feedback. Quando há uma diferença entre os dois sinais, as saídas da ECU são alteradas para que se chegue no valor do alvo. O tempo de resposta de qualquer sistema depende muito dos componentes físicos. (Ex: a posição do pedal muda mais rapidamente do que a posição da borboleta)

          No mundo real, um sistema PID nunca irá buscar atingir EXATAMENTE o alvo. Contrário a isso, os parâmetros de ajuste incluem uma “zona morta” – uma área ao redor do alvo em que o algoritmo não tentará fazer com que o sistema atinja o alvo exato. O sinal de saída é a soma dos componentes Proporcional, Integral e Diferencial. Iremos detalhar agora um de cada vez:


  • Componente Proporcional
          O Componente Proporcional é também chamado de Ganho Proporcional (‘P’) multiplicado pelo Erro. O parâmetro proporcional tem uma resposta imediata quando há um erro e controla o volume da resposta no sistema. Somente a atuação do componente proporcional nunca reduzirá o erro a zero, pois à medida que o erro diminui, a resposta proporcional também diminui.

          Se o Ganho Proporcional for muito pequeno o erro será reduzido apenas por uma pequena quantidade e a resposta será lenta. Com muito ganho proporcional o sistema ficará instável e ocorrerá o “Overshooting”. Overshooting é o que ocorre quando o sistema fica oscilando em torno do alvo, hora ultrapassando-o, hora tornando a ficar abaixo dele.


  • Componente integral
          O  Ganho Integral é um componente de ação mais lenta, visando combater o erro residual a um prazo mais longo em relação ao Proporcional.
O tamanho do componente Integral continuará aumentando enquanto o erro não for zero. Por exemplo: alguns atuadores de marcha lenta e solenóides de “Booster Controller” necessitam de um certo ciclo de trabalho para conseguirem manter uma posição fixa, com um valor de erro próximo a zero. Nesse caso, os componentes de P & D têm pouco efeito, mas o componente I é o que será responsável por manter a posição do atuador/válvula.
          Se o sinal de saída supera o alvo, o valor de erro muda de polaridade e um termo “negativo” é adicionado ao componente Integral, reduzindo-o.
Grandes quantidades de ganho Integral podem causar problemas também. “Integral Windup” é um efeito que ocorre quando o erro é constante, fazendo com que o componente Integral continue aumentando constantemente o sinal de saída para tentar reduzir o erro. Se as condições que mantêm o erro forem removidas, o sistema pode

ultrapassar o alvo e, em seguida, o sinal precisará ser revertido novamente. Nesse caso, será necessário utilizar um menor ganho Integral de modo a garantir que os erros de longo prazo se mantenham dentro da “zona morta”.


  • Componente Derivativo
          O Ganho Derivativo tem um efeito de amortecimento no controle do alvo do sistema. Ele existe para melhorar o tempo de resposta do sistema. Baseado na taxa de alteração do valor do erro, fazendo com que o componente Derivativo seja maior em mudanças repentinas no erro, em relação a mudanças graduais. Novamente, o tempo de resposta de qualquer sistema é muito dependente dos componentes físicos, então o Ganho Derivativo deve ser definido de acordo com cada aplicação.

          Por exemplo, se o Ganho Derivativo for muito grande, poderá ocorrer “overshooting” à medida que a resposta ultrapassar o alvo, fazendo com que o controle volte a diminuir o sinal de saída. O termo derivativo tende a entrar em operação durante a mudança transitória inicial no sistema, fazendo o efeito de “achatar” a curva de resposta, reduzindo o overshooting.


  • Uma analogia do mundo real

Sistema P: Pense que um motorista está num carro sem freios e deseja parar num semáforo alguns metros à sua frente, o mais rápido possível! O motorista só tem controle sobre o pedal do acelerador para fazer com que o carro consiga chegar no semáforo. Quanto mais o veículo se aproxima, menos o motorista pisa no acelerador. A quantidade de aceleração é o Ganho Proporcional.

          O motorista está contando apenas com o atrito entre os pneus e o asfalto para que seu carro pare. Se o motorista estiver tentando chegar no semáforo mais rapidamente, mais ele pisará no acelerador.

O problema é que, se o motorista depende exclusivamente do atrito entre pneus e asfalto para que o carro freie, ele correrá um grande risco de passar do semáforo e ter que voltar de ré até o ponto desejado de parada. Isso provavelmente aconteceria várias vezes até que o motorista conseguisse parar corretamente antes do semáforo. e quanto mais rápido o motorista tentar fazer isso (visando o menor desperdício possível de tempo), pior seriam seus erros ultrapassando e voltando ao semáforo.


Sistema PD: Agora, considere que o carro possua freios. O motorista, ao se aproximar do semáforo, pode reduzir a quantidade de aceleração e também utilizar os freios. Os freios agem como o componente Derivativo do sistema. Obviamente que agora, com o acelerador e freios, o motorista poderá chegar e parar no semáforo com muito facilidade, rapidez, e ainda com muito menos chances de errar o ponto de parada.


Sistema PID: Agora, imagine que o tal semáforo em questão esteja numa rua em aclive. O motorista fará o mesmo procedimento de parada utilizando-se do acelerador e freios, mas quando atingir o ponto de parada o carro irá “querer” descer novamente a rua. Supondo que não fosse possível (no mundo real) segurar o carro na posição desejada com os freios, o motorista agora precisará aplicar um pouco de aceleração para segurar o carro no ponto de parada para que não role para trás. Este é o componente Integral do sistema.


          Pode-se concluir que se o mesmo motorista estivesse num carro muito potente, a quantidade de aceleração e frenagem necessárias para chegar ao semáforo seria diferente, se comparado a um carro menos potente. Obviamente, o carro de alta potência fará o trabalho mais rápido, porém mais energia seria utilizada e, portanto, mais desgaste no conjunto.

 


  • Calibrando um sistema com o algoritmo PID
Exemplo: um atuador de marcha lenta.
          Os parâmetros para P, I e D foram todos zerados para começar. Uma pequena quantidade de Ganho P (figura 1) é adicionada e a resposta do atuador é observada. Pode-se notar que há um degrau entre a posição atual e o alvo, que ainda não foi alcançado. O Ganho P é aumentado (figura 2)
e o erro (Alvo – Posição atual) é reduzido.

A Figura 2 também mostra que, com P adicionado, há uma resposta ligeiramente mais rápida na busca ao alvo. Na figura 3, o Ganho P é aumentado ainda mais, para que a resposta seja mais rápida e o erro entre alvo e posição real é muito menor, mas agora podemos observar o “overshoot” e “undershoot”, que é quando a posição atual oscila e ultrapassa o alvo. Reduzindo o P a uma quantidade ligeiramente menor irá reduzir a oscilação, e adicionando um pouco de D irá reduzi-lo ainda mais, mantendo o tempo de resposta aceitável (figura 4). O parâmetro D age como um amortecedor no sistema. Porém, ainda há algum pequeno erro restante.

         Pode ser adicionado um pouco de Ganho I no sistema para que se busque reduzir o erro residual para um valor próximo de zero, ou seja: para que alcance a “zona morta”. O Ganho I  continuará incrementando a saída ao longo do tempo, enquanto o erro não for zerado.
          A reação do P e do D também pode ser vista ao observar o sinal de saída. A Figura 5 mostra o sistema apenas com o componente P. O sinal aplicado ao atuador mostra que não há nenhum efeito de amortecimento (“frenagem”), e o sinal só é invertido quando sua posição ultrapassa o alvo. Na figura 6 há uma reversão perceptível do sinal (“frenagem”) à medida que o erro se aproxima de zero. O ajuste fino do P e D tornará o sistema melhor. O Ganho I é (geralmente) definido por último para eliminar qualquer erro restante.
          Um sistema, como o do nosso exemplo de atuador de marcha lenta, quase sempre precisará de controle por algoritmo PID devido ao requisito de ter uma resposta muito rápida e precisa a uma mudança de alvo, que também muda rapidamente. Sistemas que têm um requisito de resposta mais lenta podem precisar apenas de P e alguns de I, sem D. Alguns sistemas podem exigir P e D apenas, porque quaisquer erros que sobrem não afetarão o sistema (controle de pressão de turbo, por exemplo).

Um método fácil de determinar manualmente os valores P, I e D é zerar os termos Integral e Derivativo setar um valor pequeno para o Proporcional. A largura de oscilação resultante Xosc e o período de oscilação Tosc podem então ser usados para determinar as configurações de PID utilizando as fórmulas abaixo:

  • P = 2,0 * Xosc
  • I = 1.5 * tosc
  • D = I / 5

Os valores obtidos com as fórmulas acima resultam em uma resposta ligeiramente mais amortecida e conseqüentemente todos os valores podem ser reduzidos ligeiramente para termos uma resposta “mais fina”.

pid-exemplo-pratico-resultado pid exemplo pratico resultado

Esse artigo foi uma tradução/adaptação de:
  • http://www.vems.hu/files/SecretMachine/DTN0003_Introduction_to_PID_Control%255B1%255D.pdf)
  • https://www.citisystems.com.br/controle-pid/

Deixe um comentário

O seu endereço de email não será publicado. Campos obrigatórios marcados com *