Skip to content
RFrftools.io
Motor Control21 de março de 20266 min de leitura

Ajuste de PID Ziegler-Nichols: ciclo aberto para ganhos

Aprenda o ajuste de PID Ziegler-Nichols usando ganho de processo, tempo morto e constante de tempo. Exemplo resolvido com valores reais de controle motor. Calculadora online gratuita.

Conteúdo

Por que o ajuste de PID ainda é importante

Os controladores PID estão em toda parte. Sério, eles controlam tudo, desde o circuito térmico em seu forno de refluxo até a regulação de velocidade de um motor DC sem escova. Apesar de todas as novas estratégias de controle sofisticadas, como o controle preditivo de modelos, o PID clássico continua sendo o rei. Por quê? Funciona, é muito barato de implementar em um microcontrolador básico e, quando você acerta o ajuste, ele funciona perfeitamente.

O truque está nessa afinação. Um PID mal configurado oscilará como um bêbado na corda bamba ou responderá tão lentamente que você pode muito bem ter o controle manual. Já vi controladores térmicos que ultrapassam 40° C porque alguém acabou de adivinhar os ganhos. Não é ótimo quando você está tentando refluir uma placa cheia de 0201 passivos.

O método de malha aberta Ziegler-Nichols oferece aos engenheiros um ponto de partida sólido e repetível com base em três características principais do processo: ganho de processoKK, tempo mortoLLe constante de tempoτ\tau. Ele existe desde 1942 e ainda é usado porque elimina as suposições. Você executa um teste, mede três parâmetros, os insere em algumas fórmulas e obtém uma linha de base que geralmente leva você a 80% do caminho até lá.

O método de resposta em etapas de loop aberto

Aqui está o plano de jogo: coloque seu sistema em circuito aberto, insira uma mudança de etapa no atuador (como uma etapa de tensão em um acionador de motor) e registre o que acontece com sua variável de processo. Dessa curva de resposta em forma de S, você extrairá três parâmetros críticos.

O primeiro é ganho de processoKK— quanta alteração de saída você obtém por etapa de entrada. Pode ser RPM por volt, graus Celsius por porcentagem do ciclo de trabalho, quaisquer unidades que seu sistema fale. Se você aumentar o PWM do aquecedor de 0% para 50% e a temperatura eventualmente aumentar em 75° C, o ganho do processo será de 1,5° C por cento do ciclo de trabalho.

O próximo é tempo mortoLL— o atraso antes que qualquer coisa comece a se mover, medido em segundos. Isso é puro atraso. Você muda a entrada e, por um momento frustrante, nada acontece. Em seguida, o sistema acorda e começa a responder. O tempo morto é inimigo do controle rápido. Quanto mais você tem, mais conservador seu ajuste precisa ser.

Finalmente, há constante de tempoτ\tau— quanto tempo leva para atingir cerca de 63% do valor final após o início do atraso inicial. Isso vem da teoria do sistema de primeira ordem. Uma resposta exponencial atinge 63,2% de seu valor final após uma constante de tempo. Na prática, você desenha uma linha tangente no ponto de inflexão da curva S, vê onde ela cruza a linha de valor final e mede até quando a resposta começou.

Colete esses três números e a Ziegler-Nichols entregará fórmulas diretas para controladores P, PI e PID completos. A beleza é que você não precisa conhecer a física subjacente. Você não se importa se é uma massa térmica com perdas convectivas ou um motor com dinâmica de EMF traseiro. A resposta ao passo diz tudo.

As fórmulas de Ziegler-Nichols

Para um controlador PID, as regras clássicas de ajuste de circuito aberto são as seguintes:

Kp=1.2τKLK_p = \frac{1.2\,\tau}{K\,L}
Ti=2LT_i = 2L
Td=0.5LT_d = 0.5L
Eles fornecem o ganho proporcionalKpK_p, o tempo integralTiT_ie o tempo derivadoTdT_dna forma padrão. No entanto, a maioria dos controladores modernos usa o formato paralelo (ISA), então você precisará converter:
Ki=KpTiK_i = \frac{K_p}{T_i}
Kd=KpTdK_d = K_p \cdot T_d
Para um controladorPI (útil em sistemas ruidosos em que a ação derivada causa mais problemas do que resolve):
KpPI=0.9τKLK_p^{\text{PI}} = \frac{0.9\,\tau}{K\,L}
TiPI=L0.3=3.33LT_i^{\text{PI}} = \frac{L}{0.3} = 3.33L
Observe que o ajuste de PI é mais conservador — menor ganho proporcional, maior tempo integral. Isso é intencional. Sem o termo derivado para fornecer compensação de chumbo, você precisa recuar um pouco para manter a estabilidade.

Essas fórmulas visam uma taxa de decaimento de um quarto — cada superação é cerca de 25% menor que a anterior. Agressivo, mas geralmente um ponto de partida sólido. Você obtém uma velocidade decente sem transformar seu sistema em uma britadeira. A maioria dos engenheiros acaba se desajustando daqui, mas é muito melhor do que começar do zero.

Exemplo resolvido: controle de velocidade do motor DC

Vamos tornar isso concreto. Imagine que você está projetando um controlador de velocidade para um motor DC escovado de 24 V em uma correia transportadora. Você escala o PWM de 0% para 20% e rastreia a velocidade com um codificador de tacômetro. Aqui está o que você vê:

O motor começa a se mover 0,15 s após a etapa. Esse é o seu tempo morto →L=0.15sL = 0.15\,\text{s}. Podem ser constantes de tempo elétricas, inércia mecânica sendo superada, seja o que for. Você não se importa por que, só que está lá.

A velocidade atinge 63% do valor final emt=0.15+0.8=0.95st = 0.15 + 0.8 = 0.95\,\text{s}. Você começou a responder em 0,15 s, então a constante de tempo éτ=0.8s\tau = 0.8\,\text{s}. Isso provavelmente é dominado pela inércia mecânica e pelo amortecimento viscoso do sistema.

A velocidade final é de 600 RPM para um ciclo de trabalho de 20%. Seu ganho de processo éK=60020=30RPM/%K = \frac{600}{20} = 30\,\text{RPM/\%}. Bonito e linear, pelo menos nessa faixa de operação.

Agora conecte-se às fórmulas PID:

Kp=1.2×0.830×0.15=0.964.5=0.2133K_p = \frac{1.2 \times 0.8}{30 \times 0.15} = \frac{0.96}{4.5} = 0.2133
Ti=2×0.15=0.3sT_i = 2 \times 0.15 = 0.3\,\text{s}
Td=0.5×0.15=0.075sT_d = 0.5 \times 0.15 = 0.075\,\text{s}
Convertendo para a forma paralela:
Ki=0.21330.3=0.711s1K_i = \frac{0.2133}{0.3} = 0.711\,\text{s}^{-1}
Kd=0.2133×0.075=0.016sK_d = 0.2133 \times 0.075 = 0.016\,\text{s}
Para controle somente de PI (com o qual eu provavelmente começaria em um motor real, honestamente):
KpPI=0.9×0.830×0.15=0.724.5=0.16K_p^{\text{PI}} = \frac{0.9 \times 0.8}{30 \times 0.15} = \frac{0.72}{4.5} = 0.16
TiPI=3.33×0.15=0.5sT_i^{\text{PI}} = 3.33 \times 0.15 = 0.5\,\text{s}
Você pode verificá-los instantaneamente com a calculadora PID Controller Tuning (Ziegler-Nichols). Evita que você faça a aritmética manualmente todas as vezes.

Dicas práticas para sistemas reais

Comece com PI e talvez adicione D. O ruído do sensor geralmente torna os termos derivados mais problemáticos do que valem a pena. Já vi a ação derivada amplificar o ruído de quantização do codificador em um zumbido de 50 Hz que fez todo o conjunto mecânico cantar. Comece com PI, confirme a estabilidade e adicione derivada somente se precisar de uma rejeição mais rápida de distúrbios ou de um rastreamento mais rígido. Em muitos casos, você não vai. Ziegler-Nichols é um ponto de partida. A abordagem de um quarto de decaimento pode produzir mais ultrapassagem do que você deseja, especialmente em sistemas em que a superação é cara ou perigosa. A maioria dos engenheiros reduz oKpK_pem 20-30% do valor calculado e ajusta oTiT_ipara equilibrar velocidade e suavidade. Eu costumo multiplicar o ganho proporcional por 0,7 e ver como é. Você sempre pode aumentá-lo mais tarde. A taxa de amostragem é importante. Se seu circuito de controle funciona a 1 kHz, mas o tempo morto é de 150 ms, você está pronto. A 50 Hz, você terá uma ação derivada grosseira que pode não ajudar muito. A regra geral é que o período amostral deve ser pelo menos 5 a 10 vezes mais rápido do que a constante de tempo derivada. Caso contrário, você está apenas amplificando o ruído entre as amostras. Para o exemplo de motor acima comTd=0.075T_d = 0.075s, você gostaria de amostrar pelo menos a cada 7,5 ms, o que significa 130 Hz ou mais rápido. Anti-enrolamento é crítico. O termo integral acumulará erros durante a saturação, como quando o motor já está em 100% do ciclo de trabalho, mas o ponto de ajuste ainda é maior. Sem a proteção anti-queda, o integrador continua falhando e, quando o erro finalmente é revertido, você obtém uma grande superação porque o termo integral leva uma eternidade para se desenrolar. Implemente a fixação ou o cálculo reverso, ou arrisque sua correia transportadora lance peças pela sala. Reajuste em condições reais. As características do processo mudam com a carga, a temperatura, a tensão de alimentação e uma dúzia de outras variáveis. A constante de tempo efetivo de um motor aumenta quando você o carrega. O ganho de um aquecedor muda à medida que a temperatura ambiente muda. Ajuste no pior ponto operacional possível ou, pelo menos, verifique se seus ganhos ainda funcionam lá. O sistema que você caracterizou como vazio pode se comportar de forma totalmente diferente quando está realmente fazendo um trabalho útil. Cuidado com as não linearidades. O método Ziegler-Nichols pressupõe que seu sistema seja razoavelmente linear em torno do ponto operacional. Se o atuador estiver saturado, tiver uma banda morta significativa ou se o ganho do processo mudar drasticamente com as condições operacionais, talvez seja necessário programar o ganho ou controlar adaptativamente. Um único conjunto de ganhos de PID não pode fazer muito.

Quando usar um método diferente

Ziegler-Nichols assume um modelo de primeira ordem mais tempo morto (FOPDT). Essa é uma boa aproximação para muitos processos industriais, mas não para todos. Para sistemas complexos com várias constantes de tempo, como um sistema térmico em cascata com aquecedor, difusor de calor e massa térmica, métodos como o Cohen-Coon ou o ajuste automático de relés podem funcionar melhor. A Cohen-Coon lida com processos com maiores proporções de tempo morto em relação ao tempo constante de forma mais elegante.

Se você não puder fazer um teste de etapas com segurança porque o processo está em execução ou porque uma grande etapa danificaria alguma coisa, considere métodos de identificação de circuito fechado ou ajuste automático de software. Alguns controladores têm rotinas de ajuste automático integradas que fazem testes de feedback do relé para caracterizar o sistema e, ao mesmo tempo, mantê-lo sob controle.

Para sistemas muito rápidos com tempo morto mínimo, você pode obter melhores resultados com a colocação de postes ou outras técnicas baseadas em modelos. Mas, honestamente, para 90% dos problemas de controle incorporado que você enfrentará, o Ziegler-Nichols o aproxima o suficiente para que alguns ajustes manuais concluam o trabalho.

Experimente

Pegue seus dados de resposta em etapas, extraiaKK,LLeτ\taue ative a calculadora de ajuste PID. Ele calculará os parâmetros PI e PID para que você possa escolher a abordagem certa para o seu sistema. Marque-o como favorito — você o usará mais do que pensa. Toda vez que você olha para um traçado de osciloscópio e se pergunta por que seu circuito de controle está tocando, é aqui que você começa.

Artigos Relacionados