Вы находитесь на странице: 1из 22

Indice grfico

Indice texto

Novedades

TRANSLATE TXAPUZAS

PaperBootloaderSPP: Grabacin del bootloader a Paperduino por el puerto paralelo


Descripcin
Instrucciones de conexin de paperduino al puerto paralelo para poder grabarle el bootloader. Buscar

Introduccin
Para convertir el chip ATmega en un Arduino es necesario cargarle un "bootloader" o cargador, es decir, un programa inicial (utilizando un simil con un PC podramos decir que es una BIOS) que nos facilite la conexin del Arduino con el PC. Con el bootloader instalado en el chip, el mtodo de grabacin de programas (sketches) en el Paperduino (Arduino), es mediante una conexin serie que cumple los protocolos standard RS232, es decir tiene una velocidad (baudios), bit de paridad, ... definidos.

kk kk kk kk
pdfcrowd.com

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

El Arduino dispone de un chip (FT23RL) que crea un puerto serie a traves de un puerto USB, pero el paperduino no tiene un chip USB, por lo que para cargar programas en l es necesario utilizar un cable adaptador especial. Si nuestro ordenador tiene puerto serie podramos utilizarlo, pero tendramos que modificar las seales (por ejemplo con un chip max232) ya que paperduino trabaja con lgica 0+5v y el puerto serie -12+12v (IC Max232). Pero otra posibilidad es utilizar un cable FTDI Como podrs observar, esto es la pescadilla que se muerde la cola, ya que si sin bootloader no puedo cargar programas, entonces, cmo cargo el bootloader? Para grabar el bootloader en el micro, se usan tambien seales de 0-5v pero el protocolo es distinto, las patillas no son Rx y Tx sino MISO, MOSI, SLK y Reset y los tiempos y protocolos de transmisin son diferentes. Es decir para establecer la comunicacin quizas se active por un milisegundo una patilla, despues otra, despues se desactiva, siguiendo los ciclos de SLK, es decir nada que ver con la transmisin serie RS232.

Participar en este sitio


Google Friend Connect

Miembros (157) Ms

Ya eres miembro? Iniciar sesin

Para grabar el bootloader necesitaremos de un hardware y software especial. El editor Arduino incorpora el software (Menu/Tools/Burn bootloader) compatible con 5 programadores, los dos ltimos son un programador paralelo y el propio Arduino.

kk kk kk kk

Si te parece interesante este blog, puedes realiz

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

por sencillez vamos a utilizar el programador paralelo basndonos en lo indicado en la pgina de Arduino programador paralelo.

PROYECTO FRACASADO (Cable USB-Paralelo)!!!


Este proyecto naci con la idea de modificar un cable USB-Paralelo con el chip PL-2305, de fcil compra en ebay por menos de 3, para poder cargar el bootloader en ordenadores sin puerto paralelo, pero no lo he conseguido.

kk kk kk kk

Enlzame

kk kk kk kk
Este cable tiene en el interior del conector un chip PL-2305:

kk kk kk kk
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

SUSCRIBIRSE A

Entradas

Este chip crea un puerto paralelo virtual, pero no permite un control directo de sus pines (bitbang mode). A continuacin muestro los pasos que realic sin resultado, de forma que si alguien quiere intentarlo, lo tenga un poco ms fcil. (Lo he intentado en Linux, Ubuntu Lucid Lynx 10.04LS) Al conectar el cable, el ordenador lo reconoce: ...:> lsusb Bus 004 Device 002: ID 067b:2305 Prolific Technology, Inc. PL2305 Parallel Port y crea un par de archivos en el directorio /dev: /dev/usblp0 /dev/usb/lp0 el primero es un enlace simblico que apunta al segundo El editor Arduino utiliza el programa avrdude como programador. Y al programar el chip con el "Parallel programmer" vemos que intenta utilizar en el puerto paralelo parport0.

Comentarios

kk kk kk kk

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Esto podemos arreglar de dos formas, crear un enlace simblico entre parport0 y /dev/usblp0: sudo ln -s /dev/usb/lp0 /dev/parport0. y dar permisos de lectura y escritura. O tambin podemos modificar el archivo avrdude.conf: Arduino-xx/hardware/tools/avrdude.conf Lo edit con gedit, buscando el texto "Overall avrdude defaults" que est en la lnea ~300 y cambi el paralelo por defecto ("parport0" por "usb/lp0")

Ahora, al programar, el editor nos dice que no tenemos permisos. As que ejecut: "Alt+F2" y en la pantalla que salo mand abrir nautilus con permisos de administrador:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

En el directorio /dev/usb cambi los permisos del archivolp0 "otros" a Lectura y escritura:

Pero al intentar programar, sigue fallando:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Para intentar deducir que ocurre, ejecut lsusb en modo"verbose": >lsusb -v y en el listado no apareci ningn puerto de control (no pongo el listado porque es muy largo) y adems la ltima lnea: cannot read device status, Operation not permitted (1) Malo, malo... Lo intent con el comando: cat /proc/ioports Para ver que puertos de entrada salida tengo en el ordenata, pero no muestra ningn puerto paralelo. CONCLUSION: No he podido programar el Paperduino con el cable USB-Paralelo. No obstante si tu ordenador tiene puerto paralelo, s puedes programar el bootloader con el "Parallel programmer" en tu Paperduino.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Tu ordenador tendr un conector con estas seales:

Ahora lo que necesitaremos es conectar este conector DB25 a Paperduino, que no tiene conector ICSP y lo haremos de acuerdo a la tabla siguiente:

es decir:

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Componentes
"Mtodo txapuzas" Un ordenador con puerto paralelo conector DB25 2 Resistencias de 470 Ohmnios 1/4W (0,02x2=0,02) 1 Resistencia de 220 Omnios 1/4W (0,02) unos cuantos cables unifilares (tubo termoretrctil) "Mtodo Paper" lo anterior ms... 1 barra de pines macho de 25mm un trozo de stripboard El coste total es de unos 0,6 Euros en el ao 2010 para el mtodo txapuzas y ~1 para el mtodo Paper.

Realizacin: mtodo "txapuzas"


Si slo necesitamos grabar un paperduino, podemos utilizar un mtodo un poco txapuzas pero rpido, utilizando unas resistencias y unos cables uniremos el conector DB25 al paperduino.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

NOTA: En la imagen slo se han representado los cables de programacin, los de alimentacin no. Para programar el Paperduino es necesario alimentar al Paperduino.

Lo nico que hay que hacer es empalmar las resistencias con el cable, podemos soldarlas, o simplemente enrrollar el cable en los terminales de las resistencias, pero si tenemos un poco de tubo termoretrctil, podemos hacer rpidamente una conexin fiable:

colocamos el "macarrn"

le aplicamos un poco de calor

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

y el tubo se encoje, aislando el cable y haciendo ms robusta la unin.

Como el dimetro del cable unifilar y el de las resistencias es menor que los agujeros de los conectores, puedes doblar sus extremos para hacer que la conexin sea un poco ms segura:

Realizacin: mtodo "paper"


open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

NOTA: como no tengo puerto paralelo en mi ordenador, no he realizado fsicamente este proyecto y no he comprobado su correcto funcionamiento. Si ves algn fallo por favor comuncamelo.

El mtodo Paper consiste en ayudarnos en unas pegatinas para facilitarnos el proceso de montaje y soldadura. Primero imprimiremos el documento PaperBootloaderSPP (disponible en la parte inferior de esta pgina en el apartado de descargas):

Una vez impresa comprobaremos que la impresin se ha realizado a la escala correcta con la ayuda de la regla impresa situada en el lateral izquierdo de la hoja. Al colocar a su lado un regla en centmetros debern coincidir las marcas.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Despus recortamos la Paperetiqueta:

La pegamos sobre un trozo de 13 filas por 7 agujeros, y se sueldan los puentes, las resistencias y los pines. Los pines grises situados en el centro de la placa, se sueldan hacia arriba para que se puedan introducir en el conector DB25, pero los negros (reset, mosi,mis,csk y gnd) hay que soldarlos hacia abajo para conectarlos a los pines del paperduino, para lo cual, debes desplazar los plsticos a un extremo del pin para posteriormente soldarlos por la zona de cobre:
NOTA: como los pines del concector no coinciden con la distribucin de los agujeros de la placa stripboard, quizs tengas que doblar ligeramente los pines para que encajen con el conector (es por ello que recomiendo utilizar pines largos de 25mm)

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

La vista del adaptador sera:

como ves no es necesario realizar ningn corte en las pistas. El montaje sera el siguiente:

La referencia para montar el adaptador sobre la placa es el pin de reset. Y luego para conectar correctamente el cable al adaptador, nos fijaremos en el dibujo en gris que representa el conector.

Funcionamiento
open in browser PRO version
Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Como no dispongo de puerto paralelo en mi ordenador, no puedo realizar ningn montaje de ejemplo de funcionamiento. Eso puede ocasionar que el adaptador tenga algn error que no he podido corregir. Si es as y encuentras un error, dmelo para corregirlo. Este adaptador funciona (al menos eso espero) con Paperduino-Stripboard, con PaperduinoPerfboard y con Paperduino-PCB. Con el Paperduino original si utilizas pines de 25mm creo que tambin se podr conectar correctamente, ya que al ser los pines tan largos permiten cierto margen en la posicin del conector. Nota: Tal como indica annimo en sus comentarios, si utilizas el parallel programmer en Windows, es necesario instalar previamente Giveio tal como se indica en ParallelProgrammer Una vez que tengas conectado el paperduino con el puerto paralelo, lo nico que tienes que hacer es desde el editor de Arduino programarlo:

Informacin legal
1. Propiedad intelectual Todos los derechos de propiedad intelectual del contenido de Txapuzas elctronicas, estn

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

bajo una licencia Creative Commons Share-Alike, cuyo contenido podis revisar en este enlace. Por tanto queda permitido copiar, distribuir, comunicar pblicamente la obra y hacer obras derivadas de la misma, siempre que se respeten los trminos de la licencia arriba reseada. 3. Actualizaciones y modificaciones de Txapuzas electrnicas El autor se reserva el derecho a actualizar, modificar o eliminar la informacin contenida en Txapuzas elctrnicas, y la configuracin o presentacin del mismo, en cualquier momento, sin previo aviso, y sin asumir responsabilidad alguna por ello. 4. Indicaciones sobre aspectos tcnicos El autor no asume ninguna responsabilidad que se pueda derivar de problemas tcnicos o fallos en los equipos informticos, que se produzcan a causa de los circuitos e ideas expuestos en el blog de txapuzas electrnicas, as como de los daos que pudieran ocasionar. El autor se exime de toda responsabilidad ante posibles daos o perjuicios que pueda sufrir el usuario a consecuencia de errores, defectos u omisiones en la informacin facilitada.

Descargas
El esquema, descripcin e imgenes estn disponibles en el siguiente enlace:

Notas
Para la realizacin de este proyecto se han utilizado los programas: Arduino, Inksc ape, Openoffice, Gimp, Picasa, Fritzing

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Si encuentras algn fallo, se te ocurre alguna mejora, o simplemente quieres hacer algn comentario, te lo agradecer: Gracias. :-)

Recomendar esto en Google Guardar en PDF

14 comentarios:
Annimo 26 de enero de 2011, 21:45 Hola, quera decirte que me he leido las entradas referidas al paperduino y me parace genial cmo est explicado todo. Pero leyendo esta pgina me he dado cuenta de dos cosas que vienen en la web de Arduino. http://arduino.cc/en/Hacking/Programmer en esta pone que para un programador paralelo se debe modificar un archivo y dems cosas. Creo que eso podra solucionar el problema del USB (no estoy seguro) http://arduino.cc/en/Hacking/ParallelProgrammer en esta se explica lo del paperbootloaderSPP o metodo txapuzas, pero pone al final que es necesario ejecutar gimeo. Espero que esto haya sido de ayuda. Responder

Iigo

27 de enero de 2011, 8:01

Hola Annimo. Ante todo, Gracias por tu inters!!. Respondiendo a tus comentarios: 1.- Es necesario modificar el archivo de configuracin para instalar programas desde el Arduino-editor sin utilizar el bootloader con un grabador externo. Pero para instalar el bootloader, el Arduino-editor ya tiene su propia entrada en men (Tools/Burn Bootloader/w/ Parallel Programmer). El problema del cable-USB es que hoy en da (que yo conozca) slo hay dos chips dedicados que conviertan USB-RS232TTL uno es de FTDI (FT23RL o similar) y el otro es de Prolific (PL2305). El primero permite el mtodo bitbang, es decir el acceso

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

independiente a cada pin, con lo que se puede utilizar para programar el Arduino, pero el de Prolific no tiene esta posibilidad(o al menos yo no he podido utilizarla). 2.- Tienes razn. Se me haba olvidado comentar que para utilizar el Parallel Programmer en Windows, es necesario instalar Gimeo. (yo utilizo Linux). De nuevo muchas gracias. Responder

Seba 4 de junio de 2011, 0:42 por casualidad nadie tendr un esquema para sacar 5v de 3.7v con un MC34063A ?? Responder

Annimo 5 de junio de 2011, 6:50 No has intentado ejecutar el programa como usuario root "sudo arduino", en linux solo accedes a los puertos si eres root segun tengo entendido Responder

Annimo 3 de agosto de 2011, 21:59 hola hay otra opcion a las resistencuas de 470ohnios muy bien los tutos Responder

Annimo 10 de noviembre de 2011, 12:26 Hola Iigo. Lo primero que quera era felicitarte por todo el blog, tienes unos tutoriales muy buenos, me estn sirviendo muchsimo. He ledo en un comentario superior que deciais que hay que istalar Gimeo para Windows, pues te comento mi problema, tengo acceso a un ordenador con puerto paralelo, pero solo tiene puesto Windows y no me permite instalar nada... Hay alguna posibilidad de que ese gimeo se pudiese ejecutar desde un pincho o similar? Muchas gracias de antemano y disculpa las molestias.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Casi007 Responder

Iigo

10 de noviembre de 2011, 23:03

Hola annimo, siento no poder ayudarte, ya que utilizo linux. no obstante lo que si podras hacer es ejecutar linux desde un pendrive en un ordenador con windows: http://sourceforge.net/projects/portableubuntu/ (no lo he probado) Saludos Responder

Annimo 28 de diciembre de 2011, 15:40 Hola Soy nuevo en esto. Quisiera felicitarte por tus ideas.Escribo este mensaje para solicitar ayuda. Tengo montado paper-bootloader SPP por el metodo Txapuzas conectado a un arduino uno, instale Gimeo en la misma carpeta que arduino en winXP, seleciono board>arduino uno,el serial port, programmer>parallel programmer, burn bootloader y me da el siguiente error "avrdude: verification error, first mismatch at byte 0x7e00 0x11 !=0xff avrdude: verification error, content mismatch" alguien sabe a que se debe dicho error. Muchas gracias de entemano Responder

Annimo 25 de febrero de 2012, 16:49 Hello, Your blog is super helpful, thanks. Can You tell me are there any batter or worse bootloaders for this project? I've seen several of them (optiboot, adaboot...), which do you think will be most appropriate for this setup?

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Sorry if this question seems kind of trivial - I'm newbie in microcontrolers :) Responder

Iigo

25 de febrero de 2012, 21:57

Hello Annimo, The easiest way is to use the default bootloader built into the Arduino programming environment, so the circuit is 100% compatible with arduino. Responder

Il matto 30 de marzo de 2012, 13:39 Hi there! I did (at my best) what you said. Connected my paperduino with the parallel port of the PC, BUT it doesn't work!! Could you please give me some directions? I posted the results also here: http://arduino.cc/forum/index.php/topic,98480.0.html Thanks Responder

Annimo 26 de abril de 2012, 23:25 Hi, Is possible use the RS232 ?? Becouse i dont have DB25 !! Responder

David 17 de mayo de 2012, 22:06 Hola te quera preguntar que cual es el programa que usas para hacer los dibujos de las placas. Me refiero a los dibujos que se imprimen se ponen en una placa universal y se colocan los componentes. Contstame si te es posible a mi correo: davidp1995@hotmail.com . Muchas gracias de antemano.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Responder

difesalo 11 de junio de 2013, 21:10 se puede utilizar el puerto RS232 para cargar el bootloader conectadolo como se muestra en este lugar: http://arduinodiy.files.wordpress.com/2012/03/rs232-ttl4.jpg Responder

Introduce tu comentario...

Comentar como:

Seleccionar perfil...

Publicar

Vista previa

Entrada ms reciente Suscribirse a: Enviar comentarios (Atom)

Pgina principal

Entrada antigua

Si te parece interesante este blog, puedes colab

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com

Con la tecnologa de Blogger.

open in browser PRO version

Are you a developer? Try out the HTML to PDF API

pdfcrowd.com