Páginas

Paperduino. Arduino-Perfboard

Descripción


Pues sí, otra variante de Arduino, y más concretamente de Paperduino.
Cuando ví por primera vez Paperduino, me quedé asombrado de lo que me pareció una idea tan simple (http://lab.guilhermemartins.net/2009/05/06/paperduino-prints/), pero intentando realizarlo sobre un soporte más fuerte que el cartón, lo intenté sobre una placa de prototipos perforada (perfboard), y me dí cuenta de que la disposición de los componentes del paperduino original no permitía el montaje en este tipo de placas, así que desplacé y redimensioné los componentes para que encajaran con los agujeros de una perfboard (rejilla de 2,54mm.

 Imagen obtenida de Wikipedia. Autor Klaus Leiss


El circuito es una simplificación de Arduino, es decir, no tiene convertidor USB-SerieTTL en la placa, ni conector de 6 pines para el ISP (si te parece chino lo que te estoy diciendo, no te preocupes, ya lo explicaré más adelante). Es un diseño sencillo muy similar al Arduino-Serial.


 He realizado algunas modificaciones respecto al diseño del paperduino original, por un lado, le he añadido un conector para poder alimentar directamente el circuito con 5v, ya que cada vez es más común que tengamos por casa alimentadores viejos para mp3, móviles... que suministren esta tensión. Con lo que si queremos podemos simplificar todavía más el circuito y eliminar el regulador 7805. También he desconectado la señal ARef de 5V por si alguna vez queremos utilizar otra tensión de referencia para los convertidores analógico/digitales.

Y por el lado "cobre":


Para programarlo necesitarás un cable FTDI (puedes realizar uno siguiendo las indicaciones de:
http://txapuzas.blogspot.com/2010/07/cable-de-programacion-para-arduino-ftdi.html).
Como el cable es de 3,3v y el paperduino está alimentado a 5v, el pin 2 del conector FTDI (Vcc) no está conectado, de esta forma la placa no se alimenta de dicho pin, sólo de la batería o rectificador y no se produce corto con el cable. (es decir puedes tener el paperduino siempre conectado)

Componentes 
    1     7805 Regulador de voltaje 2 LEDs (colores diferentes) 2     Resistencias 1K (si quieres puedes usar 640K para que brillen más los leds) 1     Resistencia 10K 2     Condensadores 100 uF /25v 1     Cuarzo de 16 MHz 2     Condensadores de 22 pF (Tienen que ser cerámicos, de poliester dan problemas) 1     Condensador de  100nF 1     Pulsador de Reset 1     Atmel ATMega168 1     Zócalo de 28 pines Barras de pines macho y hembra

Para realizar un sistema Arduino, podemos utilizar varios micros (el ATMega8 obsoleto, el ATMega168 o el ATMega328)

micro       Flash SRAM eeprom Compatibilidad
atmega8       8k   1K   512   Arduino Serial(28pin-OBSOLETO)
atmega168    16k   1K   512   Arduino Diecimila (28pin)
atmega328    32k   2k  1024   Arduino Duemilanove (28pin)
atmega1280  128k   8k    4k   Arduino Mega (sólo en SMD 64pin)


Con lo cual nos tenemos que quedar con el ATMEGA168 o el ATMEGA328, que podemos comprar en cualquier tienda de componentes electronicos, pero para que funcione con el editor de programas Arduino, es necesario que el chip esté grabado con un pequeño programa denominado "bootloader", que se ocupa de facilitar la futura grabación de nuestros maravillosos programas (en el argot de Arduino sketches).  Ahora viene la pescadilla que se muerde la cola, ¿cómo podemos grabar el bootloader en el micro, si se necesita el bootloader para grabar programas en él?. Tenemos varias soluciones:
Comprar el chip con el bootloader pregrabado
En internet puedes encontrar micros ya preparados (con bootloader), que puedes utilizar directamente (yo he comprado 2 ATMEGA328P en Ebay por 11€ los dos y portes incluidos!).
Comprar el chip virgen y grabar el bootloader con otro arduino
Mira este enlace: http://www.arduino.cc/playground/Hacking/AvrdudeFTDIBitbang
Comprar el chip virgen y grabar el bootloader con un grabador

Mira este enlace: http://www.arduino.cc/en/Hacking/Bootloader
Comprar el chip virgen y grabar el bootloader con un cable paralelo modificado
o aquí: http://www.xbot.es/blog/?p=262



Realización


El método utilizado para la realización de la placa es con una placa de perfboard y las ayudas de unas pegatinas:

1 Descarga el archivo comprimido en zip e imprime el documento "Paperduino-Perfboard_01" (lo tienes disponible en varios formatos más abajo, en apartado descargas).


2 Comprueba mediante la regla situada en el margen izquierdo del documento impreso que está a escala 1/1, es decir que la regla mide 250mm de longitud. Si no es así deberás modificar algún parámetro de tu impresora para que la impresión sea a escala natural.

3 Recorta las pegatinas denominadas "Lado cobre" y "Lado componentes". Si quieres puedes proteger las pegatina pegando sobre ellas plástico autoadhesivo (Aeronfix).


4 Sobre una superficie blanda, recorta con un cutter pequeñas ventanas en los agujeros de fijación de los componentes a la pegatina "Lado cobre". De esta forma la pegatina hace una doble función, plantilla y guía de soldadura de los componentes, y aislamiento de la placa en la zona que no es necesario soldar, evitando con ello posibles cortocircuitos.


5 Recorta un trozo de perfboard con las dimensiones de la pegatina.

6 Pega las dos etiquetas en la placa, una por cada lado con algún adhesivo. Puedes introducir algunos elementos en las pegatinas para que te sirvan como guía en el pegado.
7 Punzona con una aguja todos los agujeros de inserción de componentes representados en la pegatina.

8 Vete soldando los componentes guiándote con la pegatina de lado pistas. Suele ser recomendable soldarlos en este orden:
  1. puentes, zócalos y conectores. 
  2. Resistencias
  3. Condensadores
  4. Diodos y transistores
Resultado





Nota: Observarás que las fotos y videos no están actualizados (corresponden a la edición 0 de paperduino-perfboard), espero que con la edición 1 a tí te quede mejor.

Carga del Gestor de Programas (Bootloader)

Para cargar el bootloader, puedes utilizar un programador externo, un programador casero a través del puerto paralelo, o también puedes utilizar un Arduino como programador (datos recogidos de: http://arduino.cc/es/Tutorial/ArduinoISP.)

Tendrás que conectar el Paperduino de la siguiente forma:

 
Es decir:

Arduino        Paperduino
10             RESET
D11            D11
D12            D12
D13            D13
5v             5v
GND            GND

Y el proceso es siguiente:

  1. Carga el programa ArduinoISP (File>Examples>ArduinoISP) a tu placa Arduino
  2. Conecta los cables desde tu placa Arduino a la placa Paperduino tal y como está explicado arriba.
  3. Selecciona en el menú Tools > Board la placa a la que corresponda el chip al que quieres programar el bootloader (El chip que utilizas en el Paperduino).
  4. Usa el comando Tools>Burn Bootloader > Arduino as AVRISP.

Carga de Sketches

Una vez que el chip tiene el bootloader cargado (PaperBootloader) se ha convertido en un Arduino, y por lo tanto podemos cargar los sketches directamente desde el entorno Arduino.
Para realizar la carga de Sketches podemos utilizar el PaperFTDI,o el PaperRS232, pero también podemos utilizar el chip FTDI de un Arduino. Para ello quitaremos el chip ATMega de la placa Arduino (con cuidado), y conectaremos el Arduino con el Paperduino de la siguiente manera:

Es decir:

Arduino        Paperduino
0 (RX)         0 (RX)
1 (TX)         1 (TX)
Reset          Reset
5v             5v
GND            GND

Notas:
En el Arduino es necesario quitar el chip ATmega. 
Si quieres, puedes utilizar el conector FTDI, ya que salvo la alimentación tienes ahí todos los pines necesarios. 
En el paperduino tendremos el chip con el bootloader en el que queramos cargar el sketch. No es necesario alimentar al Paperduino, ya que toma la alimentación del Arduino.
Al utilizar el sistema de programación e la placa Arduino, tiene reset automático, es decir, no es necesario apretar el reset para programar el paperduino.
Desde el entorno Arduino eligiremos la placa que se corresponda con el chip instalado en el Paperduino (ATmega328P o ATmega168)

Información legal

1. Propiedad intelectual
Todos los derechos de propiedad intelectual del contenido de Txapuzas eléctronicas, están bajo una licencia Creative Commons Share-Alike, cuyo contenido podéis revisar en este enlace.
Por tanto queda permitido copiar, distribuir, comunicar públicamente la obra y hacer obras derivadas de la misma, siempre que se respeten los términos de la licencia arriba reseñada.
3. Actualizaciones y modificaciones de Txapuzas electrónicas
El autor se reserva el derecho a actualizar, modificar o eliminar la información contenida en Txapuzas eléctrónicas, y la configuración o presentación del mismo, en cualquier momento, sin previo aviso, y sin asumir responsabilidad alguna por ello.
4. Indicaciones sobre aspectos técnicos
El autor no asume ninguna responsabilidad que se pueda derivar de problemas técnicos o fallos en los equipos informáticos, que se produzcan a causa de los circuitos e ideas expuestos en el blog de txapuzas electrónicas, así como de los daños que pudieran ocasionar.
El autor se exime de toda responsabilidad ante posibles daños o perjuicios que pueda sufrir el usuario a consecuencia de errores, defectos u omisiones en la información facilitada.


Descargas

El esquema, descripción e imágenes están disponibles en el siguiente enlace:
Si tienes problemas con el enlace anterior, aquí puedes descargar todos los archivos de txapuzas

El archivo de descargas se modificó el 17/04/2011
Notas
Para la realización de este proyecto se han utilizado los programas: Arduino, Inkscape, Openoffice, Gimp, Picasa, Fritzing
Si encuentras algún fallo, se te ocurre alguna mejora, o simplemente quieres hacer algún comentario, te lo agradeceré: Gracias :-)

34 comentarios:

  1. hola, me gustaría saber con qué aplicación haces las pegatinas, me refiero al diseño de las mismas

    un saludo

    ResponderEliminar
  2. Hola Anónimo.
    Las pegatinas las hago con Inkscape, puedes descargarlo en:
    http://inkscape.org/download/?lang=es

    NOTA:
    En el archivo de descargas tienes los documentos editables en Inkscape con extensión SVG.

    Saludos

    ResponderEliminar
  3. He mirado el archivo pero la capa de circuito no contiene dibujo alguno y la capa 1 lo contiene todo. Lo que yo quería saber es si usas librerias de componentes o si dibujas a mano cada componente que vas a usar en el gráfico. También me gustaría saber como consigues alinear en el inkscape los dibujos para que cada componenete coincida con su hueco en la perfboard.
    un saludo y gracias por tan estupendo blog

    ResponderEliminar
  4. Hola anónimo:
    Creo que en algún momento he agrupado los objetos y al agrupar he pasado todos los objetos a una sola capa (Lo siento).

    Los componentes están dibujados uno a uno, y poco a poco voy creando mi propia biblioteca.

    Para alinear los componentes me baso en una rejilla de 2,54mm, luego colocando uno (con bastante ampliación de zoom), puedes desplazarlo 2,54mm (con la opción Menu/Objeto/Transformar/Mover)

    Nota: Si te fijas y haces un zoom muy grande verás que no están exactamente en el centro, pero a una escala normal no se aprecia el fallo.

    ResponderEliminar
  5. Pues vaya curro que te estás dando. Tienes toda mi admiración.

    ¿tienes pensado poner a disposición la biblioteca de componentes que te estás haciendo? a mi me interesaría por ejemplo.

    También me gustaría saber si sería posible utilizar alguna herramienta para hacer diseños de PCB (geda, xcircuit, pcb, eagle...) para generar un diseño para perfboard o stripboard, en lugar de la tipica pcb para "dibujar" sobre placa

    ResponderEliminar
  6. Hola Anónimo:
    No tenía pensado hacer una biblioteca pero si te interesa lo haré poco a poco. Si quieres, puedes descargar los Paper que te interesen y mediante copia y pega hacerte la tuya.
    No obstante, quizás te interese "www.openclipart.org", donde tienes unos cuantos dibujos de componentes y símbolos (tienes que buscarlos en inglés: Capacitor, resistor, ...)

    Para realizar placas para stripboard, los programas que conozco son bastante "cutrillos", sólo se salva de la quema "Lochmaster". Los de "Fritzing" (http://fritzing.org)tienen pensado implementar stripboard, pero todavía no lo tienen. De momento, puedes colocar componentes en una protoboard, y "asociarla" (recortar la stripboard como una protoboard) a una stripboard.

    Para PCB suelo utilizar Kicad (http://www.lis.inpg.fr/realise_au_lis/kicad/) . Con este programa podrías crear a mano unas "zonas" del tamaño y con los agujeros del stripboard, pero no lo he intentado nunca.

    Saludos

    ResponderEliminar
  7. A mi desde luego me interesaría esa biblioteca.

    Echaré un ojo a los enlaces que me has dado. No tengo muy claro en qué consiste exactamente fritzing, es una especie de servicio online para diseñar pcb y luego ellos te la construyen y envian? si no fuese así, sabes si existe algun servicio similar? es decir que yo les envie un diseño de pcb y ellos la construyan y me la envien de vuelta, obviamente contenido en coste ;)

    También me gustaria hacerte otra pregunta, he visto que tienes un proyecto de CNC, hasta ahora yo pensaba que ese tipo de máquinas servían para hacer prototipos en plástico, una especie de impresora 3d, pero he visto que hay gente que las usa para hacer placas PCB de forma casera. Es esto factible? el único procedimiento que conozco para hacer pcbs caseras es el tradicional de impresión en laser, transferencia a la placa por calor y luego baños para eliminar el cobre, pero a mi no me ha funcionado muy bien. ¿Podrías hacer un artículo sobre métodos caseros de fabricación de PCBs?

    saludos

    ResponderEliminar
  8. Biblioteca:
    Vale, ya iré haciéndola poco a poco.
    Fritzing:
    Es un proyecto sin ánimo de lucro de una universidad (alemana creo) para ayudar a hacer placas o prototipos tipo Eagle, pero orientado a pequeños proyectos. Está preparado para hacer directamente PCBs para Arduino o otros micros.
    (Imprimir, insolar, atacar, mecanizar.)
    TxapuCNC:
    Es una pequeña fresadora con el que se pueden hacer placas PCB mecanizando la separación entre pistas. De hecho en el programa TxapuCNC_TX tienes un ejemplo para mecanizar una placa de PaperduinoPCb.

    Saludos

    ResponderEliminar
  9. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  10. Se puede cambiar el Cristal de 16 pr uno de 20Mhz?

    ResponderEliminar
  11. Hola Soujiro_kun
    Teóricamente si, pero es un poco complicado ya que debes instalar otro bootloader distinto al habitual que funcione con 20Mhz. Y no se si te funcionaría la carga de sketches directamente desde el Entorno-Arduino.

    Saludis

    ResponderEliminar
  12. hola una consulta yo quiero hacer un Gateway GSM/GPRS y vi que hay una placa arduino que tiene la posibilidad de colocar un modulo GSM, si alguien puede ayudarme con información se los agradecería,

    ResponderEliminar
  13. Hola juanpk
    Creo que tu pregunta la podrías exponer en:
    http://arduino.cc/forum/index.php/board,32.0.html
    Saludos

    ResponderEliminar
  14. Amigo,¡Excelente trabajo!
    ... solo note que "las patillas del regulador 7805" estan mas largas en la "pegatina lado componentes" que en la "pegatina lado cobre", por lo tanto no coinciden (...es un pequeñisimo detalle en tu esmerado trabajo)
    Un abrazo.
    --maelva

    ResponderEliminar
  15. Genial tu idea del paperduino saludos desde ecuador y sigan adelante desarrollando mas y mas aplicaciones asombrosas para este gestor de desarrollo para microncontroladores avr

    ResponderEliminar
  16. Muchas gracias, por este tutorial y por todo el material que dejas libre para descarga. Comienzo a crear mi propio Arduino, quiero algo más mínimal, sin pines, por ejemplo, ya te cuento como me va. GRACIAS MIL

    ResponderEliminar
  17. Tienes todo la admiración y el respeto del paisano que abajo suscribe. Me apunto el paperduino para iniciarme en arduino con él. Mas económico y sencillo no se puede.

    Y txapó por la fresadora 2.5D, me parece una joya.

    Y a los perezosos que todavía piden que les organices las librerías: Mas os valdría organizarlas vosotros, compartirlas como agradecimiento y dejar al maestro que siga abriendo camino.

    Agur!

    ResponderEliminar
  18. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  19. Magnifico trabajo el que haces en esta página. Desde ahora mismo me convierto en un visitante asiduo de esta web. Por cierto tengo una duda respecto al cristal de cuarzo de 16 Mhz, ya que no estoy demasiado familiarizado con ellos. Estoy mirando en la página de farnell de componentes electronicos (siento hacer mencion a una marca no es mi intención hacer publicidad , pero es el sitio en el que estoy buscando componentes ) y al buscar cristales de cuarzo de 16mhz me aparece un grán abanico, con diferentes caracteristicas como, tolerancia de frecuencia, capacitancia de carga... etc pero lo que mas me llama la atencion es que encuentro distintos encapsulados en unos y en otros, yo prefiero que sea lo mas achatado posible para que ocupe menos, pero no se si hay algun motivo para que unos sean mas achatados y otros mas alargados.

    Saludos, y ¡mil gracias!

    ResponderEliminar
    Respuestas
    1. Hola Jomad,
      El cristal para el arduino no es muy crítico, puedes utilizar cualquiera (al menos eso creo), con respecto al encapsulado, por mi experiencia, los más planos son más caros.

      Saludos

      Eliminar
  20. Una cosa más, me he fijado en que en la imagen que pones de la perfboard, en ella cada agujero es independiente de los demas, en cambio en la mia, los agujeros estan separados en filas, es decir con una larga line de conductor (¿cobre? ¿aluminio?, no lo se) entonces... creo que esta perfboard no me sirve, ¿cierto? Saludos, y perdona por el tochazo.
    ¡Agur!

    ResponderEliminar
    Respuestas
    1. Hola Jomad,
      Con tu placa creo que deberías hacer el: http://txapuzas.blogspot.com.es/2010/07/paperduino-stripboard.html

      Eliminar
  21. Mis disculpas, este es el tercer comentario que dejo, pero es por que acabo de descubrir que haces la separación de pistas con lo que denominas un 'taladrin con fresa' ¿a que se refiere concretamente? ¿Donde puedo conseguirlo? Mil gracias ! ¡un saludo !

    ResponderEliminar
    Respuestas
    1. Hola Jomad,
      Al decir 'taladrín con fresa' me refiero a un taladro pequeño que en la punta tiene una fresa en vez de una broca tipo 'dremmel'.

      mira: http://www.minitaladros.com/dremel.htm

      Saludos

      Eliminar
    2. Muchísimas gracias por resolver todas mis dudas, y no puedo evitar la redundancia: Haces un trabajo escepcional.
      ¡Un saludo!

      Eliminar
  22. Hola muy buenas! Creo que la pagina del resumen puede estar equivocada y el zocalo es de 8 pines. Un saludo; Gran tutorial.

    ResponderEliminar
  23. perdon, este comentario quería haberlo puesto en el tutorial del Attiny programado por arduino.

    ResponderEliminar
  24. Buenos días, no hablo su lengua y utilizo a un traductor, afligido.

    Realizamos en este momento un proyecto basado en su trabajo.

    He aquí el lazo: http: // reso-nance.org / wiki / wiki / DiY%20Graveuse%20Mini-CNC

    Gracias para tener difundir todas sus ideas y realizaciones. Bravo.

    Philippe

    ResponderEliminar
  25. muy buena la pagina siempre estoy revisandola muchs gracias por esta ayuda a la comunidad.
    queria ver si podian hacer un capitulo sobre como conectar un teclado ps2 o usb a un arduino y poder visualizar los datos en un lcd ojala puedan..
    exelente pagina saludosss

    ResponderEliminar
  26. muchas gracias por tu trabajo, me gustaria saber cómo cortas la perfboard, yo lo he intentado con tijeras, cutter, cuchillo/sierra y nada, no hay forma!

    ResponderEliminar
  27. buenas noches , se podria montar este circuito con un atmega 8 y cristal de 4mhz?

    ResponderEliminar
  28. hola, me pueden ayudar, estoy estancado con la carga del bootloader, sinceramente no entiendo de programacion, les agradeceria me explique lo mas facil posible....les explico la situacion, fabrique el clon de arduino y cables para programador paralelo, solo consegui el atmega 168 20PU, el cual es virgen, no tiene el bootloader, ya he leido todo buscando la manera de cargarlo, pero me dice que se ha encontrado un microcontrolador equivocado cuando le doy click a cargar usando programador, me e fijado bien de poner las ociones como indica la pagina, pero sigo sin saber que tipo de tarjeta deberia seleccionar, ademas si le doy a cargar me sale este mensaje atk500_getsync () : not in sync: resp_0x00, por favor que alguien me ayude, llevo estancado en esto ya varios meses..... desde ya muchisimas gracias...

    ResponderEliminar
  29. No se puede quemar el script directamente en el atmega con arduinoUNO? y después simplemente colocarlo en el paperDuino?

    ResponderEliminar
  30. eee anónimo me llamo Leonel tengo 12 años no hablo su lengua pero creo que se tu problema:
    cuando te da "microcontrolador equivocado" es por que en la lista de plaquetas
    (menú: tools/board) ninguna de esas plaquetas nombradas (arduino leonardo, arduino UNO...) utiliza ese microcontrolador, por lo que no es admitido por el entorno de arduino y eso conlleva a que al intentar cargar el bootloader te de error.
    Yo te recomiendo comprar solamente el que diga ATMega168 o el ATMega328
    te deseo suerte
    y también a Iñigo
    que agradezco su esmerado trabajo.

    ResponderEliminar