Proyecto FireFly.



Hoy ha llegado el paquete de servos y baterías para el hexápodo desde china (ha tardado seis días y sin aduanas) y por tanto me he pasado la mañana montandolo que ya tenía ganas de hacerlo desde noviembre que llevo con el esqueleto... El bautizo del hexápodo ha sido fácil, robot de seis patas que pretende imitar a un insecto y lleva un par de leds RGB de 3W para producir colores, y firefly (luciérnaga), escarabajo de seis patas que emite luz, lo de volar ya se solucionará por soft... (según la wikipedia las hembras no vuelan así que es niña).

Con los servos me la he jugado totalmente (espero que funcionen bien) ya que los he comprado en China y por un 20-30% más de lo que me han costado podría haber comprado los Hitec que todo el mundo usa para hacer estos robots, pero me he decidido por los chinos ya que son digitales frente a los Hitec que son analógicos y tienen bastante más par, 9.6 Kg-cm los Hitec frente a 15.8 Kg-cm. Además los he visto que los venden en bricogeek.com link servo, por 37.90+IVA y es algo más que el precio de Hitec que llevan los hexápodos en las tiendas de aquí. Comprandolos en china salen a $33 el servo, llegan en 5-6 días y las dos veces que he pedido a esta tienda no me han metido aduanas, por lo que supongo que es el mejor sitio para comprar este tipo de cosas en cantidades elevadas (lo gastos de envio han sido $50 en un pedido de $650), link a la tienda china

También he aprovechado para comprar en esta tienda las baterías lipo y el cargador (ésto ha ayudado a comprar los servos chinos) que aquí unas baterías similares cuestan demasiado, las baterías que va a llevar el robot son dos lipos de 5000 mAh y 7.4V con una descarga de 20-30C por $20 cada una, lo que proporciona en conjunto una batería de 10 Ah que espero que de una buena autonomía al robot, aunque pondré especial cuidado en leer el estado de la batería desde el robot y añadir electrónica para evitar que FireFly se convierta en FireBall. Además las baterías encajan a medida en la parte de debajo del robot, lo que hace que sean ideales. Link a la batería, link al cargador.

El objetivo del proyecto (además de crear el cuerpo del robot hexápodo) es aprender a usar la familia de los AVR, al ser un proyecto muy extenso se tocarán la mayoría de los periféricos y características del AVR ATMEGA1280, el que viene con la placa de Arduino Mega ideal para este proyecto por un número elevado de pines de I/O, 70 disponibles en total, 128k de memoria de programa y 8k de ram, además de una arquitectura muy superior a la de los pics de 8 bits, ya he empezado a meterme con el datasheet y la verdad es que hay muchas diferencias a favor de los AVR, ya compararé cuando tenga más conocimientos de estos micros.

En principio se va a empezar el cuerpo del hexápodo con una cabeza simple (si llega a buen fin ya se pensará en otra cabeza) con sólo un servo y un par de sensores de distancia (infrarrojo y ultrasonido), los módulos/pasos que tengo intención de hacer son en orden los siguientes:

- Puertos digitales AVR (hecho). 
- LCD 4x20 (hecho).
- Interrupciones externas AVR, crear un interfaz para el micro, entradas 3 pulsadores y un potenciometro, salida LCD 4x20. (Iba a terminarlo hoy pero llegarón los servos, para mañana si tengo tiempo o esta semana si tengo algún rato).
- Servomotor, control y destriparlo. Conversor analógico digital AVR para el potenciometro anterior.
- Led RGB, control luminosidad. PWM AVR.
- Sensor Infrarrojo.
- Sensor ultrasonidos por I2C. TWI AVR.
- Control de 24 servomotores mediante placa Arduino Mega. Interrupciones, timers AVR y lo que sea necesario.
- Comunicación con el PC a través del FTDI. USART AVR.
- Comunicación inalámbrica con PC a través de un integrado para tal fin de 2.4GHz con un interfaz SPI. SPI del AVR.
- Lectura y control del estado de la batería.
- PCBs para conexión de servomotores.
- PCBs para drivers de los LEDS.
- PCB para el interfaz físico (LCD y diversos botones).
- PCB circuito de lectura de la batería.
- Aplicación en el PC desde linux para controlar el hexápodo de manera inalámbrica.
- Primeros pasos del robot...

En cada paso se estudiará la parte necesaria de los AVR para su realización, en principio todo en C (sin usar el entorno del Arduino) con el WinAVR aunque también habrá que mirar el ASM, el proyecto cubre la mayoría de necesidades que podemos tener en un proyecto de robótica, como en el uso de timers, interrupciones, conversor ADC, PWM, comunicaciones USART, SPI, I2C, crear una aplicación para controlar el robot desde el PC, uso de sensores, etc..

Supongo que me dejo alguna cosa de las que tenía pensadas, ya las ire añadiendo y poniendo las ideas nuevas, evidentemente es un proyecto muy largo por lo que poner fechas es tontería, además depende del tiempo libre que se tenga... y los MiniZ Cosmobot 2010 me parece que van a ser los de este año XD.

El precio de comprar un robot de este tipo por piezas y hacerselo uno mismo no es menor que el de comprar un robolid por ejemplo, yo diría que el precio de todo el material que se necesite va a ser más o menos igual que el de comprar un bípedo o biolid, estimo que el coste total del hexápodo una vez terminado estará sobre los 700-800 euros que es lo que suele costar uno de los robots anteriores (esto de hacer robots es muy caro =(), la diferencia es que aquí hacemos nuestro robot desde cero y a nuestro gusto y tenemos que enfrentarnos a todos los problemas de electrónica, mientras que en el otro obtenemos una plataforma ya hecha que sabemos que va a funcionar a la perfección y que debemos programar, las dos opciones son buenas y a cada uno lo que le guste. Haciendolo nosotros aprenderemos mucho más pero también necesitamos mucho más tiempo.

Bueno por último unas fotos de la base del robot, las baterías van metidas entre el esqueleto y parece que ese va a ser su sitio final. La cabeza va a ir elevada sobre el cuerpo y los leds por debajo uno delante y otro detrás. Para mayor detalle clicks en las fotos.









Para cualquier comentario, sugerencia:

blog comments powered by Disqus