Yahoo Groups archive

AVR-Chat

Index last updated: 2026-04-28 22:41 UTC

Message

Re: Hello and EMI/RFI

2004-03-14 by Stefan Wimmer

--- In AVR-Chat@yahoogroups.com, John Johnson <johnatl@m...> wrote:
> > Do you have a snubber network across the relay contacts ?
> no, what do you recommend? 10ohm and 10nf in series? I couldn't 
find a good web resource, so I'm kind of guessing.


This subject is asked astonishingly often (not only in this mailing 
list). Are people involved in embedded systems nowadays pure software 
people? Anybody remember physics in school/university? No (E-)
engineers here??


Ok, back to the basics:
As one (I hope at least _one_ of the readers) might remember, at 
least 90% of all problems in physics (where EE does belong to) can be 
solved by energy balancing.

So what do we have in steady state? There is a circuit which is 
closed by your relay contacts. Either the load itself and/or some 
stray inductors are "charged" with some current flowing thru it. The 
energy stored in the magnetic field is: 1/2 L * I * I.

Now when you switch off the relay, this energy has to go somewhere. 
The current "wants to continue flowing" and according to the equation 
U = -L dI/dt we get some really high voltages with even very small 
(stray) inductors, as long as the switch off time (dt) is short 
enough. This high voltage will cause some nice arcing at the contacts 
and due to the negative differential resistance of an arc, RF is 
generated (Tune a radio to the LW or SW range while your relay 
switches if you don't believe this - you will hear the RF, no matter 
what exact frequency you dialed in).

Now what can we do?
Best would be to tune down dt (make it longer), but that would kill 
your relay contacts by high current arcing (which is a different kind 
of animal since the current path is here provided by metal vapors in 
the (too slowly) growing gap between the contacts) in no time. So we 
have to take care of the current and give it an alternate path (while 
attenuating it - we want to switch off - don't we? :-)). A good 
measure would be a capacitor parallel to the relay contacts. It is 
held discharged as long as the contacs are closed. When they open, 
the current can (at first) continue to flow and charge the capacitor. 
This will result in an increasing voltage across the capacitor which 
will finally stop the current flowing. 

If we want to know how big the capacitor has to be - we're back to 
energy balancing:
    1/2 L * I * I = 1/2 C * U * U.

Now you can reorganize and resolve for C.

And for the voltage rating keep in mind, that your capacitor will be 
charged to  the peak voltage of your (AC) operating voltage plus what 
you just calculated above.

That's it.


Really?
No!

What happens if the relay contact close again? Oops! Yes, they will 
short circuit a charged capacitor. Well, since we don't really want 
to weld the contacts shut, we should include a resistor to limit the 
current to a value that can be handled by the relay contacts 
additionally to the load current (iow: the difference between the 
current rating of the contacts and the (inrush) current of the load).
Usual Ohm's law applies (calculating with Umax as discussed above).

If you "guesstimated" your (stray) L in the equation above, it is 
good practise to double or triple your C and calculate the needed R 
accordingly, just to be on the safe side.

Now you have your snubber circuit (RC-network) without any magic, 
guessing (ok, stray inductance) and head scratching (I hope :) ).



Sorry for any wrong wordings or phrases, but english is not my native 
language. An if I sounded a little brisk - maybe I just needed a 
little venting :)

Attachments

Move to quarantaine

This moves the raw source file on disk only. The archive index is not changed automatically, so you still need to run a manual refresh afterward.