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á
- Módulo de motorista do motor L298n
- Board Arduino (por exemplo, Uno, Mega, Nano)
- Motores DC ou motores de passo
- Fonte de energia externa (por exemplo, bateria de 9V ou 12V)
- Fios de pão e jumper
- 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
- Conecte o Arduino ao seu computador via USB.
- Abra o Arduino IDE e selecione o correto Quadro e Porta sob o Ferramentas menu.
- Faça o upload do código para o Arduino clicando Carregar.
- 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
- Construindo robôs motorizados
- Controlando cintos transportadores
- Dirigindo motores de passo
- 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!