Cómo usar el controlador de motor L298N con Arduino

How to Use the L298N Motor Driver with Arduino

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

  1. Módulo de controlador de motor L298N
  2. Arduino Board (por ejemplo, Uno, Mega, Nano)
  3. Motores de DC o motores paso a paso
  4. Fuente de energía externa (por ejemplo, batería de 9V o 12V)
  5. Cables de placa y jersey
  6. 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

  1. Conecte el Arduino a su computadora a través de USB.
  2. Abra el IDE Arduino y seleccione el correcto Junta y Puerto bajo el Herramientas menú.
  3. Sube el código al Arduino haciendo clic en Subir.
  4. 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

  1. Construyendo robots motorizados
  2. Control de cintas transportadoras
  3. Conducir motores paso a paso
  4. 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!

Escribir un comentario

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.