lunes, 30 de junio de 2008

Robot dibujante

Este robot fue contruido por Francisco Muñoz Martos durante el curso 07 - 08, como práctica de su trabajo de investigación sobre robots. Este robot realiza dibujos geométricos sobre un papel. Puede dibujar triángulos, cuadrados y hexágonos. La punta del lápiz que genera las figuras geométricas se encuentra situada en el centro del eje que une las dos ruedas principales.

El robot tiene una disposición de triciclo, con dos ruedas motrices traseras y una rueda loca delantera.

A continuación se pueden ver unos croquis con las medidas principales. Se ha construido de forma que la distancia que separa las ruedas principales sea la misma que la correspondiente a su diámetro (6,4 Cm).

Vista del alzado del robot.

El robot esta formado por cuatro bloques: la estructura, el sistema de tracción, los portapilas y el circuito electrónico.

El circuito electrónico es una placa PICAXE CHI035 que dispone de 8 entradas para sensores y 8 salidas, cuatro de ellas de gran potencia.

Vista de la placa sin el microcontrolador PICAXE-18 (PIC16F627) y el controlador para los dos motores L293D.

Vista de conjunto del robot. Se utilizan dos portapilas, uno de ellos alimenta los motores de tracción y el otro (El inferior) el circuito microcontrolador.

Vista superior del robot. Se pueden ver los dos interruptores que permiten la alimentación del microcontrolador y de los motores.

Vista de la tarjeta electrónica y de los interruptores.

Vista de la situación del lápiz entre las dos ruedas principales.

El mecanismo de transmisión está formado por una rueda dentada unida a las ruedas principales mediante cuatro tornillos. Sobre esta rueda dentada se mueve un tornillo sinfín unido directamente sobre el eje del motor eléctrico.

Sobre la cara interior de las ruedas se han pegado unos discos de papel con seis sectores negros y seis sectores blancos intercalados. Estos discos permiten detectar el movimiento de las ruedas y la cuantía de este movimiento. Es lo que en términos técnicos se llama un “encoder“.

Vista de uno de los discos distribuidos en sectores blancos y negros.

Esquema que permite ver el movimiento de las ruedas y el del robot.

Vista de la sujección del eje fijo sobre los soportes del chasis.

Vista de los detectores de infrarrojos que detectan el paso de blanco a negro, y viceversa, en los sectores de las ruedas.

Esquema de las conexiones entre el detector CNY70 y las dos resistencias.

Vista de la colocación del detector CNY70.

Antes de pasar a listar el programa que controlará el robot realizamos un diagrama de flujo.

Al iniciarse el programa (star) espera tres segundos y pasa a ejecutar la función ”orden” que da paso a “giro”, solamente si pasa (Menos de un segundo entre pasada) de un sector blanco a uno negro un número de veces igual al número de lados de la figura, y se espera un segundo. En “giro” se reinicializan las variables para pasar a “preparaciongiro”, “procesogiro” y “avance”.

Para preparar el giro es necesario que la rueda interior en el dibujo retroceda primero un paso. En “procesogiro” los motores mueven las ruedas en sentidos diferentes. Si una rueda avanza un paso antes que la otra, esta se esperará hasta llegar a la posición final y retornará a “giro”.

Después, “avance” también reinicia las variables, ejecuta “preparacionavance” y “procesogiro” y vuelve a “giro” cerrando el bucle. En “preparacionavance” la rueda interior tiene que avanzar un paso y volver a “avance”. En “procesoavance” las ruedas giran en el mismo sentido y, de la misma manera que en “giro”, si una rueda se adelanta a la otra, esta se parará, al igual que si hubiese llegado a su destino, finalizando el programa si llega al número de lados adecuados a la figura.

Las variables b0 y b1 se utilizan para memorizar el valor de los sensores, b4 guarda el número de pasos que han de pasar los sensores durante el giro, b5 indica el número de lados de la figura, b6 y b7 se utilizan para guardar el intervalo de los valores del sensor de la rueda interior del dibujo y b8 y b9 per la rueda exterior.

A continuación se puede ver el listado del programa.

Que continua de la siguiente manera.

Esta es la parte final del programa.

No hay comentarios: