Publicado 2026-04-06
servocontrole de pulso é o método de enviar um sinal elétrico repetido - especificamente umSinal de modulação por largura de pulso (PWM)-para um padrãoservomotor para definir seu eixo de saída em um ângulo preciso. A largura do pulso (duração do sinal alto) determina a posição, não apenas o nível de tensão ou a frequência.
Para a grande maioria dos servos industriais e de hobby, umlargura de pulso de 1,5 milissegundos (ms)comanda oposição neutra (90 graus), umPulso de 1,0 mscomandos0 graus(totalmente à esquerda) e umPulso de 2,0 mscomandos180 graus(totalmente à direita). Este é o padrão universal que você deve seguir para uma operação confiável.
Cada sinal de controle enviado para um servo padrão consiste em duas partes:
Largura de pulso alta(parte ativa): Normalmente entre0,5ms e 2,5ms, embora a maioria dos servos use1,0ms – 2,0mspara faixa de 0–180°.
Período do quadro(tempo total do ciclo):20ms(50 Hz) para servos analógicos padrão. Servos digitais podem aceitar frequências mais altas (até 333 Hz), mas 50 Hz funcionam universalmente.
Regra crítica:O servo lê apenas olargura de pulsode cada ciclo. O resto do ciclo (sinal baixo) simplesmente zera o temporizador. Alterar o período do quadro mantendo a mesma largura de pulsonãomude o ângulo – isso afeta apenas o torque e a taxa de atualização.
> Fonte verificável:Esses valores correspondem ao padrão definido pela Radio Control Manufacturers Association (RCMA) e são usados por todas as principais folhas de dados de servo (por exemplo, Futaba, Hitec, Savox). Para servos que reivindicam uma faixa mais ampla (por exemplo, 270°), a faixa de pulso se estende para 0,5 ms – 2,5 ms, respectivamente.
Suponha que você tenha um servo padrão de 5 V conectado a um microcontrolador genérico (como Arduino, ESP32 ou STM32). Você deseja que o servo varra de 0° a 180° e volte.
Fio de sinal servo → qualquer pino de saída digital (por exemplo, Pino 9)
Alimentação do servo (vermelho) → fonte externa de 5V (não alimente a partir do pino de 5V do microcontrolador se consumir >500mA)
Servo terra (marrom/preto) → terra comum com microcontrolador
A maioria das bibliotecas de microcontroladores abstraem a geração de pulsos. Aqui está a lógica exata que você implementaria ao escrever código de baixo nível:
# Pseudo-código para servo controle de 50 Hz (período de 20 ms) Defina o pino HIGH Aguarde pulse_width_ms (por exemplo, 1,5 ms) Defina o pino LOW Aguarde (20 - pulse_width_ms) ms Repita a cada 20 ms
Erro comum:Usandoatraso()que bloqueia outras tarefas. Em vez disso, use temporização sem bloqueio com millis() ou um temporizador de hardware.
Um hobbyista construiu um gimbal para uma GoPro, mas usou pulsos de 0,5 a 2,5 ms em um servo padrão de 180°. Resultado: O servo tremia e superaquecia constantemente porque tentava ultrapassar seus limites mecânicos (até cerca de 270°). Depois de corrigir para1,0–2,0ms, o gimbal funcionou perfeitamente. Sempre verifique a folha de dados do seu servo para saber os limites reais de pulso.
Causa 1:Largura de pulso instável (flutuação de ±0,01 ms devido a erros de temporização do software).
Consertar:Use um periférico PWM de hardware em vez de bater bits.
Causa 2:Período do quadro inconsistente (por exemplo, 18 ms a 22 ms).
![]()
Consertar:Garanta um período de exatamente 20 ms. Os servos digitais são menos sensíveis, mas os analógicos irão tremer.
Causa:Faixa de pulso muito estreita. Muitas bibliotecas têm como padrão 0,5–2,5 ms, mas seu servo requer 0,9–2,1 ms.
Consertar:Meça os pontos finais reais enviando pulsos cada vez maiores até que o servo pare de se mover e, em seguida, defina seu mínimo/máximo de acordo.
Causa:Corrente insuficiente. Um servo parado pode consumir >1A.
Consertar:Use uma fonte separada de 5 V classificada para pelo menos 2 A por servo. Não confie na alimentação USB.
Causa:Ruído elétrico na linha de sinal.
Consertar:Adicione um resistor de 100–220 Ω em série com o fio de sinal e um capacitor de 10 µF na alimentação e no aterramento próximo ao servo.
Siga estas etapas para garantir o sucesso do seu projeto:
1. Identifique a especificação de pulso do seu servo– Confira a ficha técnica. Se não estiver disponível, considere 1,0–2,0 ms para 0–180°.
2. Use um pino PWM dedicado– Os temporizadores de hardware produzem pulsos estáveis. O bit-banging de software é apenas para teste.
3. Alimente o servo separadamente– Conecte o VCC do servo a uma fonte regulada de 5V (ou 4,8V–6V conforme especificado). Nunca retire energia da fonte lógica (por exemplo, pino de 5V do Raspberry Pi).
4. Comece com um pulso neutro (1,5 ms)– Isso centraliza o servo e evita saltos repentinos.
5. Varra gradualmente a largura do pulso– De 1,0 ms a 2,0 ms em passos de 0,01 ms. Observe a faixa mecânica real.
6. Grave os verdadeiros pulsos mínimo/máximo do seu servo– Use esses limites em seu código final para evitar forçar paradas finais.
7. Adicione uma compensação de banda morta– Para um posicionamento preciso, envie o mesmo pulso duas vezes; a maioria dos servos tem uma zona morta de 3–10 µs.
Novamente: somente a largura do pulso controla o ângulo. Nem a tensão, nem a frequência (dentro do razoável).Um pulso de 1,5 ms sempre comanda 90° em um servo padrão, independentemente de o período do quadro ser de 20 ms ou 10 ms. Alterar o período afeta apenas a frequência com que o servo atualiza sua posição. Para servos analógicos, mantenha 50 Hz (20 ms). Para servos digitais, você pode ir até 333 Hz (período de 3 ms), mas a faixa de largura de pulso permanece idêntica.
Para aplicar imediatamente o controle de pulso servo corretamente:
Fazer:Gere pulsos estáveis de 1,0–2,0 ms com um período de 20 ms usando um periférico PWM de hardware.
Não:Alimente o servo a partir do regulador do seu microcontrolador; use uma bateria ou fonte separada.
Fazer:Sempre comece com um pulso neutro de 1,5 ms antes de passar para qualquer outro ângulo.
Não:Suponha que todos os servos usem 0,5–2,5 ms; verifique a folha de dados do seu modelo específico.
Seguindo este guia, você eliminará o tremor, evitará danos mecânicos e obterá controle angular preciso para qualquer projeto baseado em servo – desde braços robóticos até veículos RC e gimbals de câmera. Para solucionar problemas adicionais, consulte a folha de dados oficial do servo ou teste com um osciloscópio para confirmar o tempo do pulso.
Hora de atualização: 06/04/2026
Entre em contato com o especialista de produtos da Kpower para recomendar um motor ou caixa de engrenagens adequado para o seu produto.