Erro a enviar programa para um arduino Mega 2560

Boas pessoal,

Acabo de receber um arduino Mega 2560 Rev3 ou melhor um funduino visto que é chinoca ... e quando faço um upload para la de exemplos que vêm com o IDE do arduino tudo OK ... quando tento fazer um upload de um programa que funciona 100% num arduino uno da barraca ... bloqueia sempre prai a 80% do upload ...

Alguém me sabe dizer o porque ?

Cpts

Zé tretas

Tamanho do sketch?

Os exemplos são extremamente pequenos... o teu programa pode não ser.

Poderá ter a ver com o bootloader que está lá dentro? Que placa configuraste na IDE?

Boas,

o programa faz 18 KB, e no IDE configurei a ARDUINO MEGA OR MEGA ADK

Em relação a versão do bootloader não faço a mínima ... mas se aconselhares um ... tenho aqui programador para o programar ... o meu galep nunca me deixou ficar mal :stuck_out_tongue:

Cumprimentos

Zé Tretas

E que erro aparece?

Boas,

O problema é que não da nenhum erro, logo fica mais complicado perceber o porquê ... fica Horas em Uploading... +/- a 90%

Cumprimentos

Zé tretas

Horas? :\

Estranho... muito estranho. As ligacões estão boas?

Boas,

que ligações ? depois de ter deixado a noite toda ... tenho os seguintes erros

avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_command(): failed miserably to execute command 0x1d
avrdude: stk500v2_cmd(): failed to send command
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_command(): failed miserably to execute command 0x1d
avrdude: stk500v2_cmd(): failed to send command
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_command(): failed miserably to execute command 0x1d
avrdude: stk500v2_cmd(): failed to send command
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_getsync(): timeout communicating with programmer
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout
avrdude: stk500v2_ReceiveMessage(): timeout

IDEM

Boas

Parece que a solução esta aqui ... Arduino Forum

Visto que o meu problema é o mesmo, agora só falta mesmo testar

Interessante... eu sabia disto, mas assumi que o bootloader fosse recente.

Dito isto, eu estou prestes a trocar todos os bootloaders nas minhas placas para o optiboot para ter acesso ao WDT e não cair neste problema. Apesar de não ser muito adepto de usar pontuação nas minhas comunicações.

Ainda bem que resolveste.

tretas:
Boas

Parece que a solução esta aqui ... http://arduino.cc/forum/index.php?topic=136170.0

Visto que o meu problema é o mesmo, agora só falta mesmo testar

Treta, era isso mesmo?

Eu estava acompanhando este post, mas nunca na minha vida iria imaginar que o problema estava na exclamação "!!!".

edit: Obrigado por compartilhar!

Boas,

estou a tentar a gravar um novo bootloader com um programador galep5 ... mas esta a dar barraca ... penso que deve ser ao nível dos "fuses"

Sera que alguém pode ver esses screenshot para me dizer que configuração usar

Cpts

Zé tretas

Boas,

aqui deixo os bons fuses

Hi CrossRoads,

In order to summarize what is my understanding from the posts:

  1. erase the chip memory
  2. burn the fuses
  3. burn the lock bits
  4. burn the file stk500boot_v2_mega2560.hex under the folder arduino-1.0.2\hardware\arduino\bootloaders\stk500v2?

Should the fuses and lock bits be set as:
0xFF = fuse low
0xD8 = fuse high
0xFD = fuse extended
0xCF = lock bits

Is this a complete procedure? Am I missing something?

Thanks in advance,

  • MicroC

Eu li muitas discussões sobre esses fuses, mas por enquanto é muito para eu entender (já estou nos tarja preta rs)

Inclusive salvei o link AVR® Fuse Calculator – The Engbedded Blog e a discussão Arduino Forum

Achei mais seguro fazer o upload do bootloader do arduino (que pelo que entendi já seta os fuzes) e depois apenas gravar os hex quando for deixar em um circuito definitivo.

É isso ai, obrigado por compartilhar!

Eu estava com esse mesmo problema.
Tentei usar a IDE pra gravar o bootloader e dava timeout. Tentei pelo Xloader, ficou a noite inteira no uploading e deu erro.

Por fim utilizei um arduino UNO como master e instalei o bootloader através do método que consta nesse vídeo:

Agora está funcionando normalmente.

Espero ter ajudado.

Eu estava com o mesmo problema. Porém nem o bootloader eu conseguia gravar. A mensagem de erro era a seguinte: "Yikes! Invalid device signature. Double check connections and try again, or use -F to override this check. " Percebi que o problema não era a comunicação entre o PC e USB da placa e sim entre o ATMEGA e a USB. Resolvi usar o soprador de ar quente no ATMEGA e resolveu. Era solda fria no microcontrolador!