Construyendo una Arduino sobre una placa entrenadora.

Información principal

Este tutorial muestra como puedes hacer un montaje compatible con Arduino sobre una placa entrenadora con un microcontrolador ATmel Atmega8/168/328 AVR y una placa adaptadora FTDI FT232 de SparkFun. También puedes necesitar un Arduino Mini USB.

Originalmente creado por David A. Mellis
Actualizado desde la versión ITP por Carlyn Maw
Actualizado el 23 de Octubre de 2008 por Rory Nugent.

Componentes.

Para hacer este montaje necesitarás:

the supplies
Las piezas

Componentes básicos para cablear una Arduino:

  • 1 placa entrenadora.
  • Cable 22 AWG.
  • 1 regulador de voltaje 7805.
  • 2 LEDs
  • 2 resistencias de 220 Ohm.
  • 1 resistencia de 10k Ohm.
  • 2 condensadores de 10 uF.
  • 1 cristal de 16 MHz.
  • 2 condensadores de 22 pF.
  • 1 pulsador pequeño normalmente abierto (NO) p. e. el Omron B3F.

Placa de conversión USB a Serie.

Necesitarás una placa adaptadora FT232 USB de SparkFun.

Hay dos opciones posibles para ello:

  • placa adaptadora FT232RL USB a Serie, SKU BOB-0071
  • placa Arduino Serie USB, SKU DEV-08165

Si planeas utilizar la primera opción y aún no has soldado los pines a la placa adaptadora este es un buen momento para hacerlo.

Cargando el gestor de arranque en tu chip ATmega.

Hay varias opciones para cargar el gestor de arranque en tu chip ATmega, algunas de ellas las veremos en este tutorial. Si quieres cargar el gestor de arranque desde la placa entrenadora hay un accesorio que hará tu vida mucho más fácil, aunque no es imprescindible.

Adaptador programador AVR de Sparkfun, SKU BOB-08508


Implementando la circuitería de la fuente de alimentación.

Si ya has trabajado con microcontroladores posiblemente ya tengas tu forma preferida de cablear la alimentación de tu placa, si es así adelante. En el caso de que necesites que te refresquen la memoria aquí hay unas fotos de una de las formas de hacerlo (esta versión utiliza un regulador de voltaje 7805 de 5v).


toppower
Cables de alimentación en la parte superior

Añade cables positivos (rojo) y negativos (negro) donde deba ir emplazado el regulador de voltaje.

bottompower
Cables de alimentación inferirores

Pon cables de alimentación también en la parte inferior de la placa entrenadora conectando cada rail.

7805
7805 y los condensadores de desacoplo

Añade el regulador de voltaje 7805 y los cables de alimentación de la placa. El regulador tiene empaquetado TO-220, por lo que la entrada de corriente está a la izquierda, negativo en el medio y la salida regulada de 5v en la patilla de la derecha (cuando miras el regulador de frente). Añade cables desde la salida y GND hasta los railes de la placa entrenadora.

Añade también un condensador de 10uF entre la entrada del regulador y el negativo así como uno de 10uF en el rail de la derecha entre el positivo y el negativo. La cinta plateada en el condensador indica la patilla negativa.


PowerLED
LED

Añade un LED y una resistencia de 220 Ohm en el lado izquierdo de la placa al otro lado del regulador de voltaje. Un LED conectado de esta manera es una gran ayuda a la hora de detectar problemas, siempre sabrás con rapidez cuando la placa recibe alimentación o si está en cortocircuito.

Power Supply Input
Entradas de alimentación

Los cables rojo y negro a la izquierda del regulador de voltaje son tus entradas de alimentación. El cable rojo es para el positivo y el negro para el negativo. Asegúrate de que el voltaje aplicado está entre 7v y 16v, con menos el regulador no conseguirá sacar 5v y con más el regulador puede estropearse. Una batería de 9v o una fuente de alimentación de 12v son lo más adecuado.

BlankCanvas
Lienzo en blanco

Ahora que la alimentación básica esta montada estamos preparados para situar el chip.


ATMEGA8/168/328.

Arduino Pinmap
Mapa de pines de Arduino

Antes de seguir, echa un vistazo a esta imagen. Es un gran recurso para comprender lo que cada uno de los pines del chip Atmega hace en relación con las funciones de la Arduino. Esto aclarará muchas confusiones acerca de porque ciertos pines hacen lo que hacen. Para información más detallada pega un vistazo a la hoja de caracteristicas del ATmega168 (versión corta) (versión larga). Aquí está la hoja de caracteristicas del ATmega328 (versión corta) (versión larga).


AddingChipCircuitry
Añadiendo circuitería de soporte

Comenzaremos conectando una resistencia pullup de 10k Ohm desde +5v hasta el pin de reseteo para impedir que el chip se resetee accidentalmente. El RESET reinicia el chip cuando puesto a masa. Algunos pasos más adelante enseñaremos como añadir un pulsador de reseteo para aprovecharnos de esto.

  • Pin 7 - Vcc - Alimentación de voltaje digital
  • Pin 8 - GND
  • Pin 22 - GND
  • Pin 21 - AREF - Referencia analogica para los pines ADC
  • Pin 20 - AVcc - Alimentación para el convertidor ADC. Necesita ser conectado a positivo si el ADC no va a se utilizado y alimentado por un filtro de paso bajo en caso de ser utilizado (un filtro de paso bajo es un circuito que reduce el ruido de la fuente de corriente. En este ejemplo no se utiliza).


AddClock
Añadir el cristal y los condensadores

Llega el turno de montar el cristal de reloj entre los pines 9 y 10, además de 2 condensadores de 22pF conectando a negativo cada uno de esos pines.


AddReset
Pulsador de reseteo

Un pequeño pulsador para que puedas resetear la Arduino cada vez que quieras preparar el chip para cargarle un nuevo sketch. Una corta pulsación reseteará el chip cuando lo necesites. Monta el pulsador a continuación de la parte superior del chip Atmega saltando la separación central de la placa entrenadora. Luego pon un cable desde la patilla superior izquierda hasta el pin RESET del chip ATmega y otro cable desde la patilla inferior izquierda hasta negativo.


LEDWires
LED en la patilla 13 de la Arduino

El chip usado en esta placa está actualment programado con el sketch de ejemplo blink_led que viene con el Arduino IDE. Si tienes una Arduino en circuito impreso que funciona es una buena idea probar la Arduino montada sobre placa entrenadora con un chip que sabes que funciona. Desmonta el chip de tu otra Arduino y móntalo en esta placa. El sketch blink_led hace que el pin 13 parpadee. El pin 13 de la Arduino no es el pin 13 del AVR ATMEGA8-16PU/ATMEGA168-16PU, actualmente es el pin 19 del chip ATmega.

Ver el mapa de pines más arriba para asegurarnos de conectarlo correctamente.


LED
LED on Arduino Pin 13

Finalmente conectamos el LED. La patilla larga o cátodo a un cable rojo y la patilla corta o ánodo la conectamos a una resistencia de 220 Ohm que va negativo.


Arduino-Ready!
Arduino-listo!

En este punto, si tenías programado tu chip y no necesitas cargar ningún otro sketch en esta placa entrenadora puedes detenerte aquí. Pero parte de la diversión es la programación en el circuito, así que vamos a hacer una Arduino sobre placa entrenadora completa.


Arduino-listo.

Add USB
Placa FT232 USB a Serie

Ahora vamos a añadir la placa adaptadora de USB a Serie a nuestra Arduino sobre placa entrenadora. Si no has añadido los pines macho a tu placa adaptadora tienes que hacerlo ahora. Conecta el pin VCCIO de la placa adaptadora a +5v y GND a masa.


USBBack
El patillaje de la adaptadora FT232 de Sparkfun

Es curioso como está hecho el marcado de los pines de la Sparkfun FT232, simplemente dadle la vuelta. En esta situación vamos a usar VCC (para suministrar 5v desde el puerto USB de nuestro ordenador a nuestra placa), GND; TXD, y RXD.


TXRX
Conectando TX y RX

Ahora es llegó el momento de comunicar la placa adaptadora de USB a Serie con nuestra recién montada Arduino. Conectamos el RX (pin 2) de nuestro chip ATmega con el TX de la placa USB a Serie, y conectamos el TX (pin 3) de nuestro chip ATmega con el RX de la placa de USB a Serie.


Y ya lo tienes... listo para ser enchufado, conectado y programado.

Pero espera, hay un paso más ¿no?. Si sacaste el chip Atmega de su Arduino, lo has programado en alguna ocasión y tiene completo su gestor de arranque no hace falta que sigas más lejos en este manual.

Sin embargo, si has comprado algún otro chip ATmega8 o ATmega168 de alguna tienda on-line puede que no tengan cargado un gestor de arranque (con la excepción de Adafruit Industries). ¿Que significa esto? Pues que no puedes programar tus chips usando la placa adaptadora USB a Serie y el Arduino IDE. Por ello, para hacer tus nuevos chips usables debes cargarles un gestor de arranque y debes volver a comprobar el paso 4.


Otras opciones en placas adaptadoras.

El montaje uDuino por Tymn Twillman
Esta configuración es similar a la mostrada aquí, pero el truco consiste en que al chip ATmega tiene cargado el mismo gestor de arranque que la Arduino lyliPad. La LyliPad funciona con el reloj interno, eliminando la necesidad de un cristal externo y de su circuitería de apoyo.

Boarduino por Ladyada
La Boarduino es un kit que compras y ensamblas para crear una bonita y pequeña placa entrenadora compatible con Arduino. Todos los componentes comunes entán incluidos en un pequeño PCB de modo que la Boarduino puede ser fácilmente añadida a una placa entrenadora y desmontada de un pequeño tirón.


Cargando tus chips con un gestor de arranque OPCIONAL.

Opciones para la carga del gestor de arranque.

Hay dos opciones para cargar en gestor de arranque en tus chips. El primero es fácil, el otro es un poco más complicado, los veremos los dos.

  • Cargando un gestor de arranque en tus chips ATmega usando tu placa Arduino y un programador AVR.
  • Cargando un gestor de arranque en tus chips ATmega usando tu recien terminada placa entrenadora con un programador AVR.

Hay diferentes tipos de programadores AVR, pero dos son los mas usados:

AVRISP mkII
AVRISP mkII

USBtinyISp
USBtinyISP


El AVRISP mKII se puede comprar en Digikey (referencia # ATAVRISP2-ND) mientras que el USBtinyISP debe ser ensamblado y se puede encontrar en Adafruit Industries.

Usando la placa Arduino.

ArduinoBootload
Cargando el gestor de arranque en una Arduino

Monta el chip ATmega en una placa Arduino con el pivote hacia el exterior. Coloca el selector de alimentación en la posición de fuente de energía externa y conéctala a una batería de 12v (tu placa necesita ser alimentada de forma externa cuando usas el AVR ISP mKII pero no cuando se usa el AVRtinyISP). Luego conecta el conector hembra de 6 pines de tu programador AVR en el conector ICSP con la pestaña de plástico del cabezal del cable plano mirando hacia el interior.

NOTA: El AVR ISP mkII enciende su LED verde cuando ha sido conectado correctamente y está listo para programar. El LED se vuelve rojo si se ha conectado de forma errónea.


Usando tu placa entrenadora.

AVRAdapter
Adaptador AVR

Cuando cargas el gestor de arranque de un chip ATmega desde una placa entrenadora, el adaptador AVR (SKU BOB-08508) de Sparkfun es increiblemente útil. Este adaptador recombina los 6 pines del programador a 6 pines en línea para un fácil conexionado a la placa entrenadora. Todos los pines están etiquetados haciendo muy fácil conectarlo a tu chip.


6pinAVRprogcable
Cable programador AVR de 6 pines

No te preocupes, si no tienes un programador AVR aun puedes cargar el gestor de arranque sin el. Aunque puede darte algún que otro dolor de cabeza conseguirlo. Las dos imagenes a la izquierda son una buena referencia cuando intentas colocar un programador sin una tarjeta adaptadora. Las imagenes te muestran que son los agujeros en el conector de 6 pines del AVR, sólo tendrás que colocar cables en ellos y conectarlos al chip ATmega.


6pinAVRproghead
Cabezal de 6 pines del programador AVR

Esta imagen es una vista inferior y etiqueta cada uno de los agujeros. Toma nota de la orientación de tus cables.


AVRpwrgnd
conecta positivo y masa

Comencemos!

Con la placa entrenadora preparada añade dos cables para la alimentación positiva y negativa del programador AVR.


AVRplug
Pincha el adaptador AVR

Ahora pincha el adaptador del programador AVR en la placa entrenadora con el pin GND puesto a masa y el pin 5v conectado a la línea de 5v.


AVRwires
Cables MISO, SCK, RESET y MOSI.

En este paso necesitaras añadir los últimos 4 cables que necesita el programador AVR para poder cargar el gestor de arranque.

Asegúrate de ayudarte del mapa de pines de Arduino para este cableado.

  • El pin MISO de tu adaptador debe ir al pin 18 o al pin digital 12 de tu ATmega chip.
  • El pin SCK de tu adaptador debe ir al pin 19 o al pin digital 13 de tu ATmega chip.
  • El pin RESET de tu adaptador debe ir al pin 1 de tu chip ATmega.
  • El pin MOSI de tu adaptador debe ir al pin 17 o al pin digital 11 de tu chip ATmega.


Plugin
Conecta el cable USB y el cable del programador AVR

Casi lo tenemos! Conecta el cable USB a tu placa adaptadora USB y pincha el conector de 6 pines de tu programador AVR al adaptador del programador AVR. El conector de plástico negro debe quedar mirando hacia el chip ATmega.

En el próximo paso te enseñaré a utilizar el software Arduino para grabar el gestor de arranque.


Es hora de grabar!

ArduinoPickBoard
Selecciona el tipo de placa

Ejecuta Arduino y ves al menú 'tools' y despues al 'board', elige el tipo de placa que vas a usar según el tipo de gestor de arranque que quieras cargar en tu chip. El mas comúnmente utilizado es el de la Diecimila o la mas reciente versión de Arduino para el ATmega PDIT, sin embargo si quieres cargar el de una Lilypad, Arduino Mini, Arduino Nano o cualquiera de las versiones antiguas solo tienes que elegir la placa adecuada.


ArduinoBurn
Elige tu programador. Quema.

Después ves al menú 'Tools' y 'Burn Bootloader' y selecciona el programador que vas a utilizar.


ArduinoBurning
Grabando

Un vez que eliges un programador, el programador AVR comienza a cargar el gestor de arranque en el chip ATmega y aparece un mensaje en la barra de estado que reza "Burning bootloader to I/O Board (this may take a minute)..." las luces parpadearán en tu programador.


BurnDone
Quemado completo!

Cuando ha terminado de cargar el gestor de arranque la barra de estado se actualiza con el mensaje "Done burning bootloader". Tu chip está ahora preparado para ser programado utilizando el software Arduino. ¡Felicidades!. Dale corriente a tu Arduino y tu nuevo chip ATmega empezará a ejecutar el sketch del LED parpadeante en el pin 13 (si esto no ocurre prueba a subirlo como sketch). Si esto funciona es la prueba definitiva del éxito.

NOTA: en ocasiones el proceso de grabar el gestor de arranque en el chip ATmega con el AVR ISP mkII puede durar un periodo de tiempo extraordinariamente largo, de hecho puede tardar varios minutos. El AVRtinyUSB termina mucho más rápido. De todos modos, hay ocasiones que tras 10 ó 15 minutos continua grabando. He descubierto que se trata de un hito extraño (quizá es un triple testeo del flujo de datos) y después de darle un amplio tiempo, 10 minutos o mas, generalmente desconecto el programador solo para descubrir que el proceso de grabación terminó con éxito tiempo atrás. Yo de ninguna manera recomiendo este método y declino toda responsabilidad de lo que le pueda pasar a su chip, pero según mi experiencia ha sido bastante inofensivo si se procede con precaución. Aunque es posible que dañe su chip en el proceso.


Página principal

Share