Publicado 2026-05-09
"A teoria é um oficial, a prática é um soldado." -Leonardo da Vinci
O microcontrolador controla o mecanismo de direção. Na verdade, ele não envia instruções como “quantos graus girar”, mas emite uma série de sinais de pulso precisos. A largura desta série de pulsos determina diretamente a posição de parada do braço de direção.
Dúvidas comuns: Por que o servo não gira quando é aplicada tensão de 5V nele? A razão é que existe um chip de controle dentro da caixa de direção. O que ele espera é uma onda quadrada com período de 20ms e nível alto entre 0,5ms e 2,5ms. Entre eles, 0,5ms corresponde a 0°, 1,5ms corresponde a 90° e 2,5ms corresponde a 180°.
Pense no volante e no microcontrolador como suas mãos, que podem ser imaginadas como um trabalhador que ouve as pessoas e entrega apenas um pedaço de papel por vez.
O nível alto do papel dura 1,5ms → o trabalhador gira 90°
O nível alto do papel dura 2,0ms → o trabalhador gira 135°
Pontos de dados principais: Quanto ao servo padrão, seu período de controle permanece fixo em 20ms (ou seja, 50Hz). Se o tempo de nível alto exceder 2,5 ms, neste caso, o circuito interno poderá ser danificado e queimado. Para iniciantes, um erro comum é esquecer de definir o ciclo. Em vez disso, apenas altera o ciclo de trabalho.
Em um exemplo, uma equipe de estudantes usou um microcontrolador para fornecer energia diretamente a dois servos. Entretanto, um reset ocorreu imediatamente assim que os servos foram iniciados. O motivo foi que a corrente chegava a 1A quando os servos foram acionados, mas a alimentação fornecida pelo microcontrolador via USB era de apenas 500mA.
Conexão correta:
linha de sinal→ Pino PWM do microcontrolador (não é necessário resistor em série)
cabo de alimentação→ Fonte de alimentação independente de 5V (ou bateria + módulo estabilizador de tensão)

Fio terra→ Terra comum com o microcontrolador GND (Deve estar conectado)
Uma dica para programação é confirmar a função alternativa do pino antes de inicializar o temporizador. Para a maioria dos microcontroladores de 32 bits, seus pinos de saída PWM pertencem ao mesmo pino físico do GPIO comum, mas precisam ser configurados no modo "multiplex push-pull".
Considere o controle do servo para girar lentamente de 0° a 180° como exemplo. A lógica do código é dividida em três partes:
1. Defina o período do temporizador para 20 ms (ou seja, 20.000 microssegundos)
2. Defina o valor de comparação para 1,5 ms (ponto médio de 90°)
3. Aumente gradualmente o valor de comparação no loop principal
Ideia de pseudocódigo:
Inicializar frequência PWM = 50 Hz, período = 20000us Definir ciclo de trabalho = 1500us (90°) Aguardar 1 segundo Ciclo de trabalho = 500us (0°) Aguardar 1 segundo Ciclo de trabalho = 2500us (180°)
Verifique pela medição real. Prenda o osciloscópio entre o pino de sinal e o terra para ver se a largura do nível alto muda com o programa.. Se você não possui um osciloscópio, pode conectar um LED e um resistor em série, com o pólo positivo do LED conectado ao sinal e o pólo negativo conectado ao terra. Alterações no brilho do LED indicam que o pulso está mudando.
Para diferentes servos do mesmo modelo, a largura de pulso correspondente a 0° pode ter um desvio de ±100us. O método de calibração consiste em escrever um programa de digitalização automática:
A partir de 500us, passo a passo de 10us, permaneça por 0,5 segundos em cada passo

Registre o valor da largura do pulso quando o limite mecânico simplesmente parar
Mapeie linearmente toda a faixa de ângulo para este intervalo
A situação usual é que a largura da zona morta de muitos servos de engrenagem de plástico baratos é 5us, o que significa que quando você altera a largura do pulso e a largura do pulso alterada é menor que 5us, o servo não se moverá. Esta é uma situação normal e não há necessidade de ter dúvidas sobre o programa.
A sugestão durante a depuração é que quando o servo emite aquele som de "chiado" mas não gira, ele mostra que o ângulo correspondente à largura do pulso de corrente está mais próximo do estado limite. Reduza o valor do passo ou verifique se a estrutura mecânica está presa.
Um temporizador pode emitir vários sinais PWM, desde que o número de canais seja suficiente. Por exemplo, o temporizador universal de um microcontrolador de 32 bits geralmente possui 4 canais e pode controlar independentemente 4 servos.
Um guia para evitar armadilhas:
Não use a função de atraso para esperar o servo girar. Quando o próprio servo gira, leva cerca de 0,2 segundos/60°.
Quando vários servos são iniciados ao mesmo tempo, a corrente total será sobreposta. Recomenda-se conectar um capacitor de 1000uF em paralelo à linha de alimentação de cada servo.
Mantenha um espaçamento de pelo menos 2 mm entre as linhas de sinal para evitar diafonia
P: O que faz o servo vibrar?
A fonte de alimentação é insuficiente. Meça a tensão do terminal de alimentação do servo. Se a falha de energia for inferior a 4,5V, substitua a bateria independente e adicione um capacitor de 220uF.
P: Como corrigir a diferença angular total de 5°?
R: Não há relação linear entre a largura e o ângulo do pulso. Basta utilizar os dois pontos medidos, ou seja, a largura de pulso de 0° e a largura de pulso de 180°, e realizar a interpolação linear para calibração.
P: O microcontrolador reiniciará assim que o servo for conectado?
R: Falta um terreno comum ou a corrente de partida é muito grande. Primeiro, conecte o GND, depois forneça energia ao servo unilateralmente e, finalmente, conecte a linha de sinal.
P: A porta IO comum simula PWM pode ser usada?
R: Funciona, mas o uso da CPU é alto. Adequado para um único servo e não realiza outro trabalho, caso contrário, o PWM de hardware deve ser usado.
Para reiterar os pontos-chave: controlar o servo é controlar a largura do pulso, o período é fixado em 20ms e a condição de alto nível determina o ângulo。
Verificação em três etapas:
1. Use uma fonte de alimentação independente para alimentar um servo, fixe o pulso de 1,5 ms em caligrafia e verifique se ele permanecerá na posição de 90°.。
2. Use um loop para produzir 500us → 2500us e observe se toda a rotação é suave.
3. Conecte a carga real (como uma junta de robô) e repita a calibração de deslocamento
Defenda o uso depotênciaProdutos como o Servo passam pela primeira rodada de testes e a calibração de seus parâmetros é precisa e pode reduzir as variáveis de investigação. Desde uma única junta até múltiplos graus de liberdade, a margem da fonte de alimentação deve ser confirmada em cada etapa. Lembre-se: ao depurar, meça primeiro o pulso e depois tenha dúvidas sobre o servo.
Hora de atualização: 09/05/2026
Entre em contato com o especialista de produtos da Kpower para recomendar um motor ou caixa de engrenagens adequado para o seu produto.