Publicado 2026-04-03
Este artículo proporciona una explicación técnica completa de cómo un estándarservoFunciona el motor y los métodos exactos para controlar su posición. Aprenderá el sistema de control interno de circuito cerrado, el papel de la señal de modulación de ancho de pulso (PWM) e instrucciones paso a paso para un posicionamiento angular preciso, de 0 a 180 grados.
Un estándarservoEl motor no es un simple motor de corriente continua que funciona continuamente. Es un completo sistema de control de circuito cerrado que consta de cuatro componentes internos clave:
Motor CC:Genera movimiento de rotación.
Tren de reducción de engranajes:Reduce la velocidad del motor mientras multiplica el par.
Sensor de posición (potenciómetro):Conectado al eje de salida. Su resistencia eléctrica cambia a medida que gira el eje, proporcionando información en tiempo real sobre el ángulo actual.
Placa de circuito de control:Compara la posición ordenada (de la señal PWM de entrada) con la posición real (del potenciómetro).
Cómo funciona el circuito cerrado:
1. El circuito de control recibe un comando de posición objetivo.
2. Lee la posición actual del eje en el potenciómetro.
3. Calcula el error (posición objetivo - posición actual).
4. Impulsa el motor de CC en la dirección correcta (hacia adelante o hacia atrás) para minimizar este error.
5. Cuando la posición actual es igual a la posición objetivo, el motor se detiene.
6. Este bucle funciona continuamente, manteniendo el eje en la posición ordenada incluso si una fuerza externa intenta moverlo.
Ejemplo de aplicaciones comunes:En una articulación de brazo robótico, elservorecibe una orden para moverse a 90 grados. Incluso si se coloca una carga ligera (por ejemplo, una herramienta pequeña), el control de circuito cerrado mantiene activamente la posición de 90 grados. Si una fuerza externa empuja el brazo a 92 grados, el potenciómetro detecta este cambio y el circuito de control aplica instantáneamente un contratorque para volver a 90 grados.
La posición del servo está controlada por un tipo específico de señal eléctrica:Modulación de ancho de pulso (PWM). La señal de control tiene tres parámetros fijos y un parámetro variable.
Parámetros fijos (estándar para el 99% de los servos industriales y de hobby):
Período de señal:20 milisegundos (ms). Esto significa que se envía un nuevo impulso cada 20 ms, correspondiente a una frecuencia de 50 Hz.
Voltaje:Normalmente de 4,8 V a 6,0 V (para servos estándar). Los servos de alto voltaje pueden usar 7,4 V o más, pero la lógica de la señal sigue siendo 50 Hz PWM.
Pulso Mínimo y Máximo:El pulso más corto (normalmente de 0,5 ms a 1,0 ms) y el pulso más largo (normalmente de 1,5 ms a 2,5 ms) definen el rango de recorrido completo.
Parámetro variable: ancho de pulso
El ancho del pulso alto (en milisegundos) determina el ángulo objetivo.
Posición Neutral (90 grados):Un pulso de exactamente1,5 msordena al servo que gire hasta su punto medio.
0 Grados (Un extremo):un pulso de1,0 ms(o a veces 0,5 ms, dependiendo de la calibración de fábrica del servo) ordena al servo que gire completamente hasta una parada.
180 Grados (El extremo opuesto):un pulso de2,0 ms(o a veces 2,5 ms) ordena al servo que gire completamente hasta el tope opuesto.
Fórmula precisa de mapeo de pulso a ángulo:
Para un servo estándar con un rango de 0° a 180° usando un rango de pulso de 1,0 ms a 2,0 ms:
Ancho de pulso objetivo (ms) = 1,0 ms + (ángulo deseado/180) * (2,0 ms - 1,0 ms)
O simplificado:Ancho de pulso (ms) = 1,0 + (ángulo deseado/180)
Ejemplo de cálculo:
Ángulo deseado = 45 grados
Ancho de pulso = 1,0 + (45/180) = 1,0 + 0,25 =1,25 ms
Regla de tiempo importante:El pulso se envía cada 20 ms. La duración de la parte baja de la señal se determina automáticamente como20 ms - ancho de pulso ms. El circuito de control sólo mide laancho de pulso alto. Mientras el período sea de 20 ms (± unos pocos ms de tolerancia), el servo mantendrá su posición.
Para posicionar con precisión un servo, debe generar una señal PWM continua de 50 Hz con ancho de pulso variable. Este es el método exacto que utiliza hardware común:
Paso 1: determine los límites de pulso de su servo
Nunca asuma que un servo usa de 1,0 ms a 2,0 ms. Verifique siempre la hoja de datos del fabricante. Por seguridad:
1. Comience con un pulso de 1,5 ms (neutro).
2. Disminuya gradualmente el ancho del pulso en 0,05 ms cada 2 segundos hasta que escuche que el servo se detiene o lo vea alcanzar el límite físico. Registre esto como el pulso mínimo.
![]()
3. Aumente gradualmente el ancho del pulso de 1,5 ms a 0,05 ms cada 2 segundos para encontrar el pulso máximo.
Paso 2: generar la señal PWM
Necesita un microcontrolador (por ejemplo, Arduino, Raspberry Pi Pico, STM32) o un módulo de servocontrolador dedicado.
Ejemplo: Controlar un servo con un microcontrolador estándar:
Conecte la energía:Cable rojo del servo a +5V, cable marrón/negro a GND. Utilice una fuente de alimentación independiente para servos de alto par.
Conectar señal:Cable naranja/blanco/amarillo a un pin digital compatible con PWM.
Escriba código para generar PWM de 50 Hz con ciclo de trabajo variable.
Paso 3: envíe la secuencia de comandos
Para pasar a 0 grados: emita pulsos continuos de 1,0 ms de ancho, cada 20 ms.
Para moverse a 90 grados: emita pulsos continuos de 1,5 ms de ancho, cada 20 ms.
Para moverse a 180 grados: emita pulsos continuos de 2,0 ms de ancho, cada 20 ms.
Paso 4: verificar el movimiento
Después de enviar el nuevo ancho de pulso, el servo girará a la nueva posición dentro del tiempo de tránsito especificado (normalmente de 0,1 a 0,3 segundos para 60 grados). El circuito de control mantendrá entonces esa posición.
Ejemplo de aplicaciones comunes:En un modelo de avión controlado remotamente, el receptor decodifica la posición del joystick del transmisor en una señal PWM. Cuando mueves el joystick desde el centro hacia la izquierda, el receptor cambia el pulso de 1,5 ms a 1,0 ms. El circuito de control del servo detecta este cambio, impulsa el motor para mover la superficie de control (por ejemplo, el alerón) al nuevo ángulo y lo mantiene allí hasta que el joystick se mueve nuevamente.
Problema: El servo tiembla u oscila.
Causa:Fuente de alimentación ruidosa o señal PWM inestable (jitter de sincronización).
Solución:Agregue un condensador grande (1000 µF o más) a través de las líneas de alimentación del servo cerca del servo. Asegúrese de que el microcontrolador utilice una fuente de reloj estable.
Problema: El servo no gira los 180 grados completos.
Causa:Los anchos de pulso mínimo y máximo aplicados no coinciden con la calibración interna del servo.
Solución:Realice el procedimiento de descubrimiento del límite de pulso en el Paso 1. Ajuste las constantes de pulso mínima y máxima de su código en consecuencia.
Problema: El servo se sobrecalienta o consume mucha corriente mientras está parado.
Causa:El servo está constantemente luchando contra una carga externa o su potenciómetro interno está desalineado.
Solución:Reducir la carga mecánica. Si el servo suena al final del recorrido, reduzca ligeramente el ancho del pulso ordenado (por ejemplo, use 1,05 ms en lugar de 1,0 ms para 0 grados).
Problema: El servo se mueve a una posición pero regresa lentamente cuando se aplica la carga.
Causa:Torque insuficiente para la aplicación o el voltaje de la fuente de alimentación cae bajo carga.
Solución:Utilice un servo con mayor índice de torsión. Utilice una fuente de alimentación que pueda suministrar al menos el doble de la corriente de bloqueo del servo.
Principios básicos repetidos para enfatizar:
Un servo es unsistema de control de posición de circuito cerrado, no sólo un motor.
La señal de control es50 HzPWMcon un período fijo de 20 ms.
Elancho de pulso(1,0 ms a 2,0 ms típico) se asigna directamente a la posición angular (0° a 180°).
El circuito de control compara continuamente las posiciones comandadas y reales, aplicando torque del motor para eliminar cualquier error.
Recomendaciones prácticas para un servocontrol confiable:
1. Siempre verifique el rango de pulso de su servo antes de operarlo.Utilice un pulso neutro de 1,5 ms como punto de partida seguro. Nunca asuma un rango de 1,0 ms a 2,0 ms sin realizar pruebas.
2. Utilice una fuente de alimentación dedicada para servos de alto par.No alimente un servo desde el pin de 5 V de un microcontrolador. Un servo bloqueado puede consumir de 1 a 3 amperios, lo que restablecerá la mayoría de los microcontroladores.
3. Agregue un condensador electrolítico de 100-1000 µF a través de los cables de alimentación y tierra del servo.Esto estabiliza el voltaje y elimina la mayoría de los problemas de fluctuación.
4. Envía comandos PWM continuamente.El servo requiere un nuevo pulso cada 20 ms para mantener su posición. Si la señal se detiene, la mayoría de los servos liberarán el torque y se moverán libremente.
5. Para aplicaciones precisas (por ejemplo, cardanes de cámara, dedos robóticos), calibre cada servo individualmente.Mida los anchos de pulso exactos para 0°, 90° y 180° usando un potenciómetro o sensor de ángulo. Guarde estos valores calibrados en su código de control.
Al aplicar estos principios y métodos, logrará un posicionamiento de servo preciso, repetible y confiable para cualquier proyecto, desde brazos robóticos hasta animatronics y máquinas CNC.
Hora de actualización: 2026-04-03
Comuníquese con el especialista en productos de Kpower para recomendarle un motor o caja de cambios adecuado para su producto.