¿Cómo sintonizar un controlador PID a un proceso no lineal?
Usted no Linealiza el proceso y luego hace que el controlador PID trabaje en los valores lineales.
Por "linealizar el proceso", no me refiero a hacer que el proceso en sí sea lineal. Eso generalmente no se puede hacer debido a la física. Sin embargo, puede colocar algo no lineal entre la salida del controlador PID y la entrada del proceso para que la salida PID controle linealmente el proceso desde el punto de vista del controlador PID.
Tal linealizador no necesita ser muy preciso ya que está dentro del ciclo de retroalimentación. Su propósito es dar la apariencia de una ganancia más o menos constante en todo el rango dinámico de control. Una forma simple y general es una función lineal basada en tablas por piezas. 16 o 32 segmentos suelen ser suficientes para cualquier cosa que no sean procesos altamente no lineales.
El peor de los casos con el que me he encontrado fue controlar la corriente a través de un tubo de electrones cambiando la fuerza con la que se impulsaba el filamento catódico. La función de la temperatura del cátodo a la corriente del haz de electrones es altamente no lineal, y el sistema que controla la corriente del filamento del cátodo también era algo no lineal. En este caso fue demasiado difícil predecir todo este desorden, por lo que utilicé un procedimiento de calibración durante la producción que pasó por los valores de control del impulsor de filamento, midió la corriente del haz para cada uno y luego calculé una tabla de búsqueda de 32 segmentos a partir de eso. Funcionó muy bien, y pudimos ajustar el controlador PID de la corriente del haz para una buena respuesta en todo el rango.
Sin una función de linealización frente al proceso, debe sintonizar el controlador PID para obtener estabilidad en el punto de ganancia incremental más alto del proceso. Esto resulta en un comportamiento muy amortiguado en otros puntos.
Adicional
Nada en su pregunta actualizada dice nada acerca de por qué el método anterior aún no es una buena idea y aplicable. Dices que estás usando un controlador analógico. Mi primera reacción es: "La década de 1980 ya se fue, no hagas eso". Sin embargo, el controlador PID y el linealizador de planta pueden ser independientes.
Aparentemente, la entrada de la planta es potencia y la salida es temperatura. Mida la temperatura típica de estado estable en un rango de niveles de potencia. A partir de eso, puede calcular la función que convierte la "potencia" linealizada en la entrada de potencia real de la planta. El controlador PID analógico presumiblemente está generando un voltaje proporcional a la potencia. Todo lo que tiene que hacer es insertar una caja negra en línea con ese voltaje que hace la medida lineal a la traducción del nivel de potencia real.
Normalmente lo haría con un microcontrolador que tiene un A / D incorporado. Hacer esta tabla de búsqueda y la interpolación lineal entre puntos es trivial. Luego emite el resultado de una manera que eventualmente se convierte en voltaje. Dado que la planta es lenta en comparación con un microcontrolador, esto podría ser tan fácil como filtrar y amortiguar una salida PWM. O podría conducir un D / A directamente, aunque eso no parece ser necesario en este caso.
De acuerdo con el tema de 1980 de su controlador, puede hacer esto con A / D, memoria y D / A para esa sensación retro.
En cualquier caso, el controlador PID ahora está controlando efectivamente una planta lineal hasta donde sabe, y debería ser posible ajustarla para un buen rendimiento.
Hacer una transformación lineal por partes en la entrada de la planta en un lugar es más fácil que ajustar 3 valores dentro del controlador PID sobre el rango de salida. El último es un error, mientras que el primero aborda el problema directamente. También es mucho más fácil medir los datos para la función de linealización que determinar las ganancias P, I y D en varios puntos. Incluso si hiciste eso, todavía tienes problemas transitorios, ya que las ganancias correctas no se aplican de inmediato a la situación. Nuevamente, la "programación de ganancia" es un error.