LCD Display 16X2 needs the Arduino Board to be reset now and then

I am using Arduino UNO with 16 x 2 LCD Display to display data from sensors like temp, moisture , RTC Light etc. The display works fine, however, it goes blank sometimes and the board has to be reset to make it function again. Rest of the sensors are functioning fine. Any help please

Any help please

It's a little tough to help without seeing the code that is causing the problem.

Don

sir,
I have attached the code file to this mail. I wish to add that at times the LCD diplays continuously moving gibbering. The display displays correctly once the board is reset. I have got over the issue partially by running lcd.begin(16,2) every 30 mins, but it still displays gibberish at times. There does not appear to be any loose connections.

The arduino is driving 3 relays which switch on/off a pump (220 VAC) and a power supply (220 VAC) . Could there be an interference problem, though this is unlikely since the remainder of the circuit (except the LCD) is working perfectly.

regards

PlantMonitor.ino (2.39 KB)

The arduino is driving 3 relays which switch on/off a pump (220 VAC) and a power supply (220 VAC) . Could there be an interference problem, though this is unlikely since the remainder of the circuit (except the LCD) is working perfectly.

This is most likely the cause of your problem. There have been lots of fairly recent posts dealing with similar erratic operation when relays and/or motors are involved.

Some things to look into:
How are you powering your relays?
Do the relays have diodes across their coils?
How long are the wires leading from the Arduino to the LCD and how are they routed?
Are there extra bypass/decoupling capacitors on your power leads?

Don

The relays are being powered by 12 V power sup by TIP122 Transistors 3.
The relays have IN4007 diodes across their leads
The leads to LCD are about 7 cm long (ribbon cable)
I have not put any additional bypass capacitors, could you suggest please.
Thanks and regards
Mandeep

Put a couple of bypass capacitors (0.1µF + 10µF ) across pins 1 and 2 of the LCD panel. This is a commonly reported problem here.

There are a few tricks to the layout of the relay control circuits. Keep all supply wires and those to the relays together, do not allow loops to form. The relay control transistors, the 1N4007 diodes and the 47µF(or more) bypass capacitor across the 12V relay supply should all be together and all the grounds should connect together in this place.

It may seem counter-intuitive that the "kickback" diode not be connected directly across the relay coil but in fact, the current in the wires to the relay does not change rapidly on (either switch-on or) switch-off (due of course to its inductance) so these wires have little potential for inductive radiation. It is the current in the transistor and the bypass capacitor which changes abruptly, so those three components which carry that impulse current should be kept tightly together and be restricted from any possible ground loops.

Thanks, will try the bypass capacitors. The relays , transistors and diodes are mounted on a PCB, so little scope of changing their layout.
regards

mandeep255:
The relays , transistors and diodes are mounted on a PCB

Which of course includes the bypass capacitor - or is going to ...

Thanks, will try and give you feedback.

Somehow I think his problem may have been solved a few months ago.

Don