Electronic – Voltage spikes when driving DC motor with N-channel MOSFET

drivermosfetmotorpwm

I'm trying to drive a DC motor (12V, 100W) with MOSFET IRFP054N. PWM frequency is 25 kHz. Here's the schematic:
Schematic

I know DSEI120-12A is not the best diode for this but I don't have any better right now. 3A Schottky diodes, which I also tried, get hot very fast.

Here are scope waveforms (A = MOSFET drain (blue), B = gate drive (red)):
Waveform 1

Smaller duty cycle:
Waveform 2

I'm getting a voltage spike at MOSFET turn-off which lasts about 150 ns and has an amplitude of max. 60 V. The amplitude stays whether I increase duty cycle, voltage, or load on the motor. The width of the spike depends on the load on motor (probably depends on current).

I've tried:

  • Increasing gate resistor to 57Ω for slower MOSFET turn-off.
  • Adding Schkottky diodes (SR3100, 3A) across motor and MOSFET.
  • Putting various capacitors across DC link and motor. This sometimes helps when operating with low duty cycle and low voltage, but when power is increased spike is present again.

None of this things helps to completely eliminate the spike. Interesting thing: the spike doesn't destroy the MOSFET (since it's rated for 55 V), but I would like to do this driver correctly.

I'm looking for suggestions of what else to try, and why this spike is limited to 60 V.

Update:
I think 1 mF electrolytic cap couldn't absorb the energy spike from the motor. Now I've added a 2.2 uF film capacitor on 12V line, 200 nF ceramic cap on the motor, and 100 nF ceramic cap across MOSFET.

This helped to lower the spike although now I get ringing at turn off – probably need to improve snubber on MOSFET. But the voltage amplitude is much lower (30 – 40 V at load).

Best Answer

It seems to me that what you need is a voltage snubber across the MOSFET. An easy way to do that is to simply connect a series capacitor + resistor across the MOSFET. I'd guesstimate that a value of about 2.7 nF (about 3x capacitance of the MOSFET) and resistor of 100 \$\Omega\$ would be about right.

This ancient application note describes the various kinds of snubber circuits, including when and how to use them. You might find some inspiration there.