Controlling multiple 12v solenoids with 5v relay modules (Arduino Reset Issue)

I have 4 12V(1A) solenoids running on a 12V(4.16A) power supply. Each solenoid circuit is controlled by a 5V relay module connected to the Arduino Uno (powered by USB).

The solenoids actuate properly but eventually the Arduino resets, typically when multiple solenoids are turned on/off in fast succession. This is accompanied by random character artifacts on the LCD display (connected to the Uno) during operation but before the reset.

From what I've gathered there are back EMF surges occurring when the solenoids lose their charge. Here are some possible remedies I've found:

-Add a flyback diode (IN4004) to each solenoid circuit. (Redirect the surge)

-Add a capacitor (4700 - 10,000 uF) to the 5v supply (from the Uno) for the relays. (Filter the surge)

-Provide a separate 5v power source to the relay modules instead of using power from the Uno. (Isolate the surge)

Any input on which solution(s) should be applied or other possible causes for the Uno reset and LCD distortion is appreciated.

I’d expect those relay modules are also not man enough for the task either , but your suggested mods sound good .

Always make sure there are flyback diodes in the circuit, built in or external, when there is a inductive load.

Hi,

Common problem... Some helpful info on ArduinoInfo.Info here:

http://arduinoinfo.mywikis.net/wiki/ArduinoPower

and

http://arduinoinfo.mywikis.net/wiki/RelayIsolation

Let us know what works for you...

If you have a 12V supply, why use 5V relays that need a separate 5V supply? Use 12V relays. Do you have flyback diodes across the relay coils as well as the solenoid coils? Post a wiring diagram.

myanchar:
The solenoids actuate properly but eventually the Arduino resets, typically when multiple solenoids are turned on/off in fast succession. This is accompanied by random character artifacts on the LCD display (connected to the Uno) during operation but before the reset.

If the solenoids are activated by the relays then the activity of the solenoids should not affect the Arduino.

How are you powering the relay coils?

If they are drawing their 5v power from the Arduino 5v pin then that is a more likely cause of the problem - overloading the 5v pin.

Try powering the relays separately from the Arduino. A pack of 3 x AA alkaline cells (4 x AA NiMh cells would be better) should be sufficient for testing. Make sure the relays have a common GND with the Arduino.

...R

I’d use transistors (or ULN2003…) to drive the solenoids, instead of relays.

Flyback diodes are essential with any approach.