MÓDULO L298N PUENTE H
El módulo L298N es un motor driver con un doble Puente H que permite manejar dos motores de corriente continua o un motor paso a paso bipolar de entre 5V y 35V, de hasta 2 amperios, controlando la velocidad y el sentido de giro de nuestros motores. Este driver le debe su nombre al circuito integrado L298N que lleva en su interior. 

CARACTERÍSTICAS
Circuito Integrado principal: L298N
Canales: 2 (soporta 2 motores DC o 1 motor PAP)
Corriente constante de operación: 2 Amperios
Corriente pico de operación: 4 Amperios
Voltaje lógico: 5V
Voltaje de potencia (V motor): 5V - 35V DC
Consumo de corriente (lógico): 0 a 36mA
Potencia máxima: 25W

PARTES DEL L298N

Bornera de 3 pines para la alimentación del módulo (+12V, GND y +5V).
Conector de 2 pines para el jumper de control del regulador de voltaje.
Conector de 6 pines para el control de los motores (ENA, IN1, IN2, IN3, IN4 y ENB)

Dos borneras de 2 pines para la salida a los motores.

HABILITAR SALIDAS

En la parte inferior se encuentran los pines de control del módulo, marcados como IN1IN2IN3 e IN4. A los lados de estas señales se encuentra un pin de 5V preparado para colocar puentes de selección (jumpers) que habilitar cada una de las salidas del módulo, A y B). 

Los pines de habilitación son nombrados, respectivamente, ENA y ENB (Enable = habilitación).


CONEXIÓN DE ALIMENTACIÓN

Cuando el jumper de selección de 5V se encuentra activo, el módulo permite una alimentación de entre 5V a 12V DC. Como el regulador se encuentra activo, la bornera marcado como +5V tendrá un voltaje de salida de 5V DC.

Cuando el jumper de selección de 5V se encuentra inactivo, el módulo permite una alimentación de entre 12V a 35V DC. Como el regulador de 5V no está funcionando, tendremos que conectar la bornera de +5V a una fuente de 5V para alimentar la parte lógica del L298N.

Nota: No se debe conectar una tensión de entrada al pin de +5V cuando se encuentre colocado el puente de selección de 5V. Esto provocaría un conflicto entre ambas fuentes de alimentación y podría dañar permanentemente el módulo.

(1). CONTROL DE UN MOTOR


El programa activará el motor en un sentido por cinco segundos, luego detiene el motor por seis segundos, después activa el motor en sentido inverso por cinco segundos, y por último detiene el motor durante seis segundos. Este ciclo se repite indefinidamente.

Programación:

/*Control de un motor CC utilizando el módulo L298N*/

int ENB = 3;                           // ENB conectada al pin 3 (sin el jumper en ENB)
int IN3 = 5;                            // Input4 conectada al pin 5
int IN4 = 4;                            // Input3 conectada al pin 4

void setup ()
{
pinMode (ENB, OUTPUT);   // ENB
pinMode (IN4, OUTPUT);    // Input4
pinMode (IN3, OUTPUT);    // Input3
digitalWrite (ENB, HIGH);    // ALTO habilita la salida B (sin el jumper en ENB)
}

void loop ()
{                    // Motor gira en un sentido
digitalWrite (IN4, HIGH);
digitalWrite (IN3, LOW);
delay (5000);
// Motor no gira
digitalWrite (IN4, LOW);
delay (600);
// Motor gira en sentido inverso
digitalWrite (IN3, HIGH);
delay (5000);
// Motor no gira
digitalWrite (IN3, LOW);
delay (6000);
}


(2). CONTROL DE UN MOTOR, con Variación de Velocidad


Para controlar la velocidad del motor, se debe hacer uso de una salida PWM, en este caso la salida digital 3 del Arduino Uno. Esta señal PWM será aplicada a los pines de activación de cada salida, ENA y ENB respectivamente, de manera que en este caso los jumper de habilitación a +5V no deben ser colocados.

Nota: Puede probar diversos valores de velocidad, pero nunca baje el valor 55 porque un motor que no esté libre (con caja de engranajes, por ejemplo) pude quedar sin girar pero alimentado, lo que producirá una corriente elevada.

Programación:

/* Cambio de velocidad de un motor CC utilizando el módulo L298N*/

int ENB = 3;                           // ENB conectada al pin 3 (PWM de Arduino)
int IN3 = 5;                            // Input4 conectada al pin 5
int IN4 = 4;                            // Input3 conectada al pin 4

void setup ()
{
pinMode (ENB, OUTPUT);   // ENB
pinMode (IN4, OUTPUT);    // Input4
pinMode (IN3, OUTPUT);    // Input3
analogWrite (ENB,0);          // Apagado del motor
}

void loop ()
{                   
// Aplicamos PWM al pin ENB, haciendo girar el motor, cada 2 seg aumenta la velocidad
analogWrite (ENB,55);        // Velocidad mínima
delay (2000);
analogWrite (ENB,105);      // Velocidad media
delay (2000);
analogWrite (ENB,255); // Velocidad máxima
delay (2000);
analogWrite (ENB,0); // Apagamos el motor y esperamos 5 seg
delay (5000);

}

(3). GIRO DE MOTORES, invocando funciones

Programación:

int ENA = 10;
int IN1 = 9;
int IN2 = 8
int ENB = 5;
int IN3 = 7;
int IN4 = 6;

void setup ()
{  
 pinMode (ENA, OUTPUT);
 pinMode (ENB, OUTPUT);
 pinMode (IN1, OUTPUT);
 pinMode (IN2, OUTPUT);
 pinMode (IN3, OUTPUT);
 pinMode (IN4, OUTPUT);  
}

void Adelante ()
{  
digitalWrite (IN1, HIGH);
 digitalWrite (IN2, LOW);
 analogWrite (ENA, 200);
 digitalWrite (IN3, HIGH);
 digitalWrite (IN4, LOW);

 analogWrite (ENB, 200);  
}

void Atras ()
{   
 digitalWrite (IN1, LOW);
 digitalWrite (IN2, HIGH);
 analogWrite (ENA, 110);
 digitalWrite (IN3, LOW);
 digitalWrite (IN4, HIGH);
 analogWrite (ENB, 110);   
}

void Derecha ()
{  
 digitalWrite (IN1, HIGH);
 digitalWrite (IN2, LOW);
 analogWrite (ENA, 100);
  digitalWrite (IN3, LOW);
 digitalWrite (IN4, HIGH);
 analogWrite (ENB, 100);  
}

void Izquierda ()
{  
 digitalWrite (IN1, LOW);
 digitalWrite (IN2, HIGH);
 analogWrite (ENA, 50);
digitalWrite (IN3, HIGH);
digitalWrite (IN4, LOW);
analogWrite (ENB, 50);  
}

void Parar ()
{  
 digitalWrite (IN1, LOW);
 digitalWrite (IN2, LOW);
 analogWrite (ENA, 0);
 digitalWrite (IN3, LOW);
 digitalWrite (IN4, LOW);
 analogWrite (ENB, 0);   
}

void loop ()
{  
Adelante ();
 delay (5000);
 Atras ();
 delay (5000);
 Derecha ();
 delay (3000);
 Izquierda ();
 delay (3000);
 Parar ();
 delay (4000);   
 }

(4). CONTROL DE MOTORES, con sensor ultrasonido


Programación:






































PROGRAMACIÓN APP














0 Comentarios