Publicado 2026-04-03
Este artigo fornece uma explicação técnica completa de como um padrãoservomotor funciona e os métodos exatos para controlar sua posição. Você aprenderá o sistema de controle interno de malha fechada, a função do sinal de modulação por largura de pulso (PWM) e instruções passo a passo para posicionamento angular preciso, de 0 a 180 graus.
Um padrãoservoO motor não é um simples motor DC que funciona continuamente. É um sistema de controle de circuito fechado completo que consiste em quatro componentes internos principais:
Motor CC:Gera movimento rotacional.
Trem de redução de engrenagem:Reduz a velocidade do motor enquanto multiplica o torque.
Sensor de posição (potenciômetro):Conectado ao eixo de saída. Sua resistência elétrica muda conforme o eixo gira, fornecendo feedback em tempo real sobre o ângulo atual.
Placa de circuito de controle:Compara a posição comandada (do sinal PWM de entrada) com a posição real (do potenciômetro).
Como funciona o circuito fechado:
1. O circuito de controle recebe um comando de posição alvo.
2. Ele lê a posição atual do eixo no potenciômetro.
3. Calcula o erro (posição alvo - posição atual).
4. Ele aciona o motor DC na direção correta (para frente ou para trás) para minimizar esse erro.
5. Quando a posição atual for igual à posição alvo, o motor para.
6. Este loop funciona continuamente, mantendo o eixo na posição comandada mesmo se uma força externa tentar movê-lo.
Exemplo de aplicativos comuns:Em uma articulação de braço robótico, oservorecebe um comando para se mover para 90 graus. Mesmo que uma carga leve (por exemplo, uma ferramenta pequena) esteja acoplada, o controle de malha fechada mantém ativamente a posição de 90 graus. Se uma força externa empurra o braço para 92 graus, o potenciômetro detecta essa mudança e o circuito de controle aplica instantaneamente o contra-torque para retornar a 90 graus.
A posição do servo é controlada por um tipo específico de sinal elétrico:Modulação por largura de pulso (PWM). O sinal de controle possui três parâmetros fixos e um parâmetro variável.
Parâmetros fixos (padrão para 99% dos servos industriais e de hobby):
Período de sinal:20 milissegundos (ms). Isto significa que um novo pulso é enviado a cada 20 ms, correspondendo a uma frequência de 50 Hz.
Tensão:Normalmente 4,8 V a 6,0 V (para servos padrão). Servos de alta tensão podem usar 7,4 V ou mais, mas a lógica do sinal permanece PWM de 50 Hz.
Pulso Mínimo e Máximo:O pulso mais curto (geralmente de 0,5 ms a 1,0 ms) e o pulso mais longo (geralmente de 1,5 ms a 2,5 ms) definem toda a faixa de deslocamento.
Parâmetro variável: largura de pulso
A largura do pulso alto (em milissegundos) determina o ângulo alvo.
Posição Neutra (90 graus):Um pulso de exatamente1,5mscomanda o servo para girar até seu ponto médio.
0 graus (um extremo):Um pulso de1,0ms(ou às vezes 0,5 ms, dependendo da calibração de fábrica do servo) comanda o servo para girar totalmente até uma parada.
180 graus (o extremo oposto):Um pulso de2,0ms(ou às vezes 2,5 ms) comanda o servo para girar totalmente até a parada oposta.
Fórmula precisa de mapeamento de pulso para ângulo:
Para um servo padrão com faixa de 0° a 180° usando faixa de pulso de 1,0 ms a 2,0 ms:
Largura de pulso alvo (ms) = 1,0 ms + (Ângulo desejado/180) * (2,0 ms - 1,0 ms)
Ou simplificado:Largura de pulso (ms) = 1,0 + (Ângulo desejado/180)
Exemplo de cálculo:
Ângulo desejado = 45 graus
Largura de pulso = 1,0 + (45/180) = 1,0 + 0,25 =1,25ms
Regra de tempo importante:O pulso é enviado a cada 20 ms. A duração da porção baixa do sinal é determinada automaticamente como20 ms - largura de pulso ms. O circuito de controle mede apenas alargura de pulso alta. Enquanto o período permanecer em 20 ms (± alguns ms de tolerância), o servo manterá sua posição.
Para posicionar um servo com precisão, você deve gerar um sinal PWM contínuo de 50 Hz com largura de pulso variável. Aqui está o método exato usando hardware comum:
Etapa 1: determine os limites de pulso do seu servo
Nunca presuma que um servo usa 1,0 ms a 2,0 ms. Verifique sempre a ficha técnica do fabricante. Para segurança:
1. Comece com um pulso de 1,5 ms (neutro).
2. Diminua gradualmente a largura do pulso em 0,05 ms a cada 2 segundos até ouvir o servo parar ou vê-lo atingir o limite físico. Registre isso como o pulso mínimo.
![]()
3. Aumente gradualmente a largura do pulso de 1,5 ms para 0,05 ms a cada 2 segundos para encontrar o pulso máximo.
Etapa 2: gerar o sinal PWM
Você precisa de um microcontrolador (por exemplo, Arduino, Raspberry Pi Pico, STM32) ou um módulo servo controlador dedicado.
Exemplo: Controlando um servo com um microcontrolador padrão:
Conecte a energia:Fio servo vermelho para +5V, fio marrom/preto para GND. Use uma fonte de alimentação separada para servos de alto torque.
Conecte o sinal:Fio laranja/branco/amarelo para um pino digital compatível com PWM.
Escreva o código para produzir PWM de 50 Hz com ciclo de trabalho variável.
Etapa 3: envie a sequência de comandos
Para passar para 0 graus: Emita pulsos contínuos de 1,0 ms de largura, a cada 20 ms.
Para passar para 90 graus: Emita pulsos contínuos de 1,5 ms de largura, a cada 20 ms.
Para passar para 180 graus: Emita pulsos contínuos de 2,0 ms de largura, a cada 20 ms.
Etapa 4: verificar o movimento
Depois de enviar a nova largura de pulso, o servo girará para a nova posição dentro do tempo de trânsito especificado (normalmente 0,1 a 0,3 segundos para 60 graus). O circuito de controle manterá então essa posição.
Exemplo de aplicativos comuns:Em um modelo de avião controlado remotamente, o receptor decodifica a posição do joystick do transmissor em um sinal PWM. Quando você move o joystick do centro para a esquerda, o receptor altera o pulso de 1,5 ms para 1,0 ms. O circuito de controle do servo detecta essa mudança, aciona o motor para mover a superfície de controle (por exemplo, o aileron) para o novo ângulo e a mantém lá até que o joystick se mova novamente.
Problema: O servo treme ou oscila.
Causa:Fonte de alimentação com ruído ou sinal PWM instável (jitter de temporização).
Solução:Adicione um capacitor grande (1000 µF ou mais) nas linhas de alimentação do servo próximo ao servo. Certifique-se de que o microcontrolador use uma fonte de clock estável.
Problema: O servo não gira 180 graus completos.
Causa:As larguras de pulso mínima e máxima aplicadas não correspondem à calibração interna do servo.
Solução:Execute o procedimento de descoberta de limite de pulso na Etapa 1. Ajuste as constantes de pulso mínima e máxima do seu código de acordo.
Problema: O servo superaquece ou consome alta corrente enquanto está parado.
Causa:O servo está constantemente lutando contra uma carga externa ou seu potenciômetro interno está desalinhado.
Solução:Reduza a carga mecânica. Se o servo vibrar no final do percurso, reduza ligeiramente a largura do pulso comandado (por exemplo, use 1,05 ms em vez de 1,0 ms para 0 graus).
Problema: O servo se move para uma posição, mas retorna lentamente quando a carga é aplicada.
Causa:Torque insuficiente para a aplicação ou a tensão da fonte de alimentação está caindo sob carga.
Solução:Use um servo com classificação de torque mais alta. Use uma fonte de alimentação que possa fornecer pelo menos 2x a corrente de bloqueio do servo.
Princípios Fundamentais Repetidos para Ênfase:
Um servo é umsistema de controle de posição em circuito fechado, não apenas um motor.
O sinal de controle éPWM de 50Hzcom um período fixo de 20 ms.
Olargura de pulso(1,0 ms a 2,0 ms típico) mapeia diretamente para a posição angular (0° a 180°).
O circuito de controle compara continuamente as posições comandadas e reais, aplicando o torque do motor para eliminar qualquer erro.
Recomendações práticas para servocontrole confiável:
1. Sempre verifique a faixa de pulso do seu servo antes da operação.Use um pulso neutro de 1,5 ms como ponto de partida seguro. Nunca assuma um intervalo de 1,0 ms a 2,0 ms sem testar.
2. Use uma fonte de alimentação dedicada para servos de alto torque.Não alimente um servo a partir do pino de 5V de um microcontrolador. Um servo travado pode consumir de 1 a 3 amperes, o que irá reiniciar a maioria dos microcontroladores.
3. Adicione um capacitor eletrolítico de 100-1000 µF aos cabos de alimentação e aterramento do servo.Isto estabiliza a tensão e elimina a maioria dos problemas de instabilidade.
4. Envie comandos PWM continuamente.O servo requer um novo pulso a cada 20 ms para manter sua posição. Se o sinal parar, a maioria dos servos liberará torque e se movimentará livremente.
5. Para aplicações precisas (por exemplo, gimbals de câmera, dedos robóticos), calibre cada servo individualmente.Meça as larguras exatas de pulso para 0°, 90° e 180° usando um potenciômetro ou sensor de ângulo. Armazene esses valores calibrados em seu código de controle.
Ao aplicar esses princípios e métodos, você obterá posicionamento servo preciso, repetível e confiável para qualquer projeto, desde braços robóticos até animatrônicos e máquinas CNC.
Hora de atualização: 03/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.