miércoles, 20 de noviembre de 2019

2do quimestre Individual #2: Puente H L298N

¿Qué es y para qué sirve un puente h?

El puente H  es un circuito electrónico que permite a un motor eléctrico DC girar en ambos sentidos, avanzar y retroceder.
Un puente H no solo se usa para invertir el giro de un motor, también se puede usar para frenarlo de manera brusca, al hacer un corto entre los bornes del motor, o incluso puede usarse para permitir que el motor frene bajo su propia inercia, cuando desconectamos el motor de la fuente que lo alimenta.
básicamente se puede hacer esto tomando en cuenta la siguiente tabla.
tabla para puente h
La forma más común de hacer un puente H es usando interruptores de estado sólido ( son llamados transistores ), puesto que sus tiempos de vida y frecuencias de conmutación son mucho más altas. En convertidores de potencia es impensable usar interruptores mecánicos, dado sus especificaciones tan embonables a los requerimientos.
Además los interruptores se acompañan de diodos que permitan a las corrientes circular en sentido inverso al previsto cada vez que se conmute la tensión puesto que el motor está compuesto por bobinados que durante varios períodos de tiempo se opondrán a que la corriente varié.
L298N por su facilidad de uso y su reducido precio, y porque nos permite elegir los pines del Arduino que queremos usar para controlar los motores. El L298N puede trabajar con tensiones hasta 35V y una intensidad de hasta 2A por canal por canal, con lo que puede manejar hasta 4A en total y unos 25W.
Este módulo tiene además otra característica muy importante, y es que nos permite controlar la dirección de giro de los motores, es decir podremos hacer que giren en ambos sentidos, algo totalmente necesario para nuestro coche.
Frank Mecafenix (3, mayo 2017) Puente h para control de motores. Recuperado de: https://www.ingmecafenix.com/electronica/puente-h-control-motores/

¿Cuáles son las entradas y salidas de un L298N?

La entrada de tensión Vin admite tensiones entre 3V y 35V, y justo a su derecha en la imagen tenemos el pin que debemos conectar a GND.

Prometec (s.f) Arduino y L298N. Recuperado de: https://www.prometec.net/siguelineas-l298n/

¿Cuál es la conexión de un L298N?

int in1=2;
int in2=3;

void setup() {
  pinMode(in1,OUTPUT);
  pinMode(in2,OUTPUT);
  
  // put your setup code here, to run once:

}                                           

void loop() {
  // adelante
  digitalWrite(in1,HIGH);
  digitalWrite(in2,LOW);
  delay(3000);
//atras

  digitalWrite(in1,LOW);
  digitalWrite(in2,HIGH);
  delay(3000);
  //detener
  digitalWrite(in1,LOW);
  digitalWrite(in2,LOW);
  delay(3000);



¿Qué es lo que hay que evitar al trabajar con un L298N?

Si introducimos corriente por V lógico con el jumper de regulación puesto podríamos dañar el módulo.


¿Cuál es el programa Arduino básico para avanzar, retroceder y parar utilizando dos motorreductores conectados a un L298N?

El código de Arduino hace girar el motor paso a paso una vuelta en un sentido y luego ejecuta otra vuelta en sentido opuesto. Este código hace uso de la librería ‘Stepper.h‘, que se instala por defecto en las ultimas versiones del IDE de Arduino.
El valor de la variable stepsPerRevolution depende del número de pasos del motor paso a paso. Este valor se encuentra en las especificaciones de la hoja de datos del motor. En nuestro caso el motor paso a paso utilizado es de 48 pasos/vuelta.
/*
Stepper Motor Control - one revolution
Este programa impulsa un motor paso a paso unipolar o bipolar.
El motor está conectado a los pines digitales 8 - 11 de la Arduino.
El motor debe girar una vuelta en una dirección, a continuación,
una revolución en la otra dirección.
Created 11 Mar. 2007
by Tom Igoe
Modificado
16/05/14
por Andres Cruz
ELECTRONILAB.CO
*/
#include <Stepper.h>
const int stepsPerRevolution = 48; // cambie este valor por el numero de pasos de su motor
// inicializa la libreria 'stepper' en los pines 8 a 11
Stepper myStepper(stepsPerRevolution, 8,9,10,11);
void setup() {
// establece la velocidad en 60rpm
myStepper.setSpeed(60);
// inicializa el puerto serial
Serial.begin(9600);
}
void loop() {
// gira una vuelta en una direccion
Serial.println("clockwise");
myStepper.step(stepsPerRevolution);
delay(500);
// gira otra vuelta en la otra direccion
Serial.println("counterclockwise");
myStepper.step(-stepsPerRevolution);
delay(500);
}
Electronilab (s.f) Tutorial: Uso de Driver L298N para motores DC y paso a paso con Arduino. Recuperado de: https://electronilab.co/tutoriales/tutorial-de-uso-driver-dual-l298n-para-motores-dc-y-paso-a-paso-con-arduino/