Robot Programable: Diagrama Básico en Bloques

El robot programable de nuestras clases posee un microcontrolador PIC16F876A como centro de control, un integrado L293D de manejo de potencia para los motores y circuitos auxiliares.

En el momento de introducir la programación al robot se inserta un módulo de comunicación USB/USART que convierte las señales de nivel USB que salen de la PC al nivel TTL utilizado en el microcontrolador.

Diagrama básico en bloquesDiagrama en bloques

La comunicación se establece entre un programa de carga de datos en la PC y el módulo de comunicaciones serie del microcontrolador (USART o Universal Serial Asynchronous Receiver / Transmiter = Receptor / Transmisor Asincrónico Serie Universal), que es controlado en el microcontrolador por un pequeño programa de carga de datos llamado «bootloader«, o cargador inicial.

Este programa se ocupa de tomar los datos que componen nuestro programa a través del puerto serie del microcontrolador (USART), y grabarlos en la memoria de programa. Describiré con más detalles este proceso en el próximo artículo.

En este caso, el microcontrolador PIC16F876A trabaja a una velocidad de reloj de 4 MHz (puede hacerlo hasta 20 MHz). Esto lo determina un cristal conectado a sus patas de oscilador. El cristal, como es habitual, tiene dos capacitores auxiliares en su circuito. Para los observadores, en la imagen que sigue verán otro chip (el que maneja la corriente de los motores), un regulador de voltaje, capacitores y resistores auxiliares, una llave de encendido (de color negro), una llave de reinicio (de color rojo), y hacia la parte baja de la imagen un conjunto de pequeñas llaves deslizantes (llamado DIP switch, también de color rojo y con las llavecitas en blanco) que utilizo para ingresar indicaciones al microcontrolador. Estos indicadores se pueden comprobar en el programa a través de unas entradas y seguir, según su posición, diferentes acciones. En un principio, con las primeras 6 llavecitas se eligen partes del programa que realizan diferentes secuencias de movimiento.

En las imágenes que siguen se puede observar el montaje del robot a nivel de prueba (con plaqueta base de prototipo, o protoboard), primero con la conexión USB-USART inserta, luego el robot libre (tal como funciona al ponerlo en marcha), y el mismo montaje visto de abajo.Robot con cable
Robot sin cable
Robot de abajo


Esta imagen muestra de cerca la parte de circuito de control.

Detalle del área del controlÁrea de control

En la imagen de abajo se observa un detalle del área del microcontrolador, el cristal con sus capacitores, y la llave que se utiliza para reiniciar (reset) al momento de programar o de reponer el funcionamiento del robot a sus condiciones iniciales.

Detalle del área del microcontroladorÁrea del microcontrolador

El microcontrolador maneja los motores derecho e izquierdo utilizando un amplificador de potencia L293D. Las señales de control son 4, dos para cada uno de los motores, y permiten seleccionar tres estados: marcha adelante, marcha atrás y detención.

Detalle del L293D y su conexión con el microcontrolador.Área del control de motores

El arranque de los motores puede generar bajones de tensión en los 6V que aportan 4 pilas recargables tamaño AA de 1,5V. Por eso entre las pilas y la alimentación del microcontrolador se insertó un regulador de voltaje LM2940CT-5.0 que lleva los 6V a 5V, y que tiene a su salida un capacitor electrolítico de alto valor que ayuda, con su carga, a mantener estable el voltaje de la parte de control en los momentos en que los motores producen bajones de tensión al arrancar. La parte de los motores se alimenta directamente con 6V, en la etapa previa a la regulación.


En la imagen, un detalle de la parte de regulación de voltaje.Área de regulación de voltaje

El microcontrolador recibe su programación a través de dos señales, RX, o recepción, y TX, o transmisión. Esto configura la comunicación serie entre el microcontrolador del robot y el programa en la PC que envía los datos a programar.

Detalle de la conexión entre el módulo adaptador entre el puerto USB de la PC y el puerto USART del microcontrolador.Área de interconexión con la PC

El módulo tiene 4 contactos enchufables, y se desenchufa para operar el robot dejándolo moverse libremente.

Se observan en el circuito unos pequeños capacitores azules de 0,1 uF, llamados capacitores de desacople, que sirven para filtrar los ruidos de alta frecuencia producidos por las chispas de las escobillas de los motores, que podrían interferir con el funcionamiento del microcontrolador.

La imagen señala la posición de estos capacitores.Capacitores de filtro

Aquí se observan una cantidad de módulos comerciales de adaptación
del puerto USB de la PC al puerto USART de un microcontrolador.
Módulos

Continuaré con más detalles de circuito y de programación en los próximos artículos.