FuelTech ManualsGlosarioBuscar

6. Lazo cerrado y PID

Versión 1.1Software: FuelTech VisionFirmware: 00.03.00.55Productos: FT700, FT470, VisionFT2026-10-15

El lazo cerrado compara el objetivo con la presión medida en el rail y corrige el pulso de la válvula de la bomba.

Este capítulo explica el error, las ganancias Kp, Ki y Kd, los límites de la corrección y la diferencia entre los dos modos de uso del PID.

El objetivo está en Objetivo de presión.

El pulso calculado por el modelo físico está en Feed-forward (modelo físico) y trim.

#Dos modos: PID como trim o solo PID

La casilla Habilitar feedforward (el PID pasa a ser trim) define la función del PID.

En la PC está en la página Configuración PID, grupo Feedforward (modelo físico). Viene desactivada en el mapa nuevo.

Configuración PID: Feedforward (modelo físico), Modelo de la bomba, PID (compartido entre los rails) y Transitorio y trim.
Configuración PID: Feedforward (modelo físico), Modelo de la bomba, PID (compartido entre los rails) y Transitorio y trim.
El lazo de presión y los dos modos: con feed-forward el PID suma un trim al pulso del modelo; sin feed-forward el PID genera el pulso completo.
El lazo de presión y los dos modos: con feed-forward el PID suma un trim al pulso del modelo; sin feed-forward el PID genera el pulso completo.
AspectoFeed-forward activadoSolo PID (desactivado)
Pulso de la válvulaModelo + trim del PID + tiempo muertoSalida del PID, entre cero y el tope de la ventana
Límites de la correcciónTrim mínimo del PID, Trim máximo del PID y Piso del trim: fracción del feedforwardSolo el tope de la ventana
Anti-windup (límite del integrador): límite del error acumuladoValeNo se usa
Suavizado del objetivoSíNo
Límite angular de la ventana y Retraso de la válvula (avance de fase)ValenNo valen
Arranque y bloqueo de los inyectoresExistenNo existen
Sensor del rail en fallaPulso solo por el modelo, sin PIDBomba apagada
Guard 1 y Guard 2ValenValen

El arranque, el bloqueo de los inyectores y la falla del sensor están en Arranque y protecciones.

El tope de la ventana está en Los ángulos del lobe.

En el modo solo PID no hay modelo: toda la entrega depende de las ganancias y de la ventana.

#Unidad de las ganancias

La pantalla no muestra unidad en Kp, Ki, Kd y Anti-windup.

La unidad depende del modo.

CampoFeed-forward activadoSolo PID (desactivado)
Ganancia proporcional Kp (RPM)ms por barµs por bar
Ganancia integral Ki (RPM)ms por (bar × s)µs por (bar × s)
Ganancia derivadams por (bar/s)µs por (bar/s)
Anti-windup (límite del integrador)bar × sNo se usa

Los campos no convierten unidad: las ganancias valen por bar aunque la pantalla muestre otra unidad de presión.

#El error

El lazo trabaja con el error de presión:

error = objetivo − presión filtrada     (en bar)

Error positivo: el rail está por debajo del objetivo y el lazo pide más pulso.

Error negativo: el rail está por encima del objetivo y el lazo pide menos pulso.

El canal GDI - Error de presión rail 1 muestra ese error en bar, con el mismo signo. El rail 2 tiene su canal.

El canal vale 0 cuando el sensor del rail está en falla o el rail no tiene lazo activo. Un error 0 fijo no prueba que la presión esté en el objetivo: confirme con Pressión de DI #1 y HPFP: objetivo de presión.

No hay límite para el error: un error grande entra completo en el cálculo. Lo que limita la corrección son los topes descritos más adelante.

#La presión que usa el lazo

El lazo usa la presión del sensor elegido en Sensor de referencia, filtrada.

Los canales Pressión de DI #1 y 2Pressión de DI #1 (Rail #2) muestran la lectura del sensor, sin el filtro del lazo.

El corte del filtro acompaña la frecuencia de las carreras de la bomba, que cambia con las revoluciones:

carreras por segundo = rpm × lobes ÷ 120

Ejemplo: con 3 lobes a 3000 rpm son 75 carreras por segundo.

Por debajo de 8 carreras por segundo el lazo usa la lectura sin filtro (con 3 lobes, por debajo de 320 rpm).

La oscilación de cada carrera aparece en Pressión de DI #1. Solo lo que aparece en GDI - Error de presión rail 1 o en GDI - Trim del PID rail 1 llega a la corrección.

La presión filtrada no va al log. Para reconstruirla: presión filtrada = HPFP: objetivo de presión menos GDI - Error de presión rail 1.

Con el sensor en falla, el lazo mantiene el último valor válido de presión.

#Kp, Ki y Kd

El PID suma tres partes:

corrección = Kp × error + Ki × error acumulado + Kd × variación del error

Ganancia proporcional Kp (RPM) y Ganancia integral Ki (RPM) son curvas de 8 puntos por revoluciones, cada una en su página.

Ganancia proporcional Kp (RPM): curva de 8 puntos por rpm (valores del mapa de prueba).
Ganancia proporcional Kp (RPM): curva de 8 puntos por rpm (valores del mapa de prueba).

El eje predeterminado es 800, 1500, 2500, 3500, 4250, 5000, 6000 y 7500 rpm.

La VCU interpola entre los puntos. Fuera de ellos vale el punto del borde.

Ganancia derivada es un valor único, en la página Configuración PID, grupo PID (compartido entre los rails).

Kp, Ki y Kd vienen en 0 en el mapa nuevo y valen para los dos rails.

Con la VCU conectada, las ganancias y las curvas se editan en vivo.

Cuando Ki cambia con las revoluciones, la VCU reescala la parte integral para que la corrección no dé un escalón.

El Kd actúa sobre la variación del error, que incluye la variación del objetivo, y la VCU no filtra ni limita esa derivada.

La guía no trae valor de partida para el Kd: no hay referencia medida.

#Límites de la corrección

Con el feed-forward activado, la corrección del PID queda entre un piso y un máximo.

Los campos están en el grupo Transitorio y trim de la página Configuración PID.

máximo = Trim máximo del PID
piso   = −(el mayor entre |Trim mínimo del PID| y Piso del trim × feed-forward)
trim   = corrección del PID limitada entre el piso y el máximo

Los valores predeterminados son −2,00 ms, +2,00 ms y 50 % para Piso del trim: fracción del feedforward.

El piso crece con el feed-forward: con 50 %, el trim negativo puede llegar a la mitad del valor del feed-forward, si eso es mayor que el Trim mínimo del PID en módulo.

Cuando la corrección llega a un límite, GDI - Trim en el límite rail 1 pasa a 1.

El término proporcional solo lleva el trim al límite cuando el error llega a límite del trim ÷ Kp.

Ejemplo: con Kp de 0,5 ms por bar y límite de 2 ms, 4 bar de error ya llevan el trim al límite.

#Anti-windup

Mientras hay error, el error acumulado crece. Anti-windup (límite del integrador) limita esa acumulación, en bar × s.

La parte integral máxima es, por lo tanto, Ki × Anti-windup:

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

Ejemplo: Ki de 0,2 con el Anti-windup predeterminado (50) da 10 ms, más que el límite predeterminado de 2 ms del trim: quien limita es el trim.

Además del tope, el integrador deja de acumular en el sentido en que un límite sujeta el comando.

Con el comando pegado a un tope y el rail todavía por debajo del objetivo, el integrador no crece.

Con el trim pegado al piso, o el pulso en cero, y el rail todavía por encima del objetivo, el integrador no disminuye.

Los límites que cuentan son el trim en el máximo o en el piso, el tope angular, el tope de la ventana del lobe, el Guard 1 recortando y el pulso en cero.

Los indicadores GDI - Trim en el límite rail 1, GDI - Límite angular (Theta máx.) rail 1, GDI - Límite de la ventana del lobe rail 1 y GDI - Guard 1 recortando rail 1 dicen qué límite sujeta el comando.

El pulso en cero no enciende indicador: aparece como GDI - Pulso comandado rail 1 igual a 0.

Esto vale con el feed-forward activado. Sin él, el Anti-windup de la pantalla no se usa.

#Cuándo se detiene el PID

Con el feed-forward activado, el PID se congela, manteniendo los últimos valores, en el arranque, en el corte por desaceleración por encima de 1400 rpm y mientras el sensor está en falla.

El corte por desaceleración está en Feed-forward (modelo físico) y trim.

El integrador se pone a cero al activar la función, al soltar el Guard 2 y cuando el sensor vuelve después de una falla de cerca de 0,5 s o más.

Detener el motor no pone el integrador a cero.

#Dos rails

Las ganancias, los límites del trim, el piso y el Anti-windup son únicos: valen para los dos rails.

El modelo del feed-forward también es único: solo el trim corrige la diferencia entre los rails.

Cada rail tiene su sensor de referencia, su integrador y su trim: GDI - Trim del PID rail 1 y GDI - Trim del PID rail 2.

Como un solo conjunto de ganancias atiende los dos rails, mire los dos canales de error al ajustar.

#Por qué reducir la ganancia con las revoluciones

Referencia de campo: use Kp y Ki menores en los puntos de revoluciones más altas de la curva.

La presión responde más a un mismo ms de trim cuanto mayores son las revoluciones.

Una ganancia fija en todo el rango tiende a oscilar en las revoluciones altas, con una amplitud que crece con las revoluciones.

Dos hechos explican la tendencia:

carreras por segundo = rpm × lobes ÷ 120
grados de cigüeñal por ms = 0,006 × rpm

Con 3 lobes, a 3000 rpm son 75 carreras por segundo y 18 grados de cigüeñal por ms.

A 6000 rpm, cada ms cubre 36 grados de cigüeñal.

Complete las dos curvas con valores que disminuyen con las revoluciones.

Referencia de campo: con el feed-forward activado, Kp y Ki en 7500 rpm quedan cerca del 40 % del valor en 800 rpm (números en la tabla de valores de partida de Puesta en marcha y ajuste paso a paso).

Cortar ganancia no resuelve un ciclo causado por la fase de la ventana.

Clasifique el ciclo antes de tocar la ganancia: vea Diagnóstico: síntomas y causas.

Defina la ventana y el tope angular antes de las ganancias: con una ventana más ancha y el mismo Kp, el rail puede oscilar más.

Los valores de partida por número de lobes y el orden completo de ajuste están en Puesta en marcha y ajuste paso a paso.

#Lo que el log muestra del lazo

CanalQué muestra
HPFP: objetivo de presiónObjetivo usado por el lazo (suavizado con feed-forward), común a los dos rails
Pressión de DI #1 y 2Pressión de DI #1Lectura del sensor, sin el filtro del lazo
GDI - Error de presión rail 1Objetivo menos presión filtrada, en bar
GDI - Trim del PID rail 1Corrección del PID aplicada (en ms, con feed-forward)
GDI - Trim en el límite rail 11 cuando la corrección llega al piso o al máximo
GDI - Límite angular (Theta máx.) rail 11 cuando el tope angular corta el pulso (solo con feed-forward)
GDI - Límite de la ventana del lobe rail 11 cuando el ancho de la ventana corta el pulso
GDI - Guard 1 recortando rail 11 cuando el Guard 1 recorta el pulso

Los indicadores valen 0 cuando el rail no tiene lazo activo.

El log no graba el modo del lazo: vea Leyendo el log.