10 votos

Cómo sintonizar un controlador PID para un proceso no lineal

Tengo una no lineal del proceso térmico (no lineal de la radiación se convierte en más y más presente a medida que la temperatura sube) que me gustaría para sintonizar un controlador PID. Me gustaría controlar la temperatura de forma tan precisa como puedo.

He planeado para dividir el rango de temperatura en el N pseudo-lineal rangos (a definir), y para cada uno de estos rangos de temperatura: ajuste de primer orden del modelo utilizando una temperatura pequeño paso, y calcular los parámetros PID para adaptarse a este modelo. Los parámetros PID sería cambia automáticamente dependiendo de la temperatura del proceso*.

Mi problema es el siguiente: considere los 70°C, punto de control, por ejemplo. P watt ya están fluyendo para llegar a esta temperatura. Voy a inyectar dP vatios para aumentar la temperatura de 1°C. entonces a hacer una nota de la constante de tiempo, y el estado estacionario de la ganancia 1/dP °C/W. [por Favor, usted puede tomar un momento para pensar acerca de si esto es cierto?] Por último, voy a sintonizar el PID para que la planta para obtener los parámetros para ese rango de temperatura, y pasar a los demás rangos.

Ahora, suponga que el proceso llega a 70°C. Los nuevos parámetros se cargan y el integral contador a cero. El error puede ser de 1°C, pero la potencia requerida es mucho más que eso para llegar a 21°C, lo cierto es que el controlador de la demanda menos de P vatios. Esto significa que la temperatura va a decaer mucho antes de la integral plazo demandas P vatios, y sólo entonces, la dP adicional watt, finalmente, llevar el proceso a 71°C (y, sin duda, va a atinar). El más grande de la P en comparación a la dP, peor se pone.

Casi parece que los calentadores deben ser conducidos con la suma de la salida del controlador, y la potencia necesaria para permanecer en la corriente de "temperatura de referencia" (por ejemplo, 70°C). Pero fuera de la plataforma de controladores no lo ofrecen, por lo que debe haber otra manera.

Lo que me estoy perdiendo? ¿Cuál es la forma correcta?

*: Es la Ganancia de la Programación.

11voto

RelaXNow Puntos 1164

Cómo sintonizar un controlador PID de un proceso no lineal?

No. Usted alinear el proceso, luego de tener el controlador PID de trabajo en el lineal de los valores.

Por "alinear el proceso", no me refiero a hacer el mismo proceso lineal. Que normalmente no se puede hacer debido a la física. Sin embargo, usted puede poner algo no-lineal entre la salida del controlador PID y el proceso de entrada de manera que el PID de salida linealmente controla el proceso del controlador PID del punto de vista.

Tal linearizer no necesita ser muy preciso, ya que es en el interior del bucle de retroalimentación. Su propósito es dar la apariencia de aproximadamente constante de ganancia a través del control de rango dinámico. Una simple y de manera general es una pieza de sabios lineal basada en la mesa de la función. 16 o 32 segmentos es más que suficiente para cualquier cosa pero muy altamente no-lineal de los procesos.

El peor ejemplo que me he encontrado fue el control de la corriente a través de un tubo de electrones cambiando la forma en que duro el filamento del cátodo fue impulsado. La función de cátodo de la temperatura de la corriente del haz de electrones es altamente no-lineal, y el sistema de control de la cátodo filamento de la actual era de alguna forma no-lineal. En este caso era demasiado difícil predecir todo este lío, así que he usado un procedimiento de calibración durante la producción, que guiaba a través de los filamentos de la unidad de los valores de control, medida de la corriente del haz para cada uno, entonces se calcula un 32 segmento de la tabla de búsqueda de eso. Funcionó muy bien, y hemos sido capaces de ajustar la corriente del haz controlador PID para una buena respuesta en toda la gama.

Sin alinear la función en la parte delantera del proceso, tienes que sintonizar el controlador PID para la estabilidad en el mayor incremento punto del proceso. Esto luego se traduce en muy amortiguado comportamiento en otros puntos.

Agregó

Nada en su actualizado pregunta dice nada acerca de por qué el método anterior no es una buena idea y aplicable. Usted dice que usted está usando un controlador analógico. Mi primera reacción es "La década de 1980 se ha ido hace tiempo, no hagas eso." Sin embargo, el controlador PID y planta linearizer puede ser independiente.

Al parecer, la planta de entrada de alimentación y salida es la temperatura. Medir el típico estado estacionario de la temperatura en un rango de niveles de potencia. De que se puede calcular la función que convierte linealizado "poder" a la actual planta de potencia de entrada. El controlador PID analógico es de suponer que poner una tensión proporcional a la potencia. Todo lo que tienes que hacer es insertar un cuadro negro en la línea de tensión que hace la medida lineal de la potencia actual nivel de traducción.

Normalmente te gustaría hacer esto con un microcontrolador que tiene un built-in A/D. Haciendo esta búsqueda de la tabla y la interpolación lineal entre los puntos es trivial. Luego se envía el resultado de una manera que eventualmente se convierte a un voltaje. Ya que la planta es lento en comparación con un microcontrolador, esto podría ser tan fácil como el filtrado y almacenamiento en búfer de una salida PWM. O usted podría conducir un D/a, directamente, a pesar de que no suena como es necesario en este caso.

En consonancia con la década de 1980, el tema de su controlador, se puede hacer esto con un A/D, la memoria, y D/A para que toque retro.

En cualquier caso, el controlador PID es ahora de manera efectiva el control lineal de la planta en la medida de lo sabe, y la optimización para el buen desempeño debe ser posible.

Haciendo un modelo lineal por tramos de transformación en la planta de entrada en un solo lugar es más fácil de ajustar 3 valores dentro del controlador PID sobre el rango de salida. El último es un parche, mientras el primero se aborda el problema directamente. También es mucho más fácil medir los datos para alinear la función de determinar el P, I y D de ganancias en varios puntos. Incluso si usted hizo, usted todavía tiene problemas transitorios, ya que el derecho logros no son de aplicación inmediata a la situación. De nuevo "la ganancia de programación" es un parche.

2voto

Koala Puntos 6

Recuerde que cuando usted alineado de un modelo, de manera efectiva, asumiendo que el modelo no lineal y = f(x) se sustituye por y = a*(x-x0) + B. Observe que x0 es el punto de linealización. Al introducir los rangos de x, acabará con varios a, B y x0. De cualquier manera, la entrada para el controlador va a ser el error con respecto a la actual punto de linealización. Sin embargo, usted todavía offset de la señal de entrada (con B), por lo que incluso si el error es de 0 con respecto a la actual linealización punto, usted todavía va a llevar en una señal.

En su ejemplo, entonces, incluso si el error es de 0 grados (en el 70 grados set point), el controlador seguirá salida de un poder mayor que 0.

2voto

Spehro Pefhany Puntos 90994

Una forma de control no lineal con controladores PID, un enfoque que es ampliamente utilizado en la industria, se llama 'obtener programación'.

El problema del control no lineal está dividido en una serie de regiones lineales suficientemente y se utilizan los parámetros adecuados para cada región.

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X