Control de motores

Introducción al control de motores

El control de motores es el proceso de regular la velocidad, par motor, posición y otras características para mejorar el rendimiento y optimizar la eficiencia energética. Los motores eléctricos, que representan aproximadamente el 45% del consumo mundial de electricidad, son fundamentales para sistemas de tracción, accionamientos industriales, instalaciones de climatización residenciales y comerciales, y otras aplicaciones, lo que convierte al control de motores en un área de enfoque clave.

Los algoritmos de control de motores convencionales sirven como base para el desarrollo de algoritmos de control de motores eléctricos, como los siguientes:

  • Control escalar: También conocido como control de voltios por hercio (V/f), este método de control de motores de lazo abierto mantiene una relación constante entre tensión y frecuencia en motores de CA para lograr un control de velocidad básico.
  • Control de campo orientado (FOC): Esta técnica de control de motores de lazo cerrado emplea control de vectores con transformadas de Clarke y Park para separar y gestionar los componentes magnéticos y de producción de par motor de las corrientes de motores de CA, lo que permite un control preciso de la velocidad y par motor.
  • Control directo de par motor (DTC): Esta técnica facilita ajustes dinámicos de par y flujo sin necesidad de transformaciones complejas, lo que la hace adecuada para aplicaciones que requieren una respuesta de par motor rápida.

Desarrollo de sistemas de control de motores con MATLAB y Simulink

Con MATLAB® y Simulink®, los equipos de ingeniería de control de motores pueden diseñar algoritmos de control de motores, simular el comportamiento de un sistema y optimizar el rendimiento mediante pruebas en tiempo real, para determinar la idoneidad de diseños de controladores de motores eléctricos y reducir el plazo y coste de desarrollo de algoritmos antes de pasar a costosas pruebas en hardware.

El desarrollo de sistemas de control de motores implica varias actividades, desde el diseño de algoritmos de control de motores hasta la implementación de esos algoritmos en un microcontrolador o FPGA.

Modelado de plantas

El modelado de motores y componentes de electrónica de potencia es una práctica de ingeniería aceptada para desarrollar sistemas de control de motores. Simscape Electrical™ admite múltiples niveles de fidelidad para el modelado de motores, lo que permite utilizar la simulación para seleccionar el nivel de detalle adecuado para diversas aplicaciones, como dimensionamiento de motores y diseño de control de motores de tracción para vehículos eléctricos.

Desarrollo de algoritmos

El diseño y optimización de los algoritmos de control permite una gestión precisa de velocidad, par motor y consumo de energía en motores eléctricos. Motor Control Blockset ofrece bloques prediseñados optimizados y ejemplos de referencia para acelerar el desarrollo y despliegue de técnicas de control de motores sin sensores y con sensores.

Ajuste de controladores

Lograr el comportamiento deseado del sistema implica optimizar los parámetros de los controladores. Simulink Control Design™ ofrece herramientas como FOC Autotuner, ajuste automático de PID y estimación de la respuesta en frecuencia, que facilitan el ajuste eficiente y la optimización del rendimiento de la respuesta y estabilidad del sistema.

Generación de código

La generación de código transforma algoritmos de control verificados en código ejecutable para desplegarlo en hardware. Puede emplear prototipado rápido de control y simulaciones de hardware-in-the-loop (HIL) en un objetivo en tiempo real generando código C, C++ o HDL para que los algoritmos de control de motores validen los controladores de motores. Embedded Coder® genera código C y C++ optimizado a partir de modelos de Simulink, con paquetes de soporte de hardware que facilitan su despliegue automático en C2000, STM32, Infineon Aurix y otras MCU. Para trabajar con FPGA y SoC, HDL Coder™ facilita la generación y despliegue de código en dispositivos de Intel, Xilinx y Microchip.

Aplicaciones de control de motores

Ejemplos de referencia con Motor Control Blockset™ también cubren estrategias avanzadas de control de motores, como control predictivo basado en modelos, control por rechazo activo de perturbaciones, y Reinforcement Learning para acelerar el proceso de desarrollo.

Control predictivo basado en modelos

El control predictivo basado en modelos (MPC) mejora el control de campo orientado sobre PID gestionando eficientemente restricciones como saturación de par motor y límites de tensión, sin perder de vista el acoplamiento cruzado entre lazos para optimizar los objetivos de control. Puede evaluar el rendimiento del controlador de MPC simulándolo en un lazo cerrado con la planta del motor en Simulink sirviéndose del ejemplo de referencia.

Diagrama de bloques de una arquitectura de control de campo orientado para control de motores con un controlador predictivo basado en modelos en el lazo de corriente interno.

Integración de controladores predictivos basados en modelos en control de campo orientado para mejorar el control de motores. (Consulte la documentación).

Control por rechazo activo de perturbaciones

Para mejorar la solidez del sistema, puede utilizar control por rechazo activo de perturbaciones (ADRC) para compensar las perturbaciones y garantizar la estabilidad en condiciones variables. Si bien el ajuste de PID requiere un esfuerzo significativo, ADRC ofrece una solución de control no lineal que logra un buen rendimiento con una configuración más simple y menos esfuerzo de ajuste. El bloque Active Disturbance Rejection Control simplifica la implementación de ADRC, lo que permite a principiantes aplicar esta técnica.

Diagrama de bloques de sistema de control de motores que representa la arquitectura de un ADRC para lazos de corriente del eje d y el eje q.

Implementación de control por rechazo activo de perturbaciones (ADRC) en Simulink Control Design para optimizar el control de motores. (Consulte la documentación).

Reinforcement Learning

Reinforcement Learning permite aprender de las interacciones con el entorno, lo que proporciona un enfoque dinámico del control. Esto lo convierte en una alternativa sólida a controladores tradicionales, como PID, especialmente cuando resulta difícil caracterizar motores y sus condiciones de funcionamiento. Sin embargo, a pesar de su potencial, Reinforcement Learning requiere una cantidad significativa de recursos de cálculo y tiempo de entrenamiento. En Simulink, el bloque Reinforcement Learning Agent facilita la configuración de un controlador de Reinforcement Learning para control de campo orientado, lo que permite a equipos de ingeniería aplicar esta técnica avanzada.

Utilizando bloques prediseñados y ejemplos de referencia con Simulink, pueden desarrollar estrategias de control y modelos de motores precisos para responder de manera efectiva al desafío de crear sistemas de control de motores.


También puede consultar estos temas: Accionamientos y motores de tracción, Control de motores de BLDC, Control de velocidad de motores de inducción, Modulación de vector espacial, Simulink Real-Time, Control de campo orientado