MÓDULO L298N PUENTE H
El módulo L298N es un controlador de motores (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 los motores. Este driver le debe su nombre al circuito integrado L298N que lleva en su interior. 
Un motor de corriente continua es un dispositivo que convierte energía eléctrica en energía electromotriz. Esta a su vez se destina, mediante engranajes, a producir movimiento.

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.

Los pines de entrada que controlan la dirección y velocidad de giro.
Los pines ENA, IN1 e IN2 controlan la salida A.
Los pines ENB, IN3 e IN4 controlan la salida B.
Los pines IN1, IN2, y IN3 e IN4, controlan la dirección de giro, respectivamente, de la salida A y B.

Los pines ENA y ENB desactivan la salida. Podemos conectarlos permanentemente mediante el uso de un jumper, o conectar una señal PWM para controlar la velocidad de giro.

En el caso de querer usar ambas fases, y poder elegir tanto el sentido de giro como la velocidad, y alimentar desde una fuente de 12V, al pin Vin de Arduino (usando el regulador de voltaje de Arduino), o desde el pin Vlogico del L298N al pin 5V de Arduino (usando el regulador del L298N). 



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.

FUNCIONAMIENTO

El L298N consiste en dos puentes-H, uno para la salida A y otro para la salida B.
Un puente-H es un componente para alimentar una carga de forma que se pueda invertir el sentido de la corriente que le atraviesa.
Internamente un puente-H es una formación de cuatro (4) transistores, conectados entre Vcc y GND, con la carga a alimentar entre ellos. Dibujado en esquema el conjunto tiene forma de "H", de la que recibe su nombre su nombre.


(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 IN1 = 2;                                           
int IN2 = 3;                                             

void setup ()
{
pinMode (IN1, OUTPUT);                                  
pinMode (IN2, OUTPUT);                   

void loop ()
{                            
digitalWrite (IN1, HIGH);                   
digitalWrite (IN2, LOW);                     
delay (5000);

digitalWrite (IN1, LOW);
digitalWrite (IN2, HIGH);
delay (5000);                         
}

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 segundos 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 segundos
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 L298



(5). CONTROL DE MOTORES, con sensor ultrasonido


Programación:






































(6). SEGUIDOR DE LÍNEA


L293D

El circuito integrado L293D es un controlador de motores, construido con cuatro mitades de puente-H. Está característica permite controlar distintas cantidades de motores. Por ejemplo, puede controlar 4 motores de DC unidireccionalmente o 2 motores-DC en ambas direcciones. También podría controlador un motor a pasos de bipolar. 

Una de las principales ventajas del controlador, es que permite una alimentación independiente para los motores. Por ejemplo, se pueden controlar motores desde los 4.5 VDC hasta 36 VDC. Cuando se manejan potencias mayores a 5 Watts (P = V*I), se necesita un buen disipador. El voltaje lógico de control es de 5 VDC. A pesar de esta restricción, podría ser controlado con lógica de 3.3 V. La desventaja de usar lógica de 3.3 V es que aún requeriría una fuente de 5 VDC conectada al pin 16. 

CONTROL DE DOS MOTORES CON L293D





CONTROL DE UN MOTOR CON L293D

PROGRAMACIÓN APP














0 Comentarios