rc snubber networks/ac filter caps

Not strictly arduino related but the answers would certainly be helpful for similar arduino setups. I have a usb relay plug-n-play kit which allows the PC to send commands over the usb cable to turn relays on and off. Inductive AC loads on the relays cause it a lot of problems, despite it saying it can switch "anything" on ac power. Basically, what happens is the switching will work once or twice but then its onboard micro seems to get corrupted and will no longer communicate. Requires a complete power cycle and disconnection from usb to correct. Yes, I know inductive loads are notorious for causing this kind of EMI havoc.

From my research it appears either a mains rated capacitor or RC network will address the issue. I have actually solved the problem temporarily by putting a purely resistive load in parallel with the inductive load. Before this I had tried isolating with relays, but the relays being an inductive load themselves also naturally caused issues. Would an RC network or just a mains rated capacitor be the better solution? I'm trying to find something reasonably affordable since there are 4 relays on the board. Searching on digikey for RC network brings up this, and I am unsure how to further narrow down the parametric search for what I need in this application.

Do you know that it is the relay switched load or the relay being switched that is causing the issue? do you have diodes across the relay coils? there is another "trick" that sometimes works very well and that is to use a star grounding connection for everything. This is where all grounds go to the same point separately, not 'daisy chained' as they are now, separate ground wires for each thing connected to the board and returned to the ground that is connected to the Arduino. that way the ground current from
the relays doesn't flow through the Arduino's ground. Perhaps the best method is to use a separate PSU for the relay's so that the relay coil current doesn't come from the Arduino and thus will not affect the Arduino in either case a diode across the relay coil is required, NOT OPTIONAL. You can also try a snubber. I designed a solenoid controller for remote irrigation control and I had issues with the load resetting the Proc I found that a 4R7 ohm resistor in series with a 330 nF capacitor was a complete solution for all of the 6 or 7 different types of solenoids I had to control. It was wired across the solenoid coil terminals at the relay that I used for polarity reversal of the solenoid. In your case I would connect it across the diode you have installed across the relay coil, You DO have a dode there don't you?. You should probably add 330 - 470 uF of bypass capacitor across the 5V source where it connects to whatever you have the relays mounted on. When using an external (preferred) PSU for the relay power make certain that you connect the negative side of the external PSU to the ground on the Arduino (REQUIRED, NOT OPTIONAL).

Bob

An RC network connected across the relay contacts or across the load is a more efficient solution, because an additional resistive load will consume more power. What is the voltage you are switching, and how much current does the inductive load take?

You ideally need to know the inductance of the load before choosing RC component values - the idea is that the RLC circuit formed when the contacts open absorbs the stored energy without going too high in voltage, and doesn't conduct significant current at mains frequency (the load is supposed to be off...). The voltage will still go quite high, but much less rapidly, allowing the contacts to separate before an arc can establish itself.

The resistance of the load is in series with any extra R you provide so that you take the sum of those resistances into the calculations.

OP: you did not cite the specific relay bd you bought [a link would have been
helpful], but we'll assume the relays have reverse-diodes across the coils, so that's
probably not the problem.

Also, the digikey RC networks you linked don't look like what you want. I'd try
Doc's snubber ckt. However, you need to use robust R+C, not the usual tiny parts
found on typical bds. Eg, R should be 1/2 or 1 watt, and C should have a large
voltage rating, like 220VAC polyethylene or propropylene, metalized film part.

1/2W and 100V... And Don't Ever assume there's a diode in a relay, use your own... Then You Know for Sure..

Bob

The board is the following:

http://www.ebay.com/itm/USB-4-Channel-Relay-Board-RS232-Serial-controlled-/280879280954

As I said, it's an independent board with its own microcontroller. I would assume they integrate diodes on the PCB, it would be stupid not to. But who knows hm? The inductive load is a small motor, 1.55 amps, 120VAC.

Tayda Electrinics sells a Varistor herehttp://www.taydaelectronics.com/varistors.html the first one looks like your answer for a 120VAC circuit, use the 300V part for 220VAC and use the biggest one you find there the hogher the "Joule" rating, the more energy it can dissipate. This part is installed across the motor and should nicely clean up the problem. In addition I have 2 other recommendations, One is to connect the motor frame to neutral (This might well fix all the problem) and the other is to gather the AC power leads close together and route them away from the AC wiring to prevent coupling the motor current spike from being radiated to the USB cable as it (the cable) is the direct connection to the processor and the easiest place for noise or switching transients to affect the operation of the processor. Typically relays are rated at > 1000V isolation from contacts to the coil and are unlikely to have much of an effect on the processor inputs considering that the power used to operate the relays "should" be from a very low impedance circuit and thus more likely to conduct the transient to ground then the processor, The inputs are however a wholly different thing. Originally I thought you were using a more "low tech" relay board or "rolling your own" relay board and my comments were directed to that situation, I apologize for misleading you in my previous "recommendations" and in the future please be more forthcoming with ALL the details... It will get you a better quality answer, one more likely to solve your issues faster. If you keep me informed I will do my best to provide the same quality of help that I would expect from others.

Bob

MrGarak:
The board is the following:

http://www.ebay.com/itm/USB-4-Channel-Relay-Board-RS232-Serial-controlled-/280879280954

As I said, it's an independent board with its own microcontroller. I would assume they integrate diodes on the PCB, it would be stupid not to. But who knows hm? The inductive load is a small motor, 1.55 amps, 120VAC.

As MarkT says, ideally you need to know the inductance of the motor to calculate the values for the snubber network. However, I suggest you try 0.22uF in series with 33 or 47 ohms. The capacitor needs to be rated for well above 120VAC, and the resistor should be rated for 500VDC or more. Something like http://uk.farnell.com/panasonic/ecqu2a224kla/capacitor-x2-0-22uf-275v-10/dp/1673311 and http://uk.farnell.com/multicomp/mcf-1w-33r/resistor-1w-5-33r/dp/9337849.

Seems to me that the inductance is a variable depending on the rotor speed/position because of the rotor being in motion and thus changing the loading of the stator windings and their inductance. The average inductance would be a factor of the stator winging average inductance value and finally the rest position. so a snubber might well be calculated for the median value. the variable I mention is the basis for a motion sensor called a linear transformer which returns a value that depends on the position of the rotor in relation to the stator. It is very possible that this change might be small and easily done with a means of determining the stator inductance. This was the reason for suggesting a Thyristor rather than a snubber although both should work equally well there is less math/measurement involved in selecting a thyristor.
IMO

Bob

Bob, thanks for your help. I'm not sure how I wasn't being forthcoming, as I did state in my first post: "I have a usb relay plug-n-play kit which allows the PC to send commands over the usb cable to turn relays on and off." Perhaps I wasn't detailed or specific enough, apologies if that's the case. Anyway, it wasn't intentional, and I appreciate the help. Those varistors look cheap and worth a try to fix the problem. I'm not sure if connecting the motor frame to neutral is a good idea since it is already connected to ground.

The resistive load I am using right now to fix the problem is a simple 5watt nightlight, so it's not too much waste in comparison to the power taken by the motor. Also, to be clear, you meant the "Zinc Oxide Varistor 150VAC 15J 1200A 7mm" one on that site, correct? Is that ok even though it's only 150VAC?