Garbage values on LCD when relay switches

Hi all, In my circuit I'm controlling the following devices using arduino mega 2560;

2-Wiper Motors (DC 12V, 3A each) Heating Coil (AC 230V, , 600 W) 2- Fans (AC 230V, 25 W each)

Also an LCD 16x2 is interfaced with the circuit. The circuits operates okay, but when some relay switches (relays which controls heating coil and Fan), suddenly garbage values are displayed on LCD. I'm using a 4 channel relay module to control the heating coil and fans which have the capacitors and diodes in it. How to correct this problem.

Do you know if the effect of the relays is to cause the Mega to reset?

Put a message such as "Serial.println("Starting"); into setup() and see if that appears.

...R

Hi, Smells like Electromagnetic Interference to me... See THIS page

Also, think about "Common Ground Point", and "Arduino System Ground to Building Ground".

Add a println as suggested by Robin , also inside the "loop". Maybe the whole system crashes. I bet.

We would need more info to help more. Details of devices. How is the LCD interfaced? Parallel? I2C?

The circuits operates okay, but when some relay switches (relays which controls heating coil and Fan), suddenly garbage values are displayed on LCD.

Connect an MOV across the relay contacts (NO and COM). One MOV for the heating coil relay and one MOV for the fan relay. Suggested MOV rated at 300VAC

I'm using a 4 channel relay module

Make use of the opto isolation feature like this if you have the 5V version: (use separate 12VDC supply for 12V version)

|500x412