FuelTech ManualsGlossárioBuscar

6. Malha fechada e PID

Versão 1.1Software: FuelTech VisionFirmware: 00.03.00.55Produtos: FT700, FT470, VisionFT2026-10-15

A malha fechada compara o alvo com a pressão medida no rail e corrige o pulso da válvula da bomba.

Este capítulo explica o erro, os ganhos Kp, Ki e Kd, os limites da correção e a diferença entre os dois modos de uso do PID.

O alvo está em Alvo de pressão.

O pulso calculado pelo modelo físico está em Feed-forward (modelo físico) e trim.

#Dois modos: PID como trim ou só PID

A caixa Habilitar feedforward (PID vira trim) define o papel do PID.

No PC ela fica na página Configuração PID, grupo Feedforward (modelo físico). Ela vem desligada no mapa novo.

Configuração PID: Feedforward (modelo físico), Modelo da bomba, PID (compartilhado entre os rails) e Transiente e trim.
Configuração PID: Feedforward (modelo físico), Modelo da bomba, PID (compartilhado entre os rails) e Transiente e trim.
A malha de pressão e os dois modos: com feed-forward o PID soma um trim ao pulso do modelo; sem feed-forward o PID gera o pulso inteiro.
A malha de pressão e os dois modos: com feed-forward o PID soma um trim ao pulso do modelo; sem feed-forward o PID gera o pulso inteiro.
AspectoFeed-forward ligadoSó PID (desligado)
Pulso da válvulaModelo + trim do PID + tempo mortoSaída do PID, entre zero e o teto da janela
Limites da correçãoTrim mínimo do PID, Trim máximo do PID e Piso do trim: fração do feedforwardSó o teto da janela
Anti-windup (teto do integrador): limite do erro acumuladoValeNão é usado
Suavização do alvoSimNão
Teto angular da janela e Atraso da válvula (adianto de fase)ValemNão valem
Partida e bloqueio dos bicosExistemNão existem
Sensor do rail em falhaPulso só pelo modelo, sem PIDBomba desligada
Guard 1 e Guard 2ValemValem

Partida, bloqueio dos bicos e falha do sensor estão em Partida e proteções.

O teto da janela está em Os ângulos do lobe.

No modo só PID não há modelo: toda a entrega depende dos ganhos e da janela.

#Unidade dos ganhos

A tela não mostra unidade em Kp, Ki, Kd e Anti-windup.

A unidade depende do modo.

CampoFeed-forward ligadoSó PID (desligado)
Ganho proporcional Kp (RPM)ms por barµs por bar
Ganho integral Ki (RPM)ms por (bar × s)µs por (bar × s)
Ganho derivativoms por (bar/s)µs por (bar/s)
Anti-windup (teto do integrador)bar × sNão é usado

Os campos não convertem unidade: os ganhos valem por bar mesmo que a tela mostre outra unidade de pressão.

#O erro

A malha trabalha com o erro de pressão:

erro = alvo − pressão filtrada     (em bar)

Erro positivo: o rail está abaixo do alvo e a malha pede mais pulso.

Erro negativo: o rail está acima do alvo e a malha pede menos pulso.

O canal GDI - Erro de pressão rail 1 mostra esse erro em bar, com o mesmo sinal. O rail 2 tem o seu canal.

O canal vale 0 quando o sensor do rail está com falha ou o rail não tem malha ativa. Erro 0 fixo não prova que a pressão está no alvo: confira com Pressão de DI1 e HPFP: alvo de pressão.

Não há limite para o erro: um erro grande entra inteiro no cálculo. O que limita a correção são os tetos descritos adiante.

#A pressão que a malha usa

A malha usa a pressão do sensor escolhido em Sensor de referência, filtrada.

Os canais Pressão de DI1 e Pressão de DI2 mostram a leitura do sensor, sem o filtro da malha.

O corte do filtro acompanha a frequência dos golpes da bomba, que muda com a rotação:

golpes por segundo = rpm × lobes ÷ 120

Exemplo: com 3 lobes a 3000 rpm são 75 golpes por segundo.

Abaixo de 8 golpes por segundo a malha usa a leitura sem filtro (com 3 lobes, abaixo de 320 rpm).

A oscilação de cada golpe aparece em Pressão de DI1. Só o que aparece em GDI - Erro de pressão rail 1 ou em GDI - Trim do PID rail 1 chega à correção.

A pressão filtrada não vai ao log. Para reconstruí-la: pressão filtrada = HPFP: alvo de pressão menos GDI - Erro de pressão rail 1.

Com o sensor em falha, a malha mantém o último valor válido de pressão.

#Kp, Ki e Kd

O PID soma três parcelas:

correção = Kp × erro + Ki × erro acumulado + Kd × variação do erro

Ganho proporcional Kp (RPM) e Ganho integral Ki (RPM) são curvas de 8 pontos por rotação, cada uma na sua página.

Ganho proporcional Kp (RPM): curva de 8 pontos por rotação (valores do mapa de teste).
Ganho proporcional Kp (RPM): curva de 8 pontos por rotação (valores do mapa de teste).

O eixo padrão é 800, 1500, 2500, 3500, 4250, 5000, 6000 e 7500 rpm.

A VCU interpola entre os pontos. Fora deles vale o ponto da borda.

Ganho derivativo é um valor único, na página Configuração PID, grupo PID (compartilhado entre os rails).

Kp, Ki e Kd vêm em 0 no mapa novo e valem para os dois rails.

Com a VCU conectada, os ganhos e as curvas se editam ao vivo.

Quando Ki muda com a rotação, a VCU reescala a parcela integral para que a correção não dê degrau.

O Kd atua sobre a variação do erro, que inclui a variação do alvo, e a VCU não filtra nem limita essa derivada.

O guia não traz valor de partida para o Kd: não há referência medida.

#Limites da correção

Com o feed-forward ligado, a correção do PID fica entre um piso e um máximo.

Os campos estão no grupo Transiente e trim da página Configuração PID.

máximo = Trim máximo do PID
piso   = −(o maior entre |Trim mínimo do PID| e Piso do trim × feed-forward)
trim   = correção do PID limitada entre o piso e o máximo

Os padrões são −2,00 ms, +2,00 ms e 50 % para Piso do trim: fração do feedforward.

O piso cresce com o feed-forward: com 50 %, o trim negativo pode chegar à metade do valor do feed-forward, se isso for maior que o Trim mínimo do PID em módulo.

Quando a correção encosta num limite, GDI - Trim no limite rail 1 vai a 1.

O termo proporcional sozinho encosta o trim no limite quando o erro chega a limite do trim ÷ Kp.

Exemplo: com Kp de 0,5 ms por bar e limite de 2 ms, 4 bar de erro já encostam o trim.

#Anti-windup

Enquanto há erro, o erro acumulado cresce. Anti-windup (teto do integrador) limita esse acúmulo, em bar × s.

A parcela integral máxima é, portanto, Ki × Anti-windup:

parcela integral máxima (ms) = Ki × Anti-windup

Exemplo: Ki de 0,2 com o Anti-windup padrão (50) dá 10 ms, mais que o limite padrão de 2 ms do trim: quem limita é o trim.

Além do teto, o integrador para de acumular no sentido em que um limite segura o comando.

Com o comando preso num teto e o rail ainda abaixo do alvo, o integrador não cresce.

Com o trim preso no piso, ou o pulso zerado, e o rail ainda acima do alvo, o integrador não diminui.

Os limites que contam são o trim no máximo ou no piso, o teto angular, o teto da janela do lobe, o Guard 1 aparando e o pulso zerado.

Os sinalizadores GDI - Trim no limite rail 1, GDI - Teto angular (Theta máx.) rail 1, GDI - Teto da janela do lobe rail 1 e GDI - Guard 1 aparando rail 1 dizem qual limite segura o comando.

O pulso zerado não acende sinalizador: aparece como GDI - Pulso comandado rail 1 igual a 0.

Isso vale com o feed-forward ligado. Sem ele, o Anti-windup da tela não é usado.

#Quando o PID para

Com o feed-forward ligado, o PID congela, mantendo os últimos valores, na partida, no corte de desaceleração acima de 1400 rpm e enquanto o sensor está com falha.

O corte de desaceleração está em Feed-forward (modelo físico) e trim.

O integrador zera ao ligar a função, ao soltar o Guard 2 e quando o sensor volta depois de uma falha de cerca de 0,5 s ou mais.

Parar o motor não zera o integrador.

#Dois rails

Os ganhos, os limites do trim, o piso e o Anti-windup são únicos: valem para os dois rails.

O modelo do feed-forward também é único: só o trim corrige a diferença entre os rails.

Cada rail tem o seu sensor de referência, o seu integrador e o seu trim: GDI - Trim do PID rail 1 e GDI - Trim do PID rail 2.

Como um só conjunto de ganhos atende os dois rails, olhe os dois canais de erro ao ajustar.

#Por que reduzir o ganho com a rotação

Referência de campo: use Kp e Ki menores nos pontos de rotação mais alta da curva.

A pressão responde mais a um mesmo ms de trim quanto maior a rotação.

Um ganho fixo em toda a faixa tende a oscilar nas rotações altas, com amplitude que cresce com a rotação.

Dois fatos explicam a tendência:

golpes por segundo = rpm × lobes ÷ 120
graus de virabrequim por ms = 0,006 × rpm

Com 3 lobes, a 3000 rpm são 75 golpes por segundo e 18 graus de virabrequim por ms.

A 6000 rpm, cada ms cobre 36 graus de virabrequim.

Preencha as duas curvas com valores que diminuem com a rotação.

Referência de campo: com o feed-forward ligado, Kp e Ki em 7500 rpm ficam perto de 40 % do valor em 800 rpm (números na tabela de valores de partida de Comissionamento e acerto passo a passo).

Cortar ganho não resolve um ciclo causado pela fase da janela.

Classifique o ciclo antes de mexer no ganho: veja Diagnóstico: sintomas e causas.

Defina a janela e o teto angular antes dos ganhos: com janela mais larga e o mesmo Kp, o rail pode oscilar mais.

Os valores de partida por número de lobes e a ordem completa de ajuste estão em Comissionamento e acerto passo a passo.

#O que o log mostra da malha

CanalO que mostra
HPFP: alvo de pressãoAlvo usado pela malha (suavizado com feed-forward), comum aos dois rails
Pressão de DI1 e Pressão de DI2Leitura do sensor, sem o filtro da malha
GDI - Erro de pressão rail 1Alvo menos pressão filtrada, em bar
GDI - Trim do PID rail 1Correção do PID aplicada (em ms, com feed-forward)
GDI - Trim no limite rail 11 quando a correção encosta no piso ou no máximo
GDI - Teto angular (Theta máx.) rail 11 quando o teto angular corta o pulso (só com feed-forward)
GDI - Teto da janela do lobe rail 11 quando a largura da janela corta o pulso
GDI - Guard 1 aparando rail 11 quando o Guard 1 apara o pulso

Os sinalizadores valem 0 quando o rail não tem malha ativa.

O log não grava o modo da malha: veja Lendo o log.