Speeding up a relay - zero crossing detection
Russell McMahon email (remove spam text)
> I am trying to get a relay to turn on and off really fast. I am trying to
> De-energizing the relay, though, is another matter. It is taking 8mS from
> de-energizing the relay to the first contact opening, and 16 mS total for
> it to quit bouncing. In my application it has to operate faster than
> that, preferable in less than 8mS.
> The spec sheet says this relay will turn off in 2mS, "WITHOUT CATCH DIODE"
The answers so far have been along the right lines.
You need to understand what is happening that is affecting the turn off time
if you want to intelligently attack the problem. (Some times unintelligent
attack works better though :-) ).
These MAY not help you as you MAY already be down to the minimum mechanical
time, but reading this MAY give you ideas.
The energy required to activate and hold the relay on is "stored" in a
magnetic field. This field must be removed to allow the relay to release.
The activate field is almost always lower than the "hold in" field.
When the current supplied to the relay coil is removed with the intention of
deactivating the relay, the energy stored in the field must be dissipated.
The collapsing magnetic field has the effect of attempting to maintain the
current that was flowing at the time of deactivation. This effect will
continue indefinitely if the energy is not dissipated. nature arranges for
ways to ENSURE that the energy will be dissipated. This tendency for the
current to continue to flow at its turn off value was labelled by an old
Cockney lecturer I had years ago as "the law of natural cussedness". If you
provide a path for the current generated in the coil by the collapsing field
to flow in, the energy dissipated as the current flows will cause the
current to decrease until the field reaches a level where the relay will
Your task, should you accept it, is to dissipate this energy in as short a
time as possible.
I'll use a 12v relay here but that is for example only.
If you place a "reverse biased" diode across the coil (so that current does
not flow in it when activating voltage is applied, then the generated
current will flow through this diode when the activating voltage is removed.
The energy loss in this diode is small (Vdiode-drop x I) and the main energy
loss will usually be in the relay coil (I^2 x Rrelay-coil). eg for a 12 volt
relay coil rated at 50 mA coil current the relay will have a R=V/I = 12/50
mA = 240 ohm coil. At turn off, instantaneous diode loss = 0.6v x 20 mA = 12
mW. Instantaneous coil loss = (20 mA)^2 x 220 = 88 mW. These rates of
dissipation will fall as the current falls. Turn off time will depend on
stored energy which depends on coil inductance but, as you have seen, this
can be 10's of mS (or 100's with suitable design). If the voltage across the
dissipative element (here = the diode) can be increased the energy loss will
go up and the relay will drop out sooner. As the relay voltage drop is 12v
initially and resistance is 240 ohms, we can get equal dissipation to the
relay coil losses by placing a 240r in series with the diode. Now the R and
the relay coil will have about 12v across EACH of them initially. ie the
voltage across the coil will double essentially instantaneously at turn off
to satisfy the law of natural cussedness and maintain the initial current.
We can expect relay release time to approximately halve. I said "essentially
instantaneously" above as the stray capacitance (wiring plus coil self
capacitance) can not be instantaneously stepped in voltage (just as an
inductor cannot be stepped in current) so there will be a SMALL rise time as
this stray capacitance charges.
If we increase the resistor to 720r in this example the voltage will rise to
48v (12 across relay, 36 across resistor) for about 4 x initial energy
dissipation rate. We can hope (but not expect :-) ) that relay release time
is now down to about 2 mS.
If instead of a resistor we use a 36v zener then the voltage rises to 36v
not only initially but throughout the time that current flows so dissipation
will be faster. A zener will therefore be faster than a resistor for a given
maximum allowable rise in voltage, as the resistor will rise to this value
initially and then decay whereas the zener will hold the voltage until
essentially all energy is gone.
Clearly (a dangerous term) the higher the voltage the coil is allowed to
rise to, the quicker the energy will dissipate. This voltage will USUALLY be
set by your switch voltage limits.
I say USUALLY because there is a secondary effect which will take over in
limiting cases. If you use no back diode etc at all and just turn off the
coil the current will desperately seek somewhere to go. Not finding a low
resistance path the law of natural cussedness (aka electromagnetic induction
and collapsing field etc) will generate a rapidly rising voltage. If the
insulation resistance can withstand this, voltage rise will ultimately be
limited by the energy becoming stored in the stray capacitance. Much of the
initial L x I^2 energy will now be stored in 0.5 x C x V^2 energy. At the
top of the voltage hill it will look around and start on back down (as it
were). We have a ringing underdamped (probably) tuned circuit. The
oscillatory current will flow through the coil resistor and slowly dissipate
the available energy. as the only dissipative element is the coil resistance
we will not release especially rapidly but the ringing voltage will add em
noise and odds on will damage your switching element with a voltage of
perhaps thousands of volts. As we have all found from time to time :-).
Several people mentioned mechanical resonance and damping I think and ?Roman
mentioned weighted contacts etc. I *suspect* that optimum effect may be
achieved by aiming at a discharge time constant around the mechanical
release time of the contacts. Also, arranging for a slightly underdamped to
critically damped discharge may assist. This is easily checked for
empirically. Use large voltage zener and observe achieved release time with
bouncing. Now adjust zener and or resistor discharge so that the coil
voltage decays in around this sort of time. See if this has any affect on
contact bounce as you vary it somewhat. (If not, give up ? :-) )
Relay release may be speeded by reducing the current once operated from the
pull in value to just above the drop out value. Circuit complexity may not
allow but it seems probable that a judiciously applied pulse (or perhaps
more complex waveform) late in the release may cushion the falling contacts
against a hard and bouncy landing. Consider - usually you are effectively
"dropping:" the contacts and associated actuation hardware from the on
position to a mechanical rest off position. Bouncing on arrival is a natural
consequence. Application of some retro rockets (or the relay coil
equivalent) which slow the descent at just the right time, may serve to
reduce this bouncing.
Do you have to use this relay ? Probably yes, but there are many which
operate far faster than this. Notably reed type which tend towards low
- Knowing more about the "'real problem" would probably assist us in
tailoring the answer.
- Using both electronic and mechanical switches in parallel can solve some
problems. The electronic switch is turned on just before the mechanical
switch turns off so there is NO contact bounce at this stage. The electronic
switch is then turned off. The electronic switch needs handle current for
only a very small period and the mechanical switch sees NO switching
transients and has the Rdson (aka mechanical contact resistance) of a VERY
What about using series opposed MOSFETs ?
Gate drive is interesting but not impossible.
http://www.piclist.com hint: PICList Posts must start with ONE topic:
[PIC]:,[SX]:,[AVR]: ->uP ONLY! [EE]:,[OT]: ->Other [BUY]:,[AD]: ->Ads
See also: www.piclist.com/techref/io/motors.htm?key=relay
You must be a member of the
piclist mailing list
(not only a www.piclist.com member) to post to the