Servo controller: burning MOSFETs - Page 1
Forum section: electronics / projects

author: anvoice
author_rank: Frequent Contributor
timestamp: April 27, 2016, 05:51:21 am
content: Hello,Having some trouble with a servo controller project I'm working on (schematic attached). It works fine on breadboard (identical MOSFETs used on a breakout board), but when I try to solder everything on the PCB, my H-bridge FETs tend to burn up. The PCB passed the design rules check in KiCad, so theoretically it should be identical to the attached circuit (I'm attaching the PCB zip file as well). Specifically what seems to be burning is the high-side, P-channel MOSFET if the location of the flame is any indication. Prior to soldering on the H-bridge FETs, all the signals seem to check out ok with a scope and multimeter, that is no shoot-through should be occurring.At this point my only guess is too high a current to the gate of the P-channel, but a 2K pullup resistor is in place that I basically copied off of another servo project (Open Servo V3) which is designed to work with the same battery voltage I use. The only functional difference from the breadboard circuit that I can think of is that the breadboard version supplies 0V to 5V to the gate of the P-channel MOSFET, whereas the PCB uses a LiPo battery voltage of about 8V. That being said, the positive 8V should shut it off since it's a P-channel. Do you think there's a chance the 8V might somehow be causing a breakdown in the P-channel FET, e.g. I'm using too low a pullup resistor value? I have no formal education in electronics so I don't know if that can happen.I'm also attaching the PDF for the MOSFET if it's needed. Any help would be really appreciated, thanks!

author: SL4P
author_rank: Super Contributor
timestamp: April 27, 2016, 11:09:36 am
content: Nothing silly, like the FET heat sink tabs being tied together with different potentials?EDIT: sorry, I just realised these FETs are an SMT pair! no heat Sinks!

author: diyaudio
author_rank: Frequent Contributor
timestamp: April 27, 2016, 12:33:39 pm
content: Quote from: anvoice on April 27, 2016, 05:51:21 amIsn't 100k to high to pull the gates down, try 10k. You may need some deadtime a simple RC time constant can help. (but this needs to be calculated based on evident cross conduction) Oh, some waveforms please, we cannot help without detail captures in this case they even more useful than the circuit.

author: anvoice
author_rank: Frequent Contributor
timestamp: April 27, 2016, 11:21:10 pm
content: Thank you for your responses everyone.Quote from: blueskull on April 27, 2016, 11:26:54 amProblem is now that it's burned I can't get consistent signals anywhere. E.g. I get 2 of the PWM signals working at once but intermittently even though the potentiometer should only allow for 1 set active at a time. Possibly the heat fried something else but I don't know what. At the moment the only working circuit I have is my breadboard version.Quote from: diyaudio on April 27, 2016, 12:33:39 pmStrange, but then why does the breadboard work no problem? I can try 10K on the PCB, but it'll take me time to get some new boards in or figure out a way to desolder everything.Which waveforms would be of interest? I have PWM that looks fine, nothing else really. Plus since everything burns once I plug it in, getting the initial waveforms is tricky...

author: Andy Watson
author_rank: Super Contributor
timestamp: April 27, 2016, 11:40:04 pm
content: Quote from: anvoice on April 27, 2016, 11:21:10 pmCan you observe the signal at the gate (G2) of the output fets - especially the rise time? Is it possible that, when Vbatt is increased, the P-fet is remaining on too long - and there for shooting through?

author: anvoice
author_rank: Frequent Contributor
timestamp: April 28, 2016, 06:33:26 am
content: Quote from: Andy Watson on April 27, 2016, 11:40:04 pmDo you mean when the direction of rotation switches, or when the PWM signal fades? When direction switches, my working breadboard circuit proves there is no shoot-through, at least not long enough to burn the circuit as it happens on the PCB (there is literally a flame as long as I keep it plugged in, so clearly shooting through continuously even when rotation direction - the pot - remains constant). When the rotation direction does not change, the only thing that changes at G2 is the PWM, but the counterpart n-FET is programmatically closed so no shoot-through should be possible. Perhaps I misunderstood what you meant.The signals checked out fine when I tested them before soldering on the FETs, e.g. when PWM1 is working at G2 of Q2, activating the p-FET, there is 0V at G1, shutting off the companion n-FET. At the same time Q3 shows G2 pulled high (8V) and G1 set high by the MCU (5V), which means the p-FET is closed while the n-FET is open so the motor can spin. However, as soon as I solder on the FETs, at least one of them seems to burn. Just in case, I do power everything down before I solder them on.

author: klunkerbus
author_rank: Unknown
timestamp: April 28, 2016, 08:42:19 am
content: Shoothrough sure seems like the candidate here. All it would take is a brief instant where both FETs in Q2 or Q3 are on.Nanoseconds matter here. A typical breadboard can add capacitance to signals, changing the timing from what you see on the circuit board... Of course, probing with an oscilloscope will also add capacitance and possibly affect the timing. But providing a snapshot that shows the timing of the S1/PWM2 and S2/PWM1 transitions would be helpful - it would at least convey an understanding of how close the transitions are on the gate inputs.What is the firmware process for initializing the S1/S2/PWM1/PWM2 outputs? S1 and S2 have pulldowns on them. But technically, the state of PWM1 and PWM2 will be indeterminate until that happens.Once the main loop is executing, does the firmware ever change the Sx/PWMx outputs at the same time? If so, it'd be a lot safer to change the states of S1/S2 separately from PWM1/PWM2, forcing some clock cycle delays between transitions on the Q2 and Q3 gate inputs.

author: diyaudio
author_rank: Frequent Contributor
timestamp: April 28, 2016, 10:07:48 am
content: Quote from: anvoice on April 27, 2016, 11:21:10 pmIt sounds like you very confused on how AND where to start debugging the problem.This is a very general problem when burning Mosfets momentarily shorting the devices, this could be a timing problem (both fets are fully ON or partially ON at the same time) or a parasitic turn on with ringing as a result of the RLC resonance as a result of a poor setup.The only way to debug the problem is to visualize the timing, good old pencil and paper and brute force analysis. then carefully making the changes.1) Current limit the circuit. those fets are rated at 2W max. (so do the math and current limit)2) Show us a picture of your setup, PCB? or wires all over the place?3) Start probing the gate timing waveforms A and B simultaneously (2-channel scope) then measure the wave-forms... check for overlap, when turn-on occurs, ringing, the list goes on.At this point its a guess game but the above should be a general debugging checklist for these types of problems.

author: Siwastaja
author_rank: Super Contributor
timestamp: April 28, 2016, 10:41:50 am
content: Every time you shootthrough or overload, a FET blows, probably blowing other FETs too, and almost always the FET driver too. So you need to replace a bunch of components every time!In the very early debugging phase (you are now at), put a series resistor between the input caps and FET bridge that will limit the current. The circuit won't work properly with the resistor in place, but at least you can probe better than without any FETs or power connected at all.You need to have waveforms thought out and any possibility of shootthrough ruled out before you apply full current capability to the circuit, because otherwise they'll always blow instantly, not providing you any possibility to probe anything, and a huge soldering task every time.Only shootthrough has been discussed, but I see the most probable cause as: overvoltage spike/ringing caused by layout/bypass capacitor problem and parasitic inductances. To debug that, lower the input voltage enough so that it doesn't blow - then you can probe the switch nodes to see if there is overvoltage ringing present. It can happen even beyond 100 MHz so you need a relatively good oscilloscope.