domingo, 1 de marzo de 2009

Programación de robot seguidor PICAXE

A continuación se pueden ver una sencilla versión del programa necesario para el robot seguidor de linea realizado a partir del PICAXE 08M. En este modelo de robot se pueden utilizar simultáneamente dos motores y un servo, sin necesidad de cambiar los puentes establecidos.

Dado que el robot está diseñado para seguir una linea blanca sobre fondo negro, se dice que utiliza lógica negativa, ya que entendemos que detecta la linea blanca cuando los sensores de infrarrojos no envian ninguna tensión al microcontrolador, ya que no se produce ninguna reflexión sobre el blanco de la linea.

Modificando el programa se podría usar el robot para seguir una linea negra sobre fondo blanco. De esta forma diríamos que el robot usaría una lógica positiva.

Para modificar la sensibilidad de los sensores de infrarrojos se puede variar el valor de las resistencias correspondientes o también se puede modificar la separación entre estos y la superficie sobre la que se mueve el robot, subiendo o bajando el tornillo que ejerce de rueda loca. Para evitar reflejos indeseados de la luz ambiente se puede colocar una pequeña pantalla que proteja los sensores.

El esquema de pines del PICAXE 08M es el que se muestra en el siguiente cuadro. En la primera columna se indica la denominación genérica de cualquier circuito integrado y en la segunda la numeración que establece PICAXE para estos pines.

Vista del PICAXE 08M con la indicación de la utilización de sus pines.

Para la realización del programa de control se utilizan comandos condicionales.

Las condiciones son las siguientes:

1.- Cuando los dos sensores detectan la linea (if SI = 0 and SD = 0), el robot ha de seguir una trayectoria recta. Esto implica que tanto el motor derecho como el izquierdo han de girar de forma simultánea y en el sentido de avance (MI = 1 y MD = 1).

2.- Cuando la linea es detectada solamente por el sensor de la izquierda (if SI = 0 and SD = 1), el robot ha de girar hacia la izquierda, por lo que el motor de la derecha habrá de avanzar y el de la izquierda parar (MI = 0 y MD = 1).

3.- Cuando el único sensor que detecta la linea es el derecho (if SI = 1 and SD = 0), el robot habrá de girar hacia la derecha, es decir, el motor izquierdo avanzará y el derecho parará (MI = 1 y MD = 0).

Si no se cumple ninguna de las condiciones anteriores el robot continúa con la acción que había iniciado anteriormente. Digamos que recuerda lo que estaba haciendo antes.

Este es el esquema de las condiciones anteriores.

El programa listado sería este. Los colores se muestran tal como aparecen en el editor PICAXE. Este software es necesario para crear el programa y cargarlo en el microcontrolador mediante un cable para el puerto serie.

Los comandos symbol asocian nombres a los pines de entrada y salida del PICAXE. El nucleo del programa se repite continuamente entre los comandos do y loop. Las tres condiciones se comprueban mediante los comandos if (Condición) then (Acción a ejecutar si se cumple la condición) y end if (Final de la comprobación).

El comando high pone en valor alto una salida a través de un pin del PICAXE (En nuestro caso pone en marcha un motor) y el comando low pone en valor bajo una salida (En nuestro caso detiene el motor).

7 comentarios:

Alejandro Manrique dijo...

amigo el pregrama que se muestra en la imagen esta completo me gustaria saberlo gracias

Cándido dijo...

Se trata del programa completo. Es así de simple. Un saludo.

Alejandro Manrique dijo...

otra pregunta el programa no necesita nada mas donde se configure el color de la linea a seguir o algo asi le agradeciria si me puede enviar el programa completo en el formato del editor picaxe de ser posible o como se le facilite a usted a mi correo da.ko37@hotmail.es

Gracias de antemano.
espero su respuesta

Cándido dijo...

El programa esta realizado para una pista con el fondo negro y la linea blanca.

geraldol dijo...

de que material es el fondo y de que material esta hecha la linea??

cesar abril dijo...

candido quisiera saber si me puedes faciliar los esqumas de construccion de tu seguidor de linea gracias

Cándido dijo...

Cesar entra en el enlace que hay al principio de la entrada, allí lo aclara.