El brazo robótico se mueve veinte grados y el USB del portátil se corta; o el servo zumba trabado y se pone ardiendo. El MG996R (y su familia de engranajes metálicos, los que prometen mucho torque en la ficha) no es un “LED con engranajes”: es un actuador que pide corriente de pico, señal PWM de control y mecánica sin forzar el tope. Tratarlo como un motor DC crudo o alimentarlo del pin 5 V del Arduino es el camino a las caídas de tensión.
Esta guía cubre qué es el MG996R, señal de control, alimentación, corriente real, torque y brazo, comparación con otros servos, buenas prácticas de robótica y fallas típicas. Para ruedas con motor DC mira L298N; para el micro, ESP32 vs Arduino. Para mando por control remoto, receptor IR 38 kHz.
1. Qué es el MG996R
Un servo de hobby de engranajes metálicos con:
- Tres hilos: GND (marrón/negro), VCC (rojo), señal (naranja/amarillo) — confirma colores en tu unidad; hay variaciones.
- Electrónica interna que cierra el lazo de posición.
- Ángulo típico ~0–180° (existen versiones de rotación continua; no las mezcles en el carrito).
- Torque de catálogo alto para su tamaño (desconfía del número de marketing sin medir brazo y voltaje reales).
No es un motor paso a paso: no avanza en “pasos” abiertos. Es posición comandada por el ancho de pulso del control.
Idea clave: el servo consume corriente según la carga mecánica. En reposo con brazo libre gasta poco; trabado en el tope puede pedir amperios y calentarse.
2. Señal de control (PWM de servo)
El estándar hobby aproxima:
- Periodo ~20 ms (50 Hz).
- Ancho de pulso ~1 ms a ~2 ms (centro ~1,5 ms) mapeado a los extremos de ángulo.
La librería Servo de Arduino abstrae eso con write(0..180) o writeMicroseconds(...). En ESP32 usa la API compatible o una librería de servo mantenida para tu core; no asumas que cualquier pin con analogWrite de LED es un servo.
| Concepto | LED PWM típico | Servo hobby |
|---|---|---|
| Qué codifica el ciclo de trabajo | Brillo promedio | Posición (ancho de pulso) |
| Frecuencia | kHz a menudo | ~50 Hz clásico |
| Librería | analogWrite / LEDC | Servo / ESP32Servo / etc. |
3. Tabla de alimentación
| Fuente | ¿Sirve para MG996R? | Nota |
|---|---|---|
| Pin 5 V del Arduino por USB | No para trabajo serio | Caídas de tensión y reinicios |
| Regulador de 5–6 V de una batería de radiocontrol (un BEC) | Sí | Clásico en robótica |
| Fuente de banco 5–6 V varios A | Sí | Ideal en taller |
| 4×AA en serie (~6 V) | A veces | Cae bajo carga |
| Power bank USB 5 V “de celular” | Solo si aguanta picos | Muchos cortan por protección |
| 7,4 V LiPo directo al servo |
Muchos MG996R se listan ~4,8–7,2 V. Trabajar cerca de 6 V con fuente estable es un punto dulce habitual. GND común siempre entre la fuente de servos y el micro que genera la señal.
4. Corriente: dimensiona de verdad
Un servo trabado puede pedir amperios de pico. Con 4–6 servos de un hexápodo o brazo, la fuente anémica es el fallo número uno.
Prácticas de taller:
- Mide corriente con un solo servo moviendo el brazo real (no solo el brazo vacío).
- Multiplica por el número de servos que se mueven a la vez y añade margen de pico.
- Pon condensador grueso en el bus 5–6 V cerca de los servos (cientos de µF a mF según diseño).
- Usa cable rojo/negro con sección decente; no 10 cm de jumper fino para 2 A.
- Nunca alimentes el bus de servos “solo desde el 5 V del USB” en un brazo de metal.
5. Cableado mínimo con Arduino
- ⚡ Fuente de 6 V al positivo del servo. El positivo no sale del Arduino.
- 🔗 El negativo de esa fuente va al GND del servo y también al GND del Arduino. Sin esa tierra común, el servo no entiende la señal.
- 📶 El cable de señal, al pin digital 9 (en el Uno, el 9 y el 10 son los de los ejemplos).
Y este es el programa completo para probarlo. Mueve el servo entre tres posiciones, despacio:
⚠️ Dos cosas que salvan servos:
- Arranca siempre en 90 grados, que es el centro. Si el programa empieza mandándolo a 0 y la mecánica no llega hasta allá, el servo empuja contra el tope hasta que se calienta.
- Muévete en pasos, como en el ejemplo: de 90 a 120, no de 0 a 180 de un golpe. El pico de corriente de un salto completo es lo que reinicia el Arduino.
La documentación de la librería Servo, con todas sus funciones, está en la referencia oficial de Arduino.
En ESP32 o Pico el principio es el mismo, pero elige un GPIO documentado y evita los pines que la placa usa al arrancar.
6. Torque, brazo y física de mesa
Torque ≈ fuerza × distancia. Un “15 kg·cm” del folleto:
- No levanta 15 kg a 1 m de distancia.
- A 1 cm de radio la fuerza teórica es alta; a 10 cm cae en proporción.
- Engranajes, tornillos del brazo y plásticos del brazo fallan antes que el número de catálogo.
- El voltaje real de alimentación cambia el torque disponible.
Diseña brazos cortos, contrapesos cuando puedas, y evita bloquear el servo a tope eléctrico y mecánico a la vez. Si el servo zumba quieto, hay carga o el lazo pelea (mecánica en tensión).
7. MG996R vs MG995 vs servos 9g
| Modelo / clase | Uso típico | Nota |
|---|---|---|
| SG90 9g | Direcciones ligeras, sensores, demos | Plástico, poco torque, poca corriente |
| MG995 / MG996R | Brazos, direcciones con carga | Engranajes metálicos, más corriente y y calor |
| Servos digitales de mayor gama | Competencia / precisión | Precio, a veces protocolos propios |
| Servo 360° continuo | Ruedas / carrete para subir y bajar algo | No es posición 0–180 |
Entre MG995 y MG996R hay solapamiento de marketing y clones. Mide en tu carga. No compres solo por el dígito del nombre.
8. Robótica: buenas prácticas mecánicas
- No fuerces el engranaje a mano con el servo energizado a un extremo.
- Calibra el centro mecánico con
write(90)y ajusta el brazo. - Usa el tornillo del brazo correcto; un tornillo demasiado largo al eje puede destrozar el potenciómetro interno.
- Limita en software el rango (
minAngle–maxAngle) antes del tope físico. - Si el servo se calienta en reposo, quita tensión mecánica: no lo dejes peleando toda la tarde.
- Para muchos servos, considera un driver tipo PCA9685 (muchas señales PWM) y una fuente común robusta.
9. Control desde sensores y mandos
- Potenciómetro → mapa a ángulo (brazo teleoperado).
- Receptor IR → posiciones preset.
- Botones o menú en OLED.
- IMU / visión: lazo externo en el micro; el servo sigue siendo un actuador de posición.
Evita actualizar el servo a 1 kHz con saltos grandes: el engranaje sufre y la fuente también. Una actualización suave a ritmo humano o con rampa es más amable.
10. Fallas típicas y diagnóstico
| Síntoma | Causa | Acción |
|---|---|---|
| Arduino reset al mover | Corriente / USB | Fuente aparte + GND común |
| Servo no se mueve | Señal, GND, librería | attach en pin correcto; mide 5–6 V en VCC |
| Solo un extremo | Anchos de pulso / mecánica | Calibra min/max en µs |
| Calor y zumbido parado | Bloqueo o carga | Alivia brazo; no energices trabado |
| Juego muerto | Engranajes gastados | Reemplazo |
11. Servo de rotación continua (no lo mezcles)
Algunos “360°” interpretan el pulso como velocidad y sentido, no como ángulo. En esos:
write(90)≈ parado.- 0 y 180 ≈ giros opuestos.
No sirven igual en un brazo que necesita posición absoluta. Lee el título del anuncio y la ficha antes de armar el codo del robot.
12. Mini secuencia de puesta en marcha (una tarde)
- Solo un MG996R, sin brazo largo:
attach, centro en 90°, confirma que no zumba en vacío. - Añade brazo del servo y un brazo corto de prueba; mueve 80°→100° en pasos.
- Mide o estima corriente de pico al empujar una carga realista.
- Sube condensadores y cableado de potencia si hay caídas de tensión o resets.
- Recién entonces monta el brazo final y limita ángulos en software.
- Si vas a varios servos, suma un BEC o fuente de banco y un reparto de señales limpio (PCA9685 si hace falta).
Ese orden evita el error clásico: armar el hexápodo completo y descubrir que el USB del portátil es el cuello de botella.
13. Checklist de proyecto con MG996R
- Fuente 5–6 V con amperaje de pico realista.
- GND común micro–servos.
- Señal en pin válido + librería correcta de la plataforma.
- Límites de ángulo en código.
- Mecánica sin bloqueo a tope.
- Condensadores en bus de potencia.
- Primera prueba sin carga pesada en el brazo.
- Cables de potencia con sección adecuada.
- Documentado el rango mecánico vs el rango en código.
Preguntas frecuentes
¿Puedo alimentar el MG996R a 5 V desde una fuente de celular?
Solo si la fuente aguanta picos de corriente del servo. Muchos cargadores limitan y cortan. Una fuente de banco o un BEC de robótica es más predecible.
¿Cuántos MG996R aguanta un Arduino Uno?
El Uno comanda muchos por señal (o vía PCA9685); alimentar es otro tema. El límite lo pone la fuente de 6 V y el cableado, no el número mágico de “pines PWM del 328P”.
¿Sirve con Raspberry Pi Pico o ESP32?
Sí: la señal de control a 3,3 V suele bastar en servos hobby; el VCC del servo sigue en 5–6 V aparte. Configura la librería de PWM de servo de tu plataforma. Ver Pico vs ESP32.
¿Por qué se calienta en reposo?
Está peleando una carga o un tope. Quita tensión mecánica; no lo dejes energizado trabado “para que mantenga”.
¿El torque del anuncio es confiable?
Tómalo como orden de magnitud. Mide con tu brazo y voltaje real. Clones varían; el plástico del brazo del servo también.
¿MG996R o motor DC + L298 para ruedas?
Ruedas: motor DC (+ encoder si quieres lazo) con driver. Posición de articulación: servo. No son intercambiables sin rediseñar mecánica y control.
El MG996R se comporta como un buen ciudadano de robótica cuando la alimentación y la mecánica están a la altura del torque que promete el anuncio. Domina un servo bien alimentado antes de montar seis en un hexápodo: el segundo y el tercero solo multiplican el mismo error de fuente.













