29 August 2021

PROJECT: Half-Life 2 AR2, Update #13 - Solenoid Driver


Continuing with the RECEIVER_MAIN-BOARD design, this post will concentrate on the solenoid driver section. The solenoid in question is one I wound myself, whos approximate specs are:

  • 0.95 mH inductance
  • 1.42 Ω series resistance
  • 21 AWG wire (0.7mm dia)
  • 40m wire length

Why is this section so crucial? Well this circuit deals with driving a highly inductive load, which creates big voltage kicks/transients during the ON/OFF transitions. Dave from EEVblog made a good summary of this behavior here


Chosen Solenoid Driver Configuration

Before I bore you with more simulations, here is how the chosen configuration compares to driving the solenoid without any dampening/snubbing. Please note that the MOSFET I have chosen (Infineon BSC040N10NS5ATMA1) has a Vds rating of 100 V, which if exceeded will eventually destroy the semiconductor junction (as you see in the simulation with the 110 V peak...)

One other thing to note is that I have chosen to use a dedicated gate driver (TI UCC27533, see section 10.2.1.2.4 of datasheet on how to spec driver), as I am am working with a limited PCB area (as in have bugger all space to make a gate driver using discrete components)


A Closer Look at the Voltage Spike

There are many ways to dampen the back EMF (aka voltage spike), the most simple of which is just placing a diode across the inductor. This diode goes by many names, and the one I was taught at uni was freewheeling diode. It's recommended to use a Schottky diode, due to their lower forward voltage (think less dissipated power) and snappy response to reverse bias

Lastly my gate drive waveform is a 7 Hz square wave with a 50 % duty cycle (as in the inductor is energized for ~70 ms). Which is practically what the solenoid will be driven at, as seen in an older blog post 


Zooming in on the voltage spike we see that it "saturates" at ~110 V. This is because the junction of the MOSFET (which is rated to 100 Vds) is breaking down and clipping the peak. Using an ideal MOSFET in LTspice shows that the spike peaks at ~2 kV and lasts for ~1 ns


And with the freewheeling Schottky diode fitted, we get a manageable ~15 V peak


But What if I Want a Faster OFF Time?

Here is a good thread on this desire ;^)

If you have eagle eyes you might see that there is a bit of a delay before MOSFET Vds (and hence inductor current) stabilizes, and in some scenarios you would want this state to be reached as fast as possible so you can switch the inductor at crazy high speeds. Well if you want to do this one way is to add a dampening resistor in series with the freewheeling diode, but you have to size this resistor carefully otherwise the voltage drop across it is going to bring the spike back (as you can see below)


An even better way would be to use a Schottky & Zener diode combination, which I did not simulate as I was quite happy with the Schottky freewheeling diode arrangement (as I am only switching at 7 Hz...)

No comments:

Post a Comment