![]() |
microC®
Líder
en la programación de microcontroladores PIC
©2009-2012 |
|
Síguenos en
|
| Inicio | La empresa.
Contáctanos | Cómo
comprar nuestros productos | Ofertas | Recursos | Mapa del
sitio | |
Control de motores de corriente directa DC y paso a
paso PAP
|
|
Extracto del
Capítulo XII del libro Cómo programar en lenguaje C los
microcontroladores PIC16F88, 16F628A y 16F877A. 2da
edición. 2010
Regístrate aquí para descargar una muestra gratis de este libro IntroducciónLas aplicaciones
que tienen los motores eléctricos 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 eléctricos de
corriente continua convencionales y los motores
paso a paso (PAP) o stepper motor.
Controlador - driver L293BEl 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 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:
![]() Tabla 12.1 Valores máximos absolutos del driver L293B![]() Figura 12.1 Distribución de terminales 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 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). ![]() Figura 12.3 Control de motores 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 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.
![]() Figura 12.4 Control de giro en ambos sentidos de un motor eléctrico DCControlador - driver L293DEl 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:
![]() Figura 12.5 Diagrama de bloques del driver L293DEstá
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 PICEl 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 12.2 Tabla de verdad del problema MotorDC_01.c ![]() Figura 12.6.1 Circuito de control de motores DC (También para el PIC16F628A)//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:
|
|
Si esta información te ha sido útil entonces considera la posibilidad de hacer una contribución para microC. Tu apoyo es muy
importante para seguir adelante.
Muchas gracias. |