lunes, 19 de abril de 2021

ROBOT INTELIGENTE Y CONTROLADO POR INFRARROJOS


PROYECTO CON PIC 16F876A PARA CONVERTIR UN PROTOTIPO K-550 STEREN ® EN UN
ROBOT INTELIGENTE Y CONTROLADO POR INFRARROJOS.

Ing. Alfredo Segura

Hace tiempo, cuando incursioné en el mundillo de los microcontroladores, me vino la idea de hacer un robot con cierto grado de “inteligencia”. Así que me fijé en el prototipo de la marca Steren ® K-550.
 

Puse manos a la obra y lo primero que quité fueron las “patas” sustituyéndolas con ruedas. También eliminé la tarjeta original que tiene circuitos integrados de lógica combinacional TTL, que lo hace muy predecible en sus movimientos de fábrica. Yo lo necesitaba más dinámico, por ejemplo que tuviera sensores de “choque”, que lo hicieran retroceder y luego avanzar en la dirección opuesta al obstáculo. Que diera reversa en caso de estar atrapado en un callejón sin salida. Que tuviera un beep para avisar de un cambio de estado y finalmente que pudiera ser controlado con un dispositivo remoto por rayo infrarrojo, eligiendo algún Control Remoto de bajo costo y muy común en el mercado.

El resultado es el siguiente:

El PIC 16F876A se encarga de todas las actividades del robot. Sensa los Switches de “Choque” que están al frente del vehículo. No puse sensores en la parte trasera, pero algún entusiasta que retome este proyecto, podrá hacer las modificaciones que guste. Produce el Beep para el zumbador. Procesa la señal IR (infrarroja) del receptor VF838 y controla los 2 motores brush que vienen de origen junto con el sistema de engranajes para reducir la velocidad. Para producir un giro a la derecha o a la izquierda, los motores se pueden excitar, ya sea dejando uno sin funcionar y el otro activado, o bien ambos activados, girando en sentidos opuestos entre ellos, con lo que se obtienen giros más efectivos.

He usado 2 pilas de 3.6 VCD de iones de litio, extraídas de una vieja batería de laptop. Estas pilas tienen una gran capacidad de amperaje, y pueden darle vida al aparato por muchas horas. El total del voltaje es de 7.2 VCD, con los cuales se alimenta el Driver L293D (Puente H doble) que excita a los 2 motores. Para el PIC, he usado un regulador positivo LM78L05, pues no se demanda mucha corriente en el procesamiento.

La siguiente foto muestra la disposición de componentes:

Las ruedas en los ejes se disponen para que sólo una de las delanteras y sólo una de las traseras esté fija a su respectivo eje, mientras que las otras giran libremente. Esto facilita el giro del vehículo.

En el paquete de descarga, se encuentran el diagrama de conexiones del PIC con sus sensores, actuadores y demás componentes. Se proporciona el código en Cpp y *.Hex del PIC 18F876A, comentado debidamente para que algún entusiasta lo modifique a su gusto.

Por supuesto hay que hacerse del datasheet del PIC 16F876A para una mejor comprensión durante los experimentos y desarrollo de este proyecto.

Toda la placa es perforada y cuenta con su interruptor general de apagado/encendido (SW ON/OFF). También se han dejado 5 pines cerca del PIC16F876A para reprogramarlo cuantas veces sean necesario, y evitar desmontarlo de la placa. Por supuesto quedaría muy bien si se le fabrica su placa PCB.

El Control Remoto que yo he usado es in Mitzu-MRC-ZN4 que se puede encontrar en tiendas departamentales o tiendas electrónicas y es de muy bajo costo. Además es del tipo Universal, por lo que se le puede programar el código que más se adapte al entusiasta programador.

En un proyecto anterior que aparece en este mismo blog, se hace un estudio completo sobre la aplicación IR (infrarroja) con el sensor VF838 y un PIC, de tal manera que se puede analizar por analogía aquel proyecto para el desarrollo de éste.

En la parte inferior del vehículo, casi no hay cambios, excepto por la colocación de los Micro Switches con unos pequeños resortes para que luego de un obstáculo, los “para-choques” vuelvan a su posición original, luego de liberarse de un obstáculo.



Diagrama del Proyecto:

El Control Remoto Mitzu MRC-ZN4 se programa dejando presionada la tecla TV por más de 3 segundos hasta que el LED rojo quede encendido fijo. Entonces se introduce el código 923 (en mi caso). Al introducir el tercer dígito, se apaga el LED, quedando grabado ese código.

Se usan las teclas CH+ para avanzar el vehículo, CH- para retroceder, Vol+ para girar a la derecha, Vol- para girar a la izquierda, MUTE para detenerse. La tecla 1 para emitir una señal SOS telegráfica. Tecla 2 emite una “CQ” en telegrafía. Tecla 3, emite beeps cuya duración va disminuyendo. Tecla 4 girar constantemente a la derecha. Tecla 5 girar constantemente a la izquierda.

Todas estas funciones están almacenadas en el PIC16F876A y queda para el entusiasta hacer los cambios que crea adecuados. En el mismo código en C++ que está comentado, están explicadas todas las funciones.

La programación para el PIC la realicé en PCW (Pic Compiler for Windows) y el programador utilizado es el USP-3.0. Se puede usar cualquiera que se tenga a mano.

Espero que sea de su completo interés, ya que puede usarse para varias aplicaciones de control para otro tipo de aparatos electrónicos.


Mando utilizado.


PROGRAMAS


México, Abril de 2021


No hay comentarios:

Publicar un comentario