Identificación de un sistema físico con LabVIEW (Systema Identification Toolkit LabVIEW)
En esta
entrada me voy a centrar en explicar sólo cómo se identifica un sistema físico
con el Toolkit de LabVIEW System Identification, y no en conceptos básicos de
ingenería de control, como que es una función de transferencia(FDT).
Con las
funciones en System Identification Toolkit de LabVIEW, podemos realizar la identificación del sistema basada en
la medición utilizando una amplia variedad de algoritmos, incluyendo AR, ARX, ARMAX,
OE, y caja de Jenkins. Puede procesar datos capturados tanto en los dominios de
tiempo como en el dominio de la frecuencia. Los usuarios avanzados que ya
tienen conocimientos del sistema puede utilizar la caja gris o identificación
del sistema definido por el usuario.
Se puede
utilizar la identificación del sistema en una amplia gama de aplicaciones,
incluyendo ingeniería
mecánica, biología, fisiología, meteorología, economía, y diseño de control
basado en modelos. Por ejemplo, los ingenieros utilizan un modelo de sistema de
la relación entre el flujo de combustible y la velocidad del eje de un
turborreactor para optimizar la eficiencia y la estabilidad operativa de la
reacción del motor.
Nos
centramos en cómo utilizar el sistema de identificación en el proceso de
control de diseño basado en
modelos, lo que implica la identificación de un modelo de una planta, el
análisis y la síntesis de un controlador para la planta, la simulación de la
planta y el controlador, y la implementación de un control.
System Identification Toolkit es el primer paso a la identificación de un modelo de una planta en el
control basado en modelos. El Sistema de identificación es un proceso
interactivo. En primer lugar, adquirir datos en bruto de un sistema real, a
continuación, dar formato y procesar los datos según sea necesario, y finalmente
seleccionar un algoritmo matemático que puede utilizar para identificar un
modelo matemático del sistema.
A
continuación, puede utilizar el modelo matemático resultante para analizar la
dinámica característica
y simular el tiempo de respuesta del sistema. También puede utilizar el modelo
matemático para diseñar un controlador basado en modelos.
El System Identification Toolkit de
LabVIEW nos permite identificar grandes modelos multivariables de los sistemas
de orden superior de grandes cantidades de datos. El sistema de identificación
nos proporciona dos herramientas, un asistente y una biblioteca de VIs, para la
identificación de sistemas con una sola entrada-salida (SISO) y múltiples
entradas-salidas (MIMO) en sistemas lineales. Ambas herramientas nos permiten
completar la totalidad del sistema proceso de identificación de analizar los datos
en bruto para la validación de la identificación del modelo.
LabVIEW ofrece
dos herramientas; un asistente y una biblioteca de VIs, para la identificación
de una entrada discreta de una sola salida y de entrada múltiple salida
múltiple en sistemas lineales.
El sistema
de “Identification Wizard” nos permite:
• Desarrollar
un modelo que refleja el comportamiento de un sistema dinámico determinado.
• Crear un
proyecto que abarca el proceso del sistema de identificación de todo: la carga
o adquirir
los datos en bruto, pre-procesar los datos, la estimación de un modelo que describe el sistema, y validar el modelo.
• Integración
con LabVIEW Control Design Asistent para analizar el sistema de lazo abierto o cerrado, y
el diseño de un controlador.
• Convertir
el proyecto en un diagrama de bloques de LabVIEW y personalizar el diagrama de bloques en
LabVIEW para mejorar las capacidades de la aplicación.
• Pre-procesar
datos en bruto de un sistema dinámico y desarrollar un modelo que refleja el comportamiento
de ese sistema.
• Analizar la
respuesta de una planta o sistema dinámico a un estímulo determinado.
• Estimación
de un modelo para la planta o del sistema dinámico.
• Determinar
si el modelo describe con precisión la dinámica del sistema de identificación.
• Personalizar
un diagrama de bloques de LabVIEW para lograr objetivos específicos.
Elección de
señal de un sistema de State-Space
De suma
importancia para el proceso de identificación es el conocimiento del proceso
para ser estimulado. Esto proporciona la base para determinar qué señales se
consideran los resultados para determinar la colocación de sensores y señales
que se pueden utilizar para excitar el sistema. Es interesante realizar unas
pruebas simples que sean necesarias para determinar las influencias y
acoplamiento, los retrasos y constantes de tiempo para ayudar en el esfuerzo de
modelización. También debemos considerar las señales que, si bien no podemos
manipular directamente afectan al sistema y deben ser incluidos como perturbaciones
para el modelo del sistema. Un ejemplo de esto sería el efecto de las ráfagas
de viento en la dinámica de un avión. El avión responde en el tono de su ángulo
de entrada como un ascensor directo. Una ráfaga de viento proporciona una
fuerza que puede influir en la dinámica, pero no es directamente controlable.
Un modelo de la dinámica del avión puede incluir ráfagas de viento como una
variable de entrada.
Los
criterios a tener en cuenta para la elección del estímulo:
*Para
obtener la mayor información posible, los experimentos deben llevarse a cabo en
condiciones similares a las condiciones de funcionamiento y en el mismo rango
de operación que el modelo se va a utilizar. Reduciendo la introducción de un
sesgo en el modelo del sistema que resulta en un mejor modelo. Esto es
extremadamente importante para los sistemas no lineales.
*Se debe
excitar las entradas al sistema bajo prueba. Esta excitación depende del espectro
de la señal de entrada y no la forma de onda real. Por lo tanto, el rango de
frecuencia de la entrada que se debe elegir es el que proporcione la mayor
energía que esté dentro de las gamas de frecuencias importantes para el
sistema.
*Se debe
ejercer toda la gama de valores de entrada que se utiliza el sistema.
*La señal
de entrada debe entregar la mayor potencia de entrada (según lo determinado por
el ivel de
señal cuadrada media) en el sistema como sea posible.
Modelado
e identificación de un sistema ideal de motor
Para analizar
el comportamiento del sistema de identificación de LabVIEW, se simulara la FDT
de un motor con el Simulation Toolkit.
Se trata de
un sistema físico de primer orden, lineal. La discusión del comportamiento de
la ecuación
diferencial del motor y su identificación realizada con LabVIEW se realiza con
dos VI´s diferentes. Con el
primer VI identificamos el comportamiento en el dominio de la frecuencia del
sistema. Con el segundo VI comparamos el comportamiento de la función de
transferencia obtenida anteriormente con la ecuación diferencial, para
verificar la bondad del modelado.
Ecuaciones
que definen al motor
Vmt=Rm∗I mtLm(dImt /dt)Km∗mt
Jeq (dmt/dt)=Km∗I mtTd
Donde:
Vm =
voltaje aplicado a las bornes del motor(V)
Rm=
resistencia de la armadura del motor(Ω)
Im=
intensidad que circula por el motor (A)
Lm=
inductancia generada por la bobina del motor(H)
Km=
contante del motor eléctrico
ωm=
velocidad angular del motor(rad/s)
El motor se
comporta como el siguiente modelo eléctrico:
donde
Lm<
Vmt=Rm∗I mtKm∗mt
Jeq(dmt/dt)=Km∗I mtTd
Donde:
Td = 0
Rm = 3.3
Jeq =
9.64E-6
Km =0.028
Siendo la
ecuación final:
s /Vm
s= 35,71/(0,0406 s1)
Identificación
del sistema
El VI de
modelado, consta de un Loop de simulación y otro Real
Time Secuence. El Loop
nos simula la ecuación diferencial,
mientras que el segundo bucle lo utilizamos para el control y modelado del
sistema. El bucle Real Time Secuence que es el control que realizamos en este sistema. Este control se
realiza introduciendo a la entrada del sistema un Random (valores
aleatorios) multiplicado por 50, siendo el valor inicial cero, cambiando la entrada
cada 1 segundos.
Es importantísimo introducir una amplia variedad
de entradas al sistemas para el Toolkit
tenga suficiente información del comportamiento del sistema, cuantas más, mejor, así se identificará con mayor precisión.
Dentro del
bucle Loop encontramos en subVI, en donde se implementa el modelo matemático del comportamiento
del motor. Está compuesto por las siguientes ecuaciones:
Diagrama de bloques del VI |
Se
introduce al simulador una entrada escalón aleatoria en el sistema cada
segundo. Como se trata de un sistema rápido, ese intervalo de tiempo es
suficiente para la respuesta obtenida ante la entrada esté dentro del régimen
permanente.
Panel frontal del VI que simula e identifica la FDT |
Tras una adquisición de datos de 30 cambios en la entrada se envían los datos al subVI de identificación, obtenemos como resultado siguiente FDT:
FDT=m/Vm = 35,7143/(10,0425427 S)~ 35,71/(10,0406 S)
Como se
observa anteriormente, las dos ecuaciones halladas son muy similares. Por lo
que se puede
asegurar que la identificación se ha realizado correctamente, pero, para
asegurarnos de que SI Estima
Transfer Function Model.vi (ver punto 5.3) ha
realizado su trabajo orrectamente, se
realiza una comprobación del modelo mediante el CD Linear Simulation, la cual
nos muestra resultados muy aproximados a los obtenidos en la adquisición de
datos, como se muestran en el detalle de los mismos:
Datos adquiridos |
Datos simulados |
Respuesta ante una entrada escalón |
Gracias a CD Parametric Time Response.vi obtenemos la respuesta del sistema ante una entrada
de escalón unitario.
Comprobación
del modelo obtenido
Una vez
identificado el sistema, se trabaja con otro VI para comparar el comportamiento
de la FDT del sistema, con la ecuación diferencial.
Esta
comparación la realizamos de forma gráfica, es decir, comprobando ambos valores
mediante una gráfica en donde se observa el comportamiento de ambas
simulaciones ante una entrada escalón.
Como se ve
en la superior gráfica, el comportamiento ante una entrada escalón de 13
unidades es muy similar, tanto en la ecuación diferencial, como el de la FDT de
transferencia obtenida con el System Identification
Toolkit.
El error es
mínimo, por lo que podemos decir que la identificación realizada es muy optima
para nuestro cometido.