PID digital
Um algoritmo PID é mais do que uma equação contendo os termos proporcional, integral e derivativo. Também são necessários diversos mecanismos para uma interação adequada com o processo e com a operação da planta. Abaixo uma representação de um bloco PID Industrial com suas funções típicas de entrada e saída.
Veja aqui um exemplo de implementação de um algoritmo PID em linguagem C
Modos de operação e saturadores
É comum um controlador possuir duas chaves de seleção de modo. A primeira, chave “Automático/Manual”, determina se a variável manipulada “MV” é proveniente da saída do controlador “CO” ou de um registro interno definido manualmente. A segunda, chave “Local/Remoto” (ou Local/Cascata), determina a origem do setpoint, que pode ser fixo e específico para a malha, ou obtido externamente (saída de outro controlador, sistema especialista, etc). Essas seleções combinadas resultam em 4 modos de operação distintos: “Manual-Local”, “Manual-Remoto”, “Automático-Local” e “Automático-Remoto”. Os dois primeiros geralmente são equivocadamente omitidos pelo fato da seleção de setpoint parecer irrelevante quando o controlador opera em modo Manual. Porém, é importante para mecanismos de “bumpless” que o setpoint corrente seja determinado, independente do modo de operação do controlador.
Já os saturadores e limitadores são usados para estabelecer limites para a amplitude e taxa de variação dos sinais, respectivamente. Um saturador no sinal de saída de controle (CO), por exemplo, pode ser usado para restringir este sinal apenas à região linear do atuador (por exemplo, de 20 a 80%). Esse tipo de restrição, porém, não deve ser aplicada a ação de controle determinada manualmente (MV_manual). Veja no diagrama de blocos abaixo um exemplo de posicionamento das chaves e dos saturadores.
Escalas de sinais de entrada e saída
Um controlador pode trabalhar com sinais de entrada/saída em escalas diferentes ou normalizar os sinais de maneira que todos operem na mesma escala.
No primeiro caso, “controlador de escala não-normalizada”, o cálculo considera as variáveis em suas escalas próprias, por exemplo, para um controlador de vazão mássica atuando na velocidade de uma correia, as faixas poderiam ser de 0-1000 ton/h para SP e PV e 0 a 500 rpm para a MV.
No segundo caso, “controlador de escala normalizada”, as faixas dos sinais de entrada (SP e PV) e de saída (MV) são iguais, por exemplo, todos na escala de 0 a 100%, de 0 a 4095, ou de -32768 a 32767. Em algumas situações, o controlador faz a leitura dos sinais de entrada em escala de engenharia, porém realiza uma conversão interna para normalizar a escala dos sinais antes de utilizá-los.
O uso de escalas normalizadas é altamente recomendável. Além de ser o padrão adotado pela ISA, esta prática torna o ganho do controlador adimensional, facilitando sua interpretação. É importante também observar que os testes para modelagem do processo (obtenção de G(s)) devem ser efetuados considerando a mesma escala utilizada pelo controlador.
Direção da ação de controle
Um controlador com ação direta é aquele que responde a um aumento do erro, aumentando o valor da saída (ganho positivo). E o controlador de ação reversa é aquele que responde a um aumento do erro diminuindo o valor da saída (ganho negativo).
A seleção do tipo de ação vai depender do processo a ser controlado. Usa-se ação direta quando um aumento da PV requer um aumento do sinal da MV (ganho do processo positivo) e usa-se ação reversa quando um aumento da PV requer uma diminuição do valor da MV (processo com ganho negativo). Abaixo a nomenclatura para ação direta e reversa retirada de manuais de alguns fabricantes de controladores:
Direct Action | Reverse Action Direct | Reverse SP-PV | PV-SP Inc/Inc | Inc/Dec 1 | 0 1 | -1 Kc | -Kc
Na Figura abaixo um exemplo de como escolher a direção de controle para diferentes configurações de controle para o nível de um tanque.
Tratamento para “chutes” na ação derivativa
A ação derivativa é proporcional a variação do erro. Assim, variações em degrau no sinal do erro implicam numa derivada tendendo a infinito, o que resulta num “chute” na saída do controlador. Como o erro é a diferença entre o SP e a PV, esta situação pode ocorrer em duas situações: (1) mudanças em degrau no SP ou; (2) variações em degrau no sinal da PV, que ocorre naturalmente em sistemas digitais devido à resolução do conversor e é agravado pelo ruído de medição.
A solução para a primeira situação é alimentar a ação derivativa diretamente com o sinal da PV, ao invés do sinal do Erro (controlador tipo PI-D). Assim, a ação derivativa deixa de enxergar mudanças no SP. E a solução para a segunda situação é filtrar o sinal da PV antes de realizar o cálculo da ação derivativa, com o intuito de remover altas frequências e suavizar suas variações bruscas.
A Figura a seguir compara o comportamento de um controlador PID convencional (derivativo agindo sobre o erro) e um controlador PI-D (derivativo agindo na PV) durante uma mudança em degrau no SP e uma variação na PV. Note que o PI-D se mantém estável durante a mudança no SP.
Mecanismo anti reset-windup
O reset-Windup é um problema associado com a ação integral quando seu cálculo gera valores que não provocam uma resposta do processo ou por ser um valor que ultrapassa o limite de operação (saturação do atuador) ou por produzir uma taxa de variação que excede a aceleração máxima do equipamento. Neste momento a tendência é a ação integral permanecer gerando uma saída cada vez mais afastada da faixa natural de operação do equipamento. Se, em seguida, ocorrer uma inversão do sinal do erro, não haverá uma resposta imediata do controle até que a ação integral desconte o que foi acumulado e retorne para um valor compatível com a faixa de operação.
Este efeito é ilustrado na Figura abaixo. Note que a partir do instante 180 s, a saída do controlador fica saturada em 100%, porém internamente a saída de controle continua crescendo de valor, chegando próximo de 150%. Após a reversão do erro no instante 280 s, o controlador fica travado um tempo em 100% devido a essa sobre elevação.
A próxima figura mostra uma nova simulação para um controlador com uma proteção para este problema (mecanismo anti-windup). Este mecanismo consiste em “congelar” a ação integral sempre que a saída do controlador estiver saturada.
Transição suave no chaveamento de modos de operação
Durante a operação de uma planta, é indesejável a ocorrência de uma ação de controle abrupta e com uma amplitude que ultrapassa a faixa de trabalho normal do atuador. Chamamos este degrau na MV de “chute no processo” e, além de poder causar danos ao processo, ele pode causar uma instabilidade na planta. Este evento ocorre com pequena ou grande intensidade durante mudança no Setpoint e durante chaveamento entre os modos de operação do controlador “manual↔automático” e “local↔remoto”. Por isso, fabricantes de sistemas de controle incorporam aos blocos controladores diferentes mecanismos para garantir uma transição suave na saída do controlador durante esses eventos. Eles são conhecidos pelo termo em inglês “bumpless transfer”.
A Figura abaixo mostra um exemplo de “chute no processo” ocorrido durante o chaveamento do controlador do modo manual para modo automático (instante de 140s).
Entre os mecanismos “bumpless transfer” para chaveamento de modo Manual-Automático, temos:
- PV Track (Rastreamento da PV pelo Setpoint): Enquanto o controlador está em modo manual, o valor corrente da PV é copiado para o setpoint e o valor corrente da MV é copiado para a ação Integral. Assim, após o chaveamento, com o erro nulo (SP=PV), a ação do controlador se mantém no mesmo patamar. A desvantagem é que nessa operação o setpoint original é perdido. O seu retorno ao valor original deve então ser feito com mudanças graduais (uma rampa, por exemplo) manualmente ou automaticamente por meio de uma função programada.
- MV Track (Rastreamento da MV pela ação integral): Neste mecanismo a ação integral do controlador, enquanto a malha opera em modo manual, é calculada de maneira a igualar a saída de controle CO à MV. Isso é realizado calculando-se o termo I conforme a equação 1. Após o chaveamento, o termo integral volta a ser calculado na sua forma original. Como o valor inicial da ação integral anula a ação P e D, então o controlador passa a responder como uma estrutura I-PD, ou seja, apenas a ação integral age no sentido de reconduzir o processo ao seu patamar de controle.
Transição suave na mudança de SP (controlador com dois graus de liberdade)
O “chute no processo” também ocorre quando o controlador responde a uma mudança em degrau no setpoint e a amplitude do degrau na saída depende do valor do ganho do controlador. Mecanismos podem ser implementados para suavizar a transição de um patamar de setpoint para outro.
Antes de apresentar estes mecanismos, é importante considerar se o objetivo de controle é rastrear mudanças no SP (servo-mecanismo) ou rejeitar distúrbios de carga (regulação). No primeiro caso, nenhum mecanismo deve ser implementado, pois é importante o controlador “enxergar” o degrau no SP. Já no caso de uma malha de regulação, o SP é normalmente constante e a malha só é perturbada por distúrbios externos que, por natureza, são “suaves”, ou seja, não possuem componentes de alta freqüência. Neste caso, é interessante utilizar um mecanismo para também suavizar a mudança no SP.
A alternativa mais simples é utilizar uma estrutura I-PI. Nela, apenas a ação integral opera sobre o sinal do erro. As outras operam no sinal da PV. Esta estratégia piora o desempenho servo-mecanismo e privilegia uma boa resposta regulatória. O algoritmo é mostrado abaixo.
O mais comum, entretanto, é que o objetivo da malha seja regulação, porém ela também precisa ter um desempenho razoável para rastrear uma mudança no SP. A dificuldade neste caso é que existe uma relação de compromisso entre uma boa resposta a distúrbios e uma boa resposta em mudanças de setpoint. Se considerarmos que geralmente os distúrbios que chegam ao processo são “suaves”, ou seja, não possuem componentes de alta freqüência, então um controlador mais agressivo pode ser utilizado para rejeitá-los (sem esquecer, é claro, de respeitar critérios de estabilidade). Porém isso pode acarretar problemas durante uma mudança de setpoint. A Figura a seguir mostra três simulações, com diferentes valores de ganho, numa malha onde temos uma mudança de setpoint seguida da ocorrência de uma perturbação de carga. Observa-se que com um ganho Kc=1 a malha responde bem à mudança de SP (linha contínua). À medida que este ganho é incrementado, porém, a resposta ao distúrbio melhora enquanto a resposta à mudança de SP piora de maneira considerável (linha tracejada).
No caso de malha de controle de regulação, onde o objetivo é ter uma rejeição máxima a distúrbios de carga, é interessante o uso de um controlador com 2 graus de liberdade (PID2). Neste controlador, um ganho “b” cujo valor varia de 0 a 1 é associado ao sinal do SP. De acordo com o valor de “b” é possível ajustar entre uma boa resposta ao distúrbio e uma boa resposta à mudança de SP. Por exemplo:
- Para b=1, temos um controlador PID clássico, que prioriza mudanças no SP
- Para b=0, temos um controlador do tipo I-PD, onde apenas a ação integral “enxerga” variações no SP. Este controlador prioriza rejeição de perturbação
Para b=0,5 temos um controlador híbrido, que tenta dar um peso igual em mudanças de SP e perturbações de carga