Componente · Actuador

DC Gearmotor

Por qué los motores pequeños de CC necesitan engranajes reductores para mover un robot, cómo leer el par y las RPM y cómo elegir el modelo.

Qué es

El motorreductor TT es el motor amarillo y azul de la parte inferior de casi todos los coches robot de principiante. Es un motor de CC con escobillas atornillado a un reductor plástico, con un eje de salida de doble D que encaja a presión en una rueda del mismo perfil. Compra dos, añade un chasis y una rueda libre, y tienes un robot que puede avanzar y girar, que es la razón por la que es el motor de tracción detrás del primer seguidor de línea o esquivador de obstáculos que casi todo el mundo monta.

Un motor de CC desnudo gira demasiado rápido y con demasiada poca fuerza para mover nada. El reductor es lo que lo hace útil: convierte ese giro rápido y débil en el giro lento y fuerte que necesita una rueda.

Ilustración en corte de un motorreductor TT: un motor de CC con escobillas impulsa un piñón pequeño contra un tren de reducción 1:48 dentro de una carcasa amarilla, cuyo eje de salida hace girar una rueda con dibujo; del motor salen dos hilos rojo y negro, y un panel de especificaciones indica de 3 a 6 voltios, unas 200 RPM a 6 voltios y una corriente de bloqueo de aproximadamente 1 amperio.
El motor hace girar un piñón contra un tren de reducción; el reductor cambia RPM por el par que necesita una rueda, y el eje de doble D arrastra la rueda. Descargar SVG

Cómo funciona

Dentro de la carcasa amarilla ocurren dos cosas:

  1. El motor convierte energía eléctrica en rotación. Pon tensión entre sus dos terminales y gira; invierte la polaridad y gira al revés. Más tensión significa más velocidad.
  2. El reductor reduce esa velocidad. Un tren de gears de ~1:48 significa que la rueda da una vuelta por cada 48 vueltas del motor aproximadamente. Pierdes velocidad y ganas par en la misma proporción, que es el intercambio que quieres: una rueda necesita fuerza, no un borrón. Si esa proporción es la adecuada para tu robot es aritmética que puedes hacer antes de comprar: mira cómo elegir un motorreductor de CC.

Para controlarlo haces dos cosas a la vez: fijas la dirección eligiendo qué terminal es positivo (lo hace el puente H), y fijas la velocidad con PWM, conmutando la alimentación rápido para que el motor vea una tensión media. Aprende ese emparejamiento en control de motores de CC con PWM y puente H.

Cuándo usarlo

Recurre a un motor TT para cualquier robot con ruedas ligero y de baja velocidad: seguidores de línea, esquivadores de obstáculos, robots de laberinto, una primera base de conducción diferencial. Es barato, indulgente, y todos los tutoriales de principiante apuntan a él.

Sube de nivel cuando necesites más: añade encoders de rueda cuando quieras medir distancia y velocidad para la odometría, o pásate a motores con engranajes metálicos cuando el robot se ponga pesado o necesite trepar. Los engranajes de plástico se rompen si se abusan.

Cableado y errores comunes

  • Nunca lo cables directamente a un pin lógico. La corriente de bloqueo es de unos 1 A. Manejalo a través de un L298N o un puente H similar, alimentado desde la batería, no desde los 5 V del Arduino.
  • Dos motores no van a igual. Un PWM idéntico rara vez lleva el robot perfectamente recto; ajusta un motor por software, o cierra un lazo de velocidad con encoders.
  • Cuidado con la corriente de arranque y la fuerza contraelectromotriz. Los motores hunden la alimentación al arrancar y devuelven tensión al parar. Mantén la alimentación de motores y la de lógica en rieles separados con masa común; mira cómo alimentar un robot.
  • Casa la rueda con el eje. El eje de doble D solo asienta correctamente en un taladro de doble D del mismo perfil; un agujero redondo patinará.

Los cuatro números de la ficha de un motor

Todo motor de CC con escobillas se caracteriza por cuatro cifras, y no son independientes: toda la curva se deduce de dos de ellas.

Cifra Motor TT a 6 V Qué significa
Velocidad en vacío ~200 RPM Lo más rápido que girará jamás, sin nada conectado
Corriente en vacío ~150 mA Lo que consume girando libre: sobre todo fricción del reductor
Par de bloqueo ~0.8 kg·cm La máxima fuerza que puede producir, a velocidad cero
Corriente de bloqueo ~1 A Lo que consume cuando se lo mantiene quieto. La cifra que tu controlador debe aguantar

El par de un motor de CC con escobillas cae linealmente con la velocidad, desde el par de bloqueo a 0 RPM hasta par cero a la velocidad en vacío. Su corriente hace lo mismo a la inversa. Eso da tres consecuencias que conviene conocer:

La potencia máxima está a media velocidad. Potencia es par × velocidad, y el producto de dos rectas tiene su máximo en el punto medio. Un motor TT a 6 V entrega su máxima potencia alrededor de 100 RPM.

La eficiencia máxima está más o menos a un cuarto del par de bloqueo, muy por encima del pico de potencia. Este es el punto al que quieres diseñar el robot para funcionar, no el pico de potencia y desde luego no cerca del bloqueo.

La corriente de bloqueo es la restricción de diseño, no la corriente de trabajo. Un motor que consume 150 mA sin problema sacará 1 A en cuanto una rueda se atasque contra una pared, y dos bloqueándose a la vez son 2 A. Tu controlador y tu batería tienen que sobrevivir a eso, porque en un robot ocurre constantemente.

Dimensionar uno para tu robot

La aritmética lleva cinco minutos y zanja la mayoría de las preguntas de «mi robot va demasiado despacio» antes de que ocurran.

Velocidad. Perímetro de la rueda × RPM ÷ 60 te da metros por segundo:

65 mm wheel -> circumference = pi x 0.065 = 0.204 m
200 RPM     -> 200 / 60 = 3.33 rev/s
speed       = 0.204 x 3.33 = 0.68 m/s

Eso es ritmo de persona caminando, que va bien para un seguidor de línea y es bastante rápido para un robot de laberinto que tiene que parar en las bifurcaciones.

Par. Para acelerar un robot de masa m a una tasa a, cada una de las n ruedas motrices necesita:

torque per wheel = m x a x r / n

Para un robot de 500 g que acelera a 0,5 m/s² sobre ruedas de 65 mm (r = 0,0325 m) con dos ruedas motrices:

= 0.5 x 0.5 x 0.0325 / 2 = 0.004 N.m = 0.041 kg.cm

Frente a un par de bloqueo de 0,8 kg·cm eso es un factor de casi veinte de margen, que es la razón por la que los motores TT funcionan bien en robots ligeros y por la que casi nadie normalmente tiene que hacer este cálculo. Hazlo cuando el robot se ponga pesado, o cuando tenga que trepar.

Y después comprueba el suelo. El par del motor es solo un techo; la fricción es el otro. Un robot ligero sobre un suelo liso suele alcanzar su límite de tracción alrededor del cuarto del par de bloqueo, así que la mayor parte de la capacidad de un motor no llega siquiera al suelo. El tutorial de fuerza de empuje y tracción analiza qué límite es el que realmente alcanzas.

Por qué tu robot no va recto

Dos motores TT con el mismo PWM no irán en línea recta, y esto sorprende más de lo que debería. Las causas, más o menos por orden de tamaño:

Causa Tamaño típico Se arregla con
Diferencias de fricción en el reductor 5–15 % de diferencia de velocidad Ajuste por software, o un lazo de velocidad
Variación del bobinado del motor Unos pocos puntos porcentuales Igual
Variación del diámetro de las ruedas 1–2 % Medir y corregir en la odometría
Distribución de peso desigual Variable Mover la batería
Umbrales de arranque distintos Una rueda arranca al 25 % de duty y la otra al 32 % Medir ambas; esta domina a baja velocidad

La última fila es la que sorprende, porque solo aparece a baja velocidad. Un robot que sigue bien la línea a toda velocidad y se desvía con fuerza cuando va despacio te está mostrando dos umbrales de estática distintos, no un fallo de dirección.

Hay dos arreglos reales. El ajuste por software es un multiplicador por motor que se determina empíricamente: avanza recto, mide la deriva en 2 m, ajusta y repite. Es rápido, y solo vale para la tensión de batería y la superficie con las que lo ajustaste. La solución correcta son los encoders y un lazo de velocidad, que corrige de forma continua y no le importa la batería.

La zona muerta, y por qué importa

Por debajo de cierto ciclo de trabajo el motor no gira nada: primero hay que vencer la fricción estática de las escobillas y del tren de engranajes. En un motor TT esto suele ser un 20–35 % de duty, y varía entre dos motores de la misma bolsa.

Mide el tuyo:

// Ramp up slowly and note where each wheel starts.
for (int duty = 0; duty <= 255; duty += 5) {
  analogWrite(ENA, duty);
  Serial.println(duty);
  delay(500);                 // long enough to see it start
}

Y después compensa, para que una orden pequeña produzca un movimiento pequeño en lugar de nada:

const int DEADBAND_A = 65;    // measured, out of 255

int applyDeadband(int speed) {
  if (speed == 0) return 0;
  int sign = (speed > 0) ? 1 : -1;
  return sign * map(abs(speed), 1, 255, DEADBAND_A, 255);
}

Sin esto, el cuarto inferior de tu rango de control no hace absolutamente nada, lo que hace que un lazo PID se comporte de forma muy extraña cerca de su punto de consigna: las correcciones pequeñas no tienen ningún efecto hasta que el término integral acumulado cruza el umbral y el robot da un tirón.

Resolución de problemas

Síntoma Causa probable Solución
La placa se reinicia al arrancar los motores Corriente de motor pasando por el controlador Batería aparte; comparte solo la masa
El motor zumba pero no gira Por debajo de la zona muerta, o reductor atascado Sube el duty; comprueba si hay un engranaje roto
El robot se desvía solo a baja velocidad Umbrales de estática distintos Mide y compensa cada motor por separado
El robot se desvía a cualquier velocidad Ajuste, o diámetro de rueda distinto Ajuste por software y luego mide las ruedas
Se va frenando a lo largo de la tanda La batería se desploma La velocidad escala con la tensión; cierra un lazo de velocidad o usa un paquete nuevo
Ruido de rozamiento y luego giro libre Engranaje de plástico roto Se rompen con los golpes; motor de engranaje metálico si se repite
La rueda baila en el eje Taladro redondo en un eje de doble D Usa una rueda de doble D del mismo perfil
Un motor mucho más débil Desgaste de escobillas, o un engranaje parcialmente roto Intercambia los motores para confirmar qué lado sigue la avería
Los dos motores dan tirones a la vez La alimentación no puede dar la corriente de bloqueo Paquete mayor; comprueba la resistencia interna

¿Motor TT u otra cosa?

Motor Especificación típica Elígelo cuando
Motorreductor TT 3–6 V, ~200 RPM, engranajes plásticos, ~2 $ Aprendiendo, robots ligeros, cualquier cosa sobre suelo plano
TT con encoder La misma, más un encoder magnético Quieres odometría: compra este, el retrofit es doloroso
Motorreductor metálico N20 6–12 V, muchas relaciones, engranajes metálicos, ~8 $ Robots pequeños que necesitan precisión o durabilidad
25GA-370 12 V, par alto, engranajes metálicos Robots más pesados, trepar, rovers exteriores
Servo de rotación continua 4.8–6 V, controlador integrado Quieres una rueda sin controlador de motores aparte

El único consejo de compra que más retrabajo ahorra: si crees que quizá quieras encoders, compra ya motores con encoders. El retrofit implica desmontar la transmisión, y la diferencia de precio son un par de dólares por motor. Casi todos los proyectos que empiezan como seguidores de línea y crecen hasta resolutores de laberinto se topan con esto.

Explora el grafo

Se usa en estos montajes

Proyectos, rutas de aprendizaje y simuladores que incluyen DC Gearmotor.

Comparar

Alternativas

Preguntas

Preguntas frecuentes sobre DC Gearmotor

¿Qué es un motorreductor TT?

Un motorreductor TT es un motor de CC con escobillas de bajo coste, con una caja reductora de plástico y un eje de salida en doble D que encaja a presión en una rueda estándar de coche robot. Es el motor de tracción por defecto del primer robot con ruedas que construye la mayoría de la gente, porque dos de ellos más una rueda loca forman una base 2WD completa.

¿Qué tensión necesita un motor TT?

Un motor TT funciona con entre 3 y 6 voltios. La mayoría de los coches robot lo alimentan desde un pack de 4×AA (6 V) o de 2×18650 (7.4 V) a través de un driver de motores. Gira a 3 V, pero con poco par; 6 V es el punto óptimo habitual para un chasis ligero.

¿Puede un Arduino mover un motor TT directamente?

No. Un motor TT consume unos 150 mA en marcha y cerca de 1 A cuando se bloquea, mucho más de lo que puede suministrar un pin de Arduino, y la fuerza contraelectromotriz puede dañar el pin. Muévelo siempre a través de un puente H como el L298N y controla la velocidad con PWM hacia el driver.

¿A qué velocidad gira un motorreductor TT?

Unas 200 RPM sin carga a 6 V. Con el peso de un chasis gira más despacio, y precisamente para eso está la reductora 1:48: cambia las altas RPM del motor por el par necesario para mover de verdad el robot.

¿Por qué mis dos motores TT hacen que el robot se desvíe en lugar de ir recto?

Los motores TT baratos nunca están perfectamente emparejados, así que un PWM idéntico da velocidades ligeramente distintas. Corrígelo por software ajustando el PWM de uno de los motores, o añade encoders en las ruedas y cierra un lazo de velocidad. Por eso mismo los robots que esquivan obstáculos y los seguidores de línea giran fijando de forma independiente la velocidad de cada rueda.

Lecturas adicionales

Referencias