Diferencia entre revisiones de «SkyMega»

De WikiRobotics
Saltar a: navegación, buscar
(Introducción)
(Características)
Línea 6: Línea 6:
  
 
== Características ==
 
== Características ==
 +
* Hardware libre<sup>2</sup>
 +
* Compatible mecánicamente con la [[Skycube|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 ==
 
== Fotos ==

Revisión del 08:30 16 nov 2011

right

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+
La skymega 1.0 en un módulo Repy1 (click para ampliar)
El Miniskybot con una skymega (click para ampliar)
Tarjeta Skymega 1.0. Lote 1 (click para ampliar)
PCB de la Tarjeta Skymega 1.0. Lote 1 (click para ampliar)

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.

Conexión del cable FTDI modificado a la Skymega 1.0 para descargar software (click para ampliar)
El cable USB-serie de FTDI: TTL-232R-5V modificado para la skymega (click para ampliar)
Detalles del conector. Vistas superior e inferior (click para ampliar)
Conexión de la skymega al PC con un cable FTDI de 6 pines modificado, sin sustituirlo por un conector de 4 pines (click para ampliar)

Planos

Icono aviso.png 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
  • Otros
skymega-v1.0.dxf PCB en formato DXF (Escala 1:1)
skymega-v1.0-scad.zip PCB en 3D. OpenScad
skymega-v1.0.stl PCB en 3D. Formato 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
Enlace al vídeo en Youtube

Prototipo preliminar: Oscilación de un módulo MY1

Enlace al video en Youtube

Repositorio

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

PCB de la skymega
Itziar Lima y Juan Gonzalez soldando el PCB de la skymega

Prototipo II: versión de Itziar Lima

Protipo de Itziar Lima
Itziar Lima soldando el prototipo

Prototipo I: placa cableada a mano

Cara superior
Cara inferior
Prototipo 1 de la Skycube-mega junto a una Skycube
Locomoción de Minicube-I

Prototipo preliminar: prueba de concepto

Prototipo I: Arduino nano montado en una protoboard, haciendo oscilar un servo


Autores

Licencia

100px

Open Source Hardware Definition v1.0
Hardware de Fuentes Abiertas (OSHW en inglés) es aquel hardware cuyo diseño se hace disponible públicamente para que cualquier persona lo pueda estudiar, modificar, distribuir, materializar y vender, tanto el original como otros objetos basados en ese diseño. Las fuentes del hardware (entendidas como los ficheros fuente) habrán de estar disponibles en un formato apropiado para poder realizar modificaciones sobre ellas.

Enlaces

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