Cómo usar L298n para controlar el motor de corriente continua con Arduino

Hola todos,

Bienvenido a este tutorial, revise primero el video que contiene un poco de explicación, estamos aquí usando un controlador de puente H dual L298n para controlar un motor de CC usando Arduino, puede consultar más en Internet si necesita más información, pero aquí debemos hacer que las cosas funcionen para que pueda adaptarlas fácilmente a sus proyectos, espero que les guste.

Paso 1: control simple y dirección cambiante

En este paso, puede conectar el controlador como en la imagen o cambiarlo para adaptarlo a su proyecto, no olvide conectar el GND del controlador con el GND de Arduino, para la alimentación aquí utilicé una batería de 9v, usted puede alimentarlo desde una fuente de alimentación o batería, también el pin + 5v del controlador puede alimentar su Arduino si lo coloca en Vin desde la placa Arduino,

Aquí solo utilicé un motor, este módulo puede ejecutar 2 motores de CC o 1 motor paso a paso.

Prueba 1: Primero intentamos encender el motor en una dirección y luego apagarlo, para que lo conecte como en la imagen y aquí está el código.

 // Este código es para usar con el controlador de motor L298n Dual H-bridge 
// Simplemente enciende un motor de CC durante cierto tiempo y lo apaga // consulte surtrtech.blogspot.com para obtener más información int in1 = 9; // Declarando los pines donde se conectan in1 in2 del controlador
 int in2 = 8; // aquí están conectados con D9 y D8 de Arduino 
 configuración nula () {pinMode (in1, OUTPUT); // Declarando los modos de pin, obviamente son salidas pinMode (in2, OUTPUT); 
 } 
 // Antes de comenzar el bucle, debe crear funciones de tipo "vacío" para controlar los pines del controlador // Aquí creé dos funciones, la primera gira un motor en una dirección (puede cambiarlo cambiando BAJO y ALTO // y el segundo para detener el motor 
 vacío TurnMotorA () {digitalWrite (in1, HIGH); digitalWrite (in2, LOW); } 
 nulo TurnOFFA () {digitalWrite (in1, LOW); digitalWrite (in2, LOW); } 
 bucle vacío () {TurnMotorA (); // en el bucle utilizamos la función para girar el motor durante 3 segundos y detenerlo durante 2 segundos de retraso (3000); TurnOFFA (); retraso (2000); } 

Prueba 2: Encendido / apagado, cambio de dirección y luego encendido / apagado (mantiene el mismo cableado que el anterior)

 // Este código es para usar con el controlador de motor L298n Dual H-bridge 
// Simplemente enciende un motor de CC durante cierto tiempo en una dirección, apáguelo, gire en la otra dirección y apáguelo nuevamente // consulte surtrtech.blogspot.com para obtener más información
 int in1 = 9; // Declarando los pines donde in1 in2 del controlador están conectados int in2 = 8; // aquí están conectados con D9 y D8 de Arduino 
 configuración nula () {pinMode (in1, OUTPUT); // Declarando los modos de pin, obviamente son salidas pinMode (in2, OUTPUT); 
 } 
 // Antes de iniciar el ciclo, debe crear funciones tipo "void" para controlar los pines del controlador // Aquí creé tres funciones, una para girar el motor en la dirección "# 1", la otra en la otra dirección "# 3 "// y el segundo para detener el motor // Para cambiar de dirección, cambie ALTO con BAJO y viceversa 
 vacío TurnMotorA () {digitalWrite (in1, HIGH); digitalWrite (in2, LOW); } 
 nulo TurnOFFA () {digitalWrite (in1, LOW); digitalWrite (in2, LOW); } void TurnMotorA2 () {digitalWrite (in1, LOW); digitalWrite (in2, HIGH); } 
 bucle vacío () {TurnMotorA (); // Pasamos a la dirección 1 por 3 segundos y luego nos detenemos por 2 segundos de retraso (3000); TurnOFFA (); retraso (2000); TurnMotorA2 (); // Pasamos a la dirección 2 durante 3 segundos y luego nos detenemos durante 2 segundos de retraso (3000); TurnOFFA (); retraso (2000); } 

Paso 2: control de velocidad

En este paso, eliminaremos el puente que está en el pin ENA, y controlaremos este pin mediante una señal PWM emitida desde la placa Arduino, y nos permitirá controlar la velocidad del motor de CC.

Prueba 3: Encender / apagar con baja velocidad y luego encender / apagar con alta velocidad (el cableado es como el anterior pero ahora quitas el puente y conectas el pin enA con el pin pwm de Arduino, aquí usé D10)

 // Este código es para usar con el controlador de motor L298n Dual H-bridge 
// Simplemente enciende un motor de CC durante cierto tiempo a baja velocidad y lo apaga y luego lo enciende a alta velocidad // consulte surtrtech.blogspot.com para obtener más información
 int in1 = 9; // Declarando los pines donde in1 in2 del controlador están conectados int in2 = 8; // aquí están conectados con D9 y D8 de Arduino int ConA = 10; // Y agregamos el pin para controlar la velocidad después de quitar su puente // Asegúrese de que esté conectado a un pin que pueda entregar una señal PWM 
 configuración nula () {pinMode (in1, OUTPUT); // Declarando los modos de pin, obviamente son salidas pinMode (in2, OUTPUT); pinMode (ConA, OUTPUT); } 
 // Antes de comenzar el ciclo, debe crear funciones tipo "void" para controlar los pines del conductor // aquí creé tres funciones, la primera es girar el motor en una dirección con velocidad (100) // La segunda para girar apagado // Y el último en girarlo en la misma dirección que la primera pero mayor velocidad (250) // Rango de velocidad (0-255) 
 vacío TurnMotorA () {digitalWrite (in1, LOW); digitalWrite (in2, HIGH); analogWrite (ConA, 100); } 
 nulo TurnOFFA () {digitalWrite (in1, LOW); digitalWrite (in2, LOW); analogWrite (ConA, 0); } void TurnMotorA2 () {digitalWrite (in1, LOW); digitalWrite (in2, HIGH); analogWrite (ConA, 250); } 
 bucle vacío () {TurnMotorA (); // Secuencia: encender a baja velocidad, parar, girar de nuevo a alta velocidad y detener el retraso (2000); 
 TurnOFFA (); retraso (2000); 
 TurnMotorA2 (); retraso (4000); 
 TurnOFFA (); retraso (2000); } 

Artículos Relacionados