Arduino Resetting Itself with Relay

Hello,

I am using an arduino mega 2560 with ethernet shield, to control an 8 channel relay http://www.amazon.com/SainSmart-8-CH-8-Channel-Relay-Module/dp/B0057OC5WK. Everything works perfect, except when I turn on OR off a 25w AC fan connected to the relay, the arduino resets itself. This doesn't happen everytime, but about 80% of the time, I think this has something to do with the fan(motor) being an inductive load, but I'm not entirely sure. Once the fan has been turned on, it has no issue running, I also have no issue controlling other lighting devices of higher wattages connected to the relay.

A 12v 30A power supply is powering the arduino, along with 4 N-Channel mosfets connected to 4 LED strips. The coils of the relay is powered by a 5v 30A external power supply, and configured to use opto-isolation, whereby the jumper is removed between jd-vcc and vcc, and jd-vcc and ground are connected to external power supply. The relay driver vcc and input pins are connected to the arduino +5v and output pins respectively. The output pins of the arduino are also controlling the gate of the mosfets. To stabilize the current/voltage, I have also placed one 2200uf capacitor on the 5v and 12v rails of the power supply.

From what I see the relay board itself already have flyback diodes to protect from voltage spikes caused by inductive loads? I've spent hours trying to search for a solution, but can't seem to find it. Is there a way to fix this or do I need to get a solid state relay specifically for the fan? Thanks in advance.

Just to verify, from the Arduino to the relay board you're only connecting VCC and the relay IO pins (no GND)?

FYI, the diodes on the relay board are there to protect from the EMF spike caused by de-energizing the relay coil. They do nothing with respect to EMF spikes from, in your case, the fan. Hopefully someone else will comment on that.

Chagrin:
Just to verify, from the Arduino to the relay board you're only connecting VCC and the relay IO pins (no GND)?

Hi Chagrin, that is absolutely correct.

Chagrin:
FYI, the diodes on the relay board are there to protect from the EMF spike caused by de-energizing the relay coil. They do nothing with respect to EMF spikes from, in your case, the fan. Hopefully someone else will comment on that.

Oh ok, appreciate the enlightenment, hopefully more help follows.

Putting a small capacitor and/or a varistor(both appropriate rated) across the relay contact (not the coil) might help.

nilton61:
Putting a small capacitor and/or a varistor(both appropriate rated) across the relay contact (not the coil) might help.

The capacitor needs to be rated for AC use to a voltage at least as high as your mains voltage. Also it should have a resistor in series with it. This arrangement is called a snubber. It can be connected either across the relay contacts or across the fan. It's hard to suggest values without knowing more about the fan, but for 230V mains, 0.1uF in series with 100 ohms might be a good place to start. For 110V mains I would double the capacitor value and halve the resistor.

Thank you for the replies, I don't currently have a high voltage capacitor on hand at the moment. I will try it once I get my hands on one. For the resistor, I guess I will need to find one that supports more than 25w as well.

askduino:
For the resistor, I guess I will need to find one that supports more than 25w as well.

No, however the resistor must be capable of tolerating the peak mains voltage for very short periods. A 0.5W or 1W metal film resistor will do.

All right, I will post back the results once I get hold of the parts and test it. Appreciate the help.

Thanks dc42, just managed to hook up the parts with the values you provided to create the RC snubber and it works perfectly, absolutely no more resets when turning on or off the fan. It is very stable now.

Hopefully this will help someone else with the issue with inductive load when using it with a relay.

Thanks fro reporting back - I'm glad you got it working!

1 Like

Hi,

I think I'm having the same problem here. I'm trying to control two 220V motors with the very same 5V relays in the picture. And Arduino sometimes reset when two motors are stopped at the same time.

I want to try this RC snubber but I got confused when I saw the image askduino posted. Do I need to connect this parallel to the coil (220v part), or serial?

The snubber should go across the relay terminals, wouldn't hurt to have a 300 volt varistor across the motor leads.

Hi I have a similar relay operating a 12v pump my arduino resets when it shuts off.. I was hoping to learn how to work out which parts I need to use to create a snubber.. my relay has the 12v power source + the positive terminal of the pump I'm running in it.. so would I connect the snubber across those 2 lines?

Thomen:
Hi I have a similar relay operating a 12v pump my arduino resets when it shuts off.. I was hoping to learn how to work out which parts I need to use to create a snubber.. my relay has the 12v power source + the positive terminal of the pump I'm running in it.. so would I connect the snubber across those 2 lines?

For inductive DC loads, use a diode across the pump.
Cathode (ring) to +12volt.
The diode has to match the current rating of the pump.
Leo..

Hello,
I am facing the same issue with switching off aquarium water pump with relay. Thinking of buying the rc snubber from this aliexpress vendor. Is it suitable and how do I connect it to the relay?

https://www.aliexpress.com/item/Free-Shipping-Solenoid-inductive-load-RC-circuit-snubber-circuit-relay-contact-protection-Electronic-Component/1000001965161.html

Please help.

Thanks

BryanX:
Hello,
I am facing the same issue with switching off aquarium water pump with relay. Thinking of buying the rc snubber from this aliexpress vendor. Is it suitable and how do I connect it to the relay?

Please help.

Thanks

I have purchased one of these but haven't had luck with it solving my problem. Did you have any luck with this?

Snubber circuits are for AC loads.
Make sure the parts are rated for YOUR mains voltage and load.
A snubber circuit with MOV for 110volt will blow apart when connected to 230volt mains.

Snubber circuits won't work for e.g. 12volt DC pumps.
In that case a diode across the pump could be needed.
Leo..

Hi all, I’m having the same issue with a Fan. I’m trying to control a fan speed with an MQTT protocol and it works perfectly fine when its on.

The problem is that when the fan is off, it turns back on after some time. So, should I put the capacitor and resistor in every relay I’m using? I have tried everything except that. Thanks in advance

dc42:
The capacitor needs to be rated for AC use to a voltage at least as high as your mains voltage. Also it should have a resistor in series with it. This arrangement is called a snubber. It can be connected either across the relay contacts or across the fan. It's hard to suggest values without knowing more about the fan, but for 230V mains, 0.1uF in series with 100 ohms might be a good place to start. For 110V mains I would double the capacitor value and halve the resistor.

Hello forum,

I have a mega that runs a relay - on NC it powers a 20A contactor and on NO the same. I inserted an F1013 capacitor with 100ohm resistor in series across both the NC and common contacts, and again the same across the NO and common contacts.

The relay energises fine, which means it cuts power on the NC contact but as soon as the coil releases, it resets the arduino.

I power the system using a 6V sealed lead acid battery with a small 220V to 6V charger, and the relay is powered straight from the battery through a dedicated 5V power supply (5A rated.)

From reading this thread I was sure I had it all 100%, but I'm still missing something.

Any ideas?

Hello everyone!
Im having same problem with my ESP32 and a two relay module.
I can controll lights and all with no problem, so i tried to control my motorcycle.
When I turn the main switch on (Relay ON) it works just fine, but when I manually start the engine, it idles for about a minute and then the Relay and the ESP32 restarts on his own, so the motorcycle dies and I have to restart everything, like if it´s stucked.

Any ideas?

NOTES:
Esp32 is powered by the motorcycle Battery( 12V-10A Battery, wich is transformed to 5V-1A) or a (5V-1A cellphone external battery).
The relay is powered by the ESP32 (It means VCC, IO pins and GND are conected to ESP32)
The relat outputs are conected good. (GND-->Common // V-->NO).

I hope anyone can help me, i've tried the capacitor and nothing, today im tryign with the diode for DC, but im not sure if it's going to work...

THANKS!!