sábado, 6 de marzo de 2010

Drivers para motores CC

Aquí dejo un pequeño ejemplo de como utilizar un integrado L293E. Este circuito es un driver que nos servirá para poder controlar motores de corriente continua. Ante cualquier duda, consultar datasheet. El único integrado de la familia L293 que no necesita los diodos rectificadores es el D. Todos los demas, incluido el de este ejemplo es necesario incluir los diodos.

L293E

El circuito lo implementaremos de la siguiente manera:

1º pin enable al pin 2 (digital)
2º pin input al pin 3 (digital)
3º pin output a +Motor
4º pin resistor a ground (-Alimentacion)
5º pin ground a ground (-Alimentacion)
6º pin ground a ground (-Alimentacion)
7º pin resistor a ground (-Alimentacion)
10º pin power supply a + Alimentacion
11º pin enable al pin 5 (digital)
12º pin input al pin 6 (digital)
13º pin output a +Motor
14º pin resistor a ground (-Alimentacion)
15º pin ground a ground (-Alimentacion)
16º pin ground a ground (-Alimentacion)
17º pin resistor a ground (-Alimentacion)
20º pin a +5V

Esta es una forma muy sencilla para comenzar a utilizar el integrado L293E. Más adelante veremos como controlar dos motores en ambos sentidos, este diseño nos permitirá cualquier clase de movimiento para nuestro robot.







//Control de Motores una direccion

const int enable1=2;
const int enable2=5;
const int motor1=3;
const int motor2=6;

void setup()
{
pinMode(motor1, OUTPUT);
pinMode(motor2, OUTPUT);
pinMode(enable1, OUTPUT);
pinMode(enable2, OUTPUT);
}

void loop()
{
digitalWrite(enable2, HIGH);
digitalWrite(enable1, HIGH);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);//PARADO
delay(100);
digitalWrite(enable2, HIGH);
digitalWrite(enable1, HIGH);
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);//GIRO IZQUIERDA
delay(4000);

digitalWrite(enable2, HIGH);
digitalWrite(enable1, HIGH);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);//PARADO
delay(100);
digitalWrite(enable1, HIGH);
digitalWrite(enable2, LOW);
digitalWrite(motor1, LOW);
digitalWrite(motor2, LOW);//HACIA DELANTE
delay(2000);

digitalWrite(enable2, HIGH);
digitalWrite(enable1, HIGH);
digitalWrite(motor1, HIGH);
digitalWrite(motor2, LOW);//PARADO
delay(100);
digitalWrite(enable2, HIGH);
digitalWrite(enable1, HIGH);
digitalWrite(motor1, LOW);
digitalWrite(motor2, HIGH);//GIRO IZQUIERDA
delay(5000);
}

No hay comentarios:

Publicar un comentario