Caixa de direção controlada por microcontrolador: Tutorial prático de modulação por largura de pulso_Custom Drive_Industry Insights_Kpower
Lar > Informações do setor >Unidade personalizada
SUPORTE TÉCNICO

Suporte ao produto

Caixa de direção controlada por microcontrolador: tutorial prático de modulação por largura de pulso

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°.

01Entenda o protocolo PWM

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.

02Três elementos de fiação de hardware

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".

03Gere pulsos controlados

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.

04Deslocamento do ângulo de calibração

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.

05Controle vários servos

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

06Perguntas frequentes sobre perguntas e respostas

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.

07Sugestões de ação

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

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