Combate real do servo Arduino SG-90: código de fiação e guia para evitar poços_Servo_Industry Insights_Kpower
Lar > Informações do setor >Servo
SUPORTE TÉCNICO

Suporte ao produto

Combate real do servo Arduino SG-90: código de fiação e guia para evitar poços

Publicado 2026-05-11

Vamos falar sobre um fato no início: ao brincar com o carro do Arduino, ou brincar com o braço robótico do Arduino, ou brincar com o pequeno controle de acesso do Arduino, nove em cada dez vezes, você encontrará o micro servo 9g azul, ou o micro servo 9g transparente, que é o SG-90. Apesar de seu tamanho pequeno, ele gira o ângulo, controla a chave e balança a cabeça, tudo dependendo do sinal de largura de pulso. Mas muitas pessoas encontram dificuldades no primeiro passo: Como conectar as linhas? Por que o código treme depois de escrito? Hoje vou resolver isso em detalhes e selecionar o essencial da experiência avassaladora.

01Não ligue a energia primeiro, reconheça as três linhas

Fio marrom: GND (terra)

Fio vermelho: VCC (fonte de alimentação 5V)

Linha laranja: pino de sinal PWM (D9/D10 é opcional)

A seguir está uma situação de capotamento comum: empurre a linha vermelha para 3,3 V, mas o servo não gira; insira-o no terminal positivo da bateria, fazendo com que a unidade interna queime.

Sua zona segura é de 5 V, o que é suficiente para acionar um contando com fonte de alimentação USB. Se você estiver dirigindo mais de dois, uma bateria externa será mais estável.

02Na verdade, existem duas seções de código

Use a biblioteca Servo, não escreva você mesmo o ciclo de trabalho PWM.

#incluirServo meuServo; void setup() { meuServo.attach(9); // A linha de sinal está conectada ao pino 9 } void loop() { myServo.write(0); // atraso de 0 graus(1000); meuServo.write(90); // atraso de 90 graus(1000); meuServo.write(180); // atraso de 180 graus(1000); }

Esta seção irá girar para frente e para trás. Não pergunte por que pertence à situação de 0, 90 e 180, então seu limite físico está aqui.

03A lógica subjacente que realmente torna o SG-90 obediente

Dentro dele há um potenciômetro e uma engrenagem de redução. Quando você fornece uma largura de pulso de 1 ms, ele gira 0 graus, quando você fornece uma largura de pulso de 1,5 ms, ele gira 90 graus, e quando você fornece uma largura de pulso de 2 ms, ele gira 180 graus.

arduino Micro Servos SG-90_arduino Micro Servos SG-90_arduino Micro Servos SG-90

A biblioteca Servo converte automaticamente o ângulo de gravação na largura de pulso correspondente.

No entanto, deve-se notar que o SG-90 produzido por diferentes fabricantes pode estar alguns graus errado, portanto o processo de calibração não pode ser omitido.

Primeiro escreva (90) para ver se a peça do braço está vertical

Caso contrário, dobre-o manualmente para a posição vertical e reinstale o braço.

04Cenas de falhas comuns que você deve ter encontrado antes

Seção de perguntas/respostas

P: O servo vibra muito quando conectado, como resolver isso?

R: A fonte de alimentação está instável. A operação da fonte de alimentação de 5V é realizada exclusivamente na linha vermelha. O pino 5V do Arduino é usado apenas como referência de sinal.

P: O que devo fazer se write(180) só puder ir até 120 graus?

R: Primeiro execute a operação de gravação (180), depois desligue a energia, depois dobre manualmente o braço até o ângulo máximo e, em seguida, ligue a energia novamente.

P: É normal que o servo aqueça depois de girar continuamente por vários minutos?

R: Anormal. O SG-90 é um servo de posição e não deve ser usado como motor de rotação contínua.

P: O cabo de sinal está conectado corretamente e o código está correto, mas ele simplesmente não se move?

arduino Micro Servos SG-90_arduino Micro Servos SG-90_arduino Micro Servos SG-90

R: Verifique o terreno comum. Arduino GND e servo GND devem estar conectados.

P: Posso fornecer diretamente o sinal PWM em vez da biblioteca Servo?

R: Sim, mas não é necessário. A biblioteca encapsula o ciclo de 20 ms e é fácil gravar o servo se você mesmo o escrever.

05Uma prática de salto de "ativo" para "preciso"

Não pense em fazer um robô de seis pernas de uma só vez. Primeiro faça um pequeno dispositivo:

barreira feita de papelão

Acione o botão, pressione uma vez para levantar a alavanca e, em seguida, pressione a alavanca inferior

O ponto chave do código é registrar o estado atual toda vez que write(0) ou write(90) for chamado.

Você pode detectar uma situação. Quando muda de 0 para 90 rapidamente, o servo parecerá “disparar para frente”. Adicionar atraso? Não é assim, mas adicione flexibilização.

void slowMove(int from, int to, int stepDelay) { if (from = to; i--) { myServo.write(i); atraso(passoDelay); } }

Desta forma, ele se move lentamente como um braço real e as engrenagens não são propensas a entrar em colapso.

06Uma advertência: o torque do SG-90 é de apenas 1,6kg·cm

Qual é o significado? É bom levantar uma bateria AA, mas quer empurrar um livro? Deve estar preso.

No processo de confecção de um braço robótico, a parte grande do braço deve utilizar um servo dente de metal, como o MG995. No entanto, o SG-90 só é adequado para fazer pulsos ou garras.

Raciocínio analógico: SG-90 é como uma corrente de bicicleta. Se você usá-lo para puxar um carro, ele certamente quebrará.

07Por fim, darei a você um mapa mental (versão em texto)

Árvore de decisão de depuração do SG-90 ├─ Sem resposta quando conectado │ ├─ Verifique: GND está no mesmo terreno? │ └─ Verifique: fonte de alimentação de 5V é suficiente para 1A? ├─ Jitter após mover para a posição alvo │ ├─ Adicionar capacitor: eletrólise de 100uF entre o fio vermelho e GND │ └─ atraso (15) após escrever no código ├─ O ângulo está desligado │ ├─ Calibração suave: myServo.write (ângulo real + deslocamento) │ └─ Calibração rígida: remover o braço e reinstale-o └─ Não siga o código de jeito nenhum └─ Mude para um digital e verifique se alguma outra biblioteca ocupa o Timer1

08Sugestões de ação: Aja agora

1. Obtenha uma placa de ensaio, um SG-90 e três fios DuPont.

2. Grave o código para reverter o primeiro parágrafo acima.

3. Confirme as posições de 0 graus, 90 graus e 180 graus.

4. Modifique o código para que ele pare em 45 graus e permaneça por 10 segundos.

5. Se for bem-sucedido, você dominou 80% dos cenários de aplicação de pequenos servos.

Quais são os 20% restantes? Serve para conectar vários servos em série, ler o potenciômetro para obter um circuito fechado e definir o grupo de ação. Mas não vou falar sobre isso hoje, porque primeiro você precisa fazer este funcionar.

Lembre-se: todos os projetos complexos de robôs começam com um SG-90 que pode girar 30 graus de forma compatível. Experimente, não espere para ver.

Hora de atualização: 11/05/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