¿Cómo se configura un control PID si las constantes de tiempo del sistema controlado son variables?


9

La descripción común para un controlador PID continuo se escribe así: El mejor El valor de las constantes , y para un sistema controlado determinado dependerá de sus constantes de tiempo, ya sea un sistema o , etc. ...

y(t)=Kpe(t)+Ki0te(τ)dτ+Kdde(t)dt
KpKiKdPT1PT2

¿Qué hacer si la constante de tiempo de dicho sistema es variable? Digamos que varía entre y ( ). ¿Cómo se diseñan las constantes PID?TaTbTa<Tb

Respuestas:


8

Una forma sería implementar alguna forma de control adaptativo. Si su rango de constantes de tiempo es pequeño y conocido, puede usar algo llamado "programación de ganancia" donde determina de antemano todas las constantes de tiempo con las que estará tratando (con suerte es finito) y use la lógica if / then para definir PI y D. Puede ser un desafío asegurarse de haber cubierto suficiente variabilidad para garantizar la estabilidad y el rendimiento en toda la gama. Una buena historia de éxito para la programación de ganancias es el helicóptero Chinook. Se puede hacer.

Si no tiene una predicción factible de cuáles serán las constantes de tiempo, podría considerar el uso del Control Adaptativo de Referencia de Modelo (MRAC). En este esquema de control, tiene un modelo de referencia (su sistema ideal) con su controlador PID elegido. El MRAC minimiza el error entre lo que la planta está haciendo realmente y lo que está haciendo su modelo de referencia. De esta manera, obliga a su planta de cambio a actuar como su modelo LTI.

O bien, puede intentar usar el Controlador adaptativo de identificación de modelo (MIAC). Aquí el esquema de control identifica el sistema en tiempo real y usa una ley de actualización para su controlador. Este requiere la habilidad más avanzada de las tres ideas.

Como su sistema está cambiando las constantes de tiempo con el tiempo, ya no es LTI. Esto significa que necesita hacer una programación de ganancia (bastante fácil si conoce el rango de constantes de tiempo) o la identificación del sistema con la ley de actualización para su PID.


¿por qué no igualar dinámicamente los pasos de tiempo diseñando para el paso de tiempo más grande y haciendo que el software sea casi en tiempo real al esperar durante cada iteración antes de enviar los comandos del actuador?
Gürkan Çetin

@ GürkanÇetin, ¿qué está esperando el software? ¿Me pueden ayudar a comprender qué sucede cuando el software retrasa deliberadamente una actualización de control?
willpower2727

Si entiendo correctamente, hay un retraso de tiempo desconocido en cada bucle de las iteraciones de cálculo (es decir, debido a las comunicaciones de E / S u otras tareas de la CPU). Este es un problema general en un objetivo (OS) en tiempo no real. Entonces, sintonizando el controlador para un delta_t predeterminado (largo) (digamos 100 ms), y luego en cada iteración, tratando de ajustar el tiempo de bucle total a este delta_t (supongamos que los algoritmos de control están terminados en el 80 ms, espere 20 ms más ) para enviar los comandos de control; podría funcionar, si se sabe que todas las demás tareas toman menos de 100 ms (menos el tiempo de cálculo de la ley de control).
Gürkan Çetin

@ GürkanÇetin si entiendo la pregunta original correctamente, la pregunta es sobre cómo controlar cuándo los aspectos físicos de una planta cambian con el tiempo (es decir, el cohete pierde masa con el tiempo), no cómo lidiar con los tiempos de ejecución del bucle operativo en tiempo no real. Creo que su sugerencia podría ser válida, en términos de tratar con sistemas operativos en tiempo no real que ejecutan un controlador.
willpower2727

Oh si. He confundido la pregunta. En este caso, si la planta está cambiando con el tiempo (abrupta o gradualmente), diría que la reconfiguración es otra posibilidad. Por supuesto, solo funciona si conoce el cambio de la dinámica del modelo. Como perder masa, gastar combustible, extraer / retraer trenes de aterrizaje, etc.
Gürkan Çetin
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.