Como usar o motorista do motor L298N com Arduino

How to Use the L298N Motor Driver with Arduino

O motorista do motor L298N é um módulo popular para controlar motores CC e motores de passo. Ele permite controlar a velocidade e a direção do motor usando sinais de PWM da Arduino, tornando -o ideal para projetos de robótica e automação. Este tutorial o guiará através da conexão e do uso do L298N com o Arduino.


O que você precisará

  1. Módulo de motorista do motor L298n
  2. Board Arduino (por exemplo, Uno, Mega, Nano)
  3. Motores DC ou motores de passo
  4. Fonte de energia externa (por exemplo, bateria de 9V ou 12V)
  5. Fios de pão e jumper
  6. Um computador com o Arduino IDE instalado

Etapa 1: Compreendendo o motorista do motor L298N

O módulo L298N é um motorista de motor de ponte H dupla, o que significa que pode controlar a velocidade e a direção de dois motores CC de forma independente ou um motor de passo.

L298N PILOUT

Alfinete Função
In1, IN2 Motor uma direção de controle de direção
In3, in4 Entradas de controle de direção do motor B
Ena Motor um controle de velocidade (entrada PWM)
Enb Motor B Speed ​​Control (entrada PWM)
Out1, out2 Motor A Saídas
Out3, out4 Saídas do motor B.
12V (VCC) Fonte de energia externa para motores
5V (opcional) Fonte de alimentação lógica (se o jumper for removido)
Gnd Chão

Notas:

  • O módulo inclui um regulador de 5V a bordo que alimenta o circuito lógico se o saltador estiver no local e o VCC for 7-12V.
  • A remoção do saltador exige que você forneça uma fonte de lógica de 5V separadamente.

Etapa 2: Fiação do L298n para Arduino

Veja como conectar o L298n a um Arduino UNO e dois motores DC:

Pino l298n Pino Arduino
Ena Pino 10 (PWM)
In1 Pino 8
In2 Pino 9
Enb Pino 11 (PWM)
In3 Pino 6
In4 Pino 7
Gnd Arduino GND
12V (VCC) Poder externo (9V/12V)
Out1, out2 Motor a terminais
Out3, out4 MOTOR B TERMINAIS

Etapa 3: Carregue o código

Aqui está um exemplo de esboço para controlar dois motores DC:

Código de exemplo

// Motor A connections
#define ENA 10
#define IN1 8
#define IN2 9

// Motor B connections
#define ENB 11
#define IN3 6
#define IN4 7

void setup() {
  // Set all pins as outputs
  pinMode(ENA, OUTPUT);
  pinMode(IN1, OUTPUT);
  pinMode(IN2, OUTPUT);
  pinMode(ENB, OUTPUT);
  pinMode(IN3, OUTPUT);
  pinMode(IN4, OUTPUT);
}

void loop() {
  // Move Motor A forward
  digitalWrite(IN1, HIGH);
  digitalWrite(IN2, LOW);
  analogWrite(ENA, 150); // Set speed (0-255)

  // Move Motor B backward
  digitalWrite(IN3, LOW);
  digitalWrite(IN4, HIGH);
  analogWrite(ENB, 150); // Set speed (0-255)

  delay(2000); // Run for 2 seconds

  // Stop both motors
  digitalWrite(ENA, LOW);
  digitalWrite(ENB, LOW);

  delay(1000); // Pause for 1 second

  // Move both motors in reverse
  digitalWrite(IN1, LOW);
  digitalWrite(IN2, HIGH);
  digitalWrite(IN3, HIGH);
  digitalWrite(IN4, LOW);
  analogWrite(ENA, 200);
  analogWrite(ENB, 200);

  delay(2000); // Run for 2 seconds

  // Stop both motors
  digitalWrite(ENA, LOW);
  digitalWrite(ENB, LOW);
  delay(1000); // Pause for 1 second
}

Etapa 4: teste a configuração

  1. Conecte o Arduino ao seu computador via USB.
  2. Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
  3. Faça o upload do código para o Arduino clicando Carregar.
  4. Observe os motores girando para a frente, parando e revertendo com base na sequência programada.

Opcional: controlando a velocidade dinamicamente

Você pode ajustar a velocidade do motor dinamicamente alterando os valores de PWM enviados para o ENA e ENB pinos usando analogwrite (). Por exemplo:

analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed

Aplicações do L298N

  1. Construindo robôs motorizados
  2. Controlando cintos transportadores
  3. Dirigindo motores de passo
  4. Automatando sistemas com motores DC

Solução de problemas

  • Motores não girando: Verifique se a fonte de alimentação externa está conectada e fornece corrente suficiente.
  • Direção do motor incorreta: Verifique a fiação dos pinos e as conexões reversas, se necessário.
  • Comportamento motor instável: Use uma fonte de alimentação estável e evite conexões soltas.

Conclusão

Você interfigurou com sucesso o motorista do motor L298N com Arduino para controlar os motores CC. Este módulo versátil permite gerenciar a velocidade e a direção do motor com facilidade. Experimente mais, integrando sensores, controles remotos ou outros módulos em seus projetos motorizados!

Deixe um comentário

Notice an Issue? Have a Suggestion?
If you encounter a problem or have an idea for a new feature, let us know! Report a problem or request a feature here.