help

Projeto de PID por Emulação

Seja a planta (Exemplo 9.5 de Nise1):

para o qual se deseja:

Controlador Proporcional

A sintonia de um controlador proporcional para este sistema leva à :

Tendo sido obtidos os seguintes resultados:

RL com Controlador ProporcionalResposta ao Degrau
RL_prop_ana.pngstep_prop_ana.png

Isto significa que para o PID é esperado ou segundos. Note que o controlador Proporcional não garante erro nulo para este tipo de sistema. De fato, o erro neste caso se manteve em: .

Controlador PID tradicional (analógico)

Um PID analógico segue a equação:

ou mais simplesmente:

ou seja, um sistema com 2 zeros e 1 pólo na origem que corresponde ao integrador.

Para esta planta, foi definido um PID com a seguinte equação (para rever todo o projeto: clique em: Exemplo de Projeto de PID (Disciplina de Controle Automático II)):

Este PID leva aos seguintes resultados:

Resultados obtidos:

RL com PIDZoom sobre o RL
RL_PID_ana_geral.pngRL_PID_ana_zoom.png
Resposta ao Degrau 
step_PID_ana.png

A idéia é "transformar" este PID analógico num digital usando transformação bilinear, no caso, o método de Tustin.

PID Digital

O aproximação bilinear de Tustin (ou regra do Trapézio) permite "passar" do plano-s para o plano-z e vice-versa, fazendo:

ou

Obs.: Este método só funciona quando o sistema contínuo no tempo é estável.

O primeiro detalhe é definir um valor adequado para o período de amostragem, . Na prática é melhor que a frequência de amostragem fique entre 20 à 10 vezes a maior frequência da planta ("banda passante").

No caso da nossa planta:

O pólo mais rápido está localizado em rad/s. Convertendo para frequência em Hz, obtemos:

1a-versão (usando Tustin)

A eq. analógica do PID:

então sua versão digital usando Tustin fica:

Mas... uma inspeção na equação acima mostra que este processo de discretização gerou um controlador com polos sobre o círculo unitário (), o que implica num controlador marginalmente estável, que pode causar problemas. Repare que não importa o ganho geral adotado para este PID, um dos traçados do RL correspondente aos pontos de partida dos pólos em , pode levar a um traçado que sai imediatamente para fora do círculo unitário assim que .

Podemos até continuar o projeto apenas para confirmar que esta aproximação resultará num sistema instável em MF...

O MATLAB facilita usar a aproximação bilinear de Tustin, usando a função c2d( . , . , 'tustin'):

No caso do PID analógico para esta planta ficaria então:

Repare nos pólos em no plano-z para este sistema e como isto resulta ruim para os traçados do RL:

RL deste sistema:

RL_PIDd_1a_versao_B-2.png

Note: qualquer ganho já faria o traçado do RL correspondente ao pólo do PIDd em , "caminhar" para fora do círculo unitário, na direção de . levando o sistema à instabilidade.

Resposta ao degrau unitário:

Resposta ao degrauParte inicial da resposta ao degrau
step_PIDd_1a_versao.pngstep_PIDd_1a_versao_zoom.png
>> xlim([0 2])

Soluções?

Se quisermos insistir em aproximação por transformação bilinear podemos optar por outros métodos:

O MATLAB permite adotar uma destas ouras aproximações, mas não com a função c2d e sim usando opções na função pid:

Com a função pid, a metodologia empregada para discretizar o termo integral e o termo derivado pode ser especificada de forma independentemente. Especificar um método de integração Trapezoidal corresponde à transformação bilinear de Tustin. Alternativamente, um método de integração BackwardEuler ou ForwardEuler pode ser especificado (ForwardEuler é o padrão). Observe que a função pid não permitirá que você empregue um método de integração trapezoidal para o termo derivado (a menos que o filtro de derivada de primeira ordem esteja incluído) devido aos problemas de estabilidade mencionados acima.

Segue um exemplo de comando para definir um controlador digital usando a função pid:

Obs.: a função pip só está presente dentro do Control Systems Toolbox (a partir do MATLAB versão 7.14 (2013)).

2a-versão (usando Euler e Tustin, sem filtro derivativo)

Usando a função pid.

Podemos verificar como ficou o RL desta versão do PID:

RL com esta versão do PID:

RL_PID_2a.png

Resposta ao degrau:

step_PIDa_PIDd_2a.png

Note que o tempo do pico é praticamente o mesmo entre os 2 PIDs. Notamos que o overshoot ficou algo elevado, mas isto já era previsível observando o RL anterior. Se o ganho (geral) for reduzido para: , obtemos:

RL_PID_2a_ganho_reduzido.png

e:

step_PIDa_PIDd_2aR.png

Neste caso, o tempo do pico foi deslocado (aumentou), mas o tempo de assentamento foi ligeiramente reduzido porque diminuiram as oscilações do sistema com este ganho (geral) menor.

Note que um "ajuste fino" ainda se faz necessário para esta versão digital do PID para obter melhores resultados.

 


Fernando Passold, em 03/06/2025


1 Norman S. Nise. Control Systems Engineering – 6th. ed. LTC, 2012. Biblioteca da UPF: Número de Chamada: 681.5 N724e 6.ed.-2012 (4 exemplares).