Como definir o ângulo de rotação do servo: o guia prático completo_Custom Drive_Industry Insights_Kpower
Lar > Informações do setor >Unidade personalizada
SUPORTE TÉCNICO

Suporte ao produto

Como definir o ângulo de rotação do servo: o guia prático completo

Publicado 2026-04-05

01Como definirservoÂngulo de rotação: um guia prático completo

Definir umservomotor para um ângulo de rotação específico é uma tarefa fundamental em robótica, automação e eletrônica DIY. Este guia fornece as etapas exatas, lógica de código e métodos de calibração para fazer qualquer padrãoservogire em qualquer ângulo que você precisar - sem depender de nenhuma marca ou produto específico. Você aprenderá o princípio universal da largura de pulso, a abordagem de programação passo a passo e como solucionar erros de ângulo comuns. No final, você será capaz de definir os ângulos do servo com precisão e repetidamente.

1. Princípio Básico: Como o Ângulo de Rotação do Servo é Controlado

Todos os servos padrão usam umModulação por largura de pulso (PWM)sinal para determinar seu ângulo de rotação. O sinal de controle é uma frequência de 50 Hz (período = 20 milissegundos). Dentro de cada período de 20 ms, um pulso alto (o tempo “ligado”) informa ao servo para onde ir.

Pulso de 1,0 ms→ 0 graus (totalmente no sentido anti-horário na maioria dos servos)

Pulso de 1,5 ms→ 90 graus (posição central)

Pulso de 2,0 ms→ 180 graus (totalmente no sentido horário)

Esses valores são o padrão da indústria. No entanto, os pontos finais reais podem variar ligeiramente entre servos individuais. A tabela abaixo mostra a relação universal:

Largura de pulso Ângulo correspondente
1,0ms
1,25ms 45°
1,5ms 90°
1,75ms 135°
2,0ms 180°

> Fato importante: A largura do pulso altera o ângulo linearmente. Para qualquer ângulo entre 0° e 180°, a largura de pulso necessária = 1,0 ms + (ângulo/180) × 1,0 ms.

2. Método passo a passo para definir qualquer ângulo de rotação

Siga estas quatro etapas universais. Nenhum software ou hardware específico da marca é assumido.

Passo 1: Conecte o Servo Corretamente

Um servo padrão possui três fios:

Marrom ou Preto– Terra (conecte ao GND do seu controlador)

Vermelho– Potência (5V para a maioria dos servos; verifique a classificação de tensão do seu servo)

Laranja ou Amarelo– Sinal (conecte a um pino compatível com PWM)

> Aviso crítico: Não alimente um servo diretamente do pino de 5V de um microcontrolador quando estiver sob carga. Use uma fonte de alimentação separada de 5V capaz de fornecer pelo menos 1A por servo.

Etapa 2: gerar um sinal PWM de 50 Hz

Configure seu microcontrolador ou servo driver para produzir um sinal de 50 Hz (período de 20 ms). Em seguida, defina a largura do pulso de acordo com o ângulo alvo.

Cálculo de exemplo: Para definir 45°

Largura de pulso = 1,0 + (45/180)×1,0 = 1,0 + 0,25 = 1,25 ms

Cálculo de exemplo: Para definir 135°

Largura de pulso = 1,0 + (135/180)×1,0 = 1,0 + 0,75 = 1,75 ms

Etapa 3: Escreva o código de controle (pseudocódigo genérico)

A seguinte lógica funciona em qualquer plataforma (Arduino, Raspberry Pi, ESP32, etc.):

Definir frequência PWM = 50 Hz Definir resolução PWM = 1 µs (microssegundo) etapas função setAngle (angle_degrees): se angle_degrees 180: angle_degrees = 180 pulse_width_us = 1000 + (angle_degrees / 180)1000 # pulse_width_us está entre 1000 e 2000 Sinal PWM de gravação: período = 20.000 µs, high_time = pulse_width_us

Etapa 4: teste e meça a rotação real

Após enviar seu código, observe a buzina do servo. Se a buzina não se mover para a posição esperada, siga a calibração na Seção 4.

3. Caso Comum do Mundo Real: Configurando uma Articulação de Braço Robótico

Considere um braço robótico simples com três articulações (ombro, cotovelo, punho). Você deseja que a articulação do cotovelo se mova de 30° a 120° durante 2 segundos.

Etapas do caso:

1. Identifique o servo do cotovelo.

2. Escreva um loop que aumente gradualmente o ângulo:

Ângulo inicial = 30° → largura de pulso = 1,0 + (30/180)×1,0 = 1,1667 ms

Ângulo final = 120° → largura de pulso = 1,0 + (120/180)×1,0 = 1,6667 ms

3. Aumente o ângulo em 1° a cada 20 milissegundos (50 passos por segundo).

旋转角度设置舵机视频_舵机旋转角度的程序_舵机怎么设置旋转角度

4. Duração total = (120‑30) passos × 0,02 s = 1,8 segundos (aproximadamente).

Resultado: O cotovelo move-se suavemente de 30° a 120° sem solavancos. Este método é usado diariamente em milhares de robôs educacionais e amadores.

4. Calibração: correção de erros de ângulo (não há dois servos idênticos)

Mesmo com o intervalo correto de 1,0 a 2,0 ms, você pode descobrir que um comando para 90° resulta em 85° ou 95°. Isto é normal devido às tolerâncias de fabricação. Calibre cada servo individualmente:

Procedimento de calibração

1. Comande o servo para 0° (envie pulso de 1,0 ms).

2. Marque a posição real na buzina.

3. Comande o servo para 180° (envie pulso de 2,0 ms).

4. Marque a posição real.

5. Meça a faixa do ângulo real. Por exemplo, se o alcance físico for de apenas 170°:

Pulso mínimo verdadeiro = 1,0 ms (ainda funciona)

Pulso máximo verdadeiro = 2,0 ms dá 170° → para obter 180°, você precisaria de 2,058 ms.

6. Em vez de alterar o alcance padrão, mapeie o ângulo desejado para o alcance real:

ângulo_real = ângulo_desejado × (ângulo_máx_verdadeiro / 180)

Exemplo: Se o ângulo máximo verdadeiro = 170°, para obter os 90° desejados:

ângulo_real = 90 × (170/180) = 85°→ enviar pulso para 85°.

Esse mapeamento linear garante que a buzina física vá exatamente onde você deseja.

5. Erros comuns que impedem a configuração correta do ângulo

Evite estes erros para garantir o sucesso:

Erro Conseqüência Consertar
Usando 60 Hz (período de 16,6 ms) em vez de 50 Hz O servo treme ou não mantém a posição Defina a frequência PWM exatamente para 50 Hz
Largura de pulso abaixo de 0,5 ms ou acima de 2,5 ms O servo pode superaquecer ou atingir paradas internas Limite o pulso a 1,0–2,0 ms
Energia insuficiente (por exemplo, consumindo 2A de um regulador de 500mA) Servo reinicia ou se move de forma irregular Use uma fonte separada de 5V/2A
Mudar o ângulo muito rápido (salto instantâneo de 0° para 180°) Choque mecânico, engrenagens despojadas Adicione pequenos atrasos (15–30 ms por grau)
Esquecer de recalibrar depois de trocar o servo Os ângulos estão errados em 5–10° Execute a calibração (Seção 4) para cada novo servo

6. Avançado: Definir ângulos além de 180° (Servos de rotação contínua)

Alguns servos são modificados para rotação contínua. Nesse caso, a largura do pulso não define mais um ângulo absoluto. Em vez de:

1,5ms→ parar

(por exemplo, 1,3 ms) → gire em uma direção a uma velocidade proporcional à diferença

>1,5ms(por exemplo, 1,7 ms) → gire na direção oposta

Para servos de rotação contínua, “definir um ângulo” não é possível sem um sensor de feedback (encoder). Use um servo padrão (0–180°) para posicionamento em ângulo absoluto.

7. Conclusão prática: suas próximas etapas

Princípio central repetido: O ângulo de rotação do servo é definido gerando um sinal PWM de 50 Hz com uma largura de pulso entre 1,0 ms (0°) e 2,0 ms (180°). A relação é linear.

Plano de ação imediato:

1. Conectarseu servo a uma fonte de alimentação dedicada de 5 V (não o pino de 5 V do seu microcontrolador se houver mais de um servo).

2. Gerarum sinal PWM de 50 Hz em qualquer pino GPIO usando a biblioteca servo de sua plataforma preferida ou PWM bruto.

3. Calculara largura do pulso:pulso_us = 1000 + (ângulo_desejado/180)1000.

4. Testecom 0°, 90° e 180°. Marque as posições reais.

5. Calibrarusando a fórmula de mapeamento na Seção 4 se as posições estiverem erradas em mais de 2°.

6. Mova-se gradualmenteentre ângulos alterando o ângulo em 1–2° a cada 20–50 ms para evitar estresse mecânico.

Seguindo este guia, você pode definir qualquer servo padrão para qualquer ângulo entre 0° e 180° com precisão de ±1°. Não são necessários truques específicos da marca – apenas o padrão PWM universal que todos os servos obedecem.

Hora de atualização: 05/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
Mensagem do WhatsApp
+86 0769 8399 3238
 
kpowerMap