Lar > Informações do setor >Motor de engrenagem
SUPORTE TÉCNICO

Suporte ao produto

Princípio de funcionamento do servo motor e métodos de controle

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.

01Princípio Básico de Funcionamento: Controle de Posição em Malha Fechada

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.

02O sinal de controle: modulação por largura de pulso (PWM)

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.

03Método de controle passo a passo

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.

04Problemas e soluções comuns

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.

05Resumo dos Princípios Fundamentais e Recomendações Acionáveis

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

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