En este post vamos a estudiar el funcionamiento del puente H y en concreto el módulo driver L298N.

¿Para qué sirve un puente H driver L298N?

Debido al alto consumo de un motor, este no se puede conectar directamente a la salida de un microcontrolador, como por ejemplo Arduino.

Por lo tanto se hace necesaria de una electrónica que haga de interface entre la electrónica de control y la electrónica de potencia.

Una solución vista anteriormente consistía en situar en las salidas del microcontrolador transistores que con una pequeña corriente de control fueran capaces de controlar corrientes de mayor envergadura en la carga.

Pues bien para el caso concreto de motores, lo podemos lograr usando transistores en configuración de puente H, llamada así porque la forma del circuito recuerda a la letra H.

O bien podemos usar un driver, que es una placa que contiene un integrado y demás elementos de protección que nos facilitan bastante el uso de motores.

Este tipo de drivers los podemos usar con motores DC con o sin reductora y con motores paso a paso tanto unipolares como bipolares.

¿Cómo Funciona un puente H?

Si analizamos la siguiente figura podemos observar que:

esquema eléctrico puente H
esquema eléctrico puente H

En primer lugar tenemos un circuito formado por cuatro transistores NPN con sus resistencias de polarización de base, cuadro diodos en antiparalelo que cuya única misión es proteger a cada uno de los transistores en caso de sobrecorrientes inversas provocadas por los bobinados del motor y dos conmutadores con dos posiciones Vcc o masa.

curso arduino
CURSO ARDUINO

Si quieres convertirte en un experto en Arduino pincha en el siguiente botón

Supongamos en principio SW1 en posición Vcc y Sw2 en posición GND, se saturan T1 y T4 por lo que se comportan como interruptores cerrados ya que caen 0,7v entre base-emisor de cada uno, el resto en las resistencias de base hasta Vcc.

Al motor le entra corriente a través de T1 y sale por T4.

T2 y T3 al estar sw2 en 0v o GND estarán cortados, se comportan como interruptores abiertos por no haber tensión en su base.

El sentido de la corriente seria el siguiente y el motor giraría en un sentido.

circulacion corrente puente h posicion 1-0
circulación corriente puente h posicion 1-0

Si ahora cambiamos los conmutadores y ponemos SW1 a GND y SW2 a Vcc.

Tendremos en este caso que los transistores que se saturarán serán T2 y T3, mientras que T1 y T4 permanecerán cortados.

Por lo tanto al motor le entrará  corriente a través de T3 y saldrá por T2, por lo que el motor girará en sentido inverso a la vez anterior.

 circulación corriente puente h posicion 0-1
circulación corriente puente h posicion 0-1

Si ponemos ambos conmutadores en la posición de GND , el motor se parará.

La posición de los conmutadores en que ambos están en Vcc no es aconsejable ya que le estaríamos mandando al motor que girara a la vez en un sentido y en el contrario.

Características del driver doble puente H L298N

Doble puente H independiente

Chip principal: L298N

Corriente pico de operación: 4 Amperios

Corriente de operación: 2 Amperios

Corte de operación por sobrecalentamiento

Alimentación: 5-35Vdc

Consumo de corriente 36mA

8 diodos de protección contra sobrecorrientes inversas

Peso: 30g

Dimensiones: 43*43*27mm

Excelente inmunidad al ruido

Soporta dos motores dc o un motor paso a paso.

Uso del driver L298N:

Vamos a analizar los conectores y jumper de este módulo:

Conectores driver L298N
Conectores driver L298N

1. Bornera alimentación:

        -Vcc: 6-35Vdc

        -Gnd: 0v masa

        5v: Doble comportamiento como entrada o salida de  5vdc.                                                                                                       

        

2. ENA: Enable A habilitamos salidas out 1 y out 2 para el motor, si quitamos este jumper deshabilitamos salidas out 1 y out 2, con el jumper quitado si conectamos al pin ENA una salida PWM podremos controlar la velocidad del motor conectado en OUT 1-2.

3. IN1-2: Van emparejadas controlan el paro o sentido de giro del motor 1

IN 1 IN2 ESTADO
0 0 Motor parado
0 1 Giro en un sentido
1 0 Giro en sentido contrario
1 1 Indeseado no usar

IN3-4: Igual que el anterior pero para el motor 2.

4. ENB: Igual que ENA pero para las salidas OUT3-4

5. 5v-gnd: Terminales en los que tenemos salidas de 5 voltios y gnd pueden venir bien si queremos bloquear un estado de las entradas IN mediante jumper, en la práctica estos pines no dan 5V sino que están por debajo de ese valor hasta que la tensión de alimentación por Vcc es igual o superior a 7 voltios.

6. Bornes de conexión OUT1-2: Aquí conectaremos un motor dc o dos de los terminales correspondientes a las fases de un motor paso a paso, estos conectores son función de las entradas IN1-2 según sea su estado las salidas out tomarán un valor u otro dependiendo de si queremos para el motor (0-0v), girar en un sentido (5v-0), o girar en sentido contrario (0-5v) en el caso de un motor dc.

7.Bornes de conexión OUT3-4: Igual que lo anterior pero para un segundo motor dc o 2 de las fases de un paso a paso.

8. Regulador de tensión: 7805

9. Circuito integrado L298N es un doble puente H contiene en su interior entre otros elementos los 4 transistores que estudiamos en el puente H con transistores.

10. Jumper JP1: cuando el jumper está puesto podremos alimentar entre 6 y 12v por Vcc el pin 5v del ítem 1 nos dará una tensión de salida de 5V podremos alimentar por ejemplo nuestro Arduino (máximo 500mA).

Cuando el jumper está quitado es para cuando vamos a alimentar con tensiones superiores a 12 voltios, en este caso deberemos alimentar el circuito con una alimentación externa de 5v ya que el pin 5V del item1 en este caso se comporta como entrada y no como Salida.

***Hay que tener la precaución de no alimentar con más de 12v con el jumper puesto ya que dañaremos la placa.

 11. Diodos de protección contra sobretensiones debido a los bobinados del motor

Programa de Arduino puente H:

En este programa veremos como gira un motor dc en un sentido incrementando su velocidad para luego parar y arrancar un segundo motor haciendo lo mismo pero en sentido contrario y vuelta a empezar.

/*AUTOR: JOSE ANTONIO RIVERA MORALES
 *FECHA: 12-12-2019
 *www.pasionelectronica.com
 * control de 2 motores DC normales, primero gira uno en un sentido 
 * incrementando la velocidad progresivamente
 * hasta llegar al máximo, en ese momento se para
 * y comienza el segundo motor a realizar lo mismo 
 * pero en sentido inverso y asi sucesivamente
 * 
 */
int in1=2;//Asignamos los pines a las entradas del L298n
int in2=3;
int in3=4;
int in4=5;
int enA=9;//pines de habilitación motores para
int enB=10;//ctrol velocidad mediante pwm 

void setup() {
 pinMode(in1,OUTPUT);//los configuramos como salidas
 pinMode(in2,OUTPUT);
 pinMode(in3,OUTPUT);
 pinMode(in4,OUTPUT);
 pinMode(enA,OUTPUT);
 pinMode(enB,OUTPUT);
 
}

void loop() {
for (int i=0;i<256;i++){//bucle for para que se incremente
  analogWrite(enA,i);//la velocidad poco a poco 
  digitalWrite(in1,HIGH);//Giro sentido horario
  digitalWrite(in2,LOW); 
  delay(100);//retardo para hacer más progresiva la velocidad
}
digitalWrite(in1,LOW);//paramos motor sentido horario
digitalWrite(in2,LOW);
delay(500);//esperamos medio segundo para iniciar motor 2  


for (int j=0;j<256;j++){//lo mismo que antes pero para motor 2
  analogWrite(enB,j); 
  digitalWrite(in3,LOW);//sentido anti horario
  digitalWrite(in4,HIGH); 
  delay(100);
}
digitalWrite(in3,LOW);//paramos motor sentido anti horario
digitalWrite(in4,LOW);
delay(500);  

}

Si te ha gustado este post no olvides compartirlo en tus redes sociales favoritas, muchas gracias por tu colaboración.