SkyMega
Contenido
Introducción
Tarjeta microcontroladora de reducidas dimensiones compatible con los Módulos Y1 / MY1 / REPY1. Las aplicaciones principales son la programación de robots modulares, robots móviles como el Miniskybot (o derivados) o bien para usos educaciones.
La tarjeta Skymega es hardware libre2. Ha sido diseñado con la herramienta libre Kicad. También es compatible con Arduino.
Características
- Hardware libre2
- Compatible mecánicamente con la tarjeta Skycube
- Compatible con Arduino
- Microprocesador: ATMEGA a 16Mhz. Modelos: 88/168/328
- Conexión de hasta 8 servos (8 módulos).
- Los conectores de los servos se pueden poner por ambas caras de la placa
- Comunicación por bus I2C entre tarjetas skymega
- Hasta 2 conectores de I2C, que se pueden soldar por ambas caras
- Conector de alimentación doble, tipo molex, uno por cada cara
- Conector de grabación ICSP
- Led de pruebas
- Pulsador de pruebas
- Micro-interruptor de on/off
- Led de power-on
- Slot de expansión para conectar sensores
Fotos
Álbum de fotos en google+ |
---|
Conexión al PC
La skymega se conecta al PC a través de un cable USB-serie de FTDI (modelo TTL-232R-5V). Este cable tiene un conector de 6 pines. Para usarlo con la Skymega es necesario modifica este conector y sustituirlo por uno de 4 pines como se muestra en las fotos. Opcionalmente, si no se dispone del conector de 4 pines, se puede reutilizar el de 6, colocando los cables como se indica en las fotos y sin conectar los 2 hilos sobrantes.
Este cable sirve para descargar firmware en la Skymega, así como comunicarse vía puerto serie con ella.
Descripción de elementos
Partes
Pines
Alimentación
Conexión de servos
Grabador ICSP
Planos
Utilizar la version 2011-08-04 o superior de KICAD. |
- Ficheros FUENTE y de fabricación:
skymega-1.0-src.zip | Ficheros fuentes para Kicad: Esquemas, librerias y PCB |
skymega-v1.0-gerber.zip | Ficheros para su fabricación: Gerbers y plano de taladros |
- Ficheros con documentación en PDF:
skymega-v1.0-sch.pdf | Esquema |
skymega-v1.0-Back.pdf | PCB. Cara inferior |
skymega-v1.0-Front.pdf | PCB. Cara superior |
skymega-v1.0-SilkS_Front.pdf | Serigrafías cara superior |
skymega-v1.0-SilkS_Back.pdf | Serigrafías cara inferior |
skymega-v1.0-components-es.pdf | Listado de componentes |
- Planos mecánicos
DXF | OpenScad | STL |
Descarga de programas
Línea de comandos
Ejemplo: Descarga del fichero ledp.hex (en Linux)
avrdude -patmega168 -carduino -P/dev/ttyUSB0 -b19200 -D -Uflash:w:ledp.hex:i
Programación
Grabación usando el USBtiny
Grabación de un fichero .hex:
$ sudo avrdude -q -patmega168 -cusbtiny -Uflash:w:ledp.hex:i
Establecimiento de los valores de los fusibles:
$ sudo avrdude -patmega168 -cusbtiny -U lfuse:w:0xFF:m -U hfuse:w:0xDD:m -U efuse:w:0x00:m
Grabación del BOOTLOADER:
sudo avrdude -patmega168 -cusbtiny -Uflash:w:/usr/share/arduino/hardware/arduino/bootloaders/atmega/ATmegaBOOT_168_diecimila.hex:i
Hello World! (o cómo probar si todo funciona correctamente)
Desde que se escribe un programa en C hasta que lo ves funcionando en la SkyMega, hay una serie de pasos a seguir (normalmente llamada toolchain). Esto implica compilar el código fuente, generar un archivo hexadecimal (código máquina, que es lo único que entiende la SkyMega), y "quemar" el AVR con ese binario. Gracias a un tipo de fichero llamado Makefile, todos esos pasos se reducen a:
$ sudo make burn
Descomprimiendo el .zip Media:EjemplosSkymega.zip veréis varias carpetas con diferentes ejemplos. Desde terminal, entrad en helloWorld, donde habrá un Makefile y un código fuente (main.c). Si tenéis todo instalado y la placa conectada al ordenador, con alimentación y encendida, sólo hay que escribir (desde dentro de la carpeta helloWorld)
$ sudo make burn
Tras esto, el led de prueba de la Skymega debería parpadear. Enhorabuena! Ahora para aprender a programar sólo tienes que editar el archivo main.c y volver a hacer sudo make burn para ver los cambios en la placa.
Las otras carpetas muestran cómo usar el puerto serie y cómo leer valores analógicos.
Repositorio
- Repositorio SVN: http://svn.iearobotics.com/skycube-mega
Historia
- 17/Nov/2011: Repartidos 40 PCBs entre los estudiantes de la UC3M para que las monten
- 03/Agosto/2011: Montaje de 50 skymegas finalizado
- 20/Junio/2011: Recibido el primer lote de 100 PCBs. Montadas y probadas 3 prototipos (Blog)
- 29/Mayo/2011: Encargados 100 PCBs en pcbcart. Tardarán unas 3 semanas. Se espera recibirlos la semana del 20 de Junio
- 16/Mayo/2011: Fabricados 8 PCBs prototipos en la ETSI de Telecomunicación (UPM). Montada y probada!! (Blog)
- 07/Mayo/2011: Cambio de nombre. La placa ha sido bautizada como Skymega, en vez de Skycube-mega.
- 14/Abril/2011: Itziar Lima ha hecho un nuevo esquema y ha soldado un prototipo. Está validado
- 30/Mayo/2010: Construido prototipo I. Probado con la locomoción de Minicube-I (Blog)
300|250</youtube> Skycube-mega prototipo 1: Ejemplo de locomoción |
- 27/Mayo/2010: Prototipo preliminar. Placa protoboard con un Arduino nano (Blog)
300|250</youtube> Prototipo preliminar: Oscilación de un módulo MY1 |
Autores
- Juan González-Gómez
- Andrés Prieto-Moreno
- Itziar Lima
- Ricardo Gómez
Licencia
Open Source Hardware Definition v1.0 |
Enlaces
- Grabador de AVRs:USBtinyISP v2.0
- Documentación: Hoja de datos del Atmel ATmega 168
- Documentación: AVR-libc
Noticias
- 21/Junio/2011: Añadidas fotos de la versión 1.0
- 29/Mayo/2011: Añadidas fotos del PCB prototipo
- 7/Mayo/2011: Añadido fotos del prototipo de Itziar Lima
- 27/Mayo/2010: Comenzada esta página