
Si te estás planteando usar una Raspberry Pi 5 como cerebro para mover motores, ya sea en un robot, una base móvil o un proyecto DIY más loco, seguramente te habrás topado con un problema recurrente: la Raspberry Pi no puede alimentar ni gobernar motores directamente. Hace falta un circuito intermedio, un controlador de motor apropiado y, sobre todo, entender bien cómo se conectan todas las piezas para no freír nada a la primera de cambio.
En las siguientes líneas vamos a desgranar con detalle varias situaciones reales: desde alguien que intenta controlar un motor BLDC con controlador integrado y termina quemándolo, hasta placas comerciales listas para usar con la Raspberry Pi (incluida la Pico) y dudas habituales sobre cómo mover motores de cierta potencia sin poner en riesgo la placa. El objetivo es que tengas una visión clara de qué controlador de motor elegir para tu Raspberry Pi 5, cómo alimentarlo, cómo conectarlo y qué errores evitar cuando juegas con tensiones de 24 V, picos de corriente y drivers H-bridge.
Por qué necesitas un controlador de motor con Raspberry Pi 5
Lo primero que hay que asumir es que los pines GPIO de una Raspberry Pi 5 solo sirven para señal. Entregan corrientes muy pequeñas (del orden de miliamperios) a 3,3 V, más que suficientes para mandar órdenes lógicas, pero totalmente insuficientes para alimentar un motor DC, un motor BLDC o un par de motores de robot con reductora.
Cuando intentas conectar un motor directamente a los GPIO o a los pines de 5 V, te arriesgas a que los picos de corriente y los retornos de tensión dañen la placa. Por eso se recurre a drivers de motor (puentes H, controladores BLDC, módulos integrados, etc.) que se encargan de conmutar tensiones más altas, manejar corrientes mucho mayores y, de paso, ofrecer protecciones frente a cortocircuitos, sobrecorriente o temperatura.
Además, muchos motores, especialmente los BLDC y los motores con reductora para robótica, trabajan con tensiones de 6 V, 9 V, 12 V o 24 V, muy lejos de lo que la Raspberry Pi puede suministrar. De ahí que una arquitectura típica conste de tres bloques claros: fuente de alimentación para motores, controlador/driver de motor y la Raspberry Pi 5 actuando como unidad de control lógico.
Otro motivo de peso para recurrir a un controlador específico es la necesidad de controlar el sentido de giro, la velocidad (vía PWM) y, en ocasiones, el frenado y la inversión rápida. Todo esto se hace mucho más sencillo (y seguro) con un chip dedicado que ya implementa un puente H completo o un controlador BLDC con entrada lógica, que con transistores sueltos mal dimensionados.
Controlar un motor BLDC con controlador integrado y 24 V
Un caso muy ilustrativo es el de alguien que intenta gobernar un motor BLDC con controlador integrado, modelo DIA42B20W, usando una Raspberry Pi. Este tipo de motor BLDC no se controla como un BLDC «desnudo» (donde gestionas tú las fases), sino que ya trae en su interior un controlador electrónico que solo necesita alimentación de 24 V y señales de mando adecuadas según indica el fabricante.
El usuario, preocupado por una advertencia del manual del motor, decide añadir a su circuito un MOSFET de canal N para gestionar cuándo se aplican los 24 V. El manual indica claramente algo como: “Prohibido conectar y desconectar mientras la energía está encendida. Conectar o desconectar el conector con la alimentación aplicada puede causar daños”. Es decir, no quieren que estés enchufando y desenchufando el motor con la fuente viva, porque los transitorios pueden cargarse la electrónica interna.
La idea de este usuario es utilizar el MOSFET como interruptor electrónico: la fuente de 24 V permanece conectada al circuito, pero solo se aplica realmente tensión al motor cuando el MOSFET conduce. Así intenta cumplir la recomendación del manual y, además, controlar el momento exacto de arranque para que coincida con el diagrama de tiempos que también se muestra en la documentación del motor.
No obstante, ya en su primer intento acabó quemando un motor, así que planteaba la gran duda: ¿el circuito tiene sentido o está mal enfocado desde la base? El miedo es lógico: cuando mezclas 24 V, motores BLDC con electrónica interna delicada y una Raspberry Pi, cualquier error de conexión o de tiempo puede salir caro.
En el manual completo del DIA42B20W (disponible en formato PDF), se detallan las curvas de arranque, los tiempos recomendados entre la aplicación de alimentación y las señales de control, así como las restricciones respecto a conectar/desconectar bajo tensión. Por eso, al diseñar el circuito con la Raspberry Pi 5, es fundamental respetar las secuencias de encendido, mantener la masa común entre la Pi y el controlador del motor y usar un MOSFET y un esquema de conmutación apropiados, evitando conectar y desconectar mecánicamente el conector del motor bajo carga.
Uso de un MOSFET N para conmutar los 24 V del motor
La elección de un MOSFET de canal N como interruptor de la línea de 24 V tiene sus ventajas, pero también algunos matices importantes. El objetivo del usuario era doble: evitar enchufar y desenchufar físicamente el conector bajo tensión y controlar el retardo de arranque para respetar las recomendaciones del fabricante. Esto, en principio, es correcto: mejor un interruptor electrónico que andar desconectando cables a mano.
Sin embargo, para que ese enfoque sea seguro, hay que cuidar varios detalles: el MOSFET debe ser de baja resistencia Rds(on) a la tensión de puerta disponible, capaz de trabajar cómodamente con 24 V en el drenador, y la Raspberry Pi nunca debería conectar su GPIO directamente a la puerta sin una resistencia serie y, a ser posible, una cierta protección frente a picos.
Otro aspecto clave es decidir si el MOSFET se coloca en el lado alto (high-side) o en el lado bajo (low-side) de la alimentación. En muchos casos, un N-MOSFET se coloca en el retorno (low-side switching), interrumpiendo la ruta a masa del motor. Pero si el controlador BLDC interno del motor espera una referencia de masa compartida con la fuente y con la Raspberry Pi, cortar la masa puede provocar comportamientos extraños o incluso dañar el controlador. De ahí que, en aplicaciones más delicadas, se use un MOSFET P en el lado alto o se recurra a módulos específicos de conmutación de alimentación.
También hay que prestar atención a la secuencia de señales. Aunque cortes la alimentación con un MOSFET, si la Raspberry Pi mantiene líneas de control activas mientras el controlador interno del motor está parcialmente alimentado (o con condensadores descargándose), se pueden generar estados indeseados. Idealmente, se debería garantizar que las señales de control están en un estado seguro antes de aplicar o retirar los 24 V, por ejemplo, asegurando que los GPIO están en bajo o en alta impedancia hasta que la tensión sea estable.
En resumen, el concepto de usar un MOSFET N para controlar el suministro de 24 V a un motor BLDC con controlador integrado no es descabellado, pero el diablo está en los detalles: tipo de MOSFET, ubicación en el circuito, masa común, secuencia de arranque y protecciones complementarias. Un diseño mal calculado puede hacer exactamente lo contrario de lo que se pretende: en lugar de proteger el motor, acortarle la vida o quemarlo en cuestión de segundos.
Placas de control de motores listas para Raspberry Pi 5
Frente a la opción de diseñar un circuito desde cero con MOSFETs y drivers discretos, muchas veces sale mucho más a cuenta utilizar placas de control de motores ya preparadas para Raspberry Pi. Estas placas suelen incluir el chip de control (un puente H tipo SN754410, L293D, DRV8833, DRV8825, etc.), conectores de tornillo para los motores, bornes para alimentación externa y pines listos para encajar directamente sobre la Raspberry.
Un ejemplo clásico es una placa controladora de motores para Raspberry Pi basada en el integrado SN754410NE. Este chip es un puente H doble que permite controlar dos motores DC de baja a media potencia. La ventaja de este tipo de placa es que solo tienes que conectarla encima de la Raspberry Pi, atornillar la fuente de alimentación de motores y los cables de los motores, y ponerte a programar sin complicaciones de electrónica de potencia fina.
Estas placas suelen soportar distintos lenguajes de programación, porque al final lo único que necesitan son señales lógicas en determinados GPIO. Aunque exista soporte oficial para Python o Scratch, cualquier lenguaje que pueda manejar los pines GPIO de la Raspberry Pi (C, Java, PHP, Node.js, Bash, etc.) es válido. Lo importante es generar las salidas de dirección y PWM adecuadas para cada canal del puente H.
El uso de un SN754410NE permite implementar PWM por software desde la Raspberry Pi. No es tan preciso ni tan robusto como usar un generador de PWM hardware dedicado, pero para la mayoría de proyectos DIY es suficiente para controlar la velocidad de dos motores DC de forma razonablemente suave. Eso sí, hay que tener en cuenta los límites de corriente del chip y de la propia placa: no están pensados para motores gigantes ni para aplicaciones muy exigentes en amperios.
Además, estas placas ya tienen contemplado el tema de la alimentación separada para lógica y potencia. Normalmente se alimenta la Raspberry Pi por su puerto habitual, y se proporciona a la placa de motor una fuente independiente para los motores. Algunas hasta integran diodos de rueda libre, protecciones básicas y, en ocasiones, reguladores para derivar parte de la alimentación a la propia Raspberry.
Driver de motores para Raspberry Pi Pico basado en DRV8833
Otro caso interesante, muy extrapolable a la Raspberry Pi 5 en cuanto a concepto, es el de un driver de motores específico para la Raspberry Pi Pico basado en el chip DRV8833. Aunque la Pico es una placa diferente (microcontrolador en vez de SBC), la lógica detrás del diseño del driver es muy instructiva.
Este módulo está pensado para quien tiene una Pico y quiere montar su primer robot con ruedas sin complicarse con cables por todos lados. El driver se monta directamente con la Pico, y permite mover hasta dos motores DC con una corriente de hasta 1,2 A por canal, más que suficiente para la mayoría de motores pequeños y medianos usados en robótica educativa y casera.
El DRV8833 proporciona control completo de los dos motores (adelante, atrás, frenado, etc.) usando entradas lógicas que se conectan a los pines de la Pico. La gran ventaja de este diseño es que incorpora varias protecciones: contra cortocircuitos, sobrecorriente y sobretemperatura. Si el robot se atasca o se bloquea una rueda, el chip se encarga de evitar daños graves, cortando o limitando la corriente.
La placa incluye terminales de tornillo para conectar los motores de forma cómoda y segura. Otros terminales llevan directamente señales de la Raspberry Pi Pico, de modo que se pueden usar esos pines para sensores u otros accesorios sin tener que hacer cableados raros. También integra una entrada de alimentación con regulador, aceptando entre 3 y 10 V, lo que permite usar desde pequeñas baterías hasta packs de pilas recargables para alimentar tanto la placa como la Pico.
Gracias a ese regulador integrado, la misma tensión que usas para los motores sirve para alimentar la Raspberry Pi Pico, así que no necesitas varias fuentes ni puntos de alimentación distintos para el robot. La placa también incluye un interruptor de encendido y apagado, muy útil cuando se alimenta con pilas: apagas todo con un solo gesto sin andar desconectando cables.
En cuanto al software, esta placa está muy bien documentada y dispone de ejemplos de código en Python. Eso reduce enormemente la curva de entrada: en pocos minutos puedes tener tu robot obedeciendo órdenes de movimiento, girando sobre sí mismo o siguiendo líneas. Aunque este driver está pensado para la Pico, el enfoque de «placa de motor con regulador, protecciones y documentación» es exactamente lo que deberías buscar cuando eliges un controlador de motor para tu Raspberry Pi 5.
Control de bases de movimiento con motores de mayor tamaño
Otro escenario habitual es el de quien quiere montar una base de movimiento relativamente seria usando motores tipo NeveRest 60, muy usados en robótica de competición. Alguien se planteaba sustituir el típico hub REV u otros microcontroladores por una Raspberry Pi como unidad principal de control de la base de movimiento, y preguntaba cómo conectar estos motores a la Pi de forma segura.
En este tipo de proyectos, los motores superan claramente lo que puede manejar un SN754410 o un DRV8833. Se necesita un control de potencia más serio: controladores y módulos de alta corriente. La Raspberry Pi, en este caso, actúa como cerebro que genera las señales de control (PWM, direcciones, modos) y se apoya en un controlador externo que realmente conmuta la corriente hacia los motores.
No es recomendable conectar los NeveRest 60 (o similares) directamente a una placa de motor barata para proyectos educativos, porque las corrientes de arranque y bloqueo pueden sobrepasar con creces los límites de los pequeños drivers integrados. En su lugar, se suele recurrir a controladores diseñados para esa gama de motores, a menudo usados en las propias competiciones, y buscar formas de controlarlos desde la Raspberry Pi (por ejemplo, mediante señales PWM estándar, I2C, UART o incluso USB, dependiendo del controlador).
La idea de fondo es la misma: la Raspberry Pi 5 no debe llevar la carga de potencia sobre sus hombros. Su papel es enviar órdenes alto/bajo o señales PWM con cierta frecuencia, y dejar que un módulo intermedio especializado se encargue de lidiar con los 12 V o 24 V y los varios amperios que demandan los motores. Además, en entornos de competición hay que tener muy en cuenta la robustez eléctrica, el ruido electromagnético y la disipación térmica.
En estos casos, conviene también separar bien las alimentaciones (una para motores y otra para la Raspberry Pi), cuidar el dimensionamiento de cables y fusibles, y pensar en protecciones adicionales como fusibles rearmables o disyuntores. La Raspberry Pi, al estar conectada a sensores, cámaras y comunicaciones, debe quedar lo más aislada posible de los picos y ruidos que generan los motores potentes.
Aspectos prácticos: alimentación, envíos y disponibilidad
Cuando compras placas de control de motor, motores o kits de robótica para Raspberry Pi 5 en tiendas especializadas, suelen existir políticas de envío y costes que conviene tener en cuenta si estás haciendo números para un proyecto completo. Algunas tiendas trabajan con umbrales típicos: por ejemplo, pedidos por debajo de una cierta cantidad (como 50 dólares) llevan un coste de envío fijo, mientras que a partir de ese importe puede haber envío gratuito o descuentos en el uso de mensajerías rápidas como DHL.
En un esquema de este tipo, un pedido inferior a 50 dólares podría tener un coste estándar de unos 10 dólares por «paquete pequeño aéreo» o unos 20 dólares si eliges DHL. Para pedidos algo mayores, digamos entre 50 y 150 dólares, es bastante habitual que el envío por aire estándar sea gratuito, manteniendo un coste reducido (por ejemplo, 15 dólares) si optas por DHL para una entrega más rápida.
A partir de cierto volumen, como pedidos superiores a 150 dólares, muchas tiendas ofrecen envío gratuito mediante DHL, con plazos típicos de 3 a 5 días laborables. No obstante, puede haber excepciones según la zona geográfica: algunos países encuadrados en una «zona 9» de envío internacional pueden tener umbrales más altos, como más de 300 dólares de compra para poder acceder al envío gratuito por DHL.
En esas zonas con costes más elevados, un pedido por debajo de 100 dólares puede implicar un gasto de envío de unos 45 dólares por DHL, reduciéndose a 35 dólares para pedidos entre 100 y 200, y alrededor de 25 dólares entre 200 y 300. Superada la barrera de 300 dólares, el envío suele pasar a ser gratuito también en estos destinos, aunque todo depende de las políticas concretas de la tienda.
En cuanto a los métodos de transporte, lo habitual es tener varias opciones: DHL o FedEx con plazos de entrega de 5 a 10 días laborables, líneas especiales de 10 a 15 días, paquetes pequeños por aire de 15 a 30 días y, en algunos casos, servicios asociados a la Unión Postal Universal. Casi siempre se proporciona un número de seguimiento, de modo que puedes comprobar el estado del envío en la web del vendedor y en la de la mensajería, y recibir también un aviso por correo electrónico con los datos de seguimiento.
Algo importante que a veces se pasa por alto es que los plazos de entrega suelen ser en condiciones «FOB» desde el origen (por ejemplo, Shenzhen), lo cual no incluye tasas de aduana, aranceles o impuestos que cobre el país de destino. Esos gastos adicionales (IVA, derechos arancelarios, recargos de gestión de la mensajería, etc.) corren a cargo del comprador y pueden cambiar bastante el coste final si el pedido incluye baterías o motores.
Además, en pedidos que incluyen baterías o motores, es posible que no todas las mensajerías estén disponibles por cuestiones de regulaciones de transporte. Algunas tiendas indican que, si DHL no pudiera usarse para tu país, se optaría por UPS, FedEx o una «línea especial» según convenga. Conviene también saber que los distribuidores o revendedores suelen estar excluidos de los programas de envío gratuito, reservándose estos beneficios para clientes finales.
Teniendo todos estos factores en mente (costes de envío, plazos, aduanas), es fácil ver por qué a veces compensa unificar en un solo pedido la Raspberry Pi 5, los controladores de motor, los motores y accesorios, alcanzando los umbrales de envío gratuito y reduciendo la probabilidad de tener que tratar con varias agencias de transporte y varias declaraciones aduaneras.
Si juntamos todo lo anterior, se ve claramente que controlar motores desde una Raspberry Pi 5 va mucho más allá de programar cuatro GPIO: hay que escoger bien el tipo de controlador (BLDC con integración interna, puente H como SN754410, drivers como DRV8833 o módulos de alta potencia para motores grandes), respetar las recomendaciones de los fabricantes sobre conexiones bajo tensión y secuencias de arranque, cuidar la forma en que se conmuta la alimentación (especialmente a 24 V con MOSFETs) y planificar la logística de compra y envío de componentes. Tener presente la separación entre lógica y potencia, las protecciones integradas en las placas y la documentación disponible, junto con una buena planificación de alimentación y cableado, es lo que marca la diferencia entre un proyecto que quema motores y placas, y otro que funciona fino y estable durante mucho tiempo.


