Logotipo de sheen.bot

Ideas y reflexiones

Por qué tu robot se reinicia al arrancar los motores (y cómo solucionarlo)

22 ago 2026·Sheen Robotics
Por qué tu robot se reinicia al arrancar los motores (y cómo solucionarlo)

Tu microcontrolador se reinicia porque el pico de corriente inicial de los motores de corriente continua hunde la tensión de la batería por debajo de su límite de funcionamiento. Así se corrigen los reinicios por caída de tensión en el aula.

Si tu robot ejecuta el código de arranque, enciende sus LED y se reinicia justo en el momento en que se ejecuta el código de tracción, tu microcontrolador está sufriendo un reinicio por caída de tensión (brownout). Los motores no están quemando el chip: lo están dejando sin tensión.

Cuando un motor de corriente continua (CC) arranca desde parado, exige un pico enorme de corriente durante una fracción de milisegundo. Si tu alimentación no puede suministrar esa corriente al instante, la tensión del circuito se desploma. En cuanto esa tensión cae por debajo del umbral seguro de funcionamiento del microcontrolador —en torno a 2,7 V para un chip de 3,3 V como el ESP32, o 4,3 V para un Arduino Uno estándar de 5 V—, el procesador se reinicia para proteger su memoria de posibles corrupciones. Como durante el reinicio el motor deja de girar, la tensión se recupera, el código vuelve a arrancar y el ciclo se repite indefinidamente.

La mecánica de una caída de tensión

Para resolverlo de forma fiable, conviene entender por qué cae la tensión. Hay dos realidades físicas que provocan estos reinicios por culpa de los motores en los kits de robótica escolar:

  • Corriente de arranque: un motor de CC parado no tiene prácticamente fuerza contraelectromotriz (back-EMF). Eléctricamente, encender un motor es casi idéntico a poner un cortocircuito a la salida de la fuente durante una fracción de segundo. Un motorreductor amarillo de aficionado que consume 150 mA en marcha puede exigir sin problema entre 1,2 A y 1,5 A en el instante en que empieza a girar.
  • Resistencia interna de la batería: toda batería tiene resistencia interna. Cuando a cuatro pilas alcalinas AA o a un par de celdas 18650 se les pide entregar de forma instantánea entre 2 A y 3 A para dos motores de tracción, la tensión en bornes de la batería cae en proporción directa a esa resistencia interna. Los cables de conexión finos y los clips de pila con muelle empeoran notablemente esa caída.

Cuando alimentas un microcontrolador y un controlador de motores en puente en H (como un L298N, un DRV8833 o un TB6612FNG) desde el mismo pack de baterías sin filtrar, esa caída de tensión llega directamente a la línea de alimentación del procesador. El microcontrolador interpreta la caída como un corte de corriente y se reinicia.

Solución 1: añade condensadores de desacoplo de gran capacidad

La solución de hardware más sencilla que no obliga a añadir un segundo pack de baterías es añadir capacidad de reserva junto al controlador de motores.

Un condensador funciona como un depósito de carga eléctrica diminuto y extremadamente rápido. Cuando el motor arranca y exige una demanda brusca de corriente, el condensador se descarga sobre el controlador de motores antes de que la tensión de la batería principal tenga tiempo de desplomarse del todo.

  • Coloca un condensador electrolítico de 470 µF a 1000 µF directamente entre los terminales de entrada de potencia de alta corriente del controlador (VCC de motor y GND).
  • Deja las patillas del condensador lo más cortas posible. Si está tres filas más allá en la placa de prototipos, la resistencia de las pistas de la propia placa mermará su eficacia.
  • Respeta la polaridad: la banda negativa del condensador debe ir a masa (GND) y la patilla positiva, a la alimentación.

Para el ruido eléctrico de alta frecuencia que generan las escobillas del motor, suelda además un pequeño condensador cerámico de 0,1 µF (100 nF) directamente entre los dos terminales metálicos de cada motor de CC.

Solución 2: separa por completo las líneas de alimentación

Si estás montando robots con tracción a las cuatro ruedas o usas motores de más par, puede que los condensadores por sí solos no eviten la caída de tensión con baterías cansadas. La solución de ingeniería definitiva es separar la alimentación en dos líneas: la de la lógica y la de los motores.

ConfiguraciónVentajasInconvenientesIdeal para
Un solo pack con condensador de reservaLigero, menos baterías que gestionar en claseSigue siendo propenso a reinicios si las baterías están casi agotadasSiguelíneas ligeros de dos ruedas motrices
Dos packs de bateríasCero interferencias del motor en el microcontroladorMás peso, dos juegos de baterías que cargarCompeticiones de robótica, chasis pesados
Regulador reductor como amortiguadorUn único pack de baterías, tensión regulada y limpiaExige ajustar la tensión de salida con un multímetroProyectos avanzados de secundaria

Para cablear correctamente dos fuentes de alimentación:

  1. Alimenta el microcontrolador (Arduino, micro:bit o ESP32) con su propia fuente dedicada: por ejemplo, una batería externa USB de 5 V o una pequeña LiPo de 3,7 V con un elevador de tensión.
  2. Alimenta el terminal de potencia de motor del controlador (a menudo etiquetado VM o VMS) desde tu pack de baterías principal de motores (por ejemplo, un portapilas de 4×AA o un pack de iones de litio 2S).
  3. Une todos los cables de masa (GND). El microcontrolador y el controlador de motores deben compartir una referencia de masa común; de lo contrario, las señales lógicas que controlan el sentido y la velocidad quedarán flotando y se comportarán de forma errática.

Solución 3: arranca los motores de forma progresiva por código

A menudo puedes eliminar los reinicios provocados por los motores sin tocar el soldador, simplemente cambiando cómo aplica potencia tu código. En clase, el alumnado suele escribir código que pasa de golpe del reposo a la velocidad máxima:

analogWrite(motorPin, 255);

Esa transición instantánea provoca la máxima corriente de arranque. En su lugar, haz que el ciclo de trabajo de la modulación por ancho de pulso (PWM) suba de forma gradual a lo largo de 50 a 100 milisegundos con un bucle sencillo. Acelerar de 0 a 255 en cinco pequeños pasos reduce mucho el pico de demanda y mantiene la tensión de la batería por encima del umbral de caída del microcontrolador, sin que el robot se mueva de forma apreciablemente más lenta.

Errores de cableado en clase que imitan una caída de tensión

Antes de recablear todo el chasis, revisa estos tres puntos de fallo mecánico habituales en el entorno del aula:

  • Placas de prototipos sin soldadura: las líneas de alimentación de una placa de prototipos no pueden transportar de forma fiable los picos de 1,5 A a 2 A que consumen dos motores de CC girando. Lleva la potencia de motor de alta corriente directamente por bornes de tornillo o conexiones soldadas, no por los clips de muelle de la placa.
  • Cables de conexión finos: los cables dupont baratos de 28 AWG tienen mucha resistencia. Cuando la corriente del motor circula por cables finos, el propio cable pierde una tensión considerable antes incluso de que la energía llegue al controlador de motores.
  • Pilas alcalinas gastadas: a medida que las pilas alcalinas se descargan, su resistencia interna aumenta muchísimo. Un pack que marca 6,0 V en el multímetro en reposo puede desplomarse hasta 3,2 V bajo una carga de 500 mA. Mide siempre la tensión de la batería mientras los motores están intentando girar de verdad.

Si estás equipando un aula de informática o un equipo de competición con hardware fiable de distribución de energía, en la tienda de Sheen Robotics encontrarás módulos controladores con filtrado integrado, también como parte de nuestros kits estructurados de robótica a través de Infinity.

#robótica#electrónica#resolución de problemas#educación STEM

Más de Ideas y reflexiones