H-Bridge Driver Design and Shoot-Through

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
Hello all,
I am working on an H-Bridge design that will be used at a low frequency to drive LED strips. My supply voltage is 12 volts and the switching frequency will be 10Hz or less. I am using a full H-bridge because I have two LED strips connected in parallel with their polarities reversed. That allows me to light either of the two strips (only one is needed at a time) with minimal wiring. I am working with the circuit in the attached picture. The DMC3021 is a dual MOSFET, with a P channel (S1, G1) and an N channel (S2, G2). The drains are connected inside the package. The gates are driven by a VOL617 optocoupler (essentially an NPN BJT). The circuit experiences shoot-through - my supply current spikes briefly when either input is switched, even without a load connected to the drains. I have experimented with the gate pull-up resistors (R21, R22) to minimize the shoot-through, but I was not able to eliminate it completely. A pull-up resistor lower than 2.2k prevents the N-Channel MOSFET from turning off. Any ideas on how to eliminate the shoot-through with minimal additional components?
 

Attachments

ElectricSpidey

Joined Dec 2, 2017
1,797
Shoot thru is normally eliminated with a short dead zone created at the drive circuit, if it's a micro controlling the signals then that would be done in software.

Either way you will need to separate your signals to the gates to achieve this.

But not related to that...do you have reverse voltage protection on your LED strips?
 

RPLaJeunesse

Joined Jul 29, 2018
183
One could use seperate optocouplers for P and N MOSFETS. Drive each optocoupler with a logic gate and RC delay such that turnoff happens fast, but turn-on is delayed enough to accomodate both optocoupler delay imbalance as well as FET turnoff time.
 

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
Shoot thru is normally eliminated with a short dead zone created at the drive circuit, if it's a micro controlling the signals then that would be done in software.

Either way you will need to separate your signals to the gates to achieve this.

But not related to that...do you have reverse voltage protection on your LED strips?
The 12v of reverse polarity does not exceed the breakdown voltage of the LEDs on the strips (Parallel groups of 3 series LEDs with a current-limiting resistor), so no problem there.

I know that I could stagger the switching of the gates in software, but that would double the I/O lines needed from the controller.
I could delay the gate switching with some external digital logic. But I'm looking for a clever way to eliminate the shoot-through with minimal extra components.
 

RPLaJeunesse

Joined Jul 29, 2018
183
Another possibility is to simply add a 4000-series CMOS Schmitt-trigger buffer between the opto and the MOSFET gates. For each of the 2 optocouplers use 3 sections of a CD40106, one as the input "speedup" driving 2 in parallel as gate drivers. This will not eliminate shoot-thru, but certainly reduce its duration. If needed add a small inductor in series with each P-channel source, and add a fast diode across each inductor (cathode towards power source) to clamp any inductive spike that would otherwise result.
 

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
One could use seperate optocouplers for P and N MOSFETS. Drive each optocoupler with a logic gate and RC delay such that turnoff happens fast, but turn-on is delayed enough to accomodate both optocoupler delay imbalance as well as FET turnoff time.
Great idea, but optos take up a lot of space and aren't cheap. I would prefer not to add more optos, digital logic, and passives. Any ideas using fewer components?
 

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
Another possibility is to simply add a 4000-series CMOS Schmitt-trigger buffer between the opto and the MOSFET gates. For each of the 2 optocouplers use 3 sections of a CD40106, one as the input "speedup" driving 2 in parallel as gate drivers. This will not eliminate shoot-thru, but certainly reduce its duration. If needed add a small inductor in series with each P-channel source, and add a fast diode across each inductor (cathode towards power source) to clamp any inductive spike that would otherwise result.
What is the purpose of the inductor?
 

Alec_t

Joined Sep 17, 2013
12,201
I am working on an H-Bridge design that will be used at a low frequency to drive LED strips. My supply voltage is 12 volts and the switching frequency will be 10Hz or less.
Be aware that light pulsing/flicker at low frequencies (e.g below ~15Hz) can cause epileptic seizures in some people.
 

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
I would just rearrange the circuit so each opto controls both NMOS or PMOS invert one of the opto outputs and use the software delay.
I like the thought process, but if I understand your suggestion correctly it will not allow me to turn off both LED strips. I will have the option of either of the P channels on, but no way to switch them both off. And the same with the N channels, either can be on but both cannot be off if there is an inverter between their gates. I will have the added problem where a software issue or microcontroller startup can damage the MOSFETs. I suppose I could add an inverter between the N channel gate input and the P channel gate input to eliminate the possibility of damage. That would allow polarity control with 1 I/O line. I would have to add a power switch with another MOSFET using the second I/O line. But that would add more components than I would like.
 

RPLaJeunesse

Joined Jul 29, 2018
183
What is the purpose of the inductor?
Shoot-thru results in a rise in supply current. Series inductance prevents a sudden change of current, reducing the effect of any shoot-thru event. Sort of like a "spike" noise filter. But this spike filtering scheme results in some energy being stored in the inductor which, if not clamped, could cause the MOSFETS (and load) to see an overvoltage condition and subsequent breakdown.
 

RPLaJeunesse

Joined Jul 29, 2018
183
ElectricSpidey had the simplest idea but didn't know best how to implement it. And yes you do have to have software implement the anti-shoot-thru delay when switching from one load polarity to the other. The DMC3021 will work fine with 6V gate drive, no need for 12V drive. So put each optocoupler in circuit so it drives a P gate down 6V and the opposite device's N gate up 6V. (How: remove the current optocoupler pullups, disconnect the optocoupler outputs and all four MOSFET gates. On each FET add a gate-source resistor, all 4 being the same value, and 2k2 is fine. Put one optocoupler from Q21-G1 to Q22-G2, the other optocoupler from Q22-G1 to Q21-G2.)
 

eetech00

Joined Jun 8, 2013
2,572
Have you tried a gate resistor (about 1k-5k), with a parallel reverse biased schottkey diode, in series with the gate of each mosfet? The idea is to use the gate charge to slow down mosfet turn on, but speed up turn off via the diode.
 
Last edited:

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
ElectricSpidey had the simplest idea but didn't know best how to implement it. And yes you do have to have software implement the anti-shoot-thru delay when switching from one load polarity to the other. The DMC3021 will work fine with 6V gate drive, no need for 12V drive. So put each optocoupler in circuit so it drives a P gate down 6V and the opposite device's N gate up 6V. (How: remove the current optocoupler pullups, disconnect the optocoupler outputs and all four MOSFET gates. On each FET add a gate-source resistor, all 4 being the same value, and 2k2 is fine. Put one optocoupler from Q21-G1 to Q22-G2, the other optocoupler from Q22-G1 to Q21-G2.)
Are you suggesting something like the schematic I attached below?
 

Attachments

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
Have you tried a gate resistor (about 1k-5k), with a parallel reverse biased schottkey diode, in series with the gate of each mosfet? The idea is to use the gate charge to slow down mosfet turn on, but speed up turn off via the diode.
I have seen that done but it would require a better (push/pull) gate driver circuit. That will add 16 components per full bridge. I may give that a try if I can't find a simpler way.
 

RPLaJeunesse

Joined Jul 29, 2018
183
Not
Are you suggesting something like the schematic I attached below?
Not quite there yet. Disconnect opto pins 3 from ground and each other. Disconnect Q51 gates from Q52 gates. G to S resistors stay as shown. Connect Q51 G1 node to OC2 pin 4, connect OC2 pin 3 to Q52 pin G2. Connect Q52 G1 node to OC1 pin 4, connect OC1 pin 3 to Q51 pin G2.
 

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
Not

Not quite there yet. Disconnect opto pins 3 from ground and each other. Disconnect Q51 gates from Q52 gates. G to S resistors stay as shown. Connect Q51 G1 node to OC2 pin 4, connect OC2 pin 3 to Q52 pin G2. Connect Q52 G1 node to OC1 pin 4, connect OC1 pin 3 to Q51 pin G2.
Do I have it now? I tried to simulate and it doesn't seem to work as desired.
 

Attachments

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
Do I have it now? I tried to simulate and it doesn't seem to work as desired.
Not

Not quite there yet. Disconnect opto pins 3 from ground and each other. Disconnect Q51 gates from Q52 gates. G to S resistors stay as shown. Connect Q51 G1 node to OC2 pin 4, connect OC2 pin 3 to Q52 pin G2. Connect Q52 G1 node to OC1 pin 4, connect OC1 pin 3 to Q51 pin G2.
After more experimentation I found that my optos were not being driven to saturation. I’m going to build the circuit to see how it does. Thank you!
 

Thread Starter

bassel@gnc.net

Joined Sep 20, 2011
12
Do I have it now? I tried to simulate and it doesn't seem to work as desired.
Not

Not quite there yet. Disconnect opto pins 3 from ground and each other. Disconnect Q51 gates from Q52 gates. G to S resistors stay as shown. Connect Q51 G1 node to OC2 pin 4, connect OC2 pin 3 to Q52 pin G2. Connect Q52 G1 node to OC1 pin 4, connect OC1 pin 3 to Q51 pin G2.
It looks like this is the simple solution I was looking for. If I use 500k for the GS resistors the MOSFETS turn off quickly enough to eliminate the shoot-through, at least at the low frequencies I am using. I haven't yet tested at full load to see if there is excessive heat when the FETs turn on, but it looks promising. Thank you!
 
Top