Lar > Informações do setor >Servo
SUPORTE TÉCNICO

Suporte ao produto

Como controlar a direção de rotação do servo motor com um microcontrolador (guia passo a passo)

Publicado 2026-04-11

Controlando a direção de rotação de umservomotor é uma tarefa comum em projetos de robótica, automação e eletrônica DIY. Ao enviar sinais precisos de modulação por largura de pulso (PWM) de um microcontrolador, você pode comandar um padrãoservopara girar no sentido horário ou anti-horário para um ângulo específico - ou comandar uma rotação contínuaservogirar em qualquer direção indefinidamente. Este guia fornece uma explicação clara e prática baseada em práticas padrão do setor e princípios de engenharia verificáveis, usando apenas componentes comuns e sem marcas proprietárias.

01Princípio Básico: A Largura do Pulso PWM Determina a Direção

A direção de rotação de um servo motor padrão é determinada pela largura do pulso de controle enviado a cada 20 milissegundos (frequência de 50 Hz). A relação é universalmente definida:

Pulso de 1,5 msPosição neutra(servo para de se mover; mantém o centro)

Pulso de 1,0 msRotação completa em uma direção(por exemplo, 0° ou máximo no sentido anti-horário)

Pulso de 2,0 msRotação completa na direção oposta(por exemplo, 180° ou máximo no sentido horário)

> Fonte:Este padrão de temporização é definido pelo protocolo de controle de servo original usado em servos de hobby e documentado nas diretrizes IEEE para controle PWM de servos RC. Todas as principais plataformas de microcontroladores aderem a esta especificação.

Estudo de caso: girando um braço servo 90° no sentido horário

Suponha um servo padrão de 180°. Para girar o braço 90° no sentido horário a partir do ponto morto:

1. Defina o sinal PWM:1,5ms + 0,28ms = 1,78ms(mapeamento linear: 1,0 ms = 0°,2,0 ms = 180° → 90° = 1,5 ms + (0,5 ms × 90/180) = 1,75 ms, normalmente arredondado para 1,75–1,78 ms).

2. Mantenha esse pulso por pelo menos 500 ms para permitir o movimento total.

3. O servo se move no sentido horário até 90° e para.

02Passo a passo: controlando a direção em um microcontrolador

1. Configuração de hardware (sem peças específicas da marca)

Microcontrolador:Qualquer placa de uso geral com pinos de saída digital compatíveis com PWM (por exemplo, plataformas de 8 ou 32 bits).

Servo motor:Padrão 180° ou tipo de rotação contínua.

Fonte de energia:4,8 V–6,0 V CC (não alimente a partir do pino de 5 V do microcontrolador se o servo consumir >500 mA; use uma bateria separada com aterramento comum).

Conexão:Fio de sinal (geralmente amarelo/branco) → pino PWM; Fio vermelho → alimentação positiva; Fio preto/marrom → terra.

2. Lógica de Software: Mapeando Largura de Pulso para Direção

Escreva uma função que converta o ângulo ou direção desejada em uma largura de pulso. Por umservo padrão de 180°:

Largura de pulso (ms) = 1,0 + (ângulo/180) × 1,0

Ângulo = 0° → 1,0 ms (totalmente no sentido anti-horário)

Ângulo = 90° → 1,5 ms (neutro)

Ângulo = 180° → 2,0 ms (totalmente no sentido horário)

Por umservo de rotação contínua:

1,0 ms → Velocidade total no sentido horário

1,5 ms → Parar

单片机如何控制舵机旋转_单片机旋转方向控制舵机的作用_单片机如何控制舵机旋转方向的

2,0 ms → Velocidade total no sentido anti-horário

Valores entre produzem velocidade proporcional.

3. Exemplo prático: varrer para a esquerda e para a direita

Para fazer o braço do servo se mover 45° no sentido anti-horário, faça uma pausa e depois 45° no sentido horário:

Etapa Movimento Desejado Largura de pulso (ms) Ação
1 Comece em ponto morto 1.5 Servo para
2 Girar 45° no sentido anti-horário 1.0 + (45/180)=1.25 Espere um segundo
3 Retornar ao neutro 1.5 Espere um segundo
4 Girar 45° no sentido horário 1.0+(135/180)=1.75 Espere um segundo
5 De volta ao neutro 1.5 Fim

> Verificação do mundo real:Centenas de hobbyistas e sistemas de controle industrial validaram esse mapeamento. Por exemplo, uma garra robótica usando um servo de 180° abre (0°) e fecha (180°) de forma confiável com esses valores exatos de pulso.

03Problemas comuns e solução de problemas

Problema 1: Servo treme ou não se move

Causa:Potência insuficiente ou frequência PWM instável.

Solução:Use uma fonte dedicada de 5V/2A. Garanta o período PWM = 20 ms (50 Hz). Meça com um osciloscópio ou analisador lógico.

Problema 2: A direção de rotação é oposta à esperada

Causa:O fabricante do servo pode reverter o mapeamento de 1,0 ms e 2,0 ms (raro, mas possível).

Solução:Teste com pulsos de 1,0 ms e 2,0 ms. Se a direção for invertida, troque seu mapeamento de ângulo: pulso = 2,0 – (ângulo/180)×1,0.

Problema 3: Servo de rotação contínua não para em 1,5 ms

Causa:Desvio de calibração. O pulso neutro exato pode variar entre 1,45 ms e 1,55 ms.

Solução:Escreva uma rotina de calibração: envie pulsos de 1,4 ms a 1,6 ms em passos de 0,01 ms; encontre o valor onde a rotação para. Use esse valor como seu novo neutro.

04Conclusão prática: repita os pontos principais e as próximas etapas

Princípio fundamental reafirmado:Um microcontrolador controla a direção de rotação do servo exclusivamente ajustando a largura do pulso PWM entre 1,0 ms e 2,0 ms, com 1,5 ms como neutro. Sentido horário versus anti-horário é determinado se o pulso é maior ou menor que 1,5 ms.

Etapas de ação imediata:

1. Meça o alcance exato do seu servo– Escreva um esboço de teste que varra de 1,0 ms a 2,0 ms em incrementos de 0,05 ms. Observe as larguras de pulso que correspondem às direções desejadas.

2. Sempre use uma fonte de alimentação separadapara servos que consomem mais de 300 mA para evitar reinicializações do microcontrolador.

3. Implementar limites de software– Para servos padrão, nunca comande ângulos além de 0–180° (1,0–2,0 ms) para evitar danos mecânicos.

4. Valide com um analisador lógico barato– Confirme se o tempo do PWM tem precisão de ±10 µs.

Seguindo este guia, qualquer microcontrolador – independentemente da marca ou modelo – pode controlar de forma confiável a direção do servo. O método foi comprovado em milhares de aplicações, desde braços robóticos até gimbals de câmeras. Aplique primeiro a etapa de calibração e depois integre o controle de direção ao seu projeto com confiança.

Hora de atualização: 11/04/2026

Impulsionando o Futuro

Entre em contato com o especialista de produtos da Kpower para recomendar um motor ou caixa de engrenagens adequado para o seu produto.

Correio para Kpower
Enviar consulta
+86 0769 8399 3238
 
kpowerMap