[Ajuda] Problema ao ligar arduino no carro com bateria 12v, LCD 16x2 fica maluco

Boa noite Galera,

Montei um projeto no arduino para implantar no meu carro um Fiat Premio 1.3 ano 87.
É um projeto que lê o sensor de combustivel e exibe esta informação em um display LCD 16 x 2 com led Azul, resumindo fiz todos os testes na bancada deu tudo certinho, inclusive montei um conversor para converter os 12v do carro para 5v para poder alimentar o arduino, depois de todos os testes na bancada montei o projeto em uma placa e instalei no carro. De primeira funcionou tudo legalzinho (Segui o tutorial do Renato Aloi para montar o arduino na placa http://www.seriallink.com.br/lab/Arduino/Protuino_Bootloader_Seriallink.html), com o carro só com a chave ligada funciona perfeitamente mas quando eu dou partida no carro o display fica maluco, aparecendo varios caracteres diferentes um do outro e isso só ocorre quando eu estou com o carro ligado, só com a chave ligada ele funciona tranquilamente.

Alguem já passou por isto, pode me ajudar?

Quando tens o sistema apenas alimentado pela bateria do carro, não há problema... até que ligas o carro, o alternador comeca a funcionar e o que era verdade para a bateria de 12V deixa de o ser.

Como fizeste o teu conversor de tensão de 12 para 5?

Desliga a placa, liga um multímetro à saída do teu conversor e vê a tensão que lá está. Tenta também ver o máximo e mínimo. Se tiveres um osciloscópio talvez fosse interessante ligar lá para ver se existem algumas frequências estranhas na tensão.

Bom dia Amigo,

Obrigado pelo retorno.

Então eu fiz as medições com o carro ligado e somente com a chave ligada varia entre 12v e 14 v, eu fiz de duas formas para estabilizar para 5v para energizar o arduino, primeiro utilizei o conversor conforme o link que passei no post do "Renato Aloi", depois tentei utilizando uma fonte que tenho para alimentar o GPS que converte de 12v para 5.5v não deu diferença nenhuma ambos os conversores apresentaram de 5.04v a 5.5v na saida e essa alimentação é constante não varia para mais ou para menos. Infelizmente não tenho osciloscópio amigo.

Pessoal,

achei nestes outros dois forums dizendo que alguns displays tem que tem um delay para que ele seja energizado antes de ser ligado:

http://www.asm51.eng.br/phpBB/viewtopic.php?t=9193&sid=51d09d1e382183bcf7bd89761384ab69

Não testei ainda, vou ver se consigo mexer mais tarde.

Bom, várias vezes me aconteceu isso, e para o Display voltar a funcionar, precisei desligar "TUDO", tirar todas as conexões. Acho que pode estar faltando algum sinal de inicialização ou como pode haver alguma variação da tensão quando você liga o carro, o LCD reinicializar várias vezes...

Isso tá parecendo interferência eletro-magnética, como está a montagem do protótipo? Em protoboard como no link? e a ligação do LCD? cabos longos? Para ouvir a possivel interferência ligue um radinho AM ao lado do LCD e deixe ele em um frequencia nã usada. O ideal é fazer uma Placa de Circuito Impresso e colocar tudo dentro de um gabinetezinho aterrado à lataria do carro.

Bom dia, Asgomes

Faça o seguinte: dê uma olhada no sistema de alimentação de cd player para automóveis. É bem provável que vc precise colocar um indutor no seu circuito de alimentação do Arduino, ok?

Ailton

Só uma dica: a alimentação dos automóveis, quando com motor/alternador funcionando, geralmente sobe para até 13,8v.

Dependendo de como você montou o regulador de tensão, pode estar aumentando também a saída para o Arduino.

Boa tarde pessoal,

Obrigado pelas dicas.

Ainda não consegui resolver o problema.

Retornando as dicas:

Resp: mmoscz
Deixei um delay de 200ms antes de inicializar o display mais o problema persistiu.

Resp: fabiohbm007
Então eu montei o protótipo em uma daquelas placas com furos para soldar e a coloquei dentro de uma caixa de plástico preta, coloquei um fio para aterramento direto na lataria do carro, como não consegue um radio AM não testei, o ultimo teste que ainda não fiz é trocar o flat cable de 40 vias utilizados para ligar HD por fios menores, também acho que é interferência.

Resp: ailtonfacanha
A fonte que utilizei do GPS já trabalha com indutor e não resolveu o problema.

Resp: andrefe
A tensão passada para o arduino esta em 5.5v não varia muito.

Uma hora tem que resolver, vou persistir nos testes quem tiver mais alguma dica manda ai.
Vou tentar levar no eletricista pra ele dar uma olhada.

Tens um osciloscópio?

5,5 está mesmo no limite para um AVR. Com um multímetro conseguirias ver se existem alguns picos de tensão que provoquem o problema que estás a ver. Podes colocar um condensador GRANDE antes da fonte de alimentacão?

Eu penso que isso será sinal de que a alimentaçao nao está limpa(com flutuaçoes).Como o colega bubulindo e bem diz penso que com um osciloscopio descobriras o teu misterio.

esse problema me lembra muito quando fiz um projeto usando uma fechadura eletromagnetica, toda vez que a bobina da fechadura era energizada o arduino ficava doidinho, bem como o display lcd. teria que arrumar um jeito de filtrar ruído da alimentação, no carro por exemplo esses ruidos vem do alternado e principalmente da bobina de ignição,,

Gente, sou novo no fórum e peço mil desculpas por meu primeiro post já ser um desenterro ao tópico (Eu vi a data antes de postar).
Porém, esse é o que mais se encaixa na minha situação:
Eu fiz um pequeno projeto pra colocar no carro (hobby mesmo) e tem algumas características parecidas com os problemas do nosso amigo.
O projeto consiste em um Arduino Uno Rev3, um módulo TTL Bluetooth (MCU do Dealextreme), uma memória EEPROM 24c08. Ele funciona da seguinte forma: Quando o Arduino é ligado, ele lê da EEPROM um vetor de configurações, as configurações são alteradas em tempo de execução atráves do Bluetooth e salvas na EEPROM novamente. Há também um pequeno módulo que eu mesmo fiz que consiste em alguns transistores fazendo papel de switch para ligar LEDs RGB. Na primeira fase do meu projeto, a unica coisa que ele irá fazer é receber um comando via Bluetooth (Uma cor que eu escolho via android) e então reproduzir esta cor nos leds RGBs.
O problema é que eu testei ele com uma fonte 12v daquelas de computador, e o bicho (Arduino), fica doido, ele não consegue receber os comandos corretamente, e também não responde adequadamente.
Eu suspeito que seja algum ruído no circuito porém não tenho como ter certeza pois não tenho um osciloscópio, e via multímetro as voltagens (12Vcc e 5Vcc) parecem contínuas (Fica em 10.48 ~ 10.56 por causa do 7812 e 5.01 os 5v do Arduino). Quando eu alimento o projeto via USB, tudo funciona normal, embora os LEDs fiquem bem fracos por conta de eles terem sido preparados para 12V (Resistores de 1K no verde e azul e 470 ohms no vermelho).
Eu estou usando um regulador 7812 com dois capacitores cerâmicos de 0.1uF entre a entrada (Vin) e o terra (GND) e a saída (Vout) e o terra também.

Alguém sabe uma maneira eficiente de filtrar a entrada? Pois eu desconfio que quando eu colocar isso nos 12V do carro, por causa do alternador quando ele estiver ligado irá ter o mesmo problema.

Detalhes:
A entrada é de 12V (Que via regulador de tensão cai para cerca de 10V no pino Vin do Arduino).
O terra eu conectei ao GND do Arduino.
A EEPROM não está sendo gravada quando eu ligo na fonte 12V e ela está conectada via I²C, sendo que o BUS está nos pinos 4 e 5 analógicos.
O Bluetooth está sendo alimentado agora nos 3.3v e o RX dele no TX do arduino versa-vice e vice-versa (Antes estava nos 5v, mesmo problema).
Quando eu toco a parte de metal do cristal do clock na placa do arduino (Aquele escrito 16.000MHz) os leds de TX e RX piscam aleatoriamente e as vezes travam com um ligado, enfim, esquisito mesmo.

Bom, gente, eu forneci o máximo de informações pra tentar deixar claro o que está ocorrendo, eu já tentei várias abordagens, porém preciso da experiência de vocês pra ver o que posso fazer para que meu projeto funcione. Obrigado!

Por favor, isto é um fórum aberto e de borla.

Não custa nada abrir um post só para o teu problema. Ninguém vai ficar chateado. :wink:

Aproveita e coloca o esquema ou umas fotos do sistema.

Ok, pode deixar que eu irei abrir um novo post detalhando meu problema e postarei o código fonte que estou usando e os esquemas!
Grato!
:slight_smile:

Verifique se você colocou certo a polaridade do capacitor de 220uF. Tente colocar também + um capacitor na saída, da mesma forma 9negativo do capacitor no terra e positivo do capacitor no pino 3).

Ao amigo que postou seu outro problema, tente aumentar o valor dos capacitores. Coloque 200uF para testar.

Abraços

Olá pessoal!

Tenho interesse em montar algo parecido com o do amigo que criou o tópico, não imagino como ele fez para poder ler o sensor do combustivel e exibir a informação, se alguem tiver alguma idéia, ou tiver algum projeto similar ficaria agradecido.

Desde já agradeço.

Att. Carlos Renato Santiago

CRBS, se displays e o que quer, talvez devas olhar para o shield CAN.
Em relacao ao post original, como e que o circuito esta de decoupling Caps ?! Numa bateria convem estar bem decoupled, e atencao ao posicionamento do arduino !!
Mas sem mais informacao e dificil de estar adivinhar !!

Amigo meus conselhos para seu projeto como técnico/projetista eletrônico:

1: Ambiente automotivo tem MUITOS transientes, em alguns casos você pode ter picos de cerca de 90V onde deveriam ser 12. Depende das condições de sua bateria, e a temperatura do lugar onde mora.

2: Considere usar uma alimentação melhor, estas fontes não são nenhum pouco confiáveis... é preferível usar um LM7805 para o Arduino e outro para o LCD a usar estas fontes que você citou. Lembre-se de usar capacitores grandes para variações de correntes, e menores, para transientes de alta frequência (um 100nF em paralelo com um 100uF resolve na maioria dos caso). Certifique-se de usar diodos de proteção e que os capacitores são de pelo menos 16v

3 e mais importante: se tiver um pino sobrando no Arduino, considere alimentar o LCD através de um rele, assim você irá se certificar que o LCD só vai ligar depois que o Arduino estiver 100% funcional.

3 e mais importante: se tiver um pino sobrando no Arduino, considere alimentar o LCD através de um rele, assim você irá se certificar que o LCD só vai ligar depois que o Arduino estiver 100% funcional.

Ao ler esta tua dica fiquei com a pulga atraz da orelha pois em tempos descobri que se a inicializaçao do LCD que é feita no arranque normalmente na funçao setup(), falhar depois quando vai para a loop ele nao imprime corretamente no LCD.No meu caso nao funcionou.Um outro caso que tive foi com um LCD ks0108 que o desliguei do micro e apos o ligar o circuito sem o LCD travava o micro.
Com um HD44780 nunca testei mas tenho um em breadboard e este fim de semana vou tirar conclusoes a ver se tambem é afectado