Gravar bootloader arduino duemilanove

Olá galera ,

Tenho um arduino duemilanove com atmega328-pu e resolvi usa-lo como isp para gravar bootloader em 2 atmegas virgens (Atmaga328p-pu).

porem na hora de queimar acontece um erro :

avrdude: stk500_getsync(): not in sync: resp=0xf0

esta tudo certo com cristal e etc.

andei lendo que para gravar a versão atmega328p-pu tenho que fazer algumas mudanças em alguns arquivos da IDE do arduino.

ja tentei de tudo e não consigo gravar.

alguma dica?

Comprei quatro destes:

Gravei com um Uno R3 como ISP seguindo este tutorial:

O que já tentou?

eu segui esse tutorial (alem de muitos outros, rs), mas usei um arduino mega: http://arduino.cc/en/Tutorial/ArduinoISP

uma observação importante do tutorial é: "On the Arduino Uno, you'll need to connect a 10 uF capacitor between reset and ground (after uploading the ArduinoISP sketch)."

lembro também que tive problemas com o sketch, acho que foi daqui que peguei o que funcionou: ArduinoISP | Arduino Tips, Tricks, and Techniques | Adafruit Learning System ou daqui https://raw.github.com/adafruit/ArduinoISP/master/ArduinoISP.ino. Bom, anexo o sketch que é mais seguro rs

ISP Com arduino Mega (Testado).zip (20.2 KB)

Obrigado pela resposta vou tentar fazer com o mega.

ja tentei o capacitor de 10uf no reset o resistor de 120ohms tambem.

não consegui desabilita o resetonserial via software.

troquei signature no avrdude file.

e sem resultados.

Com o mega obtive o seguinte erro .

avrdude: stk500_getsync(): not in sync: resp=0xff

O problema não está no micro pois como disse comprei 2 e ambos apresentam erro ao gravar.

Vinícios,

Estranho, eu usei a IDE do arduino para gravar, gravei o sketch ISP no MEGA, conectei os cabos e as únicas alterações que fiz foi na hora de gravar o atmega328, selecionando a board "Arduino Uno" e o programmer "Arduino as ISP".

Eu passei junto um sketch camado board detector, roda para ver como esta o teu atemega. Mais informações tu podes encontrar aqui http://www.gammon.com.au/forum/?id=11637

É tudo o que imagino poder ajudar por hora. Presumo que você já tenha checado os cabos, etc...

Anexo imagem da minha primeira gravação ^^

Nada da certo nesses Cloneinos :0 . Até o sketch q você mandou deu erro.

Olha o esquema do CoCôino Mega ( na verdade não da pra ver nada tirei a foto da webcam do note parece uma techpix ).

Alguma sugestão ?

Realmente... uma foto melhor seria ideal.

Pode realmente ser o auto-reset... e para tirares a limpo definitivamente podes cortar a pista do auto-reset (os senhores do Arduino podiam incluir um switch, né???).

Será que o chip precisa já dos condensadores e cristal?

Será que o chip precisa já dos condensadores e cristal?

A menos que tenhas os fuses configurados no chip a gravar para se usar oscilador interno é necessario ter cristal com os respectivos condensadores.
Esta questao surge muitas vezes no forum sobre gravar o bootloader.Enviar o bootloader é ate um simples processo na verdade, o problema é estar perdido na informaçao e sem norte a seguir.A minha experiencia em gravar o bootloader resume-se a isto:
Primeiro de tudo termos a certeza que estamos a falar com o chip(acabado de comprar).Isto claro temos de ter um programador ou o proprio arduino carregado com o sketch que o transforma num programador ISP(o skeetch esta nos exemplos pronto a ser carregado).Para termos a certeza que estamos a falar com o chip a minha sugestao é usar directamente o avrdude em linha de comandos!
No linux é algo assim:

hugo@localhost:~$ avrdude -c arduino -p m328p

O avrdude recebe dois argumentos , o programador que se esta a usar e o chip que queremos trabalhar.Neste caso uso o arduino (prevendo ter carregado o skeetch ISP)
o paramentro -p m328p indica o chip que quero ler
Se ele ler com sucesso entao podes partir para a IDE do arduino, tem de se configurar em Tools->Programmer escolher Arduino as ISP
Depois Burn bootloader
Caso falhem a conversa com o chip usando o avrdude NUNCA ira conseguir usar a IDE do arduino para carregar o bootloader e aqui os problemas podem ser diversos, fios do SPI trocados, falta de clock, chip com diferentes assinaturas (se assim for o avrddude diz que as assinaturas nao coincidem, requer alterar o avrdude.conf para o corrigir-acontece em versoes pico)

Vinícios,

Como o bubulindo questionou e Hugo confirmou, só vai funcionar sem o cristal se estiver com os fuses para o clock interno, alguns atmegas já vem com bootloader e os fuses configurados para o clock externo, sendo necessário o cristal.

No link que te passei tem uma sessão "Chip not detected", lá comenta sobre os fuse http://www.gammon.com.au/forum/?id=11637. O Nick Gammon passa muitas informações úteis, dá uma lida com calma por lá :wink:

Pelo erro na tua ide, parece-me que copiaste do anexo apenas o arquivo ".ino", os arquivos md5.c e md5.h devem ficar na mesma pasta, veja a imagem da minha pasta e ide anexa (compila normalmente).

Eu sempre rodo esse sketch "Atmega_Board_Detector" para ver como esta o chip novo ^^

Parece que falta o pull-up na tua protoboard, bota 10k :wink:

As conexões da imagem que anexei em post anterior funcionaram perfeitamente aqui, faça exatamente o que lá esta (mesmo que nos sites que passei) que vai dar tudo certo!

folder.png

Mortis:
Como o bubulindo questionou e Hugo confirmou, só vai funcionar sem o cristal se estiver com os fuses para o clock interno, alguns atmegas já vem com bootloader e os fuses configurados para o clock externo, sendo necessário o cristal.

Não... se o processador estiver configurado para usar o cristal interno, então pode ter condensadores e cristal exterior ligado que não faz mal nenhum.
Eu referi isto porque assim de cabeça não sei como é que o AVR vem configurado de fábrica. Eu arriscaria que está a correr com o cristal interno de 8MHz, mas não sei.

Pode haver também a possibilidade de alguém ter lá gravado o bootloader... não sabemos onde o chip foi comprado, né?

O pull-up no reset é bem visto... eu não tinha visto esse pull-up nos esquemas do Arduino ISP, mas isso é porque a resistência já está dentro do Arduino.

bubulindo:

Mortis:
Como o bubulindo questionou e Hugo confirmou, só vai funcionar sem o cristal se estiver com os fuses para o clock interno, alguns atmegas já vem com bootloader e os fuses configurados para o clock externo, sendo necessário o cristal.

Não... se o processador estiver configurado para usar o cristal interno, então pode ter condensadores e cristal exterior ligado que não faz mal nenhum.

Foi o tentei dizer: "Se estiver com os fuses "configurados" para o clock interno o cristal não é necessário", mas se estiver configurado para o clock externo é necessário usar o cristal."

bubulindo:
Eu referi isto porque assim de cabeça não sei como é que o AVR vem configurado de fábrica. Eu arriscaria que está a correr com o cristal interno de 8MHz, mas não sei.

Eu creio que de fábrica é os 8MHz internos mesmo, comprei uns chips "crús" de um vendedor no ebay e estavam configurados para os 8mhz interno, comprei de outro e estavam com o bootloader do duemilanove.

Tentei me aventurar nos fuses, mas ainda não estou preparado para isso lol

Tentei me aventurar nos fuses, mas ainda não estou preparado para isso lol

Nao tenhas receio.Para muitos mecher nos fuses é uma caixa negra.Basicamente os fuses sao como uma BIOS de um PC para assim configurares o teu chip com algumas opçoes(velocidade relogio, tensao de brown-out, preservaçao da eeprom apos reprogramaçao, desactivar o pino de reset( este sim cuidado)....
Pensa só que existe soluçao SEMPRE mesmo que mexas em todos os fuses.O fuse mais perigoso é o desactivar o pino de reset, mas mesmo que o faças depois so precisas de o recuperar usando um programador com HighVoltage Programming ( o avrdragon faz ...)
Dominar os fuses por vezes é necessario e util

bubulindo:
Eu referi isto porque assim de cabeça não sei como é que o AVR vem configurado de fábrica. Eu arriscaria que está a correr com o cristal interno de 8MHz, mas não sei.

Eu acho que não tem um padrão. Pelo menos todos os ATMega328p-pu que eu comprei vieram configurados para utilizar um cristal externo. Tive que utilizar o programador do Nick Gammon, que foi postado acima, com opção de gerador de frequência, caso contrário ele não funcionava.

HugoPT:
Pensa só que existe soluçao SEMPRE mesmo que mexas em todos os fuses.O fuse mais perigoso é o desactivar o pino de reset.

A não ser que bloqueie o chip com as protecções do firmware... esse também não é fácil de tirar. :wink:

HugoPT:

Tentei me aventurar nos fuses, mas ainda não estou preparado para isso lol

Nao tenhas receio.Para muitos mecher nos fuses é uma caixa negra.Basicamente os fuses sao como uma BIOS de um PC para assim configurares o teu chip com algumas opçoes(velocidade relogio, tensao de brown-out, preservaçao da eeprom apos reprogramaçao, desactivar o pino de reset( este sim cuidado)....
Pensa só que existe soluçao SEMPRE mesmo que mexas em todos os fuses.O fuse mais perigoso é o desactivar o pino de reset, mas mesmo que o faças depois so precisas de o recuperar usando um programador com HighVoltage Programming ( o avrdragon faz ...)
Dominar os fuses por vezes é necessario e util

Fala ai, Hugo!

Obrigado pela motivação! :wink:

Na verdade não é receio, não me aprofundei por não ter visto necessidade (ou não vi necessidade por que não me aprofundei? :)).

Esta é a parte triste dos Hobbies, não nos sobra muito tempo para sabermos "um pouquinho mais".

Obrigado por indicar o avrdragon, não o conhecia! :wink:

bubulindo:

HugoPT:
Pensa só que existe soluçao SEMPRE mesmo que mexas em todos os fuses.O fuse mais perigoso é o desactivar o pino de reset.

A não ser que bloqueie o chip com as protecções do firmware... esse também não é fácil de tirar. :wink:

Essas coisas são boas para os profissionais como vocês! XD

Amadores como eu pensam que mataram o chip! (se não tivermos matado de verdade) lol

Ainda tenho ali algures um ATmega16 bloqueado...

Primeiramente agradeço a todos pelas respostas e pela ajuda. :slight_smile:

Realmente na foto que mandei não da pra ver nada. Mas estava montado tudo certo com o res. de 10k no reset mais um cap de 10uf no reset do mega um cap 0.1uf na alimentação geral e o cristal de 16mhz com os cap de 22pf para o menos.

Comprei esses micros em uma loja de eletrônica na santa efigênia aqui no centro de SP e paguei 19 reais em cada o que já achei caro.

Sobre o sketch que me mandou eu extrai ele para a mesma pasta todos os arquivos porem mesmo assim parece que a ide não reconhece o arquivo C externo. (Vou tentar algumas outras formas)

mas vale lembrar que o erro que da na IDE na hora de queimar o bootloader é o mesmo que da quando eu tiro o c.i da protoboard , acho que não estou conseguindo nem reconhecer os micros.

Será que posso ter queimado eles por estática ? acho que não porem já li uma matéria que o cara falo que queimo alguns assim :astonished:

Vou fazer mais alguns testes e já passo respostas.

Consegui felizmente comunicar com o micro pelo programa de teste que nosso amigo me passou . :wink:

Os resultados foram estes que parecem positivos :

Porem ainda da erro ao gravar o boot loader .

Será algum arquivo da IDE ? Já configurei o avrdude.conf para o signature certo . tem mais algum que precisa mexer ?