I am new in electronics and this is old subject but still. I started new Arduino project where I control 4 solenoid valves independently via Arduino 4 chanel 5 V Relay module. From the beginning I put flyback diode on each solenoid to eliminate EMF (1N4002). Everything works fine but when I speed up cycle things get messy (I need speed about 30 Hz). Solenoid coil can't discharge properly that quickly (it has delay). I read some forums and found solution: diode+zener.

What kind of zener diode should I use and how to properly mount it (any additional parts)?

I am also afraid of over-heating due to quite high current. How can I avoid it?

My valves are: 48 VAC, 3.8 VA and 24 VDC, 3.1 W.

  • 1
    \$\begingroup\$ Please use the built in schematic editor to upload your circuit schematic. This will allow the members here to better assist you. \$\endgroup\$ Mar 23, 2018 at 20:08

2 Answers 2


First place is to think about what an inductor (the solenoid) does: It opposes any change of current, by doing whatever is necessary to keep the current flowing, at the same A, and in the same direction. In the circuits below, as the switch opens, the voltage will go up, above V+, until current is forced to flow (through the absorber component or by sparking or by breaking down the switch transistor).

Second is that an inductor has a fixed amount of energy stored in it (1/2 L.I^2) which is available to power the flyback. (or heat up the zener)

So the flyback current is never greater than the on current of the solenoid. (3.1W/24V = 130mA)

The flyback current will flow until the energy is dissipated as heat in the diode/zener/inductor-R. Initial current is fixed at Ion, so the power dissipated in the diode is much greater at a zener voltage of 30V that at a diode voltage of 1V : therefore the energy is dissipated much faster, and the current stops much quicker.


simulate this circuit – Schematic created using CircuitLab

So L1 has a simple diode, and the current will keep flowing for max time as Vdiode is 1V.

L2 has diode+Zener. This is nice because the zener can have any voltage you want at all - the supply voltage is never across the zener. So you could say: I have a 1.3W zener, 130mA maximum will flow, so I will use a 10V zener and never ever overheat it. Or a 400mW 3.3V zener. Even with a 3.3V zener it will still be 4x faster than a diode. (The drawback - an extra D2)

L2b is using a resistor instead of the zener. The value must be matched to the on current of the specific solenoid. (from @OlinLathrop)

L3 Just use a zener. But the zener V has to be greater than the maximum possible V+, including all tolerances. So perhaps it is a 39V zener. Peak power will be 39Vx0.13A = 5W. Probably OK for a 1.3W zener as it is momentary, but you really need to watch the total pulse energy carefully. Probably bad for a 400mW zener.

L4 dissipates the energy in M4 by turning D5 must still be 39V. This approach works as the inductor energy gets bigger.

If the circuit was perfect the voltage across the switch would instantly rise from 0V to Vclamp (25-60V), generating an RF pulse of EMI, in your case of a solenoid, with nice long antenna wires. In practice the rise time is set by the various parasitic capacitances across the coil,diode,switch etc. However it is often desirable to design so that the switch is slowed, and reduce the rise time. R1+gate capacitance of M1 slows the switching down. (It also protects your micro when M1 fails by drain-gate punchthrough)

  • \$\begingroup\$ Thank you boath for quick response and very educative answer. So if i understand thing right i should be able to put 1N4148 and ZY10(option in local stor) back-to-back across the soleonid. \$\endgroup\$
    – Klleo
    Mar 24, 2018 at 12:14
  • \$\begingroup\$ yes, the right way around of course \$\endgroup\$
    – Henry Crun
    Mar 24, 2018 at 21:14

First, 1N400x diodes are for rectifying low frequency power, like 50 or 60 Hz. They are not well suited to be flyback diodes.

If you want to turn off the relay faster, then put a resistor in series with a suitable diode. You know the relay current at turn-off. Size the resistor so that you get near but not exceeding the reverse voltage you can handle with the full relay current through it.

  • \$\begingroup\$ This is an old answer, but I have come across it just now, so I will comment on your first sentence: even the slow rectifier diodes have very fast turn ON times, which is what they are used for in this type of a circuit. Their turn OFF time is slow, but it doesn't matter here because a solenoid will be switched slower than what a rectifier diode can work with. \$\endgroup\$ May 22 at 20:01

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

Not the answer you're looking for? Browse other questions tagged or ask your own question.