Diferencia entre revisiones de «SkyMega»
(→Descripción de elementos) |
(→Pines) |
||
Línea 64: | Línea 64: | ||
=== Pines === | === Pines === | ||
+ | * [http://arduino.cc/en/Hacking/PinMapping168 Correspondencia de pines entre el ATMEGA168 y Arduino] | ||
== Planos == | == Planos == |
Revisión del 00:51 17 nov 2011
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
Planos
![]() |
- 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.
Vídeos
Pruebas con los prototipos
300|250</youtube> | 300|250</youtube> |
Skycube-mega prototipo 1: Ejemplo de locomoción del robot Minicube-I |
Prototipo preliminar: Oscilación de un módulo MY1 |
Repositorio
- Repositorio SVN: http://svn.iearobotics.com/skycube-mega
Historia
- 20/Junio/2011: Recibido el primer lote de 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)
- 27/Mayo/2010: Prototipo preliminar. Placa protoboard con un Arduino nano (Blog)
Prototipo III: PCB preliminar
Prototipo II: versión de Itziar Lima
Prototipo I: placa cableada a mano
Prototipo preliminar: prueba de concepto
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