Saltar la navegación

Montaje con L293

El circuito integrado L293 permite controlar motoresDC de pequeña potencia. Para utilizarlo hay que hacer un montaje externo a Arduino, en una placa de pruebas, y alimentar a los motores a través de este circuito integrado.

El CI L293 tiene las siguientes características:

  • Se pueden controlar hasta 2 motores.
  • Proporciona 1A a los motores (en total) y permite cambiar el sentido de giro.
  • Utiliza un puente en H que funciona según se observa en las figuras (internamente utiliza transistores para conmutar*) :

l293

Modos de operación para invertir el sentido de giro:

h-bridge

"H bridge operating" by Cyril BUTTAY - own work, made using inkscape. Licensed under CC BY-SA 3.0 via Wikimedia Commons.

*Datasheet: http://www.me.umn.edu/courses/me2011/arduino/technotes/dcmotors/L293/l293.pdf

Como vimos en la sección de Alimentación eléctrica de Arduino NO es recomendable alimentar Arduino, cuando se trabaja con elementos de "alto" consumo como pueden ser los motores DC, con el cable USB. Tenemos la posibilidad de proporcionar más (mili)amperios a través de la conexión jack de Arduino. En el pin Vin tendremos una salida del voltaje que apliquemos por el jack que servirá para alimentar a los motores a través del integrado mediante el pin 8 (VC ó Vcc2). Para ver los márgenes de voltaje de trabajo del CI consultar la hoja de datos del fabricante.

Vamos a ver de qué manera se pueden activar los motores DC para hacer una secuencia sencilla de giro. Primero de todo vamos a ver cómo se conecta todo.

Las conexiones del circuito integrado según podemos ver en la hoja de datos del fabricante son las siguientes:

connections

Vcc2(VC), pin 8 del L293:  El voltaje que se introduzca aquí alimentará a los motores (Vin de Arduino).

Vcc1(VSS), pin 18 del L293: El voltaje que se introduzca aquí alimentará al propio circuito integrado (+5V de Arduino).

Las conexiones del circuito con Arduino las podemos ver en el siguiente esquema:

l293-Arduino

Vamos a detallar la correspondencia entre pines de Arduino y del circuito L293

pineado

Para saber la orientación del sentido de giro disponemos de la siguiente tabla de verdad:

tabla-verdad

Programa

El programa hace que el motor gire en un sentido durante 1 segundo, cambie de sentido y gire durante otro segundo. Esta secuencia la repite 5 veces y después el motor se para.

#define ENABLE 3
#define DIRB 4
#define DIRA 5

void setup() {
  int i = 0;
  pinMode(ENABLE,OUTPUT);
  pinMode(DIRA,OUTPUT);
  pinMode(DIRB,OUTPUT);
  digitalWrite(ENABLE,HIGH);
  for (i=0;i<5;i++) {
    digitalWrite(DIRA,HIGH); 
    digitalWrite(DIRB,LOW);
    delay(1000); 
    digitalWrite(DIRA,LOW);  
    digitalWrite(DIRB,HIGH);
    delay(1000); 
  }
  digitalWrite(ENABLE,LOW); 

}
void loop(){
  
}

Pregunta Verdadero-Falso

Pregunta 1

Con el CI L293 podemos activar también relés, bobinas y cualquier otro dispositivo que requiera una corriente considerable además de los motores DC

Pregunta 2

Para el L293: alimentando con un nivel ALTO el pin 1, un nivel BAJO el pin 2  y un nivel ALTO el pin 7 hacemos que el motor gire a favor de las agujas del reloj.

Pregunta 3

Con el CI L293 puedo accionar hasta 6 motores DC simultáneamente.

Pregunta 4

La instrucción digitalWrite(ENABLE,LOW); del programa anterior,hace parar al motor DC independientemente del resto de señales.