Lisa es un pequeño Robot diseñado para salir de un laberinto.
Existen muchas competiciones que cuentan con esta prueba dentro de
sus categorias,puedes ver algunos videos de estas pruebas aquí
Algunas de estas competiciones necesitan que el robot sea capaz de seguir una linea negra que va guiando el recorrido, por ello nuestro robot debera ser capaz de hacer esto.
Además de lograr estos objetivos, yo, a nivel personal, me he propuesto algunos más:
- Modular, de tal forma que se puedan añadir
con facilidad nuevas funciones ( Control Remoto, usarlo como
explotador.. etc) sin tener que hacer grandes modificaciones en el
hardware ya existente.
Como por algun sitio hay que empezar, empezaremos controlado los motores que propulsarán el robot
Una de los puntos importantes a la hora de diseñar un robot es pensar como va a ser la propulsión del
mismo, existen multiples configuraciónes que se pueden usar, un o dos motores de propulsión y otro que
controle la dirección, dos motores independientes y una "rueda loca"... también se pueden usar distintos
componentes para ello, servomotores,motores de corriente continua, motores de paso a paso... Puedes
encontrar información sobre estas configuraciones en este tutorial
En el caso que nos ocupa, LISA tendrá dos motores de corriente continua que se controlan de forma independiente
y una tercera rueda "loca", esta configuración se conoce normalmente como "configuración de triciclo".
Para girar de dirección una rueda girara hacia delante y la otra hacia atrás. Esta forma de moverse
cumple dos objetivos que se pusieron al Robot, es sencillo y barato.
Me pareció que el mejor sitio por el que empezar a construir el
robot era por la placa que controlara los motores que impulsaran el
robot.
El circuito de control se basa en el integrado L293, puedes conocer a fondo este
integrado en el tutorial correspondiente.
Usaremos este integrado para controlar los dos motores, utilizando este circuito:
Para que todo funcione, es necesario dotarlo de energia. Este circuito regulará la tensión de
entrada (ya sea desde una bateria o mediante un transformador). Vamos a dotarle de dos salidas,
una de ellas a 5V para la electronica(sensores,integrados y arduino) y la otra para los motores.
Pero cada componente necesita un voltaje distinto para funcionar.
Casi todos los integrados necesitan funcionar a 5V, pero lo motores
necesitan algo mas de energía para funcionar ( empiezan a tener fuerza
y estar fluidos de movimiento a partir de unos 9V) Ademas, conviene
asegurarse de que la electricidad que les suministramos este siempre en
unos valores correctos y estables.
Para lograr esto, haremos pasar el voltaje entrante por reguladores,concretamente
un 7805 y otro 7809. De esta forma tendremos una salida de 5V y otra de 9V tal y como queriamos.
En este caso, el chasis del robot sera sencillo a mas no poder-
cumpliendo los objetivos propuestos al comienzo.- se trata, simplemente
de una placa de metacrilato.
Redondeamos un poco los bordes
Un agujero para pasar los cables, y un par mas para fijar los finales de carrera:
Y por ultimo algo de sitio para colocar los sensores y el servo:
Ya solo falta atornillarlo todo, cablearlo, y fijarlo:
Los sensores CNY70 que colocaremos en LISA son los que nos permitirán seguir una
linea en el suelo (Generalmente, linea negra sobre fondo blanco.)
Estos sensores tienen una visión muy limitada, del orden de mm, dependiendo de la luz
ambiental y la alimentación del Led. Si quieres información más detallada sobre estos sensores,consulta el tutorial sobre los CNY70
Hay muchas formas de conectar un CNY70, su montaje tipico seria el siguiente:
Con lo que tenemos hasta ahora ya podriamos hacer que el robot se mueva e incluso que lo haga
siguiendo una linea en el suelo. Pero la función de LISA es salir de un laberinto, para eso tendemos
que dotar al robot de algun tipo de visión que le permita saber si se ha topado con un callejon
sin salida y por donde tiene via libre para seguir.
¿cómo hará LISA esto?
Muy sencillo, con el sensor de ultrasonidos irá tomando lecturas de lo que tiene delante, mientras
tenga sitio para seguir, avanzará recto. En el momento en el que se tope con un algo que le impida
el paso, entrará en acción el Servo que soporta el sensor.
El servo girará para permitir mirar a ambos lados si encontramos camino abierto a la derecha
ordenaremos a los motores que nos hagan girar en esa dirección. Si la ruta estuviese a la izquierda
ordenariamos el giro contrario.
Nuestro servo es un S3003 adquirido en eBay. Si deseas conocer las posibilidades que ofrece la libreria
de servos de Arduino, hay un tutorial aquí
Negro: GND
Rojo: 5V
Blanco: Cualquier pin PWM de Arduino, en mi caso me decante por el 2.
Todo el conjunto va a estar controlado por un Arduino Nano. Este leerá he interpretará
la información de los sensores y tomará la mejor decisión basandose en lo que le hayamos
programado previamente. Enviando entonces la correspondiente orden a los motores mediante
nuestro circuito de control de motores.
Para facilitar la conexión, hemos colocado el Arduino en una pequeña placa con una tira
de pines en la que podemos conectar los cables facilmente: