Should I use a snubber or solid state relays on a 24 vac circuit

arduinorelaysnubbersolid-state-relay

I'm trying to create a smarter controller for my hydroponic systems.
I have an arduino controlling a sainsmart mechanical relay.
The load on the relays are 24 VAC orbit sprinkler valves.
Everything is powered from the same 120VAC circuit using different wall wart transformers.

The problem is that 30% of the time the arduino resets when a valve is triggered.
This happens whether or not the relay board is fully optically isolated or not.
But, this does not happen when the arduino is powered off a 9 volt battery.

I'm guessing that the relay triggering is sending power spikes into 120VAC.

Should I setup a snubber circuit, and if so, what are good specs?
Should I ditch the mechanical relay in favor of the below SSR?

The mechanical relay board:
http://www.sainsmart.com/8-channel-dc-5v-relay-module-for-arduino-pic-arm-dsp-avr-msp430-ttl-logic.html

The solid state relay board:
http://www.sainsmart.com/8-channel-5v-solid-state-relay-module-board-omron-ssr-4-pic-arm-avr-dsp-arduino.html

Best Answer

Probably the 120V is sagging when the relay load turns on. You might be able to fix this with 120V wiring improvements. It sounds like a bad condition to begin with.

Another option is to use a diode and cap to hold up the 12V rail during interruptions. To solve this problem analytically, you would want to know:

  1. How long is the interruption on the 12V output
  2. What voltage drop from 12V is allowable before the system will not function reliably
  3. How much current is consumed by the load

A diode (Schottky) which might work is the SR202. I found this on digikey doing a quick search. Other options will work also. Make sure the diode can handle the normal load current.

The way to choose the cap is as follows:

  • dt = time of interruption
  • i = current consumed by load during interruption
  • dV = maximum voltage drop board will tolerate.
  • Vf = drop across diode due to load current

C = i * dt / dV

A note about dV: the diode Vf affects dV. When you calculate the maximum voltage drop, you need to consider that the starting point is 12V - Vf. So if Vf is 0.3V, you will be starting from 11.7. If the board works down to 9V, then dV = 11.7 - 9 = 2.7V

Round up or tack on a little extra capacitance for margin. When you calculate the required capacitance, you will see whether it is practical to solve the problem this way.

If you don't know any of the required information, and you can't easily obtain it, you could just try bigger and bigger capacitors until the problem goes away or you give up. In that case, I would start with 220uF aluminum electrolytic. Make sure the voltage rating is high enough. I would probably just use a 20V or 25V capacitor. If you find a value that works, you might want to go up a little bit from there to give yourself margin. If the capacitance value becomes ridiculous, you should probably consider another solution. Large capacitors can cause large inrush current when the power supply is first connected, and this can lead to other problems.