Artículos recientes

Promociones especiales

Novedades

Tutorial de Uso del Módulo L298N

Tutorial de Uso del Módulo L298N

   

En este tutorial explicaremos paso a paso todas las características del módulo L298 y un ejemplo básico de programación con Arduino.

Modulo L298NEl módulo L298N posee dos canales de Puente H, pudiéndolos utilizar para controlar dos motores DC o un motor Pasó a Paso, controlando el sentido de giro y velocidad.

Básicamente está conformado por un driver L298N sus diodos de protección y un regulador de voltaje de 5V(78M05)

Su esquema electrónico es el siguiente:

   

Diagrama electrónico del Módulo L298N

    
Posee un conector de 6 pines  para ingresar las señales TTL para controlar los motores, una bornera de tres pines para la alimentación, y dos borneras de 2 pines para la salida a los motores.

Descripción del modulo L298N    

Empecemos explicando la forma de alimentar el módulo, hay dos formas de hacer esto:

1. Utilizando una sola fuente, conectada a la entrada de 12V y con el Jumper para habilitar el regulador, aclarando que el voltaje de la fuente es el que soporta el motor. De esta forma la entrada de 5V no debe estar conectada a ninguna fuente, ya que en este pin están presentes 5V  a través del  regulador interno; pero puedes utilizar este pin como una salida de 5V, pero sin exceder los 500mA de consumo. Se recomienda hacer esta conexión para voltajes menores de 12V para no sobrecalentar el regulador

2. Utilizando dos fuentes, una de 5V conectada a la entrada de 5V (puede ser los 5V de un Arduino) y otra fuente con el valor del  voltaje que trabaja el motor, conectada al pin de 12V. Para esto se tiene que desconectar  el Jumper lo que deshabilitará al regulador.

Para el control del módulo:

Los pines ENA, IN1, IN2 correspondes a las entradas para controlar el MOTOR A (OUT1 y OUT2)

De igual manera ENB, IN3, IN4 permiten controlar el MOTOR B (OUT3 y OUT4)

ENA y ENB, sirven para habilitar o deshabilitar sus respectivos motores, generalmente se utilizan para controlar la velocidad, ingresando una señal de PWM por estos pines. Si no se usan se deben de conectar los Jumper para que siempre estén habilitados.

Ahora realicemos un ejemplo básico para controlar un motor DC
  
En el ejemplo utilizaremos un motor de 6V y lo conectaremos de la primera forma antes explicado.

   

Tutorial, conexión del modulo L298N

    

Como vemos en la imagen para controlar el motor solo utilizaremos dos pines del Arduino.

  
Si enviamos un 1 lógico por la entrada IN1 del driver, saldrán 6V por la salida OUT1 (cable de color Amarillo en la imagen) y si enviamos un 0 lógico por IN1, saldrá GND (0V) por OUT1
De igual manera sucede con el pin IN2.

   

Por ejemplo si queremos hacer girar el motor en una dirección, enviamos:

IN1=1  -> OUT1= 6V

IN2=0  -> OUT2= GND

 
Y para invertir el sentido de giro:

IN1=0  -> OUT1=GND

IN2=1  -> OUT2=6V

 

EL código en Arduino sería el siguiente:

   

int PinIN1 = 7;
int PinIN2 = 6;

void setup() {
  // inicializar la comunicación serial a 9600 bits por segundo:
  Serial.begin(9600);
  // configuramos los pines como salida
  pinMode(PinIN1, OUTPUT);
  pinMode(PinIN2, OUTPUT);
}

void loop() {
  
  MotorHorario();
  Serial.println("Giro del Motor en sentido horario");
  delay(1000);
  
  MotorAntihorario();
  Serial.println("Giro del Motor en sentido antihorario");
  delay(1000);
  
  MotorStop();
  Serial.println("Motor Detenido");
  delay(1000);
  
}

void MotorHorario()
{
  digitalWrite (PinIN1, HIGH);
  digitalWrite (PinIN2, LOW);
}
void MotorAntihorario()
{
  digitalWrite (PinIN1, LOW);
  digitalWrite (PinIN2, HIGH);
}

void MotorStop()
{
  digitalWrite (PinIN1, LOW);
  digitalWrite (PinIN2, LOW);
}

   

Como se observa en el programa se han implementado funciones para cada movimiento del motor, las cuales llamamos desde el void loop(),
Inicialmente hacemos girar el motor en sentido horario, luego en antihorario y después lo detenemos, esto se repite constantemente, cada estado lo enviamos por comunicación serial a la PC. 

     

Tutorial L298N, Monitor Serial

      

Si el sentido de giro no corresponde al que se muestra en el monitor serial, simplemente invertir la polaridad de la conexión del motor, o también cambiar las funciones en el programa.

Puedes Adquirir los componentes usados en este tutorial desde nuestra tienda:

-  Modulo L298N

-  Arduino

-  Cables Dupont macho-hembra

-  Motor DC

   

  

23 Comments

    • Avatar
      Jesús
      oct 20, 2016

      Esta equivocado tu esquema donde ejemplificas las entradas de control

      • Avatar
        Naylamp
        oct 25, 2016

        Estimado Jesús, la imagen ya fue corregida. Gracias por la observación

    • Avatar
      marcio
      feb 4, 2017

      como conectaría el modulo l298n con un servomotor

      • Avatar
        Naylamp
        feb 13, 2017

        Los servomotores tienen su propio driver interno, el pin de datos puede ir directo al Arduino

    • Avatar
      Agustín
      mar 10, 2017

      ¿yo lo podría hacer con 2 puente h y 2 sensor ultrasonico? si es así, ¿tendrías un esquema y código?

      • Avatar
        Naylamp
        mar 25, 2017

        Hola Agustín, No tenemos ejemplos así, Si necesitas mover dos motores necesitas un solo L298N, este tiene 2 puentes H. Para conectar los otros pines del L298N y de los ultrasónicos, hazlo en cualquiera de los pines digitales libres, en el código solo declara nuevas variables y repite lo demás. Puedes apoyarte de nuestro tutorial sensor ultrasónico HC-SR04 y del Tutorial Robot móvil

    • Avatar
      Oscar
      abr 27, 2017

      Las salidas para un motor sea la 1 y 2 o la 3 y 4 se pueden poner en 1 al mismo tiempo?

      • Avatar
        Naylamp
        may 4, 2017

        Hola Oscar, si, poniendo ambas entradas a HIGH el motor se apagará, de igual forma que sucede poniendo las entradas a LOW.

    • Avatar
      Julio Vasquez
      may 14, 2017

      Buena noche con una consulta necesito mover dos motores de 12 volts.. con el L298n pro resulta q mis motores son starter de moto mi consulta cuantos amperes puedo manejar el moduloespero su pronta respuesta gracias

    • Avatar
      Luis Ramirez
      may 18, 2017

      Tengo una fuente de 7.2V y necesito alimentar 2 motores DC de 3V cada uno, para controlarlos por Arduino, como podria conectarlo?

      • Avatar
        Naylamp
        may 27, 2017

        Hola Luis, puedes Alimentar el modulo con los 7.2V y usar las entradas ENA y ENB del módulo y con PWM bajar el voltaje, de esta forma tendrás que estar seguro de siempre estar enviando el PWM, si en algún momento el pin EN envía un HIGH de forma continua, el motor recibirá los 7.2V también de forma continua y podrías quemar el motor. Lo mejor es usar un regulador Step Down y regular a los 3.0V que deseas, estos 3.0V van al módulo y tendrías que quitar el Jumper y alimentar desde el arduino al módulo con los 5V.

    • Avatar
      Sergio
      jun 12, 2017

      Hola, buen día. Estoy controlando un motor de 6 V. tengo una fuente regulable y alimento el puente a ese mismo voltje. Sin embargo cuando conecto el motor tengo una caida de 2 V. Es normal que haga esto?

      • Avatar
        Naylamp
        jun 18, 2017

        Hola Sergio, prueba conectando el motor directo a la fuente y comprueba si también existe caída de voltaje, sino debes estar realizando mal alguna conexión. La corriente que puede entregar la fuente tiene que ser mayor o igual a la corriente que consume el motor.

    • Avatar
      gato89918
      ago 29, 2017

      hola. soy nuevo en todo este tema, y me gustaria saber que posibilidades hay de conectar un motor dc a 12v en una entrada y otro motor dc a 5v del arduino... nc si es posible o si bien el puente h ya esta diseñado así para poder hacerlo... saludos

      • Avatar
        Naylamp
        sep 19, 2017

        Hola, el módulo es de dos canales y puedes conectar dos motores pero ambos motores tienen que ser del mismo voltaje.

    • Avatar
      Manuel Tuz Sosa
      may 15, 2018

      Buenos días en un comentario decias que puedo conectar un servomotor poniendo los 5v y GND del servo al módulo y el de señal directo al arduino. Pero a cuál salida del arduino?

    • Avatar
      marcoflores.mfv@gmail.com
      jun 3, 2018

      como podria hacer la conexion de 2 electrovalvulas que sean activadas con un pulsador cada una

    • Avatar
      Miguel
      oct 4, 2018

      que tal tengo un problema con el driver l298n tengo dos uno q compre hace tiempo que funciona normal, y otro q compre recientemente que no arranca con 4 pilas de 1.5v pero el otro lo hacia ademas su led es color anarajando y del anterior es rojo, no se si me pueda ayudar el modo que debo trabajar si son diferentes ? gracias

    • Avatar
      victor aguilera
      nov 10, 2018

      como puedo programar con 4 motores para que avance,retroceda y gire hacia la izquierda y luego hacia la derecha con los mismos componentes pero con 4 motores gracias.

    • Avatar
      Ernesto Guerrero Cueva
      nov 10, 2018

      Hola, estoy trabajando con el L298N y una tarjeta de arduino, para controlar un motor pap bipolar el modulo es nuevo, prove las salidas con el volmetro en vacio y las lecturas en OUT 1 y 2 y de la misma forma las 3 y 4 y si me daban las señales 12 0 y _12 al conectar el motor pap no movio el motor y al verificar nuevamente al vacio un canal ne seguia marcado como inicialmente, el otro canal en lugar de 12 volts me daba 9 pero al conectar resistencias se 220 ohms los voltajes vajan a 0.130 V, alguna sujerencia

    • Avatar
      Alejandro Quiroz
      nov 13, 2018

      Buenas noches.Yo puedo conectar una válvula ?

    • Avatar
      yorx
      ene 18, 2019

      hola,buenos días maquinon, eres un fiera pero ponme el código correcto porque sino el pepe me suspende el curso xfa, me veo siempre tus vídeos soy fan

Leave a Reply

* Name:
* E-mail: (Not Published)
   Website: (Site url withhttp://)
* Comment: