I have the above circuit on a breadboard, where my PWM is coming form a microcontroller with its own current limited power supply. the motor is being powered from another output of my power supply. So I have added this diode 15SQ045 which i sourced from here, despite the fact it said "for solar cells" I was satisfied with the "shottky" property.

Anyways the issue is that without the diode I get voltage spikes of about 128V and with the diode those come down to about 38V. My question is why are the spikes still so high? Can i improve it?

I have tried adding more diodes in parallel but that does nothing.

  • \$\begingroup\$ How are you measuring the spike voltages? \$\endgroup\$ – vofa Jan 17 '18 at 4:46
  • \$\begingroup\$ I am using an oscilloscope \$\endgroup\$ – Eddiea6987 Jan 17 '18 at 4:47
  • \$\begingroup\$ Of course you're using an oscilloscope but how do you measure? Please look at this image and answer again. \$\endgroup\$ – Rohat Kılıç Jan 17 '18 at 4:49
  • \$\begingroup\$ the motor does not have a capacitor in parallel with it.. could this be the issue? I am just probing directly on the motor leads \$\endgroup\$ – Eddiea6987 Jan 17 '18 at 4:58
  • \$\begingroup\$ All mosfets used in switch mode need a 10 ohm to 33 ohm resistor at the gate to prevent ringing and overshoot. Look up 'snubber' capacitor/resistor combo's and put that across the motor. A capacitor alone may cause the mosfet to overheat. \$\endgroup\$ – Sparky256 Jan 17 '18 at 5:12

It surely depends on how it is measured. The following 2 images from TI are quite helpful on measuring noise/ringing signals:


The better way

These images represent how to "probe". Note that a long ground cable of the probe can pick up a lot of noise from outside.

There are also some other things to consider:

- Insufficiently Bypassed Supply Line: It's also quite important to bypass the supply line at higher frequencies. I would put 1-100nF capacitor(s) across the supply line as close to the point where the motor is supplied as possible.

- Stray inductances: Sad but true. Although it's hard to say without seeing the setup there should be some stray inductances coming from the setup/layout. The tracks/cables from positive supply line to motor, from motor to mosfet, from mosfet to ground, from motor to diode's anode, from diode's cathode to motor etc. All create some stray inductances. So, keep those tracks/cables short as possible.

- Bad/insufficient/weak gate drive: Sorry but schematic does not show anything about this. If the gate has a series resistor then put a fast diode (e.g. 4148) parallel to this resistor in a way that the anode is connected to the gate and the cathode is connected to the PWM source. This helps to turn the MOSFET off faster.

- Capacitor Across the Motor: Try putting a lower than or equal to 1nF ceramic capacitor right across the leads of the motor.

- dv/dt of the Diode: I'm not sure about this but I think other experts may enlighten.

If there are spikes after fixing/improving these issues then put a snubber across the drain and source of the MOSFET. This document is quite helpful on designing snubbers.

  • \$\begingroup\$ thanks for this I will definitely print out that app note, should be a good read! \$\endgroup\$ – Eddiea6987 Jan 17 '18 at 5:42

The fact that you have a large spike when measuring wrt ground on the board and no or little spike when measuring across the motor suggests that you have a problem with parasitic inductance of the motor leads.

If you have connected the flyback diode straight across the motor terminals try moving it to the board end of the motor leads. It is the mosfet you are trying to protect.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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