como construir un robot araña

Upload: alfred-maza-quinones

Post on 18-Oct-2015

47 views

Category:

Documents


0 download

TRANSCRIPT

Como construir un robot araa.Escrito por Antonio el 06/12/2006

INTRODUCCIN:Por inquietud de un amigo me propuse realizar un robot, ya que comenc a interesarme por el mundo de los microcontroladores de microchip, y viendo el gran rendimiento y versatilidad, vi posible este proyecto. Para comenzar adquir un poco de material y comenc el diseo de la parte electrnica y posteriormente de la mecnica, la cual me llev un par de das en decidir como funcionaria mejor y que elementos definitivos tendra que usar, al principio pens en usar motores DC, para que as en vez de patas tenga ruedas (que en realidad hubiese sido mucho mas fcil) pero bueno, me complique la vida queriendo usar servomotores de los que se usan en aeromodelismo/automodelismo por lo cual tuve que investigar como funcionan. Al cabo de un tiempo encontr informacin muy til que me dio muchas ideas no solo para este robot si no para otro tipo de aplicaciones. Cabe mencionar que como el estilo araa seria su forma final, tuve que nada menos que capturar una araa y grabar con una cmara su movimiento y as poder llevar ese movimiento a los 3 servomotores que utilice (cada servomotor mueve 2 patas, 6 patas en total).POR QUE USAMOS SERVOMOTORES:Una de las ventaja de los servomotores es su fuerza y que si se le esta entregando seal adecuada quedan en una posicin fija, y si tratas de moverlo el servo hace fuerza contraria para mantener su posicin en que se dejo (gran ventaja en comparacin a los motores DC y Paso a Paso.) la nica desventaja es que originalmente solo trabajan de 0 a 180 pero se pueden modificar fcilmente para que giren 360 y as se pueden utilizar como motores y se les puede controlar la velocidad y el sentido de giro.LISTA DE COMPONENTES NECESARIOS: 3 Reostatos de 1k. 4 Resistencias de 10k. 3 Resistencias de 1k. 3 Resistencias de 220 ohmios. 1 Regulador de voltaje 78m05. 1 Cristal de 4mhz. 1 PIC 16f84a (micro-controlador 84). 1 Integrado lm324n. 3 Leds. 3 Foto-celdas. 3 Servos FT-S148 (u otro de marca FUTABA con un torque de unos 3Kg). 4 Pilas AA. 1 Pila de 9V. 2 Capacitadores Cermicos 33pf (33 pico faradios). 1 Capacitador Cermico de 104f (104 faradios).CONSTRUCCIN DEL CHASIS Y LAS PATAS:Si alguien se anima puede mejorarlo, no solo construirlo igual a este. Para comenzar ir explicando por la parte mecnica para dar lugar ms tarde a la parte electrnica analgica y digital. Lo primero de todo son las herramientas necesarias para la construccin del chasis y un instrumento para medir en el caso de la electrnica, algunos de ellos se muestran en la siguiente foto:

Para la base del robot utilice un tubo de PVC estirado, obviamente un terciado delgado servira tambin u otro tipo de plstico no tan grueso, para as no aadir demasiado peso adicional. Corte un pedazo de PVC en forma de rectngulo de 15cm su lado mayor y el menor de 9cm y puse los servos de tal forma que sus ejes de movimiento estuvieran en linea recta y en la mitad del rectngulo como se muestra en la foto de ms abajo, adems de los orificios que se marcan y distribuyen cuando estos estn listos para ser montados, el detalle de los orificios no esta detallado ya que tienen que posicionarlos de manera uniforme en el rectngulo para mantener un equilibrio y estabilidad a futuro (mas adelante vern como son posicionados dentro de este rectngulo).

Como se puede apreciar solo hay dos orificios para los servomotores, esto se debe a que uno de los servos tiene que ir en forma horizontal como lo veremos mas adelante. Tambin hay unos cachos de plstico que soportaran el servo a una altura adecuada de la placa para que todos queden al mismo nivel cuando estn montados, estos son un rectngulo de 2cm por 1cm y como se ve en la figura son 4, adems de 8 tornillos con dos tuercas por tornillo que nos fijaran dos de los servos, el tercero se fijara con un amarra cable ya que es mas practico por su posicin en horizontal. Los tornillos son de 1.5mm por 1 pulgada. A continuacin mostraremos el servo con su cabezal redondo y el alambre que nos servir de patas para la primera parte, lo podis ver en la siguiente foto:

Como podis ver tenemos un trozo de alambre de unos 25 cm de largo por 1.5mm cuadrado de seccin, por cada servo se necesitan 3 tiras de esa misma medida ya que por firmeza tuve que agregarle esa cantidad ya que por el peso de este cuando esta terminado no era capaz de mantener rgidas las patas. El cabezal del servo tiene tres orificios por cada 90 y cada alambre se inserta de la manera mostrada en la siguiente foto:

Como podis ver en la foto ya esta ensamblado en uno de los 3 orificios falta que pase por el segundo y curvar el alambre para que tenga nuestra forma deseada:

Aunque no se ve muy bien debo mencionar que el alambre pasa por los dos orificios y sale por la parte delantera del cabezal. En la siguiente foto ya se ve terminado con sus tres alambres por cabezal y envueltos con hincha aisladora para darle rigidez.

En la siguiente foto ya esta montado en el eje con una de sus dos patas terminadas, as deben quedar dos de los 3 servomotores:

El 3 servo los alambres y posicin de estos deben quedar como se muestra en la siguiente foto:

Si se fijan bien en la foto de arriba este es el servo que ira en la parte del medio y sus alambres estn en otra direccin, este servo es el que se encarga de inclinar todo el cuerpo de la araa mientras los otros dos hacen que se desplace. Sin este servo no existe movimiento alguno ya que para poder avanzar hay que inclinar el peso hacia un lado para mantener el equilibrio y as poder alanzar con el otro pie, en este caso pasa algo similar, necesito inclinar el eje de equilibrio para que los dos servos restantes puedan hacer que la base completa se desplace. Como se ve en la siguiente foto ya tenemos los tres servos con sus respectivas cabezas y patas terminadas lista para ser montadas al final del proyecto cuando todo este en su sitio:

COMENZAMOS EL MONTAJE:En la siguiente foto se puede ver el primer servo en su sitio con sus tornillos y soportes de plstico pequeos, fjense que el eje de giro se encuentra en la mitad de la base marcado con una lnea:

En la siguiente foto tenemos ya montado el segundo servo, que se monta de forma igual al anterior:

En la siguiente foto se ve la parte superior en donde esta anclado el servo con sus tuercas que mantendrn el servo en su posicin:: En la siguiente foto se puede ver el 3 servo que va en forma horizontal con sus amarra cable como sujecin:

En la siguiente foto se observa con mas detalle el posicionamiento de los servos, observe que el servo que tiene el nmero 1 su cable de control ha sido pasado por el orificio que esta a un costado:

Aqu es importante que tengan cada servo enumerado como se puede ver en la foto de arriba, en una esquina el servo 0 en la otra el 2 y en el medio el 1 tambin se debe marcar el terminal de conexin del servo con el numero que corresponda, ya que esto nos servir para entender su conexionado posterior y para el que entienda de programacin sepa en el programa de movimiento que servo es el que se debe mover.LA ALIMENTACIN ELCTRICA:Para mover los servos usaremos 4 pilas AA de 1,5V. cada una y para la parte electrnica analgica y digital una pila de 9V. que limitaremos a 5V. con un regulador de voltaje.

Y no olvidis comprar tambin un porta-pilas para 4 pilas AA y un conector para la pila de 9V, como veis en al foto superior, as podremos posicionar dichos elementos ms fcilmente en nuestro robot, para sujetar la placa que contendr el circuito yo usar 2 gomas elsticas como podis ver en la foto:

EL CIRCUITO:Como podis ver ms abajo est el esquema electrnico que se encarga de verificar la fuente de luz, que en este caso usamos 3 sensores de luz para direcionar entre Izquierda, Centro y Derecha, y que son llevados al microcontrolador (16F84A) que se encargar de procesar y enviar las ordenes a los servomotores para poder hacer lo que se pretende, que es mover la araa en el sentido de la fuente de luz.DIBUJO DEL CIRCUITO AQU (Pulsa aqu para verlo)En el dibujo de arriba esta detallada cada seccin de todo el conjunto, la parte Analgica que se encarga de enviar la seal al microcontrolador (Control digital) su fuente de alimentacin y regulacin y finalmente la parte de potencia que son los servomotores. Voy a explicar cada una de ellas para que entiendan como funciona cada parte del circuito. Comenzando con la parte analgica vemos en el costado izquierdo superior que tenemos 3 LDRs que nos darn la posicin de la fuente de luz, y son puestos en un circuito integrado que esta configurado como comprobador de voltaje y que para un LDR entendemos que: Al aplicarle luz a la foto resistencia su valor disminuye ingresando por la entrada negativa del operacional un valor que se compara por el de la resistencia variable de 1k ohm cuando este valor es igual a la salida del operacional tenemos un alto (3,3V. aproximadamente) y cuando no existe luz este valor de voltaje es diferente por el cual la salida de ese operacional es de 0 Voltios. A la salida de cada operacional se conecta diodos LED que se encargan de avisarnos el estado de las entradas y as poder verificar y ajustar con las resistencias variables de 1k ohm el valor de luz o mejor dicho la sensibilidad a la luz que queremos que funcione nuestro robot, si se encuentra encendido algn led es por que esta llegando luz de alguna fuente del ambiente, para dejarlo apagado solo se tiene que ajustar la resistencia de 1k ohm hasta que se apague. Debo mencionar que estos indicadores deben estar apagados en un comienzo para as al aplicarles luz comience a funcionar el robot segn la direccin del rayo de luz. Aqu podemos sacar en conclusin que para los 3 LDRs tenemos 8 posibles combinaciones que nos darn los diferentes estados que sern procesados por el micro-controlador, esta tabla se muestra en la siguiente imagen:

Ya sabemos que el 0 corresponde a un 0 lgico y los 3,3V. a un 1 lgico por lo que tenemos una tabla con todas las posibles combinaciones y su respectivo movimiento que llevara a cabo finalmente. En la parte de control Digital se toman estos valores y segn nuestra tabla, se le enviaran las seales al servo que corresponda para hacer un movimiento en particular, y para entender que tipo de seal se le debe enviar, detallare a continuacin como funciona un servomotor:

Como se muestra en la figura y como mencion anteriormente el servo tiene una movilidad de 180 y funciona con lo que se conoce como modulacin por ancho de pulsos o PWM. Osea este servo que es de la marca FUTABA de Radio-Control, funciona a 50Hz, o sea en un segundo le son enviados 50 pulsos, y con un simple calculo se puede dividir 1/50 y nos dar 20miliseg el ancho de pulso se utilizara para el trabajo del movimiento de este: Osea trabajando en este pequeo intervalo, podemos poner en un ngulo a nuestro antojo el servomotor y que se quede all hasta que cambiemos ese pulso por otro. Para 0 tenemos que tener un pulso de 0,2 mili segundos y el resto un pulso bajo hasta los 20 mili-segundos, esto repetidamente 50 veces nos da los 50 Hz y por consecuencia el servo en la posicin 0 como se muestra en la figura. Para 90 tenemos que aplicar un pulso de 1,5 mili segundos y el resto en pulso bajo hasta los 20 mili-segundos, esto repetidamente por 50 Hz nos dar la posicin 90, tambin mostrado en la figura. Y para 180 tenemos que aplicar un pulso de 2,2 mili segundos y el resto en pulso bajo hasta los 20 mili-segundos, esto repetidamente por 50 Hz nos dar la posicin 180. Para este caso en particular se uso como centro 90 y se calcularon matemticamente los pulsos para 66,5 y 112,5 que sern los 3 ngulos usados para que camine nuestra araa.En el programa en ASM se detallan los tiempos de estos pulsos como asi las rutinas usadas para el movimiento podis verlos en este documento de texto:Programa Robot.txtDebo mencionar que para aumentar la rapidez entre servo y servo en vez de repetir 50 veces el movimiento por servo lo disminu a 8 y para centrarlo a 13 veces. No pretendo explicar el programa ya que seria muy largo, pero bien resumido el programa analiza los niveles lgicos de los sensores LDR que son 8 para as ejecutar una rutina de movimiento X y as poder llevar los 3 servos en una direccin X, este movimiento esta comprobado y posteriormente ser puesto un vdeo con su desempeo.

Aqu mostramos el ensamble de la parte analgica en un protoboard y que usa el circuito integrado para llevar la informacin de los LDR a niveles lgicos que el micro-controlador procesara a futuro, tambin estn las LDR los Diodos LED que indicaran cuando se este alumbrando cada LDR.

Aqu se encuentra ensamblado el circuito digital de proceso con su micro-controlador y sus accesorios como la pequea regleta de conexionado donde irn los servos conectados, y la fuente regulada que se encarga de pasar los 9 volt a los 5 volt de trabajo del Micro-controlador y que tambin ser usado para la parte analgica

Aqu ya esta ensamblado los dos protoboard y unidas las seales de control como las fuentes tal como salan en el esquema del circuito. solo queda ponerlo sobre la base y conectar los servos como se muestra en la siguiente Figura. Un de talle importante es que la parte que tiene los sensores (LDR), debe ir sobre el servo con la numeracin 0.

Aqu ya esta ensamblado casi por completo el circuito.

Solo nos queda colocar en su posicin cada pata de nuestra araa (Ver siguiente Figura.).

Y ya estamos listos

Ya esta terminada nuestra araa solo queda programar el Micro-controlador con un programador para PIC y ver si responde a nuestro mandato de luz.Espero la disfruten! Aqu tenis un vdeo en el que se puede ver como reacciona a la luz:

Mostrando la parte analgica en funcionamiento.ACTUALIZACIN:Mejorando algunas rutinas, perfeccionando el movimiento y acelerando el tiempo de movilidad entre servo y servo, logre un mejor desempeo en cuanto a su movilidad. Con este nuevo programa mi robot quedo mas gil y gira con mayor facilidad, aqu lo tenis:Programa Robot2.txtY aqu un vdeo de la araa con el nuevo programa: