viernes, 12 de julio de 2019

L293N: Controlar Puente Doble H Para Control De 2 Motores-PROYECTO#10









 L293N: Controlar Puente Doble H Para Control De 2 Motores-PROYECTO#10

CONTROL DE DOS MOTORES DC CON EL L293N, A VELOCIDAD CONSTANTE.
El L293N (x para sus múltiples versiones, B, D..etc) es un sistema integrado que tiene dos puentes H en su interior que nos permiten controlar en el sentido de que giran dos motores de CC.

También resuelve otro problema importante, las salidas de los microcontroladores solo entregan 5V en su salida, esta cantidad de voltios es insuficiente para hacer que los motores de CC se muevan. El L293N recibe señales de 5V y 12V entrega.
 VIDEO TUTORIAL

También resuelve el problema del consumo, ya que, de lo contrario, el amperaje exigido por los motores podría ser mayor que lo que puede suministrar el microcontrolador y podríamos dañarlo.
Sus terminales
Marcha
L293N integrado Como vemos en la imagen, el integrado tiene cuatro compuertas AND, de modo que cuando la habilitación correspondiente a esa parte del integrado es alta y se activa una entrada, se activa la salida relacionada con esta entrada. Para cualquier otro caso, esa puerta entregará un 0.

Montajes con la L293N
Este es el montaje más típico para este integrado. Con esta configuración podemos controlar si giran o no y en qué sentido hacen los dos motores que tenemos conectados. Para simplificar el ensamblaje, utilizaremos la versión D integrada, es decir, una L293N. Esta versión tiene diodos integrados que aparecen en el esquema anterior, así que solo tenemos que conectarlo y ponerlo en funcionamiento.

En la imagen usamos un Arduino para controlar los motores, pero también podemos usar un PIC, un Pinguino o cualquier otro microprocesador, e incluso algunos botones.


Al cargar este código en nuestro Arduino, los motores se moverán en todas las combinaciones posibles:

//https://ingenieriaiktronic.com
//https://roboticaytecnologia.com
//https://jlizarazurocha.com
// * Estos son los pines del JIMMY LIZARAZU ROCHA conectados al controlador de dos motores * /

int i1 = 5; // Entrada 1
int i2 = 6; // Entrada 2
int i3 = 10; // Entrada 3
int i4 = 11; // Entrada 4
void setup () {
// Indicamos que los pines de los motores son salidas.
pinMode (i1, OUTPUT);
pinMode (i2, OUTPUT);
pinMode (i3, OUTPUT);
pinMode (i4, OUTPUT);
}

void loop () {
//Avanzar
digitalWrite (i1, HIGH);
digitalWrite (i2, LOW);
digitalWrite  (i3, HIGH);
digitalWrite (i4, LOW);
delay(1000); // mantener la dirección durante 1 segundo

//retroceso
digitalWrite (i1, LOW);
 digitalWrite(i2, HIGH);
digitalWrite (i3, LOW);
digitalWrite (i4, HIGH);
delay (3000); // mantener la dirección durante 3 segundo

//gira a la derecha
digitalWrite(i1, LOW);
digitalWrite (i2, LOW);
digitalWrite (i3, HIGH);
digitalWrite (i4, LOW);
delay(5000); // mantener la dirección durante 5 segundo

//doblar a la izquierda
digitalWrite (i1, HIGH);
digitalWrite(i2, LOW);
digitalWrite(i3, LOW);
digitalWrite (i4, LOW);
delay (5000); // mantener la dirección durante 5 segundo
}