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

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

HugoPT:

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

Depende como foi feita a biblioteca... nesse teu caso de travar o micro se tirares o LCD, a biblioteca pode estar a tentar ler o pino de status, não ver nada lá e ficar bloqueada. Idealmente deveria haver um time-out ou então um delayzito que chegasse e ignorar o pino.

Vi agora e não existe nada disso... :\

HugoPT:

...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...

Sim, isto acontece muito, principalmente quando a alimentação é ruim. E pode tentar forçar um inicialização de novo no loop que não adianta, tem que resetar o bicho diversas vezes até funcionar...

2 opções troca o carro ou poe uma bateria externa recarregável.

Faça um teste:

Coloque o seu arduino sendo alimentado por pilhas. Se o problema persistir, o problema é de fato em interferência magnética e você deverá arranjar uma maneira de isolar o seu sistema.

Se funcionar direitinho, mesmo com o carro ligado, significa que você não está convertendo corretamente ou mantendo bem a corrente de energia.

Boa sorte!

O Arduino tem um regulador de tensão próprio, vc pode usar de 5 a 30v que ele vai regular para 5V.
Seu problema de interferencia deve estar ocorrendo por causa do módulo bluetooth.

Eu fiz uma balança digital que fica lendo os sensores de peso e esperando uma carga acontecer para variar a tensão, se ninguém subir na balança ela fica aguardando e 0v de leitura.
Porém, se ligar o bluetooth, a tensão nos leitores começa a variar sozinha e fica medindo peso sem ninguém subir na balança.

Parece que de alguma forma o bluetooth interfere na regulagem da tensão geral da placa provocando picos.O mesmo deve estar acontecendo com vc.

Outra coisa, alimente o display com 5V e terra do arduino.
Alimente seus sensores através de uma porta digital digitalWrite(porta,HIGH), talvez vc consiga separar a interferencia.

Edimar:
O Arduino tem um regulador de tensão próprio, vc pode usar de 5 a 30v que ele vai regular para 5V.

Isso e totalmente errado. Nao convem usaur PSU com mais de 12 V... Ele nao tem como dispersar o calor do Regulador, e acho que o maximo que aconselham e 16 ou 18... Mesmo a esses valores tenho ouvido pessoal berrarem o deles...Por isso nao uses mais de 12 com o regulador interno

"Input Voltage (recommended) 7-12V
Input Voltage (limits) 6-20V"

O limite e esse mas tem que se considerar o probvlema do calor gerado aos 20 V's...Como disse houve pessoas que queimaram, o deles a 18 ou 16 ( nao me recordo ao certo)

O meu eu usei um regulador de tensão lm7809cv entra 12v sai 9v eu testei no carro e ta funcionando numa boa eu fiz um rastreador usando arduino nano, acredito que o problema do lcd seja alguma ligação no gnd dos fios me já aconteceu com isso eu lembro que coloquei um resistor no fio do gnd