Voltage spike suppression (clamping)


Recently I was made aware of the issues / challenges of spikes on the phase pin when the motor stopes and the kinetic energy builds up through the body diode of the bridge and into VIN capasitors, resulting in a voltage increase.

I am considering a clamping diode, which is recommended in the MIC4605 datasheet, but I’m not sure which Schottky diode to choose or where to place it.

I thought this thread could be a good place to discuss best practices and hopefully inspire future rigid designs.

As I understand it, if one uses high rated MOSFETs, the spike suppression is less important, since the spikes will not exceed the breakdown voltage, but if driving a BLDC from a power supply and not a battery the over voltage protection might trigger.

When using a battery, the kinetic energy is of course what becomes regen charging, so in that case it is desirable.

The ideal solution would therefore, in my opinion, be a choice.

Any thoughts on the matter is highly appreciated


All you need to know really is at what voltage you want to activate it. There are a couple of different methods, I prefer a linear passive circuit but you can also run it saturated with a schmidt trigger.

Hi Jonathan

I just realized, there is two potentially damaging spike scenarios. When the high side turns OFF, but before the body diode turns on, which is what the MIC4605 datasheet is referring to. Had to read it again to pick that up.

Regarding the spike scenario in the capacitors. Can you put Zener diodes in parallel to spread out the heat dissipation or will the voltage drop multiply ?

From my understanding a Zener diode will create a current path for the spikes to ground, when the voltage goes above the Zener voltage. A avalanche diode does the same, but is used for higher voltage purposes.

Best regards

For future refence, if someone like myself, can´t find the proper diode.
TVS diodes (Transient-voltage-suppression diodes) are made to withstand high voltage spikes and surge currents. Sometimes they have the same symbol as Zener/Avalanche diodes, but has different ratings when it comes to suppressing those spikes.

By making this diode a “add on” if needed, the appropriere one can be chosen (for 12v or maybe 24v PSU).

It is effectively a controlled short from VIN to GND, which drains any kinetic energy above the breakdown voltage.


TVS works great, keep in mind the breakdown and peak can be far apart, for instance if you are using a driver/PSU that can handle no more than 29V(24V x 1.2) you probably need a vbus of 10-12v. If you want to run at 24V vbus the TVS might not be suitable. You can imaging you’d need a breakdown voltage of around 25V in this case, but by 29v it might not yet dissipate that much energy, while at 33V it would. So this solution works for drivers where say the vbus is 24V while the driver/PSU can handle 35V

With a brake resistor you have a shorter slope(you can clamp a 24v vbus at 26v, but the arrangement is much more complicated and expensive.

Hey Jonathan,

I agree there are many different specifications when it comes to TVS diodes.

Take this one. At 24volt there is essentially no short to GND. It can withstand 128 amp peak pulsed current with a brakdown voltage at 26,7. At 29.5v, the short is fully open and will, as i understand the concept, drain the 128 amp peak.

In below image you can see the size in comparison to the board. It is a rather large path to GND for kinetic energy. The appropriate question is: how much kinetic energy (amp´s) does a eg. nema23 produce when breaking.


Edit: If driving a nema23 with the illustrated board (30v rated switches) there should obviously be a large capacitor added across VIN and GND .

Ok i now see the clamping voltage spec. is when the short is fully open. Hmm… would it be safe to use a tvs diode with a breakdown voltage of eg. 25v on a 24v system. This will blead a small current, but will probably not heat up the diode. That way you get a larger buffer / bigger portion of the avalanche.

5.0SMDJ22AS looks suitable for quite high power dissipation at 28V-30V, you should be fine. That said, it’s not a good idea to use 30V mosfets in a 24V system. For a 24V system if you expect it to have some hard starts and stops especially and you have high reliability requirements, consider 80V mosfets instead. I can tell you that in our products we can kill 60V mosfets on a 18V bus with 12V rated motors quite easily.

Cool, this will be a interesting experiment. Will buy a few different kinds and measure the leakage @24v

The goal is to drive openPnP machine, which recently has gone through some motion control dev. Check out Mark´s work on S-curve implementation. S-curve motion should take the top of the spikes, to my knowledge.

Come to think of it, one could adjust the PSU down to 22v and not worry about bleeding to GND.

Basically what I’m doing as well, to compensate for part tolerances turn vbus down until it no longer heats up :slight_smile: