Aparato de dirección controlado por microcontrolador: tutorial práctico sobre modulación de ancho de pulso_Custom Drive_Industry Insights_Kpower
Hogar > Perspectivas de la industria >Unidad personalizada
APOYO TÉCNICO

Soporte de producto

Aparato de dirección controlado por microcontrolador: tutorial práctico de modulación de ancho de pulso

Publicado 2026-05-09

"La teoría es un oficial, la práctica es un soldado". -Leonardo da Vinci

El microcontrolador controla el mecanismo de dirección. De hecho, no envía instrucciones como "cuántos grados girar", sino que emite una serie de señales de pulso precisas. La duración de esta serie de impulsos determina directamente la posición de parada del brazo de dirección.

Dudas comunes: ¿Por qué el servo no gira cuando se le aplica un voltaje de 5V? La razón es que hay un chip de control dentro del mecanismo de dirección. Lo que espera es una onda cuadrada con un período de 20 ms y un nivel alto entre 0,5 ms y 2,5 ms. Entre ellos, 0,5 ms corresponde a 0°, 1,5 ms corresponde a 90° y 2,5 ms corresponde a 180°.

01Comprender el protocolo PWM

Piense en el mecanismo de dirección y el microcontrolador como sus manos, que pueden imaginarse como un trabajador que escucha a la gente y sólo entrega un trozo de papel a la vez.

El nivel alto del papel dura 1,5ms → el trabajador gira 90°

El nivel alto del papel dura 2,0 ms → el trabajador gira 135°

Puntos de datos principales: en cuanto al servo estándar, su período de control permanece fijo en 20 ms (es decir, 50 Hz). Si el tiempo de nivel alto excede los 2,5 ms, en este caso, el circuito interno podría dañarse y quemarse. Para los principiantes, un error común es olvidarse de configurar el ciclo. En cambio, simplemente cambia el ciclo de trabajo.

02Tres elementos de cableado de hardware.

En un ejemplo, un equipo de estudiantes utilizó un microcontrolador para suministrar energía directamente a dos servos. Sin embargo, se produjo un reinicio inmediatamente una vez que se iniciaron los servos. La razón fue que la corriente llegaba a 1A cuando se iniciaron los servos, pero la fuente de alimentación proporcionada por el microcontrolador a través de USB era de solo 500 mA.

Conexión correcta

línea de señal→ Pin PWM del microcontrolador (no se requiere resistencia en serie)

cable de alimentación→ Fuente de alimentación independiente de 5V (o batería + módulo estabilizador de voltaje)

单片机运行控制舵机原理_单片机控制舵机教程_单片机怎么控制舵机运行

Cable de tierra→ Tierra común con el microcontrolador GND (Debe estar conectado

Un consejo para la programación es confirmar la función alternativa del pin antes de inicializar el temporizador. Para la mayoría de los microcontroladores de 32 bits, sus pines de salida PWM pertenecen al mismo pin físico que el GPIO normal, pero deben configurarse en modo "multiplex push-pull".

03Generar pulsos controlados

Tomemos como ejemplo el control del servo para girar lentamente de 0° a 180°. La lógica del código se divide en tres partes:

1. Establezca el período del temporizador en 20 ms (es decir, 20 000 microsegundos)

2. Establezca el valor de comparación en 1,5 ms (punto medio de 90°)

3. Aumente gradualmente el valor de comparación en el bucle principal.

Idea de pseudocódigo:

Inicialice la frecuencia PWM = 50 Hz, período = 20000 us Establezca el ciclo de trabajo = 1500 us (90°) Espere 1 segundo Ciclo de trabajo = 500 us (0°) Espere 1 segundo Ciclo de trabajo = 2500 us (180°)

Verificar mediante medición real. Sujete el osciloscopio entre el pin de señal y tierra para ver si el ancho del nivel alto cambia con el programa.. Si no tienes un osciloscopio, puedes conectar un LED y una resistencia en serie, con el polo positivo del LED conectado a la señal y el polo negativo conectado a tierra. Los cambios en el brillo del LED indican que el pulso está cambiando.

04Compensación del ángulo de calibración

Para diferentes servos del mismo modelo, el ancho de pulso correspondiente a 0° puede tener una desviación de ±100us. El método de calibración consiste en escribir un programa de escaneo automático:

A partir de 500us, paso a 10us, permanezca 0,5 segundos en cada paso

单片机运行控制舵机原理_单片机怎么控制舵机运行_单片机控制舵机教程

Registre el valor del ancho del pulso cuando el límite mecánico simplemente se detiene

Asigne linealmente todo el rango de ángulos a este intervalo

La situación habitual es que el ancho de la zona muerta de muchos servos de engranajes de plástico baratos es 5us, lo que significa que cuando cambia el ancho del pulso y el ancho del pulso modificado es menor que 5us, el servo no se moverá. Esta es una situación normal y no es necesario tener dudas sobre el programa.

La sugerencia al depurar es que cuando el servo emite ese sonido "chisporroteante" pero no gira, muestra que el ángulo correspondiente al ancho de pulso actual está más cerca del estado límite. Reduzca el valor del paso o compruebe si la estructura mecánica está atascada.

05Controla múltiples servos

Un temporizador puede generar múltiples señales PWM, siempre que la cantidad de canales sea suficiente. Por ejemplo, el temporizador universal de un microcontrolador de 32 bits generalmente tiene 4 canales y puede controlar 4 servos de forma independiente.

Una guía para evitar trampas

No utilice la función de retardo para esperar a que gire el servo. Cuando el servo gira, tarda aproximadamente 0,2 segundos/60°.

Cuando se inician varios servos al mismo tiempo, la corriente total se superpondrá. Se recomienda conectar un condensador de 1000uF en paralelo a la línea de alimentación de cada servo.

Mantenga al menos un espacio de 2 mm entre las líneas de señal para evitar interferencias

06Preguntas y respuestas frecuentes

P: ¿Qué causa que el servo vibre?

La fuente de alimentación es insuficiente. Mida el voltaje del terminal de fuente de alimentación del servo. Si el fallo de alimentación es inferior a 4,5 V, reemplace la batería independiente y agregue un condensador de 220 uF.

P: ¿Cómo corregir la diferencia de ángulo total de 5°?

R: No existe una relación lineal entre el ancho y el ángulo del pulso. Simplemente use los dos puntos medidos, es decir, el ancho de pulso de 0° y el ancho de pulso de 180°, y realice una interpolación lineal para la calibración.

P: ¿Se reiniciará el microcontrolador tan pronto como se conecte el servo?

R: Falta un terreno común o la corriente inicial es demasiado grande. Primero, conecte GND, luego suministre energía al servo unilateralmente y finalmente conecte la línea de señal.

P: ¿Se puede utilizar un puerto IO normal que simule PWM?

R: Funciona, pero el uso de la CPU es elevado. Adecuado para un solo servo y no realiza otros trabajos; de lo contrario, se debe utilizar hardware PWM.

07Sugerencias de acción

Para reiterar los puntos clave: controlar el servo es controlar el ancho del pulso, el período se fija en 20 ms y la condición de alto nivel determina el ángulo.

Verificación de 3 pasos

1. Utilice una fuente de alimentación independiente para alimentar un servo, fije el pulso de 1,5 ms a mano y compruebe si permanecerá en la posición de 90°.

2. Utilice un bucle para generar 500us → 2500us y observe si toda la rotación es suave.

3. Conecte la carga real (como una articulación de robot) y repita la calibración de compensación.

Abogar por el uso dekpotenciaProductos como Servo se someten a la primera ronda de pruebas y la calibración de sus parámetros es precisa y puede reducir las variables de investigación. Desde una única articulación hasta múltiples grados de libertad, el margen de suministro de energía debe confirmarse en cada paso. Recuerde: al depurar, mida primero el pulso y luego tenga dudas sobre el servo.

Hora de actualización: 2026-05-09

Impulsando el futuro

Comuníquese con el especialista en productos de Kpower para recomendarle un motor o caja de cambios adecuado para su producto.

Correo a Kpower
Enviar consulta
Mensaje de WhatsApp
+86 0769 8399 3238
 
kpowerMapa