Indice gráfico
Indice texto
Novedades
TRANSLATE TXAPUZAS
PaperBootloaderSPP: Grabación del bootloader a Paperduino Paperduin o por el puerto puerto paralelo paralelo Descripción Instrucciones de conexión de paperduino al puerto paralelo para poder grabarle el bootloader.
Buscar
Introducción 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 podríamos decir que es una BIOS) que nos facilite la conexión del Arduino con el PC. Con el bootloader instalado en el chip, el método de grabación de programas (sketches) en el Paperduino (Arduino), es mediante una conexión serie que cumple los protocolos standard RS232, es decir tiene una una velocidad velocidad (baudios), bit de paridad, ... definidos.
kk kk kk kk
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 podríamos utilizarlo, pero tendríamos que modificar las señales (por ejemplo con un chip max232) ya que paperduino trabaja con lógica 0+5v y el puerto serie -12+12v (IC Max232). Pero otra posibilidad es utilizar un cable FTDI
Participar en este sitio Google Friend Connect
Miembros (157) Más »
Como podrás observar, esto es la pescadilla que se muerde la cola, ya que si sin bootloader no puedo cargar programas, entonces, ¿cómo cargo el bootloader? Para grabar el bootloader en el micro, se usan tambien señales 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 transmisión son diferentes. Es decir para establecer la comunicación quizas se act iv ive e por un milisegundo una patilla, patilla, despues otra, despues s e desactiva, desactiva, si guiend guiendo o los c iclos de SLK, es decir nada que ver con la transmi transmisión sión serie RS232.
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.
¿Ya eres miembro? In Iniciar iciar s esión
kk kk kk kk
Si te pa pare rece ce int inter eres esan ante te este este bl bl
por sencillez vamos a utilizar el programador paralelo basándonos en lo indicado en la página 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 fácil 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
Enlázame
kk kk kk kk Este c able tiene en el interior del conector un c hip PL-2305:
kk kk kk
SUSCRIBIRSE A
Entradas
Este chip crea un puerto paralelo virtual, pero no permite un control directo de sus pines (bitbang mode). A continuación muestro los pasos que realicé sin resultado, de forma que si alguien quiere intentarlo, lo tenga un poco más fácil. (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:
Comentarios
kk kk kk kk
/dev/usblp0 /dev/usb/lp0
el primero es un enlace simbólico que apunta al segundo El editor Arduino util iza el programa avrdude como programador. Y al programar el chip con el "Parallel programmer" vemos que intenta utilizar en el puerto paralelo parport0.
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 simbólico entre parport0 y /dev/usblp0: sudo ln -s /dev/usb/lp0 /dev/parport0 .
y dar permisos de lectura y escritura. O también 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 línea ~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 salío 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 esc ritura:
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ó ningún puerto de control (no pongo el listado porque es muy largo) y además la última línea: 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 ningún 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 señales:
Ahora lo que necesitaremos es conectar este conector DB25 a Paperduino, que no tiene conect or 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 "Método 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 termoretráctil) "Método Paper" lo anterior más... 1 barra de pines macho de 25mm un trozo de stripboard
El cost e total es de unos 0,6 Euros en el año 2010 para el método txapuzas y ~1€ para el método Paper .
Realización: m étodo "tx apuzas" Si s ólo necesitamos grabar un paperduino, podemos util izar un método un poco t xapuzas pero rápido, util izando unas resistencias y unos cables uniremos el c onector 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 sólo se han representado los cables de programación, los de alimentación no. Para programar
el Paperduino es necesario alimentar al Paperduino.
Lo único que hay que hacer es empalmar las resist encias con el cable, podemos soldarlas, o simplemente enrrollar el cable en los t erminales de las resistencias, pero si tenemos un poco de tubo termoretráctil, podemos hacer rápidamente una conexión fiable:
colocamos el " macarrón"
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 t ubo se encoje, aislando el cable y haciendo más robusta la unión.
Como el diámetro del cable unifilar y el de las resistencias es menor que los agujeros de los conectores, puedes doblar sus extremos para hacer que la c onexión sea un poco más segura:
Realización: método "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 físicamente este proyecto y no he
comprobado su correcto funcionamiento. Si ves algún fallo por favor comunícamelo.
El método Paper consis te 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 página en el apartado de descargas):
Una vez impresa comprobaremos que la impresión 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 centímetros deberán coincidir las marcas.
open in browser PRO version
Are you a developer? Try out the HTML to PDF API
pdfcrowd.com
Después recortamos la Paper etiqueta:
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 plástic os a un extremo del pin para posteriormente soldarlos por la zona de cobre: NOTA:
como los pi nes del concector no coinciden con l a distribución de l os agujeros de la placa stripboard, quizás
tengas que doblar l igeramente los pin es para que encajen con el conector (es por ello que recomiendo util izar 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 sería:
como ves no es necesario realizar ningún corte en las pistas. El montaje s ería el s iguiente:
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 ningún montaje de ejemplo de funcionamiento. Eso puede ocasionar que el adaptador tenga algún error que no he podido corregir. Si es así y encuentras un error, dímelo para corregirlo. Este adaptador funciona (al menos eso espero) con Paperduino-Stripboard, con PaperduinoPerfboard y con Paperduino-PCB. Con el Paperduino original si uti lizas pines de 25mm creo que también se podrá conectar correctamente, y a que al s er los pines tan largos permiten cierto margen en la posición del conector. Tal como indica anónimo en sus c omentarios, s i utiliz as el parallel programmer en Windows, es necesario instalar previamente Giveio tal como se indica en ParallelProgrammer Nota:
Una vez que tengas conectado el paperduino con el puerto paralelo, lo único que tienes que hacer es desde el editor de Arduino programarlo:
Información legal 1. Propiedad intelectual Todos los derechos de propiedad intelectual del contenido de Txapuzas eléctronicas, están
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 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. Indica ciones 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 c ausa de los ci rcuitos e ideas expuestos en el blog de txapuzas elect ró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 s iguiente enlace:
Notas Para la realización de este proyecto se han utilizado los programas: Ardui no, Inkscape, Openoffice, Gimp, Picasa, Fritzing
open in browser PRO version
Are you a developer? Try out the HTML to PDF API
pdfcrowd.com
Si encuentras algún fallo, se te ocurre alguna mejora, o simplemente quieres hacer algún comentario, te lo agradeceré: Gracias. :-)
Recomenda r esto en Google Guardar en PDF
14 comentarios: Anónimo 26 de enero de 2011, 21:45 Hola, quería decirte que me he leido las entradas referidas al paperduino y me parace genial cómo está explicado todo. Pero leyendo esta página 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 demás cosas. Creo que eso podría solucionar el problema del USB (no es toy 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 es to haya si do de ayuda. Responder
Iñigo
27 de enero de 2011, 8:01
Hola Anónimo. Ante todo, Gracias por tu interés!!. Respondiendo a tus comentarios: 1.- Es necesario modificar el archivo de configuración para instalar programas desde el Arduino-editor si n utilizar el bootloader con un grabador externo. Pero para ins talar el bootloader, el Arduino-editor ya tiene su propia entrada en menú (Tools/Burn Bootloader/w/ Parallel Programmer). El probl ema del cabl e-USB es que hoy en día (que yo conozca) sól o hay dos chips dedicados que conviertan USB-RS232TTL uno es de FTDI (FT23RL o similar) y el otro es de Prolific (PL2305). El prim ero permite el m étodo 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 razón. Se me había olvidado comentar que para utilizar el Parallel Programmer en Windows, es necesario ins talar 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
Anónimo 5 de junio de 2011, 6:50 No has i ntentado ejecutar el programa como us uario root "sudo arduino", en linux solo accedes a los puertos s i eres root segun tengo entendido Responder
Anónimo 3 de agosto de 2011, 21:59 hola hay otra opcion a las resistencuas de 470ohnios muy bien los tutos Responder
Anónimo 10 de noviembre de 2011, 12:26 Hola Iñigo. Lo primero que quería era felicitarte por todo el blog, tienes unos tutoriales muy buenos, me están sirviendo muchísimo. He leído en un comentario s uperior que deciais que hay que istalar Gimeo para Windows, pues te comento m i problema, tengo acceso a un ordenador con puerto paralelo, pero solo tiene puesto Windows y no me perm ite instalar nada... Hay alguna posibilidad de que ese gimeo s e pudiese ejecutar desde un pincho o simil ar? Muchas gracias de antemano y disculpa las moles tias.
open in browser PRO version
Are you a developer? Try out the HTML to PDF API
pdfcrowd.com
Casi007 Responder
Iñigo
10 de noviembre de 2011, 23:03
Hola anónimo, siento no poder ayudarte, ya que utilizo linux. no obstante lo que si podrías hacer es ejecutar linux desde un pendrive en un ordenador con windows: http://sourceforge.net/projects/portableubuntu/ (no lo he probado) Saludos Responder
Anónimo 28 de diciembre de 2011, 15:40 Hola Soy nuevo en esto. Quisiera felicitarte por tus ideas.Escribo este mensaje para solicitar ayuda. Tengo m ontado p aper-bootloa der SPP po r 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 s e debe dicho error. Muchas gracias de entemano Responder
Anónimo 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 ques tion seem s kind of trivial - I'm newbie in m icrocontrolers :) Responder
Iñigo
25 de febrero de 2012, 21:57
Hello Anónimo, The easies t 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 m arzo 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
Anónimo 26 de abril de 2012, 23:25 Hi, Is poss ible use the RS232 ?? Becouse i dont have DB25 !! Responder
David 17 de mayo de 2012, 22:06 Hola te quería 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. Contéstame si te es posible a m i correo:
Responder
difesalo 11 de junio de 2013, 21:10 se puede utilizar el puerto RS232 para cargar el bootloader conectadolo como se mues tra en este lugar: http://arduinodiy.files.wordpress.com/2012/03/rs232-ttl4.jpg Responder
Introduce tu comentario...
Comentar como:
Publicar
Seleccionar perfil...
Vista previa
Entrada más reciente
Página principal
Entrada antigua
Suscribirse a: Enviar comentarios (Atom)
Si te parece interesante este bl
Con la tecnología de Blogger .