Implementar rápidamente diseños de control de motores utilizando un CI de accionamiento con microcontrolador integrado
Colaboración de Editores de DigiKey de América del Norte
2020-04-08
El uso de los motores aumenta constantemente en aplicaciones como los automóviles, la robótica, el control industrial y los vehículos aéreos. Sin embargo, la electrónica de los motores es tradicionalmente pesada, voluminosa, ineficiente y difícil de trabajar debido a los altos voltajes de accionamiento que conlleva. Dado que los diseñadores se enfrentan a una creciente demanda de menores costes de materiales, mayor eficiencia y una menor huella electrónica, así como una mayor flexibilidad y un tiempo de comercialización más rápido, se necesita un mayor grado de integración y facilidad de uso.
Este artículo presentará la familia de controladores de motor trifásicos de sistema en paquete (SiP) STSPIN32F32F060x de STMicroelectronics con un microcontrolador incorporado y mostrará cómo se pueden utilizar para lograr estos retos de diseño, costo y tiempo de comercialización del mercado.
Cómo conducir un motor trifásico
Para conducir con éxito un motor trifásico, hay varios bloques de hardware que deben ser incorporados en el diseño:
- Un microcontrolador
- Un CI de motor de accionamiento
- MOSFET o IGBT de alto voltaje (que realizan la conmutación real)
En un diseño tradicional de controlador de motor, un desarrollador normalmente tiene una sección de la placa de la PC que está dedicada a los tres bloques. Generalmente, el microcontrolador envía señales moduladas por ancho de pulso (PWM) al CI del motor, que monitoriza cuidadosamente estas señales junto con la corriente y el voltaje de salida que se generan en la salida del controlador del motor, para accionar los MOSFET. El microcontrolador a menudo también se comunica con el CI de motor a través de un bus I2C o SPI para habilitar características y funcionalidades personalizadas, o puede usar media docena o más de señales GPIO discretas para controlar el comportamiento del puente.
El desafío con un CI de controlador de puente externo en el ciclo de desarrollo de hoy es agregar costo y complejidad adicionales y utilizar el precioso espacio de la placa de la PC, sin mencionar las señales de entrada y salida (E/S) en el microcontrolador que de otra manera podrían ser utilizadas para algo más. Aquí es donde una nueva clase de microcontroladores integrados y circuitos de puente está simplificando las aplicaciones de control de motores, mientras que simultáneamente disminuye los costos de la lista de materiales y minimiza el área de la superficie de la placa de la computadora.
¿Por qué usar el STSPIN32F060x?
Esta clase está representada por la serie de componentes de la serie STSPIN32F060x SiP de STMicroelectronics que incorpora un microcontrolador Arm® Cortex®-M0 STM32F031x6x7 con un controlador triple de puerta de medio puente de 600 voltios (Figura 1). Cada medio puente puede ser usado para conducir un MOSFET o IGBT en cada fase de un motor DC sin escobillas (BLDC).
Figura 1: El STM32F060x integra un STM32F031 Arm Cortex-M0 con un controlador triple de puerta de 600 voltios de medio puente para ahorrar costos, espacio en la placa de la computadora y clavijas de paquete. (Fuente de la imagen: STMicroelectronics)
La serie proporciona algunas características y protecciones muy interesantes. Por ejemplo, las partes incluyen:
- Un comparador con una avanzada función de apagado inteligente (smartSD) que asegura una protección rápida y efectiva contra la sobrecarga y la sobrecorriente
- Diodos de alto voltaje integrados en el bootstrap
- Protección contra la conducción cruzada
- Protección de tiempo muerto
- Protección UVLO
El microcontrolador incorporado funciona a 48 megahercios (MHz) e incluye 32 kilobytes (Kbytes) de flash con 4 Kbytes de RAM, lo que es perfecto para implementar el control orientado al campo (FOC).
El STM32F060x actualmente incluye dos partes en la familia, el STSPIN32F0601 y el STSPIN32F0602. La diferencia principal entre los dos es que el 0601 soporta corrientes de accionamiento de puerta de hasta 0.35 amperios (A), mientras que el 0602 puede soportar corrientes de accionamiento de puerta de hasta 1.0 A.
Fíjense que dentro del CI, el microcontrolador STM32F031 está conectado al controlador de la puerta a través de varias líneas GPIO que son internas al paquete. El GPIO PA11 se utiliza para activar el controlador de la puerta y el GPIO PB12 se utiliza para detectar si hay un fallo en el puente. Los GPIO PA8 - PA10 se usan para las entradas laterales altas del conductor de la puerta, mientras que los GPIO PB13 - 15 se usan para las entradas laterales bajas del conductor de la puerta. Esto evita que los desarrolladores tengan que usar pines GPIO externos para controlar un controlador de puerta, a la vez que evita la necesidad de espacio en la placa de la PC para ejecutar rastros a un CI separado. La integración de ambos componentes simplifica el hardware y la complejidad del diseño y puede reducir significativamente los costos de la lista de materiales.
Acelerar el desarrollo con la placa de desarrollo EVSPIN32F0601S1
El STSPIN32F060x es compatible con la placa de desarrollo EVSPIN32F0601S1, un completo kit de arranque con inversor trifásico que incluye toda la electrónica necesaria para poner en marcha un motor BLDC utilizando el controlador STSPIN32F0601 (Figura 2). El EVSPIN32F0601S1 está dividido en cinco secciones primarias:
- El STSPIN32F0601
- Un depurador STLINK desmontable
- Una red de retroalimentación
- Una etapa de potencia
- Una fuente de alimentación
Figura 2: La placa de desarrollo EVSPIN32F0601S1 proporciona toda la electrónica necesaria para poner en marcha un motor BLDC utilizando el controlador STSPIN32F0601. (Fuente de la imagen: STMicroelectronics)
El depurador pcb STLINK puede ser retirado de la placa de desarrollo si se desea, permitiendo a los desarrolladores reducir el tamaño de la placa para que pueda ser utilizada en prototipos y recintos de prueba de concepto (PoC). Los desarrolladores pueden seguir conectando un STLINK-V3SET externo (Figura 3) conectándolo a las cabeceras de los SWD en la placa de desarrollo.
Figura 3: El depurador STLINK-V3SET es un depurador externo que puede ser usado para programar y depurar aplicaciones escritas con un microcontrolador STM32. (Fuente de la imagen: STMicroelectronics)
La placa de desarrollo también incluye una red de retroalimentación que puede utilizarse para los algoritmos de control de motores que requieren sensores para proporcionar la retroalimentación de voltaje y corriente. En muchos diseños modernos, estas redes de retroalimentación pueden ser eliminadas y se puede utilizar un algoritmo de BDC. Este es un algoritmo de control de motor sin sensores que puede reducir aún más los costos de la lista de materiales y el tamaño de la placa de PC resultante.
La etapa de potencia proporciona a los desarrolladores MOSFET o IGBT de lado alto y bajo que se utilizan para conmutar el voltaje a través de los diversos bobinados del motor. Lo interesante del diseño de la placa es que las huellas son para los paquetes DPAK o PowerFlat, permitiendo a los desarrolladores modificar la placa de desarrollo si así lo deciden usar su propio MOSFET o IGBT.
Por último, la fuente de alimentación puede proporcionar una entrada que va desde 50 voltios hasta 280 voltios CC/CA. El transformador de retroceso integrado también puede generar +15 y +3.3 voltios para su uso en la aplicación.
Para experimentar con la placa de desarrollo, se necesita conectar un BLDC como el QBL4208-41-04-006 de Trinamic Motion Control GmbH (Figura 4). Cada fase del motor BLDC se conecta al EVSPIN32F0601S1 a través de los terminales de tornillo de salida apropiados.
Figura 4: El motor BLDC QBL4208-41-04-006 funciona a 4000 RPM y puede ser usado con la placa de desarrollo EVSPIN32F0601S1 para desarrollar una amplia variedad de aplicaciones. (Fuente de la imagen: Trinamic Motion Control GmbH).
Mientras que la placa de desarrollo EVSPIN32F0601S1 tiene todo el hardware necesario para accionar un motor BLDC, un motor trifásico también requiere software. Para conducir un motor con éxito, los desarrolladores pueden aprovechar el kit de desarrollo de software de control de motores X-CUBE-MCSDK de STMicroelectronics. Esta biblioteca puede ser usada con paquetes de software como el ST32CubeIDE y el ST32CubeMx para configurar fácilmente una solución de control de motores.
Conducir un motor BLDC con software
El paquete de software X-CUBE-MCSDK incluye dos aplicaciones de alto nivel: el banco de trabajo MotorControl y el perfilador de motor. El banco de trabajo de control motor permite a un desarrollador crear un proyecto de control motor para hacer funcionar fácilmente un motor. Se pueden utilizar varios algoritmos de motor, incluyendo FOC, así como varias topologías de retroalimentación como:
- Una resistencia de derivación
- Tres resistencias de derivación
- Dos sensores de corriente aislados
El Perfilador de motor permite al desarrollador introducir sus parámetros generales de motor y luego de perfilar completamente el motor. Este perfil proporciona los parámetros generales del motor requeridos por algoritmos como FOC para conducir con éxito el motor.
Crear un proyecto dentro del Banco de trabajo del control motor es simple. Un desarrollador necesita abrir el Banco de trabajo del control motor y seleccionar un nuevo proyecto. Entonces pueden introducir sus parámetros como se muestra en la figura 5:
- Tipo de aplicación
- El número de motores que serán controlados
- Sus configuraciones de control y potencia
- Los parámetros del motor como los polos, la velocidad, el voltaje y la corriente nominal
Figura 5: La configuración del Proyecto de banco de trabajo de control de motor permite a un desarrollador personalizar la configuración de su proyecto para su hardware. (Fuente de la imagen: Beningo Embedded Group)
Una vez que la información para el proyecto ha sido seleccionada, los desarrolladores pueden hacer clic en OK, lo que los lleva al Banco de trabajo del motor de control (Figura 6). Desde el banco de trabajo, los desarrolladores pueden personalizar el comportamiento de su aplicación. Esto incluye la capacidad de configurar:
- Ajustes del firmware, como el perfil de inicio, los ajustes de la unidad y las opciones de detección
- Ajustes de E/S digitales como la interfaz del codificador, los sensores de pasillo, la comunicación en serie y los botones de inicio y parada.
- Funcionalidad del convertidor digital-analógico (DAC)
- La entrada analógica y los ajustes de protección para la retroalimentación de la corriente de fase, el voltaje del bus, la temperatura y la etapa PFC.
Figura 6: El Banco de trabajo de control de motor provee al desarrollador la habilidad de personalizar su firmware, ajustar las frecuencias de MCU y de reloj junto con la E/S digital, DAC y la protección de la entrada analógica. (Fuente de la imagen: Beningo Embedded Group)
Los desarrolladores incluso tienen la capacidad de activar y desactivar la configuración con el clic de una casilla de verificación como:
- Detección de tensión de bus
- Detección de temperatura
- Detección de corriente con protección de sobrecorriente
- Detección de la velocidad
Un desarrollador ni siquiera necesita ver una sola API o línea de código para configurar completamente su aplicación de control de motores.
Conclusión
Los desarrolladores y diseñadores de sistemas de control de motores se enfrentan a una creciente presión para reducir los costos, aumentar la eficiencia y reducir la huella electrónica. Como se muestra, el STSPIN32F060x SiP para aplicaciones de controladores de motores BLDC trifásicos no sólo disminuye los costos de la lista de materiales, sino también el espacio de la placa de la computadora y la complejidad del sistema. También viene con un ecosistema efectivo, incluyendo una placa de desarrollo y software diseñado para poner en marcha a los desarrolladores con aplicaciones de control de motores de forma rápida y fácil.
Descargo de responsabilidad: Las opiniones, creencias y puntos de vista expresados por los autores o participantes del foro de este sitio web no reflejan necesariamente las opiniones, las creencias y los puntos de vista de DigiKey o de las políticas oficiales de DigiKey.




