Enseñe conceptos difíciles: control de lazo cerrado con LabVIEW y un motor de CC

Actualizado el Apr 11, 2023

Ambiente

Hardware

  • NI ELVIS
  • Quanser QNET DC Motor Control for NI ELVIS

Software

  • LabVIEW
  • LabVIEW Control Design and Simulation Module
  • LabVIEW MathScript Module

Los conceptos de control son esenciales para comprender los sistemas naturales y artificiales. Dado que el control es un estudio de sistemas, para obtener una apreciación completa del control es necesario cubrir tanto la teoría como las aplicaciones. La base de habilidades requerida en el control incluye modelado, diseño de control, simulación, implementación, ajuste y operación de un sistema de control. Este tutorial muestra cómo estos conceptos pueden enseñarse a los estudiantes mediante el uso de una tarjeta conectable Quanser DC Motor para NI ELVIS, y LabVIEW Control Design and Simulation con LabVIEW MathScript RT. Tradicionalmente, ajustar un controlador requiere múltiples iteraciones, prueba y error para perfeccionarlo. Sin embargo, LabVIEW le permite sintonizar su controlador en tiempo real y luego pasar directamente a la verificación con una integración perfecta con el hardware.

Al final de este tutorial, podrá:
  • Modelar un motor de CC.
  • Diseñe un controlador PI de lazo cerrado.
  • Sintonizar el controlador simulado.
  • Implementar su controlador con un motor DC
Descargue los programas de ejemplo y siga el tutorial a continuación para crear un programa de control de lazo cerrado en LabVIEW.

Paso 1: Modelado

El primer paso para diseñar un controlador de lazo cerrado es identificar una representación matemática de la planta o crear un modelo. Se pueden modelar muchos tipos de sistemas, incluidos sistemas mecánicos, circuitos electrónicos, filtros analógicos y digitales y sistemas térmicos y de fluidos. Para este experimento, crearemos un modelo para un motor de CC.

El motor de CC se puede representar mejor mediante una función de transferencia. Una función de transferencia proporciona una descripción matemática de cómo se relacionan las entradas y salidas de un sistema. En nuestro caso, la entrada al sistema es tensión eléctrica (Vm ) y la salida del sistema es la velocidad angular (Ω m ). Podemos usar la siguiente ecuación para representar el modelo de nuestro motor de CC donde:

Km = constante de fuerza contralectromotriz del motor (V/(rad/s))
Rm = Resistencia del inducido del motor (ohm)
Jeq = Momento de inercia equivalente (kg*m2) (Suponga que Jeq = Jm, momento de inercia del inducido del motor)

Figura 1. Modelo matemático o función de transferencia para un motor de CC

Este modelo se utilizará para diseñar un controlador de lazo cerrado, que luego se puede probar con el motor real. Podemos representar esta función de transferencia en LabVIEW usando un MathScript Node que es parte del Módulo LabVIEW MathScript RT. Los valores de los parámetros de entrada se obtuvieron de la hoja de especificaciones del motor de CC Quanser QNET.

Figura 2. Modelo del motor de CC representado en el nodo de LabVIEW MathScript

El MathScript Node se puede encontrar en la paleta Programming >> Structures.

Paso 2 - Diseño de control

El siguiente paso es elegir un método de control y diseñar un controlador. Al diseñar un controlador, es mejor comprender completamente la planta (proceso), en nuestro caso, el motor de CC. Esta comprensión proviene del análisis de gráficos especializados, como Bode, lugar geométrico de raíces y diagrama de Nyquist, que proveen un atisbo de cómo se comportará la planta. Los gráficos en el dominio del tiempo, como la respuesta al escalón, brindan información inmediata sobre el comportamiento ideal del sistema, como el tiempo de subida, sobreimpulso, tiempo de estabilización y error de estado estable.

Figura 3: Esquemático de un sistema de control de lazo cerrado.

Para este experimento, diseñaremos un controlador PI para nuestro motor de CC usando el módulo LabVIEW Control Design and Simulation. El bucle de simulación, que incluye un solucionador ODE incorporado para manejar términos integrales y derivativos, se puede encontrar en la paleta Control Design and Simulation en Simulation . Los bloques de funciones de suma (Summation), ganancia (Gain), integración (Integrator) y función de transferencia (Transfer Function) también se pueden encontrar en la paleta Control Design and Simulation en Simulation >> Signal Arithmetic y en  Simulation >> Continuous Linear Systems.

Figura 4: Controlador PI de lazo cerrado en LabVIEW Control Design and Simulation

Paso 3: Simulación

El siguiente paso es simular la respuesta del motor de CC al modificar el punto de ajuste o la entrada de velocidad deseada. Esto nos permitirá ajustar los parámetros del controlador o las ganancias para aumentar la robustez de nuestro sistema. Necesitaremos combinar la función de transferencia o el modelo del motor de CC que creamos en el paso 1 con nuestro controlador de circuito cerrado.

Figura 5: Controlador PI de lazo cerrado con función de transferencia de motor de CC

Paso 4: Ajuste y Verificación

Ahora que podemos simular tanto nuestro controlador como la respuesta del motor de CC, podemos seguir un proceso iterativo para optimizar nuestro controlador. Ajustaremos los parámetros del controlador desde el Front Panel de LabVIEW mientras verificamos el rendimiento del sistema.

Figura 6: Un proceso iterativo para optimizar el controlador

Podemos utilizar los siguientes pasos para ajustar los parámetros de nuestro controlador:

    • Comience con ganancias establecidas en: Kp = 1 y Ki = 0
    • Aumente la ganancia proporcional (Kp) para obtener el tiempo de subida deseado
    • Aumente la ganancia integral (Ki) para reducir el error de estado estacionario si es necesario

Una vez que ejecutamos el programa, podemos ver la velocidad deseada del motor y la velocidad estimada del motor graficadas en el Waveform chart. Si bien el tiempo de subida se ve bien con nuestra ganancia proporcional, Kp establecido en 1, el gráfico muestra una pequeña cantidad de error de estado estable, que está representado por la brecha entre los datos de velocidad deseados y los datos de velocidad estimada. Podemos reducir este error de estado estacionario aumentando nuestra ganancia integral, Ki.

Figura 7: Simulación de la respuesta del motor de CC con un controlador proporcional (P)

Si aumentamos la ganancia integral, Ki, a 10, tenemos una respuesta del sistema mucho mejor.

Figura 8: Simulación de la respuesta del motor de CC con un controlador proporcional-integral (PI)

Paso 5: implementación

Ahora que hemos verificado que nuestro controlador PI funciona con la respuesta del motor de CC simulada, podemos implementar nuestro sistema de control finalizado y controlar la velocidad de nuestra placa enchufable Quanser DC Motor para NI ELVIS. El Módulo LabVIEW Control Design and Simulation se puede usar para controlar sistemas de la vida real así como modelos simulados. Para migrar del control simulado al control de la vida real, el modelo de planta se puede reemplazar con funciones de entrada y salida de hardware. En este caso, reemplazaremos la función de transferencia que representa el motor de CC con los VI de entrada y salida de Adquisición de datos (DAQ) que controlan el motor real.

Figura 9: Migración de simulación a hardware real reemplazando la función de transferencia con bloques de entrada/ salida de hardware

El tiempo es una consideración importante cuando se usa el LabVIEW Control Design and Simulation Loop con hardware real. Dado que el LabVIEW Control Design and Simulation Loop utiliza un solucionador ODE integrado con pasos de tiempo, es importante configurar los parámetros de simulación y los parámetros de tiempo del bucle para que tengan el mismo paso de tiempo. Las tareas de adquisición de datos suelen utilizar parámetros de tiempo, por lo que también es importante equiparar el tiempo del bucle de simulación con el tiempo de adquisición de datos.

Ahora podemos ejecutar el programa LabVIEW y controlar la velocidad del motor Quanser DC desde el panel frontal de LabVIEW.

Figura 10: Respuesta del motor de CC Quanser real con el controlador PI de lazo cerrado

1. Fragmento del VI del diagrama de bloques de la solución

Haga clic con el botón derecho en el fragmento de VI anterior y seleccione Guardar imagen como ... Localice el archivo en su disco duro y haga clic y arrastre el icono del archivo a su diagrama de bloques de LabVIEW. LabVIEW generará automáticamente el código del VI Snippet. Haga clic aquí para obtener más información sobre VI Snippets (en inglés).

Próximos Pasos