¿Qué calcula esta herramienta?
Muchos servos RC interpretan pulsos cercanos a 1–2 ms dentro de un periodo alrededor de 20 ms, aunque los límites exactos dependen del modelo.
tp ≈ 1 ms + ángulo × (1 ms / 180°)
Introduce los valores en las unidades indicadas. Total Engineering realiza automáticamente las conversiones necesarias para mostrar el resultado en unidades prácticas.
Ejemplo resuelto
A 90° y 50 Hz, el pulso típico es de 1.5 ms y el duty aproximado es 7.5%.
Recomendaciones prácticas
- Verifica el rango real del datasheet del servo.
- No alimentes servos grandes desde el pin del microcontrolador.
- Comparte tierra entre el controlador y la fuente del servo.
Cuándo resulta útil
Conversión de ángulo objetivo a ancho de pulso para servos de hobby y prototipos mecatrónicos.
Error común que conviene evitar
No todos los servos usan exactamente 1–2 ms o el mismo rango angular; revisa el datasheet del modelo concreto.
Fórmulas completas del PWM para servos
Un servo de modelismo no responde al duty cycle en sí, sino a la duración del pulso en alto, que se repite aproximadamente cada 20 ms. Con la convención más común (1 ms = 0°, 2 ms = 180°):
- Ancho de pulso: tp = 1 ms + (ángulo / 180°) × 1 ms
- Ángulo a partir del pulso: ángulo = (tp − 1 ms) × 180° / 1 ms
- Periodo: T = 1000 / f ms (50 Hz → 20 ms)
- Duty cycle: D = tp / T × 100 %
- Cuenta de un temporizador de n bits: cuenta = tp / T × 2ⁿ
- Rango genérico: tp = tmín + (ángulo / ángulomáx) × (tmáx − tmín), si tu servo usa otros límites
Tabla de pulsos a 50 Hz
| Ángulo | Pulso | Duty | Cuenta en 12 bits (4096) | Cuenta en 16 bits (65 536) |
|---|---|---|---|---|
| 0° | 1.00 ms | 5.00 % | ≈ 205 | ≈ 3277 |
| 45° | 1.25 ms | 6.25 % | 256 | 4096 |
| 90° | 1.50 ms | 7.50 % | ≈ 307 | ≈ 4915 |
| 135° | 1.75 ms | 8.75 % | ≈ 358 | ≈ 5734 |
| 180° | 2.00 ms | 10.00 % | ≈ 410 | ≈ 6554 |
La columna de 12 bits sirve, por ejemplo, para controladores PWM como el PCA9685 configurado a 50 Hz; la de 16 bits, para temporizadores de microcontroladores con esa resolución. Si la frecuencia real del oscilador difiere un poco, ajusta las cuentas midiendo con un osciloscopio.
Ejemplo resuelto
Quieres llevar un servo a 60° con PWM de 50 Hz y un temporizador de 16 bits.
- Pulso: tp = 1 + 60 / 180 ≈ 1.333 ms.
- Periodo: T = 1000 / 50 = 20 ms.
- Duty: 1.333 / 20 ≈ 6.67 %.
- Cuenta: 0.0667 × 65 536 ≈ 4369.
Muchos servos aceptan pulsos fuera de 1 a 2 ms (algunos llegan a 0.5 o 2.5 ms) y otros tienen un recorrido distinto de 180°. Calibra los extremos con pequeños incrementos para no forzar los topes mecánicos.
Errores comunes
- Alimentar el servo desde el microcontrolador: los picos de corriente al moverse pueden reiniciar la placa; usa una fuente aparte de la tensión adecuada.
- No unir las tierras: la señal necesita una referencia común entre el controlador y la fuente del servo.
- Pensar en el duty como en un motor DC: lo que importa es el ancho del pulso; cambiar la frecuencia sin mantener el pulso cambia la posición o desconcierta al servo.
- Forzar los topes: mandar pulsos fuera del rango real hace que el servo empuje contra su tope, se caliente y consuma mucha corriente.
- Usar un servo de rotación continua como posicional: en esos modelos el pulso controla velocidad y sentido, no el ángulo.
Preguntas frecuentes
¿Por qué 50 Hz?
Es la frecuencia de repetición tradicional de los receptores de radiocontrol (un pulso cada 20 ms). Muchos servos digitales aceptan frecuencias más altas, pero consulta su hoja de datos antes de cambiarla.
¿Qué tensión necesita un servo?
Los servos pequeños suelen trabajar a unos 4.8 a 6 V, pero hay modelos de mayor tensión. Usa la tensión que indique el fabricante.
¿Cómo genero el PWM?
Con un temporizador del microcontrolador, una biblioteca de servos o un controlador PWM dedicado. Para los conceptos de periodo y duty, consulta la calculadora PWM.
Herramienta educativa. Verifica tolerancias, hojas de datos, normas y condiciones reales antes de utilizar los resultados en aplicaciones críticas.