• Welcome to LusoRobótica - Robótica em Português.
 

O meu Arduino morreu?

Started by almamater, 20 de November de 2010, 18:29

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

almamater

 :'(

Estou com o famoso erro:

avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

E não é a porta que está mal escolhida nem a versão do Arduino (328 Duemilanove) no programa de upload (versão 0021): .

Já reinstalei os drivers, liguei/desliguei N vezes e nada... com o mesmo cabo e no  mesmo PC consigo programar outro Arduino que tenho!

Este comprei-o aqui na loja Lusorobita e sempre funcionou bem, aliás a última vez que o arrumei tinha acabado de o programar, não percebo o que se passou que agora não consigo!

A luz de Power está ON e detecta sem problema, qdo vai a fazer o upload a luz pisca como é normal mas depois as luzes RX TX não piscam.. e passado uns 20 segundos dá o tal erro na aplicação! Posso fazer alguma coisa mais?

almamater

Bom.. já comprei outro Arduino aqui na Loja, agora vem um UNO  ::) grrr agora é esperar que chegue! mas deve ser rápido e eficaz segundo a boa experiência que tenho com a Lusorobotica.

Estive a tarde toda a fazer um projecto e qdo ía testar pimba... o Arduino não voltou das trevas  :'(

senso

Troca o atmega de um arduino para o outro, se fizer o mesmo no arduino bom é o atmega que se foi, se não é o ftdi e podes guardar o atmega para fazer um breaduino ou assim.
Avr fanboy

Cynary

Aconteceu-me uma coisa semelhante recentemente.
Primeiro, a placa USB estava com problemas (soube isso porque ela estava a aquecer muito :S) e para confirmar que era só isso, tentei programar directamente o atmega com um programador que tenho.
No entanto, o meu erro foi pensar que o bootloader permaneceria, visto que foi apagado :S.
Por alguma razão estranha, a placa USB já voltou a funcionar em o.O
Mas não fazia upload para o arduino, visto o bootloader ter sido apagado ...
Tentei reprogramá-lo, mas ao fazê-lo, copiei directamente da internet uns comandos que alteravam os fuses, respectivamente o clock source, e puseram para um clock interno, que o atmega do arduino não tem :S Visto que não tenho um programador em paralelo, nem porta paralela para fazer um, "matei" o atmega xD
No entanto, sei que a porta USB funciona, visto conseguir usar outros atmega na placa do arduino e comunicar por série ...
Para saberes se o problema está na porta ou no atmega, podes fazer o seguinte: vê se tens alguma coisa a sobreaquecer; se tiveres, então o problema deve estar nesse componente. Senão, vê se quando tentas fazer upload para o arduino, a luz de RX pisca por uns breves momentos (é o programador a enviar dados para o atmega). Se piscar, ou o atmega perdeu o bootloader por alguma razão, ou morreu. Se o problema estiver no atmega, podes tentar fazer upload do bootloader (se tiveres um programador), ou podes tentar arranjar um atmega328 com o bootloader do arduino (vendem-se a cerca de 4,5€ ... infelizmente não há na lusorobótica, mas existem outras lojas com eles).
Outra forma de testares se o problema está no atmega ou não é colocar o do arduino UNO no teu antigo.

tr3s

Para quem está com problemas no Arduino, nomeadamente Bootloaders que "estoiraram":

Flashar Bootloader no Atmega, atraves do Arduino
Tr3s
Daniel Gonçalves

almamater

Quote from: Cynary on 20 de November de 2010, 21:55
Aconteceu-me uma coisa semelhante recentemente.
Primeiro, a placa USB estava com problemas (soube isso porque ela estava a aquecer muito :S) e para confirmar que era só isso, tentei programar directamente o atmega com um programador que tenho.
No entanto, o meu erro foi pensar que o bootloader permaneceria, visto que foi apagado :S.
Por alguma razão estranha, a placa USB já voltou a funcionar em o.O
Mas não fazia upload para o arduino, visto o bootloader ter sido apagado ...
Tentei reprogramá-lo, mas ao fazê-lo, copiei directamente da internet uns comandos que alteravam os fuses, respectivamente o clock source, e puseram para um clock interno, que o atmega do arduino não tem :S Visto que não tenho um programador em paralelo, nem porta paralela para fazer um, "matei" o atmega xD
No entanto, sei que a porta USB funciona, visto conseguir usar outros atmega na placa do arduino e comunicar por série ...
Para saberes se o problema está na porta ou no atmega, podes fazer o seguinte: vê se tens alguma coisa a sobreaquecer; se tiveres, então o problema deve estar nesse componente. Senão, vê se quando tentas fazer upload para o arduino, a luz de RX pisca por uns breves momentos (é o programador a enviar dados para o atmega). Se piscar, ou o atmega perdeu o bootloader por alguma razão, ou morreu. Se o problema estiver no atmega, podes tentar fazer upload do bootloader (se tiveres um programador), ou podes tentar arranjar um atmega328 com o bootloader do arduino (vendem-se a cerca de 4,5€ ... infelizmente não há na lusorobótica, mas existem outras lojas com eles).
Outra forma de testares se o problema está no atmega ou não é colocar o do arduino UNO no teu antigo.


Yep, a luz RX pisca umas 3 vezes mas a TX nem sinal, será que vale a pena tentar fazer o processo que o tr3s referiu?  Neste momento o outro Arduino que tenho e a funcionar é um ATMEGA 168, posso testar este ATMEGA328 nele a ver se acontece o mesmo?


GnGz

Faz isso, mas para matares dois na mesma cajadada poe o 164 na placa : vez se a placa tá boa ou se
é o mcu.


Cumps :D

almamater

prefiro meter o 328 (supostamente estragado) na placa do 168 que está boa  :P

almamater

Pouca sorte.. é mesmo o MCU, pelo menos na board boa tb não funcionou e devolveu o mesmo erro e as luzes portaram-se da mesma forma.

Não sei se quero arriscar em meter o MCU 168 bom na placa onde estava o 328 estragado  ::) é melhor estar quieto! Tb já comprei um arduino é esperar que para a semana chegue! Raios

CBX

não tens nada a perder em tentar flashar o bootloader no 328...

Cynary

Se tiveres um programador à mão, tenta colocar o bootloader no MCU .. só não faças o mesmo erro que eu e ponhas os fuses configurados para clock interno xD
Senão, e quiseres recuperar esse arduino, encomenda um atmega com bootloader incluído. Coloca o atmega168 na placa do atmega estragado. Se este funcionar, então o atmega novo que receberes vai pôr o teu arduino a funcionar. Se não funcionar, o atmega que encomendares dá para substituir o 168 xD.
É um risco, mas no máximo gastas uns 5€+portes ...

Njay

#12
Ainda tenho mega328 com arduino (5,40€ c/ portes). Mas a questão é que se o LED do arduino (o do pino 18) pisca quando se faz um reset, o bootloader do mega deveria estar bom.

Ah, e o mega tem clock interno, e isso não impede que se programe o chip. O teu problema Cynary, se realmente o há, deve ser outro.

Dá para fazer um teste simples ao FTDI, fazendo um "loopback". Isto consiste em retirar o mega e pôr um fio a ligar o TX com o RX (nos pinos do socket do mega). Aí é abrir o hyperterminal e configurar a COM do arduino para 8 data bits, 1 stop bit, no parity, flow control none, 9600 bps. Depois, ao escrever no terminal e se o FTDI estiver bom, o que se escreve deve aparecer. Repetir o teste sem o fio ligado entre o TX e o RX só para garantir que não há "coisas estranhas" no procedimento de teste. Se o arduino passar este teste é muito provavel que o FTDI esteja bom, pelo menos a parte de TX/RX série (podem ao menos usá-lo como conversor USB<->série). O FTDI tem outros pinos que poderão estar estragados; o único que me lembro agora que pode fazer com que não consigam gravar programas no arduino apesar de passar o teste da porta série que descrevi é o de reset, mas sempre dá para fazer um reset manual e continuar a usar o arduino.

Cynary

Isso é estranho ...
É assim, antes de colocar os fuses para usar o clock interno de 8MHz, ele funcionava (dava para programar com o programador que tenho).
Depois, deixou de dar resposta.
A placa FTDI não é o problema visto conseguir utilizá-la para comunicações série, e até o pino de reset funciona.
Eu lembro-me de ler algures que o atmega usado no arduino não tem um clock interno de 8MHz ... e não estou a ver que outro problema tenha (nem como resolvê-lo, visto o arduino não responder ao programador :/)

CBX

ao configurar os fuses, por acidente não desactivaste o isp?