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

Arduino deixou de funcionar

Started by Rui, 03 de August de 2009, 17:59

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Rui

Boa tarde ,

Andava aqui a brincar com um ventoinha de computador usando um MOSFET e PWM para controlar a velocidade de rotação. Tinha ligado um transformador de 12V e 1A com centro positivo e tudo estava a funcionar bem.
Passado um bocado fiz umas alterações ao código (nada de especial, mudei so o tempo de delay), desliguei o transformador, liguei o cabo USB, compilei o código e quando fiz o upload deu-me os seguintes erros:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Já tentei em 2 computadores diferentes e dá-me sempre o mesmo erro.
Quando é ligada, seja por transformador externo ou por USB, liga-se a LED PWR e piscam as LEDs TX e RX três vezes, a partir daí fica ligada a LED PWR e não faz absolutamente nada.

Será que o bootloader foi apagado por alguma razão ou foi alguma falha de hardware?

metRo_

A mim já me deu esse erro e dava porque tinha o arduino em cima de uma superfície condutora lool e na altura andei a pesquisar e havia alguma gente com esse problema. Se entretanto não conseguires parece que só programando novamente o bootloader.

ghostbuster

tenta fazer reset manualmente passado exactamente 3 segundos apos teres carregado em upload

Rui

#3
Infelizmente não é por estar numa superfície condutora lol. Esá numa mesa de madeira. Também ja dei uma vista de olhos às soldaduras e parece-me estar tudo bem.
Já tentei fazer reset antes de fazer upload e depois, mas não teve qualquer efeito. Mas parece que é realmente um problema do bootloader pois quando faço reset a LED do pino 13 não pisca, nem a embutida, nem usando uma externa.

Vou tentar programar isto.
Que programador sugerem? Algo que não seja muito difícil de construir e não precise de muitas peças de preferência, e se possível que use a porta USB.

Obrigado pela ajuda :)


amando96

já me deu esse erro inúmeras vezes, o mais certo e estar no ''tools > board'' a placa errada, ou uma má connecção do cabo USB. porque agora já nao me dá esse erro.

ás vezes esporadicamente dá, mas pouco.


TigPT

Podes também experimentar uma versão anterior ao mega, por exemplo a 014, pode evitar estes problemas.

Rui

metRo_:
Obrigado pela sugestão mas acho que vou fazer o de porta paralela já que pode ser usado com o IDE do Arduino.

amando96:
Não é nem uma nem outra, antes fosse lol.

TigPT:
Versão 014 do bootloader, IDE ou dos dois?

TigPT

És de queluz certo? fica-me um bocadinho foram de mão, senão oferecia-me para o ver.

Rui

Sim sou, obrigado de qualquer maneira.
Se for só o bootloader devo conseguir pô-lo a funcionar (espero eu  :D).

PS: Acabaste por não dizer se era a versão 014 do bootloader ou do IDE lol.

TigPT

Desculpa. Referia-me apenas ao IDE. Se não conseguires avisa que combinamos para mo emprestares ou envias-me por correio ;)

metRo_

Não emprestes é que se o problema até agora é só de bootloader o atmega depois vem do TigPT a cantar "Tutti Frutti Summer Love" :D

Rui

Haha.

Bem, vou mesmo fazer o programamdor de porta paralela.
Vou seguir o esquema que se encontra no site do Arduino:


Se usar resistências de 220 Ohms em vez das de 470 não deve haver problema pois não?
Tenho visto alguns programadores para atmega com resistências de 220 Ohms e vi um que nem usava resistências :O
Penso que seja para evitar que a porta paralela se queime, se 220 não for suficiente vou ver se compro umas de 470 amanhã.

ricardo-reis

se eles falam em 470, ao menos, mete duas de 220 em série, k já ficas com 440..

inmotion.pt

Olá Rui,

Dado que já tentaste programar o Arduino noutros computadores e visto que as configurações da porta e modelo do mesmo estão correctas lamento informar-te mas o mais provável é que a porta série do Arduino tenha sido danificada. Se o led pisca 3 vezes significa que o bootloader está OK. Estive a ver o código do bootloader para procurar o significado de piscar o led 3 vezes e o comentário que vem com o código é este. Se fosse o bootloader que estivesse apagado não verias nenhum piscar de led's.


/* flash onboard LED three times to signal entering of bootloader */
/* l needs to be volatile or the delay loops below might get
    optimized away if compiling with optimizations (DAM). */


Infelizmente isso significa que provavelmente queimaste a porta série (ou parte) do Atmega. Já tive um problema semelhante e foi causado por uma alimentação de 12V, 1A. No caso em concrecto ouve um contacto acidental entre a alimentação e o conector USB da placa Arduino. Este contacto foi o suficiente para danificar os pinos 0 e 1. Só foi possível apurar o problema ao tentar programar novamente o Atmega.

As boas notícias é que só necessitas de substituir o ATmega e por isso a restante placa do Arduino deverá estar operacional. O ideal para evitar estas situações é usar opto-coupling entre o circuito que estás a controlar e o Arduino. Quando tenho mesmo que ligar alguma alimentação externa e usar o cabo USB evito usar voltagens demasiado elevadas em relação aos normais 5V. Se houver algum contacto acidental entre uma linha de 12V e de 5V o outra linha qualquer do micro poderá resultar na destruição do mesmo. Em geral o Atmega é bastante resistente mas não suporta tensões muito acima da alimentação.

Melhores cumprimentos
Filipe Valpereiro

http://inmotion.pt

Quote from: Rui on 03 de August de 2009, 17:59
Boa tarde ,

Andava aqui a brincar com um ventoinha de computador usando um MOSFET e PWM para controlar a velocidade de rotação. Tinha ligado um transformador de 12V e 1A com centro positivo e tudo estava a funcionar bem.
Passado um bocado fiz umas alterações ao código (nada de especial, mudei so o tempo de delay), desliguei o transformador, liguei o cabo USB, compilei o código e quando fiz o upload deu-me os seguintes erros:
avrdude: stk500_getsync(): not in sync: resp=0x00
avrdude: stk500_disable(): protocol error, expect=0x14, resp=0x51

Já tentei em 2 computadores diferentes e dá-me sempre o mesmo erro.
Quando é ligada, seja por transformador externo ou por USB, liga-se a LED PWR e piscam as LEDs TX e RX três vezes, a partir daí fica ligada a LED PWR e não faz absolutamente nada.

Será que o bootloader foi apagado por alguma razão ou foi alguma falha de hardware?