Sirojudin Munir liberó un driver de control vectorial de código abierto para motores BLDC y PMSM. El paquete incluye firmware para STM32, el hardware diseñado en KiCad, los archivos Gerber, la lista de materiales y una interfaz gráfica en Python para control y monitoreo. La licencia es MIT y el costo declarado de los componentes es de 28,58 dólares.
Es un material completo para quien quiera armar o estudiar el control vectorial de un motor brushless, y la licencia permisiva más ese precio de piezas lo dejan al alcance de bastantes makers.
El corazón del sistema es el microcontrolador STM32F405, que ejecuta los cálculos de Field-Oriented Control. El ADC lee la corriente, el PWM excita el inversor y el SPI se comunica con el encoder magnético. El driver de compuerta DRV8323RH administra los MOSFET y además hace de regulador de tensión. El encoder AS5047 detecta la posición del rotor, mientras el amplificador INA240A1 se encarga de medir la corriente. Las piezas trabajan juntas para que el control responda rápido y sin desperdiciar energía.
¿Cómo funciona el control FOC?
El firmware implementa el algoritmo de control orientado al campo para administrar el torque y la velocidad del motor. El proceso de autopuesta en marcha mide la resistencia y la inductancia del motor y calibra el encoder. De esa forma el driver se adapta al motor que tenga conectado, sin intervención manual.
Hay cinco modos de control disponibles, y esa variedad es la que habilita usos distintos.
- Control de corriente para administrar el torque
- Control de velocidad con realimentación del encoder
- Control de posición para aplicaciones de precisión
- Modo de lazo abierto para pruebas rápidas
- Desactivación completa del motor por seguridad
La interfaz gráfica está escrita con PyQt y PyQtGraph, y permite visualizar datos en tiempo real y enviar comandos al driver. Las herramientas en Python incluyen funciones de calibración y monitoreo, y el cliente mejorado que escribió Munir simplifica el ajuste del sistema. El proyecto está pensado para estudiarse y modificarse, con documentación y archivos ordenados.
El hardware y sus componentes
El esquemático y el PCB están hechos en KiCad, con los archivos Gerber listos para producción. La placa trabaja con tensiones de 6 a 24 V y corriente de hasta 1 A. El conector de 3 pines con paso de 1,25 mm facilita la conexión del motor. Para las pruebas hace falta un motor brushless, que el proyecto no incluye.
Quien quiera entrar al control de un motor brushless partiendo de algo ya armado puede mirar primero un driver con sensor Hall. Ese tipo de placa no hace control vectorial, pero deja ver el inversor y los MOSFET de potencia en funcionamiento antes de fabricar una placa propia.
El driver de compuerta DRV8323RH es la pieza central de la etapa de potencia, porque excita los MOSFET del inversor e integra el regulador de tensión. El encoder magnético AS5047 entrega alta resolución para la posición del rotor. El INA240A1 mide la corriente con un amplificador dedicado. La selección apunta a un funcionamiento estable sin encarecer la lista de materiales.
¿Qué hace falta para compilarlo?
El firmware compila con PlatformIO dentro de Visual Studio Code, partiendo de la configuración de STM32CubeMX. El tablero del proyecto en GitHub reúne todos los pasos de la puesta en marcha.
La autopuesta en marcha automatiza la medición de resistencia e inductancia del motor. La calibración del encoder es guiada, lo que reduce los errores. Después, la interfaz gráfica en Python permite probar los distintos modos de control en tiempo real.
El proyecto de Munir sirve de ejemplo de documentación técnica abierta, porque incluye videos de demostración e instrucciones para reproducirlo paso a paso. Para quien recién entra al mundo de los motores brushless, el driver funciona como base de estudio. Quien ya tiene recorrido también encuentra material en el diseño de la placa y en el firmware.
El resultado es un driver FOC documentado, con licencia permisiva y costo de piezas bajo. La combinación de STM32, DRV8323RH y AS5047 entra en un formato compacto, con el código y los archivos de fabricación publicados bajo una licencia que permite el uso comercial.




