servomotor-funcionamiento-pwm-control-posicion

El servomotor: músculo, cerebro y PWM

  • 5 min

Un servomotor de modelismo es un actuador con motor, reductora, sensor de posición y controlador en lazo cerrado.

Imagina que quieres que el timón de un avión teledirigido se mueva 30 grados a la derecha y se quede ahí, resistiendo la fuerza del viento.

  • Un motor DC necesitaría reductora, sensor y controlador externo.
  • Un stepper podría hacerlo, con compromisos distintos de peso, consumo y control.

La solución es el Servomotor. Una cajita negra que contiene un motor, una reductora y un cerebro electrónico capaz de corregir su propia posición en tiempo real.

¿Qué hay dentro de la caja?

Si abres un servo típico (como el popular SG90 azul o el potente MG995), encontrarás cuatro elementos clave:

  1. Motor DC: Un motor normal y corriente, pequeño y rápido.
  2. Caja de Engranajes (Reductora): Un tren de engranajes (plástico o metal) que reduce la velocidad del motor para ganar una fuerza (Torque) enorme.
  3. Potenciómetro: Esta es la clave. Está conectado al eje de salida. Cuando el brazo del servo gira, el potenciómetro gira con él.
  4. Circuito de Control (El Cerebro): Lee el potenciómetro para saber en qué ángulo está el eje actual.

Comparativa de motores

NecesidadMotor DCStepperServo
VelocidadAltaMediaBaja
Fuerza (Torque)Baja (sin reductora)Alta (Parado)Muy Alta
PrecisiónNula (salvo con encoder)Alta (Digital)Alta (Analógica)
ControlSimple (2 cables)Complejo (4 cables + Driver)Muy Simple (3 cables)
FeedbackNoNo (Ciego)Sí (Sabe dónde está)
GiroInfinitoInfinitoLimitado (180º)

El bucle cerrado (closed-loop control)

El servomotor funciona mediante un sistema de retroalimentación constante. Es un sistema de control automático en miniatura.

La Orden: Tú le dices: “Vete a 90 grados”.

La Comparación: El chip interno lee el potenciómetro. “Actualmente estoy en 0 grados”.

El Error: Calcula la diferencia.

La Acción: El chip enciende el motor DC a toda potencia hacia adelante.

La Frenada: A medida que se acerca a 90, el error disminuye. Cuando el potenciómetro marca 90 grados, el chip apaga el motor.

¿Qué pasa si intentas girarlo con la mano? El potenciómetro detectará que el ángulo ha cambiado (ej. a 85 grados). El chip detectará el error y encenderá el motor para volver a empujar hasta los 90 grados. El servo tiene fuerza de retención activa.

La señal de control: un PWM muy especial

Ya habiamos visto PWM servía para regular voltaje (0% a 100%). En los servos, usamos PWM, pero de una forma distinta.

En este caso la señal del servo es una señal pulsada, que transmite la posición desaeada a través de la duración exacta del pulso.

El estándar para servos analógicos es una señal de 50 Hz (un ciclo cada 20ms). Dentro de esos 20ms, enviamos un pulso en estado ALTO (High) cuya duración define el ángulo:

  • Pulso de 1.0 ms: → Ángulo 0 grados (Izquierda total).
  • Pulso de 1.5 ms: → Ángulo 90 grados (Centro).
  • Pulso de 2.0 ms: → Ángulo 180 grados (Derecha total).

Si el pulso dura menos de 20ms (la frecuencia), al servo le da igual. Lo que cuenta es la anchura del pulso activo.

Estos tiempos varían ligeramente según la marca, a veces es 0.5ms a 2.5ms, pero el concepto es el mismo)

Tipos de servos

Son los más comunes. Tienen un tope mecánico que impide que giren más de media vuelta. Son ideales para brazos robóticos, pinzas, timones y patas de robots hexápodos.

Son servos diseñados o modificados para girar de forma continua.

  • Se les ha quitado el tope mecánico.

  • El circuito de realimentación se modifica para interpretar el punto central como parada.

  • Comportamiento:

  • Pulso 1.5ms (90º) Motor Parado.

  • Pulso 2.0ms (180º) Gira rápido hacia adelante.

  • Pulso 1.0ms (0º) Gira rápido hacia atrás.

  • Ya no controlas la posición, controlas la velocidad. Se usan como motores con reductora fácil de controlar para ruedas de robots.

Digitales vs analógicos

Físicamente son iguales por fuera.

  • Analógicos: Envían pulsos al motor a 50Hz. Tienen menos fuerza de retención y hacen un zumbido característico bajo carga.
  • Digitales: Tienen un microprocesador interno que envía pulsos al motor a 300Hz. Reaccionan más rápido y tienen más fuerza, pero consumen más batería y hacen un ruido más agudo.

El problema de la alimentación (brown-out)

El error número 1 al usar servos con Arduino: “Conecto el servo al pin de 5V del Arduino y, cuando se mueve, el Arduino se reinicia.”

Un servo pequeño (SG90) puede consumir picos de 500mA al arrancar. Un servo grande (MG995) puede chupar 2 Amperios. El regulador del Arduino no aguanta eso. El voltaje cae, y el cerebro se apaga.

Alimenta los servos con una fuente externa (pilas, batería o fuente 5V dedicada). Y un detalle fundamental: Une las tierras (GND) de la fuente externa y del Arduino, o la señal de control no funcionará.