Software de micro-osciladores portado al ATmega168 de Atmel

blog-micro-osciladores-atmel-prot1
He comenzado a portar el software de micro-osciladores al micro ATmega168 de atmel. Hasta ahora lo tenía sólo para los PIC16F876A. Para las pruebas iniciales he usado un arduino nano, una protoboard, un módulo MY1 y cuatro pilas AA. En este vídeo podéis ver al módulo oscilar:

[youtube]http://www.youtube.com/watch?v=dD2Uwq1R-vo[/youtube]

Las fuentes del programa están disponibles en este repositorio.

Aunque todavía queda mucho por mejorar, cualquiera que tenga un Arduino o una placa con un micro ATmega podrá implementar la locomoción de robots modulares de manera muy fácil. ¡Pruébalo! 😉

Obijuan

Micro-osciladores 0.3

blog-micro-osciladores-logo1

Hemos liberado la versión 0.3 de los micro-osciladores. Es el software que se ejecuta en un pic16f876a y que controla la oscilación de hasta 8 servos futaba 3003 o compatibles. Con estas oscilaciones se logra que los robots modulares con topología de una dimensión puedan desplazarse.

Las mejoras con respecto a la versión anterior son:
* Optimización del código
* Periodo de muestreo fijado a 20ms, que es lo mínimo posible para servos Futaba
* Mejorado el funcionamiento: las oscilaciones ya no dependen del número de servos funcionando
* Adaptación a la tarjeta Skycube
* Ejemplos de movimiento de los robots Cube Revolutions, Hypercube y Minicube-II.
* Control de los osciladores desde el PC

Los osciladores pueden funcionar de manera autónoma o bien controlados desde el PC. Esto es muy útil para aprender su funcionamiento y ver cómo afectan los diferentes parámetros a la locomoción de los robots (esto lo usaremos en los talleres de robots modulares).

Hemos desarrollado un programa en python que se comunica con el servidor de oscilaciones. Es muy útil porque se puede usar el modo interactivo del interprete de python para hacer pruebas, como se muestra en el vídeo:

[youtube]http://www.youtube.com/watch?v=PnMehYqtwTY[/youtube]
(Enlace directo al vídeo)

Este es el script python con los comandos usados en el vídeo:

import libStargate.Oscillator
o=libStargate.Oscillator.Open_session("/dev/ttyUSB0")

#-- Activar los osciladores 1, 2 y 3
o.on(1)
o.on(2)
o.on(3)

#-- Parar oscilador 2
o.off(2)

#-- Llevar servo 2 a 45 grados
o.pos(2,45)

#-- Llevar servo 2 a -45 grados
o.pos(2,-45)

#-- Deshabilitar servo 2
o.disable(2)

#-- Deshabilitar resto de servos
o.disable(1)
o.disable(3)

En las próximas versiones se completará la interfaz para establecer los parámetros de oscilación: velocidad, amplitud, fase y offset.

Obijuan

Monolito 1.0: Biblioteca de componentes para Kicad

blog-monolito-logo
Hemos publicado la versión 1.0 de Monolito, una biblioteca de componentes para Kicad. Esta versión incluye todos los componentes de la Skypic 2009, que ya han sido validados en fabricación.

Mi motivación personal es la de fomentar el que se realicen diseños de hardware libre2 para fabricación industrial. Por eso, Monolito sólo contendrá componentes que ya han sido validados en fabricación. La primera versión de Monolito se creó en el 2005, para la realización de la tarjeta Freeleds. Ahora se ha ampliado con los componentes de la Skypic y pronto con los de la Skycube.

blog-monolito_10-3d-1

Actualización: Ya está liberada la versión 1.1, que incluye los componentes de la Skycube

Obijuan

Venta de PCBs de la skypic 2009: ayúdanos a financiar el hardware libre

skypics-2009-pcbs
Para el desarrollo del hardware libre no sólo es necesario emplear tiempo en el diseño, sino que hay que invertir dinero en la fabricación de los circuitos impresos para comprobar que funcionan correctamente.

Para validar la nueva Skypic-2009, hemos sacado una tirada de 25 PCBs en ELATE, SA.

Queremos que participes con nosotros en la financiación del hardware libre. Para ello podremos a la venta una edición limitada de 20 Pcbs de la Skypic 2009 al precio de 10€ (+ 2€ de gastos de envío).

Además del PCB, pondremos tu nombre en la página de la Skypic para que figures como uno de los impulsores del hardware libre.

Los interesados enviad un correo a juan@iearobotics.com e indicad vuestros datos para el envío. Los pagos se harán mediante transferencia bancaria.

Esperamos vuestra colaboración para ayudarnos a seguir desarrollando hardware, software y robots libres. Muchas gracias 🙂

Obijuan

Skypic 2009 (I): PCB industrial

skypic-2009-pcb-verde1
Esta semana hemos recibido la primera tirada de PCBs industriales de la tarjeta Skypic 2009. Como ya habíamos dicho en entradas anteriores, la Skypic 2009 es similar a la Skypic pero migrada al Kicad, por lo que es Hardware libre sin restricciones. Andrés la ha catalogado como Hardware libre 2, ya que es libre y está diseñada sólo con herramientas libres.

skypic-2009-pcb-kicad1

Lo siguiente es soldar un PCB para validarlo y si todo está en orden, esta versión se congelará y se colgará toda la información en la página oficial de la skypic. Ahora de momento podéis acceder al repositorio para descargar los planos. También encontraréis más fotos en este álbum.

La fabricación la hemos hecho en Elate, S.A. La tirada inicial de pruebas ha sido de 25 unidades.

Obijuan

Publicado curso de programación del PIC16 en C

portada-curso-pic16

Hemos publicado el “Curso de programación del PIC 16 en C” que dimos en Junio de 2009 a personal de la Administración Pública. De momento está publicada la información de los PIC 16, aunque en el curso se incluyeron también los de la familia 18.

El enfoque es eminentemente práctico, siguiendo la filosofía POE: Programación Orientada a Ejemplos 😉 Todos los ejemplos se han probado en la Tarjeta Skypic.

skypic-altavoz2

Se muestran ejemplos del manejo de los puertos digitales, temporizadores, puerto serie, conversor analógico digital, manejo de LCDs, servos, bus I2C, memorias EEPROM y Flash del PIC y control de servos. Uno de los ejemplos es un órgano digital con el PIC, usando el teclado del PC para seleccionar las notas, mediante conexión por puerto serie.

La parte del Bus I2C es especialmente interesante. Se muestran ejemplos de cómo implementar Maestros y Esclavos en la Skypic y cómo acceder a varios sensores mediante este bus: El emisor/receptor de ultrasonidos SRF02, una brújula electrónica y un LCD (ver foto).

skypic-sensores-i2c

El último módulo (el 11) está dedicado a la memoria flash y el protocolo ICSP. No se hicieorn transparencias, pero sí algunos ejemplos muy interesantes y frikis. Uno de ellos, es un programa virus que se clona a sí mismo por el ICSP. Se conecta la Skypic a otra y el programa se transfiere desde la original a la destino. La nueva Skypic puede a su vez “infectar” a otras. Sobre este tema ya hablaré más adelante, cuando tenga hechos los vídeos 😉

Obijuan

Hemos encargado nuestra Reprap :-)


cupcake-cnc_1

Ya está encargada nuestra primera Reprap. En realidad no es la misma Reprap que se utilizó en el taller del Medialab-prado, sino que es la CupCake Cnc, que acaba de empezar a vender la empresa Makerbots Industries fundada por Zach Smith, uno de los instructores del taller.

Es un diseño nuevo, más pequeño, constituido por piezas cortadas por láser. Al ser más reducida, el áre de trabajo es de 10x10x10 cm^3. La prieza más grande que se puede imprimir es aproximadamente un cubo de Rubik.

Esta máquina la ha financiado Andrés 😉 Yo de momento estoy dedicando mis ahorros robóticos para pagar al traductor de mi tesis. Pero espero poder comprarme otra para mí en breve. Incluyendo gastos de envío cuesta unos 716€.

Hasta el 15 de Abril no nos la mandan. Y como viene desde Nueva York, no la esperamos tener hasta finales de Abril. ¡No puedo dormir de la emoción! ¡Quiero empezar a usarla ya!

Nos os perdais el vídeo de la máquina en acción:


Makerbot Industries – Cupcake CNC from MakerBot Industries on Vimeo.

Andres y Obijuan

Mi nuevo Arduino Nano


arduino-nano-peq.jpg

Esta semana he recibido mi nuevo Arduino Nano. Me lo he comprado para aprender sobre los microcontroladores AVR de Atmel. Llevo muchos años trabajando con los Pics de Microchip. Y la verdad, no he terminado de cogerlos el gustillo. Los PICS no han logrado ilusionarme.

Ahora quiero probar los AVR. No lo hago por una cuestión técnica. Al final, con cualquier micro puedes hacer cualquier aplicación. La diferencia la encuentro en las comunidades de usuarios que utilizan los micros. Mi forma de ser y de pensar encaja mucho más con la filosofía de la comunidad de AVRs que con la de los PICs. Y también es cierto, que el que los AVR se puedan programar usando el copilador GCC de GNU es una gran motivación. Recientes sucesos en mi vida me han hecho reflexionar y decidirme a empezar desde cero con estos micros.

Y qué mejor manera de empezar que comprando un Arduino Nano, que es Hardware libre. Es la primera vez que compro una placa libre. Hasta ahora yo sólo usaba las que nos construíamos nosotros, que también son libres. El saber que compras una placa y que tienes absolutamente toda la información disponible me da una gran sensación de libertad y me ilusiona.


skypic-arduino-nano-peq.jpg

La tarjeta Skypic la voy a seguir usando. He dedicado muchos años de mi vida a su desarrollo y a la creación de documentación y software. Pero ahora la compaginaré con el AVR. No descarto tampoco hacer una entrenadora nueva que sea compatible con la Skypic pero que use el AVR. Si la desarrollo la llamaré Tarjeta Skywars. Pero de momento tengo que aprender a programar los AVR.

Obijuan

ChronoJump ha ganado en los Trophees du Libre

chronojump_logo.png

El proyecto Chronojump de Xavier de Blas ha ganado el primer premio en los “Trophees du Libre” en la categoría de Educación. A parte de sus múltiples aplicaciones en el campo de la biomecánica mi interés por este proyecto es por el uso combinado de hardware y software libres. Frente a las típicas aplicaciones de software libre que sólo tienen código, esta se basa en un hardware externo que es libre.

Chronopic 1.0

El hardware se denomina ChronoPic. El primer prototipo se realizó con una tarjeta Skypic. La prueba de concepto funcionó y permitió que el software interactuase con el “mundo exterior”. Al ser hardware libre, gente de todas partes del mundo se pudieron montar sus prototipos y utilizar Chronojump.

También, por ser libre, es posible su modificación. Y así fué como Juan Fernando Pardo creó un nuevo prototipo que se conecta directamente por el USB y contiene sólo los componentes mínimos, abaratando mucho los costes. Actualmente Ricardo Derbes está trabajando en el diseño industrial del prototipo de Juan Fernando.

Y es que ahora, gracias a aplicaciones libres de diseño electrónico como Kicad, es posible compartir los diseños hardware, sin importar el sistema operativo que se utilice y almacenándose los planos en un formato abierto. Esto garantiza que los diseños nunca se perderán.

Obijuan