BlueShark_EN-US12265881842_1920x1080

 

Sintonia de PIDs usando Ziegler Nichols

Seja um controlador PID no formato paralelo como o mostrado no diagrama em blocos à seguir:

PID_en.svg.png

O método de ajuste de Ziegler-Nichols é um método heurístico de ajuste de um controlador PID. Foi desenvolvido por John G. Ziegler e Nathaniel B. Nichols em 1942 1.

É realizado configurando os ganhos (integral) e (derivado) para zero. O ganho "P" (proporcional), ou é então aumentado (de zero) até atingir o ganho final , que é o maior ganho no qual a saída do circuito de controle tem oscilações estáveis e consistentes (uma senóide de amplitude constante, resultado de pólos complexos sobre o eixo no plano-s). Ganhos maiores que o ganho final resultam em oscilação divergente (senoíde de amplitude constante). Interessa tomar conhecimento neste método, tanto o valor de quanto o valor do período de oscilação da senóide, .

oscilacao_Ku.png

Os valores de e são usados para definir os valores iniciais para os ganhos do PID: , e , dependendo do tipo de controlador usado e comportamento desejado:

Controlador
P----
PI--
PD--
PID
Algum sobressinal
Sem sobressinal

onde:
;
;

Os 3 parâmetros obedecem à equação (no formato ISA) do PID:

ou (equação no formato paralelo):

que no plano-s origina:

ou:

Como alternativa à tabela anterior, outro conjunto de valores de ajuste foi determinado por Tyreus e Luyblen para PI e PID, geralmente chamados de regras de ajuste do TLC. Esses valores tendem a reduzir os efeitos oscilatórios e melhorar a robustez.

Controlador
PI-
PID

 

Método de auto-ajuste baseado no método do Relé

Existe outra maneira de sintonizar o PID usando a estrutura básica de um controlador ON/OFF, chamado de "método do relé”.

Publicado em 1984 por Karl Johan Åström e Tore Hägglund2, o método de relé opera temporariamente o processo usando o controle bang-bang (ou on/off) e mede as oscilações resultantes. A saída é alternada (como se por um relé, daí o nome) entre dois valores da variável de controle. Os valores devem ser escolhidos para que o processo cruze o ponto de ajuste, mas não necessita ser 0% e 100%; escolhendo valores adequados, podem ser evitadas oscilações perigosas num sistema real.

O procedimento neste caso é o seguinte:

  1. Permita o sistema se estabilizar;
  2. Modifique a referência (ou setpoint) para o valor desejado;
  3. Implemente um controlador on-off onde:
    Para malha de realimentação negativa, faça:
  4. Deixe o processo se estabilizar assumindo uma oscilação periódica sustentada (período de oscilação constante).

Note que o processo deve passar a oscilar da forma mostrada na próxima figura:

metodo_rele.png

Neste caso, o valor de pode ser inferido à partir da seguinte equação:

onde: corresponde as amplitudes extras de controle acrescentadas à planta;
e corresponde ao valor de pico das oscilações presentes na resposta do sistema.

Efeitos dos parâmetros de um PID

De maneira geral o ajuste fino de um controlador PID leva em consideração os seguintes efeitos causandos quando se modificam seus parâmetros:

ParâmetroEstabilidade
Pequena
Mudança
Diminui
EliminaDiminui
Pequena
Alteração
Sem EfeitoMelhora se
é pequeno

A próxima figura passa uma idéia dos efeitos obtidos quando se altera os parâmetros de um PID:

PID_Compensation_Animated.gif

Exemplo de sintonia usando ZN

Seja o seguinte sistema:

Podemos usar o Matlab para descobrir de forma mais rápida qual seria o , ganho máximo que poderia ser aplicado neste processo (quando uma malha é fechada usando um simples controlador proporcional).

Usando o "Data Cursor" posicionamos o mesmo sobre o traçado do RL quando o mesmo cruza o exifo , como mostrado na figura abaixo:

sintonia_Ku_usando_RL.png

Observamos que o Matlab varia o valor do Ganho para gerar o traçado do RL e usa um passo desconhecido. Notamos pela figura que o ganho máximo neste caso, está entre .

Simulando a malha fechada com diferentes valores para obtemos as seguintes respostas:

teste_Ku_400.pngteste_Ku_380.png
 
teste_Ku_396.png 

As figuras anterioes foram obtidas com os seguintes comandos no Matlab:

Perceba-se que trata-se de um método de tentativa e erro que pode demandar certo tempo.

Obs.: O valor exato de pode ser obtido usando-se o método de Routh-Hurwitz.

Notamos que com o sistema assumiu uma oscilação "consistente" (senóide de amplitude constante).

Resta obter os dados do período de oscilação . No Matlab:

O gráfico permite selecionar 2 pontos distantes e inferir o período de oscilação:

teste_Ku_396_zoom.png

Usando o Matlab podemos determinar :

De posso de e e usando a tabela de Ziegler-Nichols podemos descobrir valores iniciais para os parâmetros do PID:

Controlador
PID

Usando o Matlab novamente:

E assim nosso PID inicialmente fica:

Simulando no Simulink (arquivo: sintonia_PID_exemplo.slx) resulta em:

sintonia_PID_exemplo.png

Este diagrama de blocos foi exportado para PNG fazendo:

O resultado da simulação para 7 segundos pode ser visto na próxima figura:

scope_sintonia_PID_exemplo_2.png

ou seja, nota-se um e (segundos).

Se faz um necessário um ajuste fino deste PID:

Com os valores:
;
;
.

Foi obtido o seguinte resultado:

scope_sintonia_PID_exemplo2.png



Prof. Fernando Passold (Julho/2020)

 


1 Ziegler, J.G & Nichols, N. B. (1942). "Optimum settings for automatic controllers" (PDF). Transactions of the ASME. 64: 759–768.
2 Åström, K.J.; Hägglund, T. (July 1984). "Automatic Tuning of Simple Regulators". IFAC Proceedings Volumes. 17 (2): 1867–1872. doi:10.1016/S1474-6670(17)61248-5.