Cómo recuperar fuses de atmega

@COSMICO: Hay muchos caminos que llevan a Roma, pero a 2 de ellos los considero de alto valor:

ARDUINO: Las placas Arduino con controladores AVR realmente no son mas que placas que facilitan el acceso a los pines en sus conectores hembra. La gran ventaja es el entorno de desarrollo ARDUINO IDE y el programita preinstalado en el flash del avr. Si veo que placas ARDUINO UNO clones se consiguen de la China, ver ebay, por mucho menos de 5 Euros incluyendo el flete. Si no mal recuerdo el mio lo compré por solo 3,60 USDs y es de excelente calidad.

BASCOM: Bascom es un compilador del lenguaje Basic pero con una inmensa librería de funciones que usamos en la electrónica o el modelismo y son accesibles facilmente pues están disponibles como funciones del compilador. Con la versión gratuita ya se pueden hacer las cosas deseadas. Yo me compré una licencia y desde entonces puedo actualizarla sin costo adicional y eso desde mas de 10 años.

Eso sí, requieres de un programadoy y hay un gran número de estos que se pueden utilizar directamente desde la IDE de Bascom. Pero eso sí, hay que saber lo que se hace con los fuses.

Quizá te pueda ayudar un curso que publiqué hace ya bastantes años en un foro de modelismo naval con la intención de capacitar modelistas navales a la electrónica. Mi objetivo era ayudar a modelistas navales a aprender como hacer una placa partiendo de un esquema electrónico, perdiendo así el miedo a la electrónica. Yo sigo convencido que es posible con unos pocos módulos de aprender un esquema que permite realizar funciones propias partiendo al tipo "Lego"! Como lo importante es dar a principiantes experiencias de éxito que les ayuden a mantener y desarrollar la fascinación por la electrónica el curso trabaja pasito por pasito, empezando por ejemplo construyendose un programador que funciona con la interfaz paralela que entonces existía en todos los PCs. Pero hoy existen instruciones en el internet para construirse su propio grabador que se conecta a la interfaz USB. Pero este tipo de programadores se consigue por muy poco dinero.

Mi curso está dividido en 2 hilos!

Tarjeta Experimental - Software

Tarjeta Experimental - Hardware

Desafortunadamente muchos modelistas navales y otros interesados en electrónica y su programación prefieren comprar placas-

Pero desde que existen las placas ARDUINO y las ofertas ultra económicas de clones de la China las placas ARDUINO hacen dificil justificar el hacer placas propias para el controlador.

Aquí algunos enlaces a sitios en Español:

http://www.todopic.com.ar/foros/index.php?topic=1164.0
http://www.unrobotica.com/manuales/Turorial_AVR.pdf
 
Última edición:
Hola
Aprovechando el tema y siendo que ahora AVR es de Microchip, muestro el siguiente vídeo que se me notificó ayer.
https://youtu.be/YG5QypvlMLQ

A mi también se me complica mucho la forma de trabajar con el IDE y espero que Microchip lo mejore.
Ya somos varios los que hemos realizado la petición de mejorar el entorno, así que a esperar.
Bueno ., no se de que manera te podria ayudar en esto (me gustaria mucho ., por las tantas veces que me ayudaste a mi)​
Yo te recomendaria que usaras el IDE oficial y gratuito AVRstudio 7 (que incluso y siempre lo digo) ., tiene el IDE de arduino integrado​
Puede programar tanto en C como en ASM ., (si gente con el mismo IDE) y se le agrego arduino ( si... si.... todo con un solo IDE )​
Yo no puedo usar esa vercion de IDE ., porque mi compu no lo soporta ( 256 de ram) :cry: :cry: :cry: :cry:
Ahora ., claro que las diferencian a la hora de programar ., son diferentes ., pero porque los micros son diferentes (arquitecturas )​
Y desde ya te digo ., no creo que cambien el IDE ., porque tendrian que cambiar los micros ., y eso lo veo muy dificil​
Yo uso una vercion de IDE vieja ., pero me funciona muy bien (4.13) ., mi maquina lo acepta sin problemas​
Si me explicas mas o menos ., cual o que ., es en lo que te trae problemas ., yo te podria guiar ., como asi cosmefulanito04 ., que la tiene muy clara con los AVR ( y entiende de PIC)​
Con respecto al programador ., uso el SI-PROG con el PONYPROG ., porque al programador ., no lo acepta el ide (vendria siendo el STK200)​
Yo te aseguro que con el conocimiento que tenes de C ., salis andado "rapidisimo" ., solo que hay algunas cosa que se manejan distintinto ., pero el resultado es igual​
 
Hola amigos gracias por sus respuestas.

Ya tengo este programador de la imagen y quiero usarlo.
Otra duda que tengo.
Es cierto que si programo un micro AVR con reloj interno, y después quiero cambiar el programa
y usar un cristal externo, por ejemplo de 20MHZ, debo conectar el cristal que quiera usar al los respectivos pines del micro
para poder reprogramarlo.
Tengo muchas dudas pero poco a poco ir saliendo de ellas.
Ademas veo, que el BASCOM AVR, soporta el programador que tengo.
Ya compre un Atmega328p y no quiero diñarlo, aunque se me hace un tanto liado, lo de cargarles el código.:D
 

Adjuntos

  • AC-PG-USBASP_01_LRG.jpg
    AC-PG-USBASP_01_LRG.jpg
    62.9 KB · Visitas: 8
  • bascom.png
    bascom.png
    94.2 KB · Visitas: 11
Última edición:
Hola
Hola amigos gracias por sus respuestas.

Ya tengo este programador de la imagen y quiero usarlo.
Otra duda que tengo.
Es cierto que si programo un micro AVR con reloj interno, y después quiero cambiar el programa
y usar un cristal externo, por ejemplo de 20MHZ, debo conectar el cristal que quiera usar al los respectivos pines del micro
para poder reprogramarlo.
Tengo muchas dudas pero poco a poco ir saliendo de ellas.
Ademas veo, que el BASCOM AVR, soporta el programador que tengo.
Ya compre un Atmega328p y no quiero diñarlo, aunque se me hace un tanto liado, lo de cargarles el código.:D
bueno ., si podes hacer eso siempre y cuando manejes correctamente ., la programacion de fuses​
Se puede volver al estado original y vice-versa ., cuantas veces quieras​
No entiendo por que queres empezar con bascon ., yo te recomendaria que uses el AVRstudio (C y ASM en el mismo y mezcla de los dos + arduino) ., y te inscribas en AVRFREAKS (foro oficial del faricante)​
Y dos cosa a tener en cuenta ., una .... siempre pero siempre .... se usa cristal externo ., si haces uso de la USART ., dos ..... la frecuencia maxima admisible de cristal externo ., es 16Mhz ., No 20Mhz​
Habri una consulta sobre como configurar los fuses y el porque ., tome dos atmegas de referencia ., 328p y 128A​
Mas que todo ., para que alguien me enseñe correctamente ., (porque aprendi solo) ., y talvez no ., de la manera correcta​
Puede ser que tengas alguna consulta al que responda​
https://www.forosdeelectronica.com/f24/configurar-fuses-avr-21007-new/
 
Hola mi amigo.
Pues la verdad, la programación en Avr studio, Bascom, eclipse, o alguno de tantos, no me es relevante, para lo que quiero, pues todos son compiladores y los he probado.
Es mas, pienso usar PROGISP para cargar el .HEX al micro. Es fácil de usar, pero me apoyaré como lo hago con los pics de microchip, en la hoja de datos para trabajarlos, veo que hay mucho comentario errado, como que se dañan los micros por programar mal los fusibles, y en fin.
Bueno pero no sobra la ayuda, seguiré trabajando, y probando compiladores varios.
Aver si estos que al igual los de micro chip, presentan bugs, en su estructura de código.
Cualquier comentario seria bien recibido.
 
Hola
Hola mi amigo.
Pues la verdad, la programación en Avr studio, Bascom, eclipse, o alguno de tantos, no me es relevante, para lo que quiero, pues todos son compiladores y los he probado.
Es mas, pienso usar PROGISP para cargar el .HEX al micro. Es fácil de usar, pero me apoyaré como lo hago con los pics de microchip, en la hoja de datos para trabajarlos, veo que hay mucho comentario errado, como que se dañan los micros por programar mal los fusibles, y en fin.
Bueno pero no sobra la ayuda, seguiré trabajando, y probando compiladores varios.
Aver si estos que al igual los de micro chip, presentan bugs, en su estructura de código.
Cualquier comentario seria bien recibido.
Bueno alli esta tu primer error ., los avr tiene apoyo de fabrica gratuito y libre (sin costo)., cuando son pagos ., la ayuda o soluciones son proporcional ., a lo que pagues (fracaso de microchip con sus compiladores al cobrarlos)​
Ahora las librerias mayoritarias y de uso libre son la de AVRGCC ., los demas compiladores no llegan ni ala mitad ., y no por que sean malos., sino porque al final llegan a lo mismo que el oficial​
Lo otro importante .,las instrucciones de la hoja de datos ., estan en ASM y C ., pero el unico compilador que tiene todas las instrucciones completas es el AVRstudio (pueden ir de 130 a 150 mas o menos dependiendo del chip​
Y si configuras mas los fuces si se daña ¿¿¿ quien te dijo que no ??? ., a veces se bloquea ., pero otras veces (de acuerdo a como se conecte y que pin se conecte se queman)
Olvidate de como se programan los pic ., aca es distinto .,el AVRstudio tenes todo ., incluso Herramientas que no sabras usar (decompilador por ejemplo) ., o "tracear" con F11., como correria el programa dentro del chip ., ETC​
La forma de grabacion de un AVR ., es distinta a los pic ., el .HEX se graba por un lado ., y los FUSEBIT por el otro​
Te recomiendo que para la grabacion uses el grabador integrado del AVRstudio ., (que acepta el USBASP)​
Con respecto a los BUGs ., el unico compilador que vi con apoyo realmente serio es el AVRstudio ., en AVRfreaks ., tiene un hilo dedicado a eso directamente ., con gente de fabrica para atenderlo ( ven si realmente es un BUG o un problema del que programa)​
Lo que yo veo ., es que estas con la actitud del que viene de los pic ., y esto es totalmente distinto ., te va a costar adaptarte​
 
Última edición:
Claro que si, locodelatelefonía.
Pero bueno, ya programe mi atmega328p, con el progisp. Reloj interno, y todo va bien, modifique el código, borre el chip. Y volvi a programar, y anda muy bien, creo que todo se trata de documentarse bien, como con cualquier tema.
Gracias por los aportes
 
Hola
Claro que si, locodelatelefonía.
Pero bueno, ya programe mi atmega328p, con el progisp. Reloj interno, y todo va bien, modifique el código, borre el chip. Y volvi a programar, y anda muy bien, creo que todo se trata de documentarse bien, como con cualquier tema.
Gracias por los aportes
Claro amigo asi se hace​
A menos que tus compilaciones (por lo tanto el .HEX generado) ., no nesesiten otra configuracion de fuces ., no hace falta grabarlos de nuevo​
Como te dije antes se graba solo el .HEX generado​
Suerte con eso :apreton:
 
Última edición:
Buenos dias, no se como publicar un problema que tengo y lo unico que he encontrado ha sido contestar en este hilo, cosa que seguramente es incorrecta. Ante todo , mis disculpas.
Mi problema es que al intentar grabar el Bootloader en un ATmega8 me da un error parecido a:

avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes! Invalid device signature.
avrdude.exe: Expected signature for ATmega8 is 1E 93 07
avrdude.exe: reading input file "0x00"
avrdude.exe: writing lfuse (1 bytes):

Mi pregunta es: Se puede reescribir la Device Signature?, en caso afirmativo: Como?

Gracias por adelantado y disculpen las molestias de nuevo.
Saludos
 
Gracias por la respuesta. He leído los comentarios indicados , pero no he encontrado la solución ya que no especifican como grabar, si es que se puede, la Device Signature que le correspondería a un ATmega8. Como da error en el primer paso, lo demás lo ignora.
 

D@rkbytes

Moderador
Usa un programador paralelo de alto voltaje.
Seguramente algo se modificó en los fuses y por ISP ya no podrá ser leído correctamente.
 
Pero ya realizaste todos los pasos del post del foro de Arduino?

Mira que tuvieron varias cosas que hacer por lo que leí (muy por arriba), antes de andar tocando esa parte...
 
Buenos dias, como ya dije en el primer post, detecte el fallo al intentar cargar el BOOTLOADER desde Arduino y siempre me daba error, el mismo error de Device Signature. En el mismo circuito, he grabado otros chips, tanto ATmega8 como ATmega328, y funciona perfectamente, grabadando el BOOTLOADER correctamente y despues los chips se pueden programar sin problemas, todos menos uno, que da error
Despues, leyendo sobre el tema, encontre un post que explicaba como reescribir los FUSES con la aplicacion AVRDUDESS, me puse manos a la obra y no consegui nada porque al dar el error en lo primero que comprueba, que es la Signature, aunque el proceso termina no se si lo que lee es correcto o es basura y no se si ecribe o no, al final sale FAILED.

~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~
>>>: avrdude -u -c arduino -p m8 -P COM4 -b 19200 -F -U lfuse:w:0xE2:m -U hfuse:w:0xdf:m

avrdude.exe: AVR device initialized and ready to accept instructions

Reading | ################################################## | 100% 0.00s

avrdude.exe: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.02s

avrdude.exe: Device signature = 0x000000 (retrying)

Reading | ################################################## | 100% 0.01s

avrdude.exe: Device signature = 0x000000
avrdude.exe: Yikes! Invalid device signature.
avrdude.exe: Expected signature for ATmega8 is 1E 93 07
avrdude.exe: reading input file "0xE2"
avrdude.exe: writing lfuse (1 bytes):

Writing | ***failed;
################################################## | 100% 0.12s

avrdude.exe: 1 bytes of lfuse written
avrdude.exe: verifying lfuse memory against 0xE2:
avrdude.exe: load data lfuse data from input file 0xE2:
avrdude.exe: input file 0xE2 contains 1 bytes
avrdude.exe: reading on-chip lfuse data:

Reading | ################################################## | 100% 0.02s

avrdude.exe: verifying ...
avrdude.exe: verification error, first mismatch at byte 0x0000
0x00 != 0xe2
avrdude.exe: verification error; content mismatch

avrdude.exe done. Thank you.
~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~


Y ahi estoy, en ese bucle en el que haga lo que haga salta el error. Por eso mi pregunta de si se puede "regrabar" la Signature para que coincida con la que deberia tener el chip y deje pasar a reescribir los FUSES.
En fin, gracias por la respuesta.
 
Buenas tardes, he visto que hay programadores HV serie y programadores HV paralelo, Para este problema del error de la Signature se pueden usar cualquiera de los dos o tiene que ser exclusivamente el progrmador HV paralelo?
 

D@rkbytes

Moderador
Usa el modo paralelo de alto voltaje para que tengas acceso total.
De primera instancia te recomiendo que armes un recuperador de fuses.
 
Buenas tardes, en mi ultimo msg dije que contaria la experiencia, pues bien aqui va:
De diversos circuitos de HVPP que he visto (muy parecidos casi todos) me decidi a montar el de la pagina
mightyohm.com. Posteriormente descarge e hice el procedimiento que sugiere el autor aun a riesgo del fracaso ya que en el sketch para arduino vienen los valores para los ATmega48/88/168. haciendo pruebas he bloqueado otros tres IC,s pero al final ( y no se como) en una de las combinaciones de los FUSES, todo empezo a funcionar y he podido recuperar los cuatro. No ha sido por el dinero que puedan costar (unos 5 euros el lote de 5 piezas) sino mas bien por amor propio.
La configuracion que he usado ha sido: LFUSE 0xFF y HFUSE 0 x D9.
No se si es la correcta ya que estas cosas se escapan a mis conocimientos, pero ha funcionado.
Solo me queda agradecer vuestros comentarios y sugerencias y ponerme a vuestra disposicion, aunque tengo muy poco que aportar.
Muchas gracias
 
Pagina 299 en adelante, ahi estan los fuses y esas cosas.
Miré e interpreté por arriba, pero basicamente reiniciaste de fabrica los valores...
 

Adjuntos

  • ATmega48_88_168_megaAVR-Data-Sheet-40002074.pdf
    6.3 MB · Visitas: 1
Arriba