MOSFET N-Channel H-bridge spikes

Thread Starter

bluebrakes

Joined Oct 17, 2009
252
I've built a very simple H-bridge N-channel motor driver (using IRF3205) with 10K pull down resistors. The bridge is optically isolated from the driving circuit using an ILQ74.

All works perfectly apart from one thing.

Even without the motor connected, I seem to be getting spikes (on the oscilloscope) when the bridge changes from forward to reverse very quickly.

It even causes the power supply to throw a current warning. So I'm assuming it's a very quick short as the first pair of mosfets switch off and the others on, these voltage spikes are so quick, it barely shows on the oscilloscope but it's enough to cause problems. I can drive one side of the bridge as fast as 20 KHz without any significant degrade in signal. Drive both sides and the signal degrades even at 30Hz.

What would people recommend? Lower the pull down resistor resistances?

The application for it is to make a servo motor, But the servo driving circuit does cause these spikes to occur. I'll be driving some considerable current, and the last thing I want to do is start popping mosfets.
 

SgtWookie

Joined Jul 17, 2007
22,230
Post your circuit schematic. They tell a thousand words.

Right now all we know is that you're getting current spikes on a MOSFET bridge (with really hefty MOSFETs that carry a hefty gate charge) and you have 10k pull-down resistors - where they're attached we have no clue.

Save us time and post a schematic. .png format is preferred; high image quality and small file size.
 

SgtWookie

Joined Jul 17, 2007
22,230
OK, your circuit just plain isn't going to work very well that way, I'm afraid.

Your high-side MOSFETs need a high-side driver. Otherwise, as they start to turn on, the source voltage will rise, keeping them in linear (high-resistance) conduction. This will burn them up quickly. You need Vgs = 0 to turn them completely off, and Vgs=10 to turn them completely on.

[eta]Since you're using a 12v battery, this means when you turn an upper MOSFET on, the source will try to rise to 12v; as it rises, the gate needs to be maintained 10v above the source.

If you don't want to deal with high-side drivers, you will have to use P-channel MOSFETs for your high side. [eta] An IRF4905 is a likely candidate.

The IRF1305's, have a gate charge of 35nC, which isn't bad, but it's still significant. It takes time to charge and discharge them.

They have a turn-on delay of 14nS and a rise time of 101nS, for a total of 115nS.
They have a turn-off delay of 50nS and fall time of 65nS, for a total of 115nS.
So even if your gate driver has an infinite current source/sink capability, you will still need at least 115nS between the time when you start turning one off before you turn the other on. This is known as "dead time".
 
Last edited:

Thread Starter

bluebrakes

Joined Oct 17, 2009
252
The inputs are driven at least 10volts (i'm driving at 12volts above) above the source voltage but it still seems to do it?

It doesn't seem to be a problem of switching them on or off properly, but as the the bridge changes state (from forward to reverse or vice versa) their is a fraction of a second spike during the transition of these two states.
 

SgtWookie

Joined Jul 17, 2007
22,230
The inputs are driven at least 10volts (i'm driving at 12volts above) above the source voltage but it still seems to do it?

It doesn't seem to be a problem of switching them on or off properly, but as the the bridge changes state (from forward to reverse or vice versa) their is a fraction of a second spike during the transition of these two states.
You need to add "dead time" between turning one side of the bridge off, and the other side on.

Turn one side off.
Wait until the current flow stops.
Turn the other side on.
 

jpanhalt

Joined Jan 18, 2008
11,087
The inputs are driven at least 10volts (i'm driving at 12volts above) above the source voltage but it still seems to do it?
OK, does that mean you are driving both gates at 24V relative to ground? Aren't they rated at just 20 volts relative to the source, which for the bottom mosfet is very close to ground potential? Also, remember the source of the top mosfet is very close to 12V relative to ground, once it turns on.

I agree about shoot through described by SgtWookie.

John
 

Thread Starter

bluebrakes

Joined Oct 17, 2009
252
Yeah that's right bridge is running at 12v and gate driven at 24v

not currently using any microcontroller.

That's a very good suggestion wookie. So really then I could do with a small circuit to prevent either of the inputs going high if the relevant MOSFET is still on.
 

hgmjr

Joined Jan 28, 2005
9,027
The reason I asked about the microcontroller is that with a micro you can sequence the control lines using software. You will need four line to pull this off.

hgmjr
 

SgtWookie

Joined Jul 17, 2007
22,230
OK, does that mean you are driving both gates at 24V relative to ground? Aren't they rated at just 20 volts relative to the source, which for the bottom mosfet is very close to ground potential? (snip)
John is absolutely correct!

I didn't have time to mention this earlier. You must not allow Vgs to exceed +20v/-20v at any time; that is it's absolute maximum rating.

Vgs means exactly what it says; the voltage on the gate relative to the source terminal. In other words, the maximum voltage swing of the gate needs to be controlled by whatever the current voltage on the source terminal is at any given moment in time.
 

SgtWookie

Joined Jul 17, 2007
22,230
Here is a comparison between how I think your gates are currently being charged/discharged (on the left of the attached), and an improved gate driver on the right.

If you are considering using PWM for motor speed control, this will help reduce MOSFET power dissipation considerably by decreasing turn on/turn off times. This is more an academic exercise rather than a practical implementation, as commercially available dedicated gate driver ICs will have considerably better performance than this demonstration.

The improved gate driver does NOT alleviate the necessity of "dead time" between turning one set of MOSFETs off, and the other set ON.

To keep the plots easier to read, all traces are shown in volts.

The signal "555out" is just a simulated PWM signal with a 25% duty cycle.

The upper plot pane shows the gate and drain voltages of M1.
The lower plot pane shows the gate and drain voltages of M2.

Note how long it takes for the gate of M1 to charge, and particularly discharge. During the charge time and discharge time, the MOSFET is dissipating power as heat.

Note how much more quickly the gate of M2 charges and discharges; by comparison it's practically instantaneous.

R3 limits the current through the base of Q2, and also through D1, a 12v Zener diode. D1 prevents the voltage on the gate of M2 from rising above 12v, less the Vbe of Q2 (about 0.7v) and Vf of D1 (about 0.34v).

When the 555out signal is high, Q2 provides a relatively low impedance current path to charge the gate of M2 through D1 and R4. R4 is necessary to keep the gate from "ringing", or oscillating due to gate capacitance and inductance in the wiring.

When the 555out signal goes low, Q2 stops sourcing current. R6 pulls current from the base of Q1, turning it on, providing a low resistance discharge path for the gate. D1 blocks current flow from the gate to keep the voltage on R6 low. R5 is present only as a safety measure; to ensure that if any components fail open, that the gate will be pulled to the source voltage.
 

Attachments

Thread Starter

bluebrakes

Joined Oct 17, 2009
252
thanks wookie, that's an interesting result with the schematic.

i think all that my circuit needs 'deadtime' integrated into it. Otherwise it seems to work perfectly. Do people think a pic would be best suited to this?
 

SgtWookie

Joined Jul 17, 2007
22,230
A PIC uC would certainly enable you to ensure sufficient "dead time", if you can program one.

You will need circuitry on the I/O pins to translate the logic voltage levels, to the levels your MOSFET gates require. Remember that for each MOSFET, you need to have Vgs be either nearly 0, or about 10v to 15v - and for them to switch as quickly as possible.
 
Top