Outro Duemilanove com erro not sync

Olá pessoal,

Sou novo no forum e novato com Arduinos, mas tenho base de eletronica e informática.
Estou escrevendo como ultimo recurso para salvar um Arduino Duemilanove (e_roboto.tw) comprado no dx.com.
Vale a pena dizer que eu tenho um Arduino Nano que funciona perfeitamente.

Depois de alguns erros na instalação do drive e um boot, consegui carregar o exemplo blink no meu Duemilanove e desde então nunca mais funcionou, isto é, liguei no dia seguinte e não piscava e quando tentava carregar apresentava o erro: avrdude: not in sync: resp=0x00.
Depois de ler muitos posts, eu tentei:

  • Testei o cabo;
  • Fiz o loop-back teste;
  • Verifiquei modelo e porta;
  • Testei em computadores diferentes (só meu Nano funciona em todos) ;
  • Tentei versões de IDE diferentes (0022 até 1.0.5);
  • Tentei versões de drivers FDTI diferentes (2.0.0, 24, 28, 30);
  • Apertar o botão reset antes/durante/depois/em sequencia/forte :wink: no uploading;
  • Coloquei um resistor entre pinos 5+ e Reset para carregar;
  • Comprei e troquei o ATmega328p-pu já com bootloader gravado;
  • Tentei gravar o bootloader usando um TinyISP (Atmega novo e velho);

E ainda continuo recebendo a mensagem de erro: avrdude: not in sync: resp=0x00
Estou usando o Windows 7 32 bits.

Está na hora de desistir ou ainda tem algo para ser feito?

Obrigado

Ok vamos por partes.
Tens algum conversor FTDI externo?
Imagina que o teu chip FTDI232RL esta danificado.NUNCA iras conseguir comunicar com ele.
Se tens um programador externo conecta-o com o programador externo apenas(nao ligues o cabo USB) ,carrega o exemplo BLINK e depois ao fim de teres configurado o teu programador ISP em TOOLS -> Programmer, fazes upload do programa usando FILE->UPLOAD using Programmer.
Se o teu avr estiver bom, tiver alimentaçao e clock o led tem de piscar.Isto prova que esta bom.
Faz este teste e diz como correu
Por acaso mexeste nos fuses?
Ja os tentaste ler com o programador externo?

Boa ideia HugoPT!
Consegui fazer usando a linha de comando no 0022 com opção -F e tanto TX do tiny quanto o Led13 do Duemilanove piscaram enquanto estava lendo e/ou gravando. Porém não carregou o exemplo blink e este foi o resultado:

C:\Software\Arduino\arduino-0022\hardware\tools\avr\bin>avrdude -CC:\Software\Ar
duino\arduino-0022\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega328p
-cusbtiny -P\.\COM2 -b57600 -D -Uflash:w:C:\DOCUME~1\SRM\CONFIG~1\Temp\build354
5477587438612966.tmp\Blink.cpp.hex:i -F

avrdude: Version 5.4-arduino, compiled on Oct 11 2007 at 19:12:32
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

System wide configuration file is "C:\Software\Arduino\arduino-0022\har
dware/tools/avr/etc/avrdude.conf"

Using Port : \.\COM2
Using Programmer : usbtiny
Overriding Baud Rate : 57600
AVR Part : ATMEGA328P
Chip Erase delay : 9000 us
PAGEL : PD7
BS2 : PC2
RESET disposition : dedicated
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
Memory Detail :

Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



eeprom 65 5 4 0 no 1024 4 0 3600 36
00 0xff 0xff
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



flash 65 6 128 0 yes 32768 128 256 4500 45
00 0xff 0xff
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



lfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



hfuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



efuse 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



lock 0 0 0 0 no 1 0 0 4500 45
00 0x00 0x00
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



calibration 0 0 0 0 no 1 0 0 0
0 0x00 0x00
Block Poll Page
Polled
Memory Type Mode Delay Size Indx Paged Size Size #Pages MinW Max
W ReadBack



signature 0 0 0 0 no 3 0 0 0
0 0x00 0x00

Programmer Type : USBTINY
Description : USBtiny simple USB programmer

avrdude: Using SCK period of 10 usec
CMD: [ac 53 00 00] [00 00 00 00]
CMD: [ac 53 00 00] [00 00 00 00]
avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions

Reading | | 0% 0.00sCMD: [30
00 00 00] [00 00 00 00]
CMD: [30 00 01 00] [00 00 00 00]
Reading | ################# | 33% 0.00sCMD: [30
00 02 00] [00 00 00 00]
Reading | ################################################## | 100% 0.00s

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F
CMD: [50 00 00 00] [00 00 00 00]
avrdude: safemode read 1, lfuse value: 0
CMD: [50 00 00 00] [00 00 00 00]
avrdude: safemode read 2, lfuse value: 0
CMD: [50 00 00 00] [00 00 00 00]
avrdude: safemode read 3, lfuse value: 0
avrdude: safemode: lfuse reads as 0
CMD: [58 08 00 00] [00 00 00 00]
avrdude: safemode read 1, hfuse value: 0
CMD: [58 08 00 00] [00 00 00 00]
avrdude: safemode read 2, hfuse value: 0
CMD: [58 08 00 00] [00 00 00 00]
avrdude: safemode read 3, hfuse value: 0
avrdude: safemode: hfuse reads as 0
CMD: [50 08 00 00] [00 00 00 00]
avrdude: safemode read 1, efuse value: 0
CMD: [50 08 00 00] [00 00 00 00]
avrdude: safemode read 2, efuse value: 0
CMD: [50 08 00 00] [00 00 00 00]
avrdude: safemode read 3, efuse value: 0
avrdude: safemode: efuse reads as 0
avrdude: reading input file "C:\DOCUME~1\SRM\CONFIG~1\Temp\build3545477587438612
966.tmp\Blink.cpp.hex"
avrdude: writing flash (1018 bytes):

Writing | | 0% 0.00sCMD: [4c
00 00 00] [00 00 00 00]
Writing | ###### | 12% 0.36sCMD: [4c
00 40 00] [00 00 00 00]
Writing | ############# | 25% 0.72sCMD: [4c
00 80 00] [00 00 00 00]
Writing | ################### | 37% 1.06sCMD: [4c
00 c0 00] [00 00 00 00]
Writing | ######################### | 50% 1.41sCMD: [4c
01 00 00] [00 00 00 00]
Writing | ############################### | 62% 1.77sCMD: [4c
01 40 00] [00 00 00 00]
Writing | ###################################### | 75% 2.11sCMD: [4c
01 80 00] [00 00 00 00]
Writing | ############################################ | 88% 2.45sCMD: [4c
01 c0 00] [00 00 00 00]
Writing | ################################################## | 100% 2.80s

avrdude: 1018 bytes of flash written
avrdude: verifying flash memory against C:\DOCUME~1\SRM\CONFIG~1\Temp\build35454
77587438612966.tmp\Blink.cpp.hex:
avrdude: load data flash data from input file C:\DOCUME~1\SRM\CONFIG~1\Temp\buil
d3545477587438612966.tmp\Blink.cpp.hex:
avrdude: input file C:\DOCUME~1\SRM\CONFIG~1\Temp\build3545477587438612966.tmp\B
link.cpp.hex contains 1018 bytes
avrdude: reading on-chip flash data:

Reading | ################################################## | 100% 1.92s

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

CMD: [50 00 00 00] [00 00 00 00]
avrdude: safemode read 1, lfuse value: 0
CMD: [50 00 00 00] [00 00 00 00]
avrdude: safemode read 2, lfuse value: 0
CMD: [50 00 00 00] [00 00 00 00]
avrdude: safemode read 3, lfuse value: 0
avrdude: safemode: lfuse reads as 0
CMD: [58 08 00 00] [00 00 00 00]
avrdude: safemode read 1, hfuse value: 0
CMD: [58 08 00 00] [00 00 00 00]
avrdude: safemode read 2, hfuse value: 0
CMD: [58 08 00 00] [00 00 00 00]
avrdude: safemode read 3, hfuse value: 0
avrdude: safemode: hfuse reads as 0
CMD: [50 08 00 00] [00 00 00 00]
avrdude: safemode read 1, efuse value: 0
CMD: [50 08 00 00] [00 00 00 00]
avrdude: safemode read 2, efuse value: 0
CMD: [50 08 00 00] [00 00 00 00]
avrdude: safemode read 3, efuse value: 0
avrdude: safemode: efuse reads as 0
avrdude: safemode: Fuses OK

avrdude done. Thank you.

Não mexi nos fuses e já tentei ler com o programador, mas sempre recebo a mensagem "invalid signature".

Obrigado

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.

Isto é problema ...
Colega liga o teu Duemilanove como na imagem em anexo e corre isto em linha de comandos:
Abres a linha de comandos com e escreves:

cd C:\Software\Arduino\arduino-0022\hardware\tools\avr\bin

Das um enter depois escreves

avrdude.exe -c usbtiny -p m328

Se tudo correr bem deve ser lida a assinatura do teu chip como na imagem em anexo
Nota que o meu programador externo é um usbtiny se o teu for diferente tens de o indicar no parametro -c XXXX

Como podes ver na imagem o meu Duemilanove leu a assinatura.Se o teu mesmo assim não ler então tens de confirmar a alimentação no chip(nos pinos mesmo), se o oscilador externo estara a funcionar e os pinos MOSI,MISO,CLK e reset estao sem problemas.
Nota que sem conseguires pelo menos ler a assinatura do chip dificilmente iras conseguir por isso a funcionar por isso tenta tudo ate conseguires ler a assinatura dele.
Posta o resultado

photo.JPG

Sem chance, no way:

C:\Software\Arduino\hardware\tools\avr\bin>avrdude -CC:\avrdude.conf -pm328p -cusbtiny

avrdude: initialization failed, rc=-1
Double check connections and try again, or use -F to override
this check.

C:\Software\Arduino\hardware\tools\avr\bin>avrdude -CC:\avrdude.conf -pm328p -cusbtiny -F

avrdude: initialization failed, rc=-1
avrdude: AVR device initialized and ready to accept instructions

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

avrdude: Device signature = 0x000000
avrdude: Yikes! Invalid device signature.
avrdude: Expected signature for ATMEGA328P is 1E 95 0F

avrdude: safemode: Fuses OK

Alimentação OK, pinos MOSI, MISO, CLK e RST OK. Não sei como testar o oscilador.
Troquei o chip ATmega328p e recebi a mesma mensagem.
Usei opções de clock diferentes (-B -i) sem sucesso também.

Está morto =(

Ok pode estar morto, mas nao disseste que ja trocaste o chip?
É muito pouco provavel que ambos os chips estejam danificados sendo o segundo novo.
Monta o chip numa breadboard

Sim HugoPT, já havia trocado o chip, tentei com o velho e novo.
O que me incomoda é que ele fez uma única carga na vida, e eu não posso nem reclamar de defeito de fabricação.
Não entendo o que pode ter acontecido entre uma coisa e outra.
De qualquer forma, muito obrigado

E já tentaste trocar de PC?
Podes ter apenas um problema no PC?

Já tinha tentando em 3 computadores diferentes com 3 IDE's diferentes (0022, 1.0.1, 1.0.5).
Não tem algum forma de fazer um diagnóstico? Algum procedimento para verificação?

No forum em inglês, me disseram para tentar um Sketch to detect Atmega chip types:

Mas penso que isso também não vai ajudar...

Obrigado

Por acaso quando trocaste o chip nao o colocaste no socket virado ao contrario?
Axo muito pouco provavel os chips estarem danificados pelo que relatas.

Olá pessoal,

Obrigado pela ajuda.

Descobri uma solda fria em um dos componentes e acreditava que poderia ser isso.
Porém o componente parece danificado (algo bateu nele), vejam as fotos:

Mas na tentativa de soldar, acabei quebrando o terminal, que já estava meio solto...

Vale a pena colocar outro capacitor?
Poderia ser esse o motivo do problema?

Saudações

Não acho que valha a pena soldares isso... a não ser que uses alimentação externa.

http://brittonkerin.com/annotateduino/annotatable_duemilanove.html

C6 é o condensador de entrada da alimentação externa.

Está certo, bubulindo, só faz sentido se usar a fonte externa.

Vou continuar procurando, ainda acho que é um problema com solda fria...