Ir ao conteúdo
  • Cadastre-se
rodrigocirilo

Arduino Arduino nano travando ao ligar

Recommended Posts

Boa noite pessoal.

 

Montei um sistema de leitura de PT100, com o modulo MAX31865 comunicando via SPI com o arduino pelos pinos 10,11,12,13. Tambem tem um display oled 0,96 que fala com o arduino via I2C pelos pinos A4 e A5.

 

Bem, tudo está em uma pcb desenhada para acomodar tudo, a alimentação provem de um 7812 com sua saida ligada no Vin do arduino. (fonte de 24VDC) o modulo MAX31865 e o oled estão com suas alimentações ligadas no 5V do arduino. capacitores de 100nf e 100uF estão nas alimentações.

 

Tudo funciona normal, como deve, ajustei a leitura, a exibição na tela etc... alimentando pelo usb, a as vezes pela fonte.

 

Ocorre que depois de finalizar a programação comecei os testes somente na fonte de 24VDC e para minha surpresa ocorreu o seguinte.

 

Liguei a fonte o led power do arduino acendeu, o led L piscou e nada mais aconteceu, desliguei a alimentação, liguei novamente e aconteceu igual...

pensei na hora.. queimei algo...o que será que liguei errado... bom, coloquei o arduino no usb e ficou igual.... upei o codigo novamente e ai sim voltou a funcionar apos o "carregado" aparecer..

 

depois disso voltei ele para a fonte, liguei algumas vezes e funcionou normal... fiquei ligando e desligando a fonte, até acontecer novamente. algumas vezes ele travava e nao iniciava, porém se eu desligasse a alimentação ele voltava a rodar. em outras vezes só upando o codigo novamente. 

 

Troquei o arduino, troquei a tela oled e o problema persiste, acontecendo somente as vezes.

eu percebo que é algo relacionado ao start do arduino, não sei como se comporta o bootloader mas parece que é algo ligado a isso.

 

Uma outras situação que causa um travamento e desligar e ligar a fonte, principalmente se o ligar for quando o led power está com a intensidade baixa.

 

Ruido? fiz duas placas, uma com, outra sem plano terra, e em ambas acontece.

 

EStou pensando em fazer um circuito que retarde o start do arduino. e libere a alimentação de um só vez, mas não queira usar rele!!

 

Alguem ja enfrentou isso??

Compartilhar este post


Link para o post
Compartilhar em outros sites

E o arduino mantenho alimentado no Vin pelo 7812 ou tambem coloco ele no 7805?

 

Estou cogitando programar um 12F675 para dar um atraso no start do arduino, e ler a tensão com o ADC e desligar o arduino no caso da tensão cair até um limite.

Compartilhar este post


Link para o post
Compartilhar em outros sites

@rodrigocirilo ,

 

Deixe o Arduino alimentado pelo 7812.

 

Vou te dar uma dica no Arduíno:

 

Sabia que ele tem um Watchdog embutido no hardware ?

 

voce habilita ele no tempo desejado, e seu programa principal tem de resetar a contagem do Watchdog de tempos em tempos. Caso seu Arduino trave, o Watchdog fará o Reset para você.

 

Se não me engano o tempo máximo pode atingir 4 segundos.

 

Para fazer o Reset de iutra maneira, vai te dar mais trabalho pois irá precisar de algo tipo um relé controlado por um circuito RC na base de um transistor.

 

Lembre-se de que embora o Arduino tenha um pino de Reset, ele também é usado na programação ISP.... se modificar , não vai mais conseguir programar o seu Arduino. 

 

Paulo

 

Compartilhar este post


Link para o post
Compartilhar em outros sites

Então Paulo, eu fiz um teste agora e deu certo.. o que fiz: Peguei um 12F675 e programei pra setar high um pino após 3 seg do start inicial e a entrrada adc lendo a saida do 7812 através de um divisor para obter 5V (1023) então se o pic ler uma queda desse valor (o que acontece se desligar a fonte, assim que desliga e os capacitorers começam a descarregar ele ja lê a queda da tensão e desliga esse pino.

 

Esse pino está na base de um bc337 que tem se coletor no GND o arduino,max e oled e seu emissor no gnd da alimentação.

 

Então quando liga tudo, ele espera 3seg pra ligar o arduino,, e se der queda de tensão ele desliga.

 

No pic deixei o brown-out habilitado, pois se a queda for mais demorada ele também faz seu proprio reset. 

 

Apesar de ter que usar mais alguns componentes inclusive um microcontrolador, a principio está funcionando.

 

O que me diz??

Compartilhar este post


Link para o post
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora





Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas publicações sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×