L293D / L293B: driver para motores CC (DC)

Extracto del Capítulo XII del libro
Cómo programar en lenguaje C los microcontroladores PIC16F88, 16F628A y 16F877A. 2da edición

Las aplicaciones que tienen los motores CC ( DC) en el área de la automatización son muy amplias, van desde los juguetes hasta la robótica industrial, pasando por la medicina, las aplicaciones militares, la investigación espacial y submarina, los electrodomésticos, las computadoras, los dispositivos de entretenimiento, los simuladores, las máquinas herramientas, los automóviles, etc. En este capítulo se estudia en detalle el control de sentido de giro, velocidad y posición angular de los motores CC ( DC) convencionales y los motores paso a paso (PAP) o stepper motor usando el driver L293D / L293B con los microcontroladores PIC programados en mikroC PRO.

Driver L293B

El circuito integrado L293B (tabla 12.1 y figuras 12.1, 12.2, 12.3 y 12.4) se ha diseñado con el propósito de realizar el control de los motores CC ( DC) de manera óptima y económica. Está conformado por cuatro amplificadores push-pull capaces de entregar una corriente de salida de 1A por canal.

Cada canal está controlado por entradas compatibles con los niveles TTL y cada par de amplificadores (un puente completo) está equipado con una entrada de habilitación, que puede apagar los cuatro transistores de salida. Tiene una entrada de alimentación independiente para la lógica, de manera que se puede polarizar con bajos voltajes para reducir la disipación de potencia. Los cuatro pines centrales se emplean para conducir el calor generado hacia el circuito impreso. Sus características sobresalientes son las siguientes:

  • Corriente de salida de 1A por canal.
  • Corriente pico de salida 2A por canal (no repetitiva).
  • Pines de Habilitación.
  • Alta inmunidad al ruido.
  • Fuentes de alimentación separadas.
  • Protección contra exceso de temperatura.
valores maximos del
                                        driver l293b

Tabla 12.1 Valores máximos absolutos del driver L293B


Pinout driver l293b

Figura 12.1 Distribución de terminales del driver L293B


Conexión del driver l293b
Figura 12.2 Diagrama de bloques del driver L293B y tabla de verdad (Z= Alta impedancia de salida). Se muestran diferentes tipos de conexión de motores CC ( DC).

Observe con cuidado la tabla de verdad de la figura 12.2 y note que si el voltaje de entrada de habilitación Vinh tiene un nivel ALTO el voltaje de salida Vo tendrá el mismo nivel (ALTO o BAJO), aunque NO el mismo valor, del nivel de entrada Vi. Algo que debe tenerse muy en cuenta es que los valores del voltaje de entrada Vi no son los mismos valores del voltaje de salida Vo, ya que Vi corresponde a valores TTL mientras que Vo es el voltaje de alimentación de los motores Vs.

Por otro lado, si Vinh tiene un valor BAJO, el pin de salida se pone en estado de alta impedancia (sin importar el valor del voltaje de entrada Vi).

Control de motores dc con l293b

Figura 12.3 Control de motores CC ( DC) (con conexión al positivo y al negativo de la fuente). Tabla de verdad.

La tabla de verdad de la figura 12.3 muestra la posibilidad de controlar dos motores CC ( DC) en el mismo sentido de giro, con la diferencia de que M1 girará si la entrada A tiene un nivel BAJO, mientras que M2 girará si la entrada B tiene un nivel ALTO.

Control de giro con l293b

Figura 12.4 Control de giro en ambos sentidos de un motor eléctrico DC

Driver L293D

El driver L293D (figura 12.5) es similar al L293B, se diferencia fundamentalmente en su máxima corriente de salida y en la incorporación de los diodos de protección en cada uno de los cuatro amplificadores. Sus características principales son las siguientes:
  • Corriente de salida de 600 mA por canal.
  • Corriente pico de salida 1,2A por canal (no repetitiva).
  • Pines de Habilitación.
  • Alta inmunidad al ruido.
  • Fuentes de alimentación separadas.
  • Protección contra exceso de temperatura.
  • Diodos de protección incorporados.
Driver
                                            l293d

Figura 12.5 Diagrama de bloques del driver L293D

El L293D diseñado para recibir niveles TTL y alimentar cargas inductivas (relés, motores DC y PAP bipolares y unipolares) y transistores de potencia de conmutación. Este dispositivo se puede usar en aplicaciones de conmutación hasta los 5 kHz. Está encapsulado en formato DIP16 y sus cuatro pines centrales se han conectado juntos y se emplean como disipadores de calor.

Conexión del driver L293D al PIC

El control de giro de motores DC por medio del driver L293D se detalla en el siguiente ejemplo. También puede emplearse el L293B tomando en cuenta que se deben añadir los diodos de protección (pueden ser del tipo 1N4007) como se indica en la figura 12.4.

Ejemplo-MotorDC_01.c: Conexión típica de un motor eléctrico DC al PIC a través del driver L293D (figuras 12.6.1 y 12.6.2). El giro del motor está determinado por el estado de los pines RB0 y RB1 de acuerdo a la tabla 12.2. El pin RB0 determina el encendido o apagado del motor, mientras que RB1 controla el sentido de giro.

Tabla de
                                                verdad de control de giro con L293D
Tabla 12.2 Tabla de verdad del problema MotorDC_01.c

Control de motores CC / DC con L293D y PIC16F88

Figura 12.6.1 Circuito de control de motores CC (DC) con el L293D

//MotorDC_01.c
void main(){
OSCCON=0x60;                //Oscilador interno a 4MHz (TCI=1 us).
while (OSCCON.IOFS==0);     //Esperar mientras el oscilador está inestable.
PORTB=0x00;                 //Inicialización.
NOT_RBPU_bit=0;             //Habilitar las pull-up.
TRISB=0b11100011;           //RB<4:2> como salidas.
while (1){
 if (RB0_bit==0) RB4_bit=0;         //Motor desconectado.
 if (RB0_bit==1){
  if (RB1_bit==0) PORTB=0b00011000; //Giro a la derecha.
  if (RB1_bit==1) PORTB=0b00010100; //Giro a la izquierda.
 }
}
}
Temas relacionados que también encontrarás en este libro:
  • Motores paso a paso - PAP (Stepper / Stepping motor)
  • Motores PAP bipolares
  • Motores PAP unipolares
  • Configuración de las bobinas
  • Conexión de motores PAP bipolares al PIC
  • Conexión de motores PAP unipolares al PIC
  • Más ejemplos de programación