Publicado 2026-04-12
Se você conectou um MG90Sservomotor ao seu computador de placa única e ele se recusa a girar, você está enfrentando um problema muito comum entre amadores e engenheiros. O motor pode se contorcer, zumbir ou ficar completamente parado, apesar da fiação e do código corretos. Este artigo fornece um guia de diagnóstico passo a passo baseado em casos reais, com foco nas três causas mais frequentes: fonte de alimentação insuficiente, configuração incorreta do sinal PWM e erros de fiação. Seguindo as verificações estruturadas abaixo, você poderá identificar e corrigir o problema em minutos.
O MG90Sservorequer uma fonte estável de 5 Vcc com corrente adequada. Durante a rotação, especialmente sob carga, ele pode consumir até 500-800 mA momentaneamente. A maioria dos pinos de 5 V de computadores de placa única são limitados a uma corrente total de 1 a 1,5 A compartilhada por todos os componentes. Quando oservotenta se mover, a tensão cai abaixo de 4,2 V, fazendo com que o circuito de controle integrado seja reiniciado - resultando em nenhuma rotação ou apenas em um tremor fraco.
Caso do mundo real:Um usuário alimentou o MG90S diretamente do pino de 5 V de sua placa enquanto também operava um LCD e três sensores. O servo não girava. Depois de medir a tensão no pino de alimentação do servo, eles encontraram apenas 3,8V durante a operação. Mover o servo para uma fonte de alimentação externa de 5V/2A (com aterramento comum à placa) restaurou a rotação completa.
Correção acionável:
Use uma fonte de alimentação dedicada de 5 V (por exemplo, um carregador USB de 5 V/2 A ou uma bateria com regulador de 5 V).
Conecte o fio vermelho do servo ao +5V externo, o fio marrom/preto ao aterramento externo e o fio de sinal laranja/amarelo ao pino GPIO da placa.
Crítico:Conecte o terra da fonte externa ao terra do seu computador de placa única. Sem um terreno comum, o sinal PWM não tem referência e o servo não se moverá.
O MG90S espera um sinal PWM padrão de 50 Hz (período = 20 ms) com uma largura de pulso entre 500 µs (posição 0°) e 2500 µs (posição 180°). Muitas bibliotecas de software usam como padrão uma frequência de 50 Hz, mas um erro comum é usar a faixa de ciclo de trabalho ou número de pino errado.
Caso do mundo real:Um usuário escreveu um script que gerou um sinal de 50 Hz, mas acidentalmente definiu o ciclo de trabalho para valores de 2,5% a 12,5% (o que corresponde corretamente a 500 µs a 2.500 µs). No entanto, eles usaram um pino PWM de hardware que já estava ocupado por outra função. O servo não respondeu. Mudar para um pino GPIO livre e inicializar o canal PWM resolveu o problema corretamente.
Verificação passo a passo:
1. Confirme a frequência:Use um osciloscópio ou analisador lógico para verificar se o sinal é de 50 Hz (±1 Hz).
2. Meça a largura do pulso:No ciclo de trabalho mínimo, o pulso deve ser de 0,5 ms; no máximo, 2,5 ms.
3. Teste um script funcional conhecido:Execute uma varredura simples que mova o servo de 0° a 180° durante 10 segundos. Se o servo ainda não girar, o problema provavelmente está na alimentação ou na fiação.
4. Tempo de software:Se você estiver usando PWM de software (bit-banging) em vez de PWM de hardware, a carga da CPU poderá causar tempo de pulso irregular. Use canais PWM de hardware sempre que possível.
Snippet de código típico (pseudocódigo para qualquer plataforma):
Defina a frequência PWM = 50 Hz.
Defina o ciclo de trabalho para 0°: largura de pulso 500 µs → (500 µs / 20 ms) 100% = 2.5%.
Defina o ciclo de trabalho para 180°: largura de pulso 2.500 µs → (2.500 µs / 20 ms) 100% = 12,5%.
Envie um comando de posição e espere pelo menos 15 ms para que o servo atinja esse ângulo.
Mesmo com alimentação e sinal corretos, um fio solto ou trocado impedirá a rotação. O MG90S usa um conector padrão de 3 pinos: marrom (terra), vermelho (alimentação), laranja (sinal). No entanto, diferentes fornecedores podem usar ordens de cores diferentes. Sempre verifique a pinagem em relação à folha de dados do servo.
Erros comuns de fiação:
Sinal e terra trocados:O servo pode não responder ou agir de forma irregular.
Contato insuficiente na placa de ensaio:Fios de jumper finos ou furos desgastados na placa de ensaio causam conexão intermitente. Solde os fios ou use conectores Dupont firmes.
Fios de sinal longos:Se o fio de sinal exceder 50 cm (20 polegadas) sem blindagem, o ruído poderá corromper os pulsos PWM. Mantenha os fios curtos ou use um cabo blindado.
![]()
Teste rápido:Desconecte o fio de sinal e forneça manualmente um pulso de 5V tocando brevemente o pino de sinal na fonte de 5V (com um resistor de 1kΩ em série para limitar a corrente). O servo deve saltar para uma posição aleatória. Se ele não se mover mesmo com este teste manual, o próprio servo pode estar com defeito.
Às vezes, o servo está eletricamente bom, mas não pode girar devido a obstrução física ou dano interno. Sobrecarregar o MG90S além do seu torque de travamento (aproximadamente 2,0 kg·cm a 5V) pode danificar as engrenagens plásticas internas. Além disso, se a buzina do servo estiver muito apertada ou atingir um obstáculo, o motor irá parar.
Diagnóstico:
Remova a buzina do servo (braço) e execute o código de varredura novamente. Se o eixo de saída girar livremente, o problema é um emperramento mecânico.
Ouça com atenção: um zumbido sem movimento geralmente indica uma engrenagem desgastada ou um motor parado devido a torque insuficiente.
Tente girar o eixo manualmente (com a energia desligada). Deve ser suave com leve resistência do trem de engrenagens. Se ranger ou clicar, as engrenagens estão danificadas.
Muitas bibliotecas requerem uma sequência de inicialização adequada. Se você começar a enviar comandos de posição antes que o sinal PWM se estabilize, o servo poderá ignorar todos os comandos. Além disso, alguns computadores de placa única possuem um estado de pino padrão (por exemplo, pull-up ou pull-down) que interfere no sinal.
Sequência de inicialização recomendada:
1. Defina o pino GPIO como saída.
2. Inicie o sinal PWM em 50 Hz com um ciclo de trabalho neutro (largura de pulso de 1,5 ms, correspondente a 90°).
3. Aguarde pelo menos 300 ms para que o regulador de tensão interno do servo se estabilize.
4. Em seguida, envie comandos de posição específicos.
Caso do mundo real:Um usuário escreveu um loop que definiu o ângulo e leu imediatamente um sensor. O servo nunca girou porque o comando foi enviado, mas o programa passou para a próxima linha antes que o servo tivesse tempo de responder. Inserir um atraso de 20 ms após cada comando de posição resolveu o problema.
O servo MG90S não irá girar por três razões principais, em ordem de probabilidade:
1. Potência insuficiente– a tensão cai abaixo de 4,5 V sob carga. Sempre use uma fonte externa de 5V/2A com aterramento comum.
2. Sinal PWM errado– verifique a frequência de 50 Hz e larguras de pulso entre 500‑2500 µs.
3. Fiação ou falha mecânica– verifique as conexões, remova a buzina para teste e certifique-se de que não há obstrução física.
Para fazer seu MG90S girar imediatamente:
1. Isolar energia:Desconecte todos os outros periféricos e alimente o servo a partir de uma fonte dedicada de 5V/2A. Amarre os motivos.
2. Execute um script de teste mínimoque envia apenas um comando de 90°, depois 0°, depois 180°, com atraso de 1 segundo.
3. Meça o sinalcom um analisador lógico barato ou mesmo um simples LED em série com um resistor de 220Ω – um LED piscando indica atividade PWM.
4. Substitua o servose nenhuma das opções acima funcionar (um novo MG90S custa apenas alguns dólares).
Seguindo esta abordagem estruturada, você resolverá a falha “sem rotação” em mais de 95% dos casos. Lembre-se: primeiro a alimentação, depois o sinal e em terceiro a fiação. Mantenha esta lista de verificação à mão para qualquer tarefa de solução de problemas de servo.
Hora de atualização: 12/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.