[Solved] HV Motor Control - Snubbers, Flyback Diode Possibly Insufficient

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
Please see latest posts for the currently relevant info.

I've been developing a motor controller for myself for some time now, mostly designing one rather than buying one as a learning experience. Have had success so far, but I've got a question in regards to using a capacitor as a snubber across the drain and source of the MOSFET in the controller. The controller is being designed for up to 144V DC, I've tested it so far at 12V, and plan on slowly working up to the full 144V, to prevent sudden instantaneous death of components if something were connected incorrectly. Anyways - The capacitor I've connected across the drain and source is a 1uF polyester capacitor rated for 250V. C3 in the scmatic below is that capacitor.

Capacitors C1 and C2 in the schematic below are placed right on the positive and negative terminals of the motor, and hub to the frame of the motor. They are ceramic disc capacitors rated for 1KV. C1 is 4x 22nF capacitors in parallel, as well as C2.



First, before I added the 88nF worth of capacitors across the motor terminals and before the polyester capacitor was added, this is how the waveform looked:


Then, after adding the 88nF capacitors across the motor terminals (The extended ringing eventually fades out to nothing):


And finally, after the polyester capacitor was added across the MOSFET:


The motor leads are also fairly long ~2ft in length, so this may be part of the problem as there may be stray inductance.

What I'm actually wondering is... is this actually an acceptable solution to the overshoot or should I put a reverse biased diode across the MOSFET instead... or is there another, better solution available?

EDIT: At this time, I am revising the snubber across the drain and source of the MOSFET by adding a resistor to help dissipate the current. I've opted for a 1K resistor and will go from there. I will edit this post with more information once I've done this. User ebp has also suggested that the motor terminals being twisted will cancel out stray inductance in the wires leading to the motor. I will also be doing this.

EDIT 2: I redesigned the controller to reduce parasitic inductance as much as possible. Most of the above post is irrelevant at this point. The layout is significantly more simple and leads have been shortened a good amount, as well as placement of components more conveniently placed closer to each other. Positive and negative bus bars have also been placed close to each other.

The MOSFET has been switched out for an APTM50AM24SC, and the Diode has been switched out for a BYT261PIV-400.
 
Last edited:

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
Google this "snubber design", lots of resources.

Regards, Dana.
I've already been researching snubbers, still learning more about them. I just can't quite figure out if the waveform I'm seeing is acceptable or not with the basic snubber I've got set up. With my current knowledge, I believe that it is (could be better). I'm more or less looking for confirmation, and if it's not an acceptable waveform, maybe a slight nudge in the right direction.

EDIT: Never mind I believe it needs a resistor to help dissipate the current stored in the capacitor, please correct me if I'm wrong.
 

ebp

Joined Feb 8, 2018
2,332
Yes, snubbers require some means of dissipating energy, otherwise it just keeps shifting back and forth between capacitance and inductance, ringing until the energy is eventually dissipated in the "stray" resistances or sometimes losses in core materials in inductors.

The ringing you are seeing is probably resonance between FET capacitance, your added capacitance and the inductance of the connections to the motor. Whenever possible, keep lead wires to loads twisted quite tightly together. This minimizes "loop area" and reduces inductance by allowing cancellation of magnetic fields in the "out" and "return" wires.

It can be hard to evaluate whether snubbing is necessary or beneficial with FET circuits. I would likely not attempt to snub the small spike you are seeing, though it is really the energy rather than the amplitude (the two not totally unrelated, of course) that guides what should be done. An interesting case is the flyback power converter. There is invariably a large voltage spike right after the FET turns off due to "leakage inductance," then when the stored energy in the inductor has been transferred to the output filter capacitor and the load there is very characteristic ringing. The leakage inductance spike is usually snubbed because significant energy is involved, but the ringing is usually of no concern because there is very little energy being shifted around. Almost all modern power MOSFETs are "avalanche rated" - the body diode is characterized to be deliberately allowed to breakdown in reverse like a zener. If the circuit is carefully evaluated, it may be quite acceptable to allow the diode to avalanche to limit the amplitude of a voltage spike. I've designed lowish-power flyback converters where I've used the avalanche capability to good advantage and saved the need for snubber components.

Keep in mind that the capacitor in a snubber across a FET will normally charge to the full supply voltage during the FET OFF time. When the FET turns on, that stored energy is discharged through the FET and the resistor in series with the cap. If the resistor is small and the voltage high, this can translate to a current spike of many amperes, which may be more of a problem than and unsnubbed low-energy voltage spike.

Are you sure your caps on the motor are 880 nanofarads? That is an extraordinarily high value for 1 kV capacitors and they would be physically very large. Those caps also will result in a current spike when the FET turns on.

If your FET switching frequency is not very high, you can sometimes reduce spike amplitudes by slowing the switching speed of the FET a little (larger resistance in series with the gate). The efficiency might reduced a little, but it can be worthwhile. This must be approached carefully.
 

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
Yes, snubbers require some means of dissipating energy, otherwise it just keeps shifting back and forth between capacitance and inductance, ringing until the energy is eventually dissipated in the "stray" resistances or sometimes losses in core materials in inductors.

The ringing you are seeing is probably resonance between FET capacitance, your added capacitance and the inductance of the connections to the motor. Whenever possible, keep lead wires to loads twisted quite tightly together. This minimizes "loop area" and reduces inductance by allowing cancellation of magnetic fields in the "out" and "return" wires.

It can be hard to evaluate whether snubbing is necessary or beneficial with FET circuits. I would likely not attempt to snub the small spike you are seeing, though it is really the energy rather than the amplitude (the two not totally unrelated, of course) that guides what should be done. An interesting case is the flyback power converter. There is invariably a large voltage spike right after the FET turns off due to "leakage inductance," then when the stored energy in the inductor has been transferred to the output filter capacitor and the load there is very characteristic ringing. The leakage inductance spike is usually snubbed because significant energy is involved, but the ringing is usually of no concern because there is very little energy being shifted around. Almost all modern power MOSFETs are "avalanche rated" - the body diode is characterized to be deliberately allowed to breakdown in reverse like a zener. If the circuit is carefully evaluated, it may be quite acceptable to allow the diode to avalanche to limit the amplitude of a voltage spike. I've designed lowish-power flyback converters where I've used the avalanche capability to good advantage and saved the need for snubber components.

Keep in mind that the capacitor in a snubber across a FET will normally charge to the full supply voltage during the FET OFF time. When the FET turns on, that stored energy is discharged through the FET and the resistor in series with the cap. If the resistor is small and the voltage high, this can translate to a current spike of many amperes, which may be more of a problem than and unsnubbed low-energy voltage spike.

Are you sure your caps on the motor are 880 nanofarads? That is an extraordinarily high value for 1 kV capacitors and they would be physically very large. Those caps also will result in a current spike when the FET turns on.

If your FET switching frequency is not very high, you can sometimes reduce spike amplitudes by slowing the switching speed of the FET a little (larger resistance in series with the gate). The efficiency might reduced a little, but it can be worthwhile. This must be approached carefully.
Thank you for the reply, twisting the wires makes sense, I never thought about that. I'll do that as well as add a resistor in series with the capacitor... start with a 1K resistor and see how the waveform changes.

You say it might not be necessary to snub the spike I was originally seeing across the drain and source, one of the reasons I originally wanted to do so is because I'm not sure if it will be linear as the voltage increases. That's something I have yet to determine. It's about 17V now, if it continues a linear pattern it should be roughly 200V when I provide it with 155V later on (Full charge voltage of the 144V batteries). The closer I get that spike to the top of the duty pulse, the less I have to worry about killing the MOSFET with transient voltage spikes. Sure the MOSFET is rated for 600V, but I don't want to settle for "good enough". I'll do what it takes.

The capacitor discharges through the MOSFET, alright, that entirely makes sense... As of now, it sounds like this could even be causing extra heat to be produced by the FET, lowering efficiency. Does that sound right?

Made a mistake in the schematic, The 880nF capacitors are actually 4 separate capacitors with values of 22nf. I combined them into a single capacitor on the schematic since their capacitance combines. The "880nF" was a mistake, was supposed to be "88nF".

You've given me a lot to think about, and I definitely appreciate it. Thanks again! I'll post here if I have any further questions and also if I resolve it.

I also missed a step in the waveform. I will correct the thread.
EDIT: I've corrected it.
 
Last edited:

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
Alright, I've come back to this issue with updates. I redesigned the controller to reduce parasitic inductance as much as possible. The layout is significantly more simple and leads have been shortened a good amount, as well as placement of components more conveniently placed closer to each other. Positive and negative bus bars have also been placed close to each other.

The MOSFET has been switched out for an APTM50AM24SC, and the Diode has been switched out for a BYT261PIV-400.

Additionally I have created two RC snubbers and reduced the ringing to nothing. The waveform is close to perfect. The first RC snubber is across the MOSFET's drain and source terminals. Resistor value of 5Ω, 10W and a polyester capacitor with a rating of 630nF. This reduced the spike, but did not eliminate it. For the heck of it, I also applied an RC snubber across the dual diode module. The resistor used in this snubber was a 10Ω 5W, and the capacitor used was a 3uF. This completely eleiminated the spike.... until the load on the motor increased. Basically, if the duty cycle increases or if any physical load is put on the motor... the transient spike returns. I believe to fix this I just need to recalculate my snubber circuit values, but this triggered a thought. Shouldn't the flyback diode be handling these spikes if the origin is the motor like it appears to be? I am fairly certain that the diode is simply not fast enough. It has a reverse recovery time of 50ns. Most motor controllers I've seen have had diodes with recovery times around 25-35ns.
 

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
C3 should be smaller or eliminated.
It generates a large spike of current through the MOSFET when it turns on
As of my last post, C3 is now 0.6uF. Smaller than the original 1uF or smaller than 0.6uF? I'll remove the snubber across the MOSFET now, since the snubber across the diode resolved most of the transient spike, and see what the result is.
 
Last edited:
As of my last post, C3 is now 0.6uF. Smaller than the original 1uF or smaller than 0.6uF? I'll remove the snubber across the MOSFET now, since the snubber across the diode resolved most of the transient spike, and see what the result is.
Chances are you don't really need snubbers at all for this circuit and definitely remove the caps to the frame. They will only couple the high frequency waveform to an antenna and generate a lot of electromagnetic interference (EMI). If you have high voltage spikes on the drain of the mosfet then the freewheeling diode and/or bulk capacitor (across the power supply) are possibly too far away. Those three components must be very intimate to keep stray inductance under control.

If you still have spikes on the drain then you have two major methods available to handle them, 1 slow down the mosfet switching speed or 2. a snubber.

The principles of an RC snubber is this: a capacitance large enough to absorb the stray energy stored in parasitic inductances is placed in series with a resistor chosen to set the damping factor of the resulting second order circuit formed by the snubber capacitance and stray inductance to a value of one or as close as practicable. The result should be a little bump of 10% or less where the large spike used to be.

If you need the snubber across the mosfet and want a method for determining the stray inductance by simple measurements let me know. Having done exactly this for years I have found an easy way to do it that is accurate and needs very little mathematics.

Unless you have an extremely well engineered resonant power stage never place a cap directly across a mosfet or the load connected to it. That will just make a bang sooner or later and lots of smoke will leak out everywhere. ;)
 

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
Chances are you don't really need snubbers at all for this circuit and definitely remove the caps to the frame. They will only couple the high frequency waveform to an antenna and generate a lot of electromagnetic interference (EMI). If you have high voltage spikes on the drain of the mosfet then the freewheeling diode and/or bulk capacitor (across the power supply) are possibly too far away. Those three components must be very intimate to keep stray inductance under control.

If you still have spikes on the drain then you have two major methods available to handle them, 1 slow down the mosfet switching speed or 2. a snubber.

The principles of an RC snubber is this: a capacitance large enough to absorb the stray energy stored in parasitic inductances is placed in series with a resistor chosen to set the damping factor of the resulting second order circuit formed by the snubber capacitance and stray inductance to a value of one or as close as practicable. The result should be a little bump of 10% or less where the large spike used to be.

If you need the snubber across the mosfet and want a method for determining the stray inductance by simple measurements let me know. Having done exactly this for years I have found an easy way to do it that is accurate and needs very little mathematics.

Unless you have an extremely well engineered resonant power stage never place a cap directly across a mosfet or the load connected to it. That will just make a bang sooner or later and lots of smoke will leak out everywhere. ;)
I have removed the capacitors connecting to the frame of the motor. I have also removed the RC snubber across the MOSFET, you're also suggesting to remove the RC snubber across the load, correct (VCC to M-)? The diode is about as close as I can physically get it; however, the bulk capacitor (6800uF, 250V) is pretty far from the MOSFET itself (probably over a foot of wire before it reaches the controller). I completely overlooked the fact that it needs to be close to the MOSFET, despite my research. That's my mistake. I'll redesign based around that.

Additionally the MOSFET is currently switching at 4KHz and now has a gate resistor with a value of 12Ω. I found that raising the value any higher with this particular MOSFET was causing ringing at the end of each pulse.

Obviously a lot needs to be adjusted, and a lot has changed since the original post. I'll watch the waveform after each step and post the results as well as a new schematic to reflect the changes once I've completed it. Thank you for all of the advice, you may have just saved a MOSFET's life :)
 
I have removed the capacitors connecting to the frame of the motor. I have also removed the RC snubber across the MOSFET, you're also suggesting to remove the RC snubber across the load, correct (VCC to M-)? The diode is about as close as I can physically get it; however, the bulk capacitor (6800uF, 250V) is pretty far from the MOSFET itself (probably over a foot of wire before it reaches the controller). I completely overlooked the fact that it needs to be close to the MOSFET, despite my research. That's my mistake. I'll redesign based around that.

Additionally the MOSFET is currently switching at 4KHz and now has a gate resistor with a value of 12Ω. I found that raising the value any higher with this particular MOSFET was causing ringing at the end of each pulse.

Obviously a lot needs to be adjusted, and a lot has changed since the original post. I'll watch the waveform after each step and post the results as well as a new schematic to reflect the changes once I've completed it. Thank you for all of the advice, you may have just saved a MOSFET's life :)
Happy to help, and to promote mosfets rights and mosfet oh&s issues too! :)

The ringing you mentioned for a gate resistor over 12R is a bit troubling. When you are done with the changes, you could try it again. There should not be any significant issues with increasing the gate resistor as you did. It may well be an artifact of the gate drive return path perhaps. Ideally, in an ideal world etc etc the gate drive would have a separate source connection. Separate that is to the main current path, like a SOT227 package.

There are advantages to slowing down the mosfet with a larger gate resistor. You'll get higher switching losses but a lot less noise and EMI (unless it causes ringing of course). Anyway, see how you go. Looking forward to hearing about it. :)
 
I have removed the capacitors connecting to the frame of the motor. I have also removed the RC snubber across the MOSFET, you're also suggesting to remove the RC snubber across the load, correct (VCC to M-)? The diode is about as close as I can physically get it; however, the bulk capacitor (6800uF, 250V) is pretty far from the MOSFET itself (probably over a foot of wire before it reaches the controller). I completely overlooked the fact that it needs to be close to the MOSFET, despite my research. That's my mistake. I'll redesign based around that.

Additionally the MOSFET is currently switching at 4KHz and now has a gate resistor with a value of 12Ω. I found that raising the value any higher with this particular MOSFET was causing ringing at the end of each pulse.

Obviously a lot needs to be adjusted, and a lot has changed since the original post. I'll watch the waveform after each step and post the results as well as a new schematic to reflect the changes once I've completed it. Thank you for all of the advice, you may have just saved a MOSFET's life :)
BTW, starting with a lower supply voltage as you have done is an excellent move and will also be a very good thing if you need to sort out an RC snubber using the technique I previously mentioned.
 
I have removed the capacitors connecting to the frame of the motor. I have also removed the RC snubber across the MOSFET, you're also suggesting to remove the RC snubber across the load, correct (VCC to M-)? The diode is about as close as I can physically get it; however, the bulk capacitor (6800uF, 250V) is pretty far from the MOSFET itself (probably over a foot of wire before it reaches the controller). I completely overlooked the fact that it needs to be close to the MOSFET, despite my research. That's my mistake. I'll redesign based around that.

Additionally the MOSFET is currently switching at 4KHz and now has a gate resistor with a value of 12Ω. I found that raising the value any higher with this particular MOSFET was causing ringing at the end of each pulse.

Obviously a lot needs to be adjusted, and a lot has changed since the original post. I'll watch the waveform after each step and post the results as well as a new schematic to reflect the changes once I've completed it. Thank you for all of the advice, you may have just saved a MOSFET's life :)
And I forgot to reply, yes my advice would be to remove all capacitor based snubbers but keep the freewheeling diode of course.
 

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
Happy to help, and to promote mosfets rights and mosfet oh&s issues too! :)

The ringing you mentioned for a gate resistor over 12R is a bit troubling. When you are done with the changes, you could try it again. There should not be any significant issues with increasing the gate resistor as you did. It may well be an artifact of the gate drive return path perhaps. Ideally, in an ideal world etc etc the gate drive would have a separate source connection. Separate that is to the main current path, like a SOT227 package.

There are advantages to slowing down the mosfet with a larger gate resistor. You'll get higher switching losses but a lot less noise and EMI (unless it causes ringing of course). Anyway, see how you go. Looking forward to hearing about it. :)
I just finished redesigning based around having the bulk capacitors close to the MOSFET, though I have not yet tested it. I will do that first thing after I wake up. I'm pretty exhausted for today and need some sleep. Instead of a single 250V 6800uF capacitor, I replaced it with 6x 1000uF 250V capacitors I had. The other capacitor was physically too large to fit inside of the controller's enclosure.

This particular mosfet module (APTM50AM24SC) does have a source pin dedicated to the gate, separate from the main current path as you describe. I have the gate and source dedicated to that gate twisted all the way back to the gate driver IC (MIC4422BN) to reduce inductance. These two wires are only about 4 inches in length, but I will be cutting about an inch and a half of that off, hopefully that won't be an issue. I don't think I could get the driver physically any closer, so 3" might be as good as it get there.

I uploaded a few images of it in current state so you can see what's going on:





I am curious on the technique you use to accurately, but quickly calculate the right values to use in an RC snubber. If you have the time to explain, I'd definitely like to see it :)

EDIT: Also no, there is currently not a current sensor or any form of current limiting, but fear not, I had already ordered a current sensor (ACS758ECB-200B), I'm just waiting on it to arrive from china!
 
I just finished redesigning based around having the bulk capacitors close to the MOSFET, though I have not yet tested it. I will do that first thing after I wake up. I'm pretty exhausted for today and need some sleep. Instead of a single 250V 6800uF capacitor, I replaced it with 6x 1000uF 250V capacitors I had. The other capacitor was physically too large to fit inside of the controller's enclosure.

This particular mosfet module (APTM50AM24SC) does have a source pin dedicated to the gate, separate from the main current path as you describe. I have the gate and source dedicated to that gate twisted all the way back to the gate driver IC (MIC4422BN) to reduce inductance. These two wires are only about 4 inches in length, but I will be cutting about an inch and a half of that off, hopefully that won't be an issue. I don't think I could get the driver physically any closer, so 3" might be as good as it get there.

I am curious on the technique you use to accurately, but quickly calculate the right values to use in an RC snubber. If you have the time to explain, I'd definitely like to see it :)

EDIT: Also no, there is currently not a current sensor or any form of current limiting, but fear not, I had already ordered a current sensor (ACS758ECB-200B), I'm just waiting on it to arrive from china!
That is beautiful work!
The only thing I can say immediately is that the gate resistor is in the wrong place, it must be as close as possible to the pin of the mosfet not the driver.
I'll look up some data sheets and think about it a bit more before I respond further. What's the part number of the diode please?
 

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
Just tested the rebuilt controller. The ringing has significantly reduced; however, the spike remains. The peak of the spike is the same voltage as it was previously, just much less intense.

Before moving the capacitors closer to the MOSFET:
Time: 10µs


After moving the capacitors inside of the controller and close to the MOSFET:
Time: 10µs

Time: 250ns


The remaining ringing seems to fade off rather quickly. As before, increased load on the motor increases the spike voltage.

Purely for testing, I wanted to see what would happen if I put those ceramic capacitors back across the motor and mounted them to the frame. I now see why previously I was getting such a bumpy waveform from the start. It does supress the 16V spike down to 14V, but this is obviously not the solution.
Time: 10µs

Time: 250ns
 
Last edited:

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
That is beautiful work!
The only thing I can say immediately is that the gate resistor is in the wrong place, it must be as close as possible to the pin of the mosfet not the driver.
I'll look up some data sheets and think about it a bit more before I respond further. What's the part number of the diode please?
Thank you, that means a lot!

I'll change the position of the resistor right now and see where that takes it. The diode part number is BYT261PIV-400.

EDIT: I'll go ahead and shorten the wire leading to the gate as well.
 
Just tested the rebuilt controller. The ringing has significantly reduced; however, the spike remains. The peak of the spike is the same voltage as it was previously, just much less intense.

Before moving the capacitors closer to the MOSFET:
Time: 10µs


After moving the capacitors inside of the controller and close to the MOSFET:
Time: 10µs

Time: 250ns


The remaining ringing seems to fade off rather quickly. As before, increased load on the motor increases the spike voltage.

Purely for testing, I wanted to see what would happen if I put those ceramic capacitors back across the motor and mounted them to the frame. I now see why previously I was getting such a bumpy waveform from the start. It does supress the 16V spike down to 14V, but this is obviously not the solution.
Time: 10µs

Time: 250ns
If you were to watch the gate voltage at the same time you will probably see it has a similar curve. As the mosfet turns on and a significant current flows the mosfet goes into its linear region and the gate voltage will 'pause' at about the threshold voltage while the drain current goes up and the drain voltage comes down. Once it is in saturation the gate voltage will then climb again to its peak value. It can be instructive to do this and observe these things so i am encouraging you to do that so you can see it. It is far more pronounced at higher drain voltages but have a look.with 12V on the drain anyway.
 

Thread Starter

Ri5ux

Joined Sep 5, 2017
44
If you were to watch the gate voltage at the same time you will probably see it has a similar curve. As the mosfet turns on and a significant current flows the mosfet goes into its linear region and the gate voltage will 'pause' at about the threshold voltage while the drain current goes up and the drain voltage comes down. Once it is in saturation the gate voltage will then climb again to its peak value. It can be instructive to do this and observe these things so i am encouraging you to do that so you can see it. It is far more pronounced at higher drain voltages but have a look.with 12V on the drain anyway.
I believe I see what you're talking about. Channel 1 is the drain, Channel 2 is the gate. You're referencing the section of the waveform where it begins to ripple and fade off, correct?


Additionally here's the turn off. The part where the drain begins to overshoot is when the drain current goes down, so the voltage rises, right? I noticed as the drain voltage falls after the first rise, the gate voltage also rises. Why is that?
 
Top