El controlador de motor L298N es un módulo popular para controlar motores DC y motores paso a paso. Le permite controlar la velocidad y la dirección del motor utilizando señales PWM de Arduino, lo que lo hace ideal para proyectos de robótica y automatización. Este tutorial lo guiará a través de la conexión y el uso del L298N con Arduino.
Lo que necesitarás
- Módulo de controlador de motor L298N
- Arduino Board (por ejemplo, Uno, Mega, Nano)
- Motores de DC o motores paso a paso
- Fuente de energía externa (por ejemplo, batería de 9V o 12V)
- Cables de placa y jersey
- Una computadora con el Arduino IDE instalado
Paso 1: Comprender el controlador de motor L298N
El módulo L298N es un controlador de motor H-Bridge dual, lo que significa que puede controlar la velocidad y la dirección de dos motores de CC de forma independiente o un motor paso a paso.
L298n pinout
Alfiler | Función |
---|---|
In1, in2 | Entradas de control de dirección de motor A |
In3, in4 | Entradas de control de dirección del motor B |
Ena | Motor A Control de velocidad (entrada PWM) |
Enchufe | Control de velocidad del motor B (entrada PWM) |
Out1, out2 | Motor A salidas |
Out3, out4 | Salidas del motor B |
12V (VCC) | Fuente de energía externa para motores |
5V (opcional) | Fuente de alimentación lógica (si se elimina el puente) |
Gnd | Suelo |
Notas:
- El módulo incluye un regulador de 5V a bordo que alimenta el circuito lógico si el puente está en su lugar y VCC es de 7-12V.
- La eliminación del jersey requiere que proporcione un suministro lógico de 5V por separado.
Paso 2: Cableado el L298N a Arduino
Aquí le mostramos cómo conectar el L298N a un Arduino Uno y dos motores DC:
Pin L298N | Alfiler de arduino |
---|---|
Ena | Pin 10 (PWM) |
En 1 | Pin 8 |
In2 | Pin 9 |
Enchufe | Pin 11 (PWM) |
En 3 | Pin 6 |
In4 | Pin 7 |
Gnd | Arduino Gnd |
12V (VCC) | Potencia externa (9V/12V) |
Out1, out2 | Motor A terminales |
Out3, out4 | Terminales del motor B |
Paso 3: cargar el código
Aquí hay un boceto de ejemplo para controlar dos motores DC:
Código de ejemplo
// 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
}
Paso 4: prueba la configuración
- Conecte el Arduino a su computadora a través de USB.
- Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
- Sube el código al Arduino haciendo clic en Subir.
- Observe los motores que giran hacia adelante, se detienen y se invierten en función de la secuencia programada.
Opcional: Control de velocidad dinámicamente
Puede ajustar la velocidad del motor dinámicamente cambiando los valores PWM enviados al ENA
y ENB
pines usando analogwrite (). Por ejemplo:
analogWrite(ENA, 100); // Slow speed
analogWrite(ENA, 255); // Full speed
Aplicaciones del L298N
- Construyendo robots motorizados
- Control de cintas transportadoras
- Conducir motores paso a paso
- Automatizar sistemas con motores de DC
Solución de problemas
- Los motores no giran: Asegúrese de que la fuente de alimentación externa esté conectada y proporcione suficiente corriente.
- Dirección del motor incorrecto: Verifique el cableado de los pasadores y las conexiones inversas si es necesario.
- Comportamiento motor inestable: Use una fuente de alimentación estable y evite conexiones sueltas.
Conclusión
Has interactuado con éxito el controlador de motor L298N con Arduino para controlar los motores DC. Este módulo versátil le permite administrar la velocidad y la dirección del motor con facilidad. ¡Experimente aún más integrando sensores, controles remotos u otros módulos en sus proyectos motorizados!