Author Topic: MOSFET driver (push-pull bjt output)  (Read 37021 times)

0 Members and 2 Guests are viewing this topic.

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
MOSFET driver (push-pull bjt output)
« on: October 10, 2016, 03:50:41 pm »
Hi,

I'm trying to understand and improve the push pull circuit. I found the circuit attached as an example of mosfet driver. I changed it a bit. I don't remember what was the original circuit.

This circuit works really nice, but I still need 2k +3k = 5k on 18V = 3.6 mA (Solar panel charging lead acid battery). If I rise the resistor values, the edges become softer and the power mosfet warms up a bit more. I chose these BJTs because of their high beta. But it's still not enough. Is there a way to reduce the current consumption? There are probably better ways to supply a voltage at the input of the push-pull pair. Another emitter follower for example.

Another question I have is: because max gate voltage usually is lower than max DS voltage I use the R1/R2 divider to apply lower voltage to the gate of the power MOS. I tested with emulation that voltage of divider is the same on the output of the push-pull pair, but I'm not that convinced that'll always be the case. Is the output voltage dependant on the beta of the transistors? The beta varies a lot.

R3 and R4 I've added to protect mosfet gates. Is 100k a good value for this case?
R5 limits the gate capacitance charge/discharge current, which is near 1.8A. The BJT transistors can only handle 100mA continuous current but 1-2 nF capacitance shouldn't be enough to keep the current for long enough to damage them.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #1 on: October 10, 2016, 07:32:55 pm »
Try a current source, instead of pull-up resistors.

Drive the 2N7002 gate from a logic source (no pullup needed).

Substitute 2N7002 --> MMBT3904 (and use a series base resistor, and probably a B-E resistor as well).  2N7002 has quite a lot of capacitance and current capability, both more than needed here.  BJT will run faster.

Substitute PBSS303NX/PX for the emitter follower (or any other suitable low-Vce(sat) type).  They're amazing transistors, and will deliver as much current as you please (you could even reduce R5 if you find you need more speed).

For the high voltage driver, you'll also need a clamp diode (probably a zener) to prevent the gate voltage exceeding limits.  This works better than a voltage divider.

An example from my collection:



Obviously, this is low-side and supplied with 9V, but you should be able to recognize the similarities. :)

...Or you can simply plop in a charge pump type gate driver IC and be done with it. ::)

Tim
« Last Edit: October 10, 2016, 07:35:23 pm by T3sl4co1l »
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: npelov, Chupacabras, bilibili

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #2 on: October 10, 2016, 08:50:52 pm »
Hi,

I'm trying to understand and improve the push pull circuit. I found the circuit attached as an example of mosfet driver. I changed it a bit. I don't remember what was the original circuit.

This circuit works really nice, but I still need 2k +3k = 5k on 18V = 3.6 mA (Solar panel charging lead acid battery). If I rise the resistor values, the edges become softer and the power mosfet warms up a bit more. I chose these BJTs because of their high beta. But it's still not enough. Is there a way to reduce the current consumption? There are probably better ways to supply a voltage at the input of the push-pull pair. Another emitter follower for example.

Another question I have is: because max gate voltage usually is lower than max DS voltage I use the R1/R2 divider to apply lower voltage to the gate of the power MOS. I tested with emulation that voltage of divider is the same on the output of the push-pull pair, but I'm not that convinced that'll always be the case. Is the output voltage dependant on the beta of the transistors? The beta varies a lot.

R3 and R4 I've added to protect mosfet gates. Is 100k a good value for this case?
R5 limits the gate capacitance charge/discharge current, which is near 1.8A. The BJT transistors can only handle 100mA continuous current but 1-2 nF capacitance shouldn't be enough to keep the current for long enough to damage them.
This should be faster and not use as much current, especially when the MOSFET is off.
 

Offline nuno

  • Frequent Contributor
  • **
  • Posts: 606
  • Country: pt
Re: MOSFET driver (push-pull bjt output)
« Reply #3 on: October 11, 2016, 02:15:40 am »
Attached is a discreet driver I use on a TO-220 P-MOSFET (IRF4905) in a h-bridge. The entire system is powered from 24V nominal (21..28V). I was not concerned with power consumption, but it's still another design for you to look at. You can simulate the influence of increasing R6 to reduce power consumption. D10 is to avoid Q2 from saturating, thus the turn-off latency of the driver is very short. Not sure if I remember details and measured specs correctly, but I went with a power BJT (Q2) mainly because of dissipated power, and the driver turns on/off the FET in 200-300ns and latency is ~zero compared to these couple hundred ns (instead of 1 or 2us for the no-diode version). With 18V top maybe you can get away with a 2N3904 also in Q2. I guess you don't see turn-off latency while using the FET at the input in your circuit.

Tim, the In on your circuit goes directly to the BJT's base; what's driving it?
« Last Edit: October 11, 2016, 02:19:03 am by nuno »
 
The following users thanked this post: npelov, Chupacabras

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #4 on: October 11, 2016, 06:22:15 am »
Tim, the In on your circuit goes directly to the BJT's base; what's driving it?

In the rest of the circuit it's from, bipolar current from a diff pair.

You'd use a resistor divider (maybe with a speed-up cap) to drive it from a digital logic pin, or whatever other level shifting you might like.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #5 on: October 11, 2016, 09:34:59 am »
Thanks to everyone for suggestions!

I only had time to test first circuit (in emulation). It does make a big improvement in the rising edge (where gate-source voltage is falling). With the resistor divider it takes 2.5us for gate voltage to drop to 200mV. With the constant current it's <200ns. The problem is that 0.7V/47Ohm is about 15mA. when the transistor is on 15mA will be wasted all the time. I can rise the resistor to 470 ohms and it still works, but then the problem is gate voltage - it can get too high. I want Vin range from 10V to 24V.Still haven't chosen a transistor, but most have gate voltage between either 20V or 12V.

To solve the gate voltage getting too high I tried adding a resistor in the input transistor collector to rise the voltage on the push-pull input. But then when the supply voltage Vin is lower the gate voltage is not enough to turn the transistor on. Adding a zenner makes things even worse.

So, unless I choose a transistor with high enough allowable gate voltage it's not going to work. (or unless you suggest something I didn't think of).

Well if I think a bit zenner will only work first few miliseconds, then the solar panel voltage will drop to maximum of 14V (close to the battery voltage) and zenner will draw no current. I can have R7 really small value and put 15-16V zenner for 20V max gate transistor.

I'll give a try to the other suggestions too.
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #6 on: October 11, 2016, 10:05:20 am »
I've tested it by adding high Rs at Vin, a battery and with Rs=1 and a 100 Ohm resistor at input transistor collector. It looks nice. At start current consumption is quite high. The Zenner diode gets 60+ mA. R7 too. But when voltage is settled current through R7 is 1.2mA during the ON time. R2 is 1.4 to 2mA. I can probably reduce that a bit by rising it to 20k. I can probably also use some cheap voltage reference which can work at <1mA current.
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #7 on: October 11, 2016, 10:38:36 am »
Attached is a discreet driver I use on a TO-220 P-MOSFET (IRF4905) in a h-bridge. The entire system is powered from 24V nominal (21..28V). I was not concerned with power consumption, but it's still another design for you to look at. You can simulate the influence of increasing R6 to reduce power consumption. D10 is to avoid Q2 from saturating, thus the turn-off latency of the driver is very short. Not sure if I remember details and measured specs correctly, but I went with a power BJT (Q2) mainly because of dissipated power, and the driver turns on/off the FET in 200-300ns and latency is ~zero compared to these couple hundred ns (instead of 1 or 2us for the no-diode version). With 18V top maybe you can get away with a 2N3904 also in Q2. I guess you don't see turn-off latency while using the FET at the input in your circuit.

I used this cicruit before without the zenner. I run a test again to compare to others. 1k is too low for 18+ volts. Rising it to 10k has very little effect on timings but it does soften the gate voltage edge at the top when Vgate is rising. Some of the transistors I looked have logic level gates - theashold voltage is 1.5V typical but it can be as low as 1V. So it takes 130ns to drop from 2V to 0.2V which brings the falling edge to 500ns. It's 400 ns with 1k. It's the best solution with low-part count.

When charging battery from solar panel PWM is only used at topping charge. In the part when most of the charging happens the mosfet is always on.
Even though it might look edges are not that important, it still spends few hours in PWM mode with reasonable amount of current and I want to get away with no heat sink.
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #8 on: October 11, 2016, 04:48:20 pm »
I decided to add "speed-up" cap on nuno's schematic as Tim suggested for his. It changed things quite a bit. The front edge is very sharp - <60ns. The back edge is reasonable - 150ns (until Vgs <=200mV). Because of the zenner the voltage drop on R2 is lower, so the current is lower - 1.6mA during on time.
This makes the constant current option not worth the additional components.

Well, simulation is nice and quick, but often not that accurate. I'll have to try that in real life :)

« Last Edit: October 11, 2016, 04:52:10 pm by npelov »
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #9 on: October 11, 2016, 06:55:13 pm »
Use a stronger B-E pulldown -- you want the base voltage divider to have a modest Thevenin equivalent (2-10kohms?) and an open circuit voltage of 1.0 to 1.8V.

More OCV and less R gives harder saturation, faster turn-on, and longer turn-off delay (storage time; which may not be accurately modeled by SPICE, by the way).

The diode isn't doing anything as 1N4148, but a shottky (say BAT85) will do anti-saturation, saving storage time.

You can also use a PN diode if there's a point where supplied base voltage is higher; which as it happens, there is.  Split the input (series base) resistor in two, and connect the diode there. In this way, you can adjust Vce(sat) without slowing down the transistor or clamping its output.

Speaking of clamps, note that a series zener diode subtracts from supply voltage, making the gate drive voltage that many times more sensitive to supply.  It's better to use the transistor as a current sink, and place the zener from collector to +supply. :)

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #10 on: October 11, 2016, 08:59:25 pm »
I decided to add "speed-up" cap on nuno's schematic as Tim suggested for his. It changed things quite a bit. The front edge is very sharp - <60ns. The back edge is reasonable - 150ns (until Vgs <=200mV). Because of the zenner the voltage drop on R2 is lower, so the current is lower - 1.6mA during on time.
This makes the constant current option not worth the additional components.

Well, simulation is nice and quick, but often not that accurate. I'll have to try that in real life :)
I'm not sure you understand why this is happening.

The impedance looking into the base of Q1 is a fraction of the MOSFET's gate capacitance, which needs to be discharged quickly to turn it off. Replacing R2 with a constant current source would speed it up because with a resistor, the current decays, as the voltage goes down. Unfortunately a current source takes power continuously, whether or not it's being used to discharging the capacitance or not.

What needs to be done, is the base of Q1 needs to be pulled up firmly, when he input voltage goes low. Fortunately this can be easily achieved with a PNP transistor capacitively coupled to the input. the value of R2 can even be increased a bit, as long as the current through the zener is still high enough for it to behave.

« Last Edit: October 11, 2016, 09:01:25 pm by Hero999 »
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #11 on: October 11, 2016, 09:18:48 pm »
Use a stronger B-E pulldown -- you want the base voltage divider to have a modest Thevenin equivalent (2-10kohms?) and an open circuit voltage of 1.0 to 1.8V.

More OCV and less R gives harder saturation, faster turn-on, and longer turn-off delay (storage time; which may not be accurately modeled by SPICE, by the way).

I knew that harder saturation means longer turn-off time. You mean to reduce R4 for 1-1.8V on the base(open circuit).What I didn't know is that storage time (didn't know that's the term) is not accurately modeled. I'll have to test that. But going out of saturation just delays the turn off. It doesn't change the slope of the voltage on the collector. It can be compensated  by changing the PWM. In this case I only care about how fast the transistor is switching (as long as the stirage time doesn't get too high compared to the period).



The diode isn't doing anything as 1N4148, but a shottky (say BAT85) will do anti-saturation, saving storage time.

D2? well I tried schottky and it was behaving strangely. I don't remember exactly what happened. It may be due to the reverse current of schottky diode. Maybe combined with lower B-E resistor. There was something wrong, but I can't remember exactly what.
With a normal diode - at least on simulation I think there was a difference, but I might be wrong.

You can also use a PN diode if there's a point where supplied base voltage is higher; which as it happens, there is.  Split the input (series base) resistor in two, and connect the diode there. In this way, you can adjust Vce(sat) without slowing down the transistor or clamping its output.
I didn't get that. Did you mean something like this (attachment):


Speaking of clamps, note that a series zener diode subtracts from supply voltage, making the gate drive voltage that many times more sensitive to supply.  It's better to use the transistor as a current sink, and place the zener from collector to +supply. :)

Yes, but the zenner will draw current. As it is now - yes, the gate voltage will vary with supply, but the only continuous current drawn during the on time is current via R2. If I connect the zenner to + and have the transistor as let's say 1mA current source the 1mA will add to the R2 current and it'll double it. Also if current is low the slope becomes worse (attachment):
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #12 on: October 11, 2016, 09:50:18 pm »
What needs to be done, is the base of Q1 needs to be pulled up firmly, when he input voltage goes low. Fortunately this can be easily achieved with a PNP transistor capacitively coupled to the input. the value of R2 can even be increased a bit, as long as the current through the zener is still high enough for it to behave.
Well it does kida work. I reduced the R-C of the added transistor because it pulls about 1A through the zenner for a bit. The new transistor makes the rising edge worse, but not too much.

What I'm really worried about is the output of the MCU. It has protection diodes clamping higher voltage to Vdd. I still think it's within spec because clamping diode absolute maximum current is 20mA.  I have to test this with real parts.
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #13 on: October 11, 2016, 10:03:29 pm »
What needs to be done, is the base of Q1 needs to be pulled up firmly, when he input voltage goes low. Fortunately this can be easily achieved with a PNP transistor capacitively coupled to the input. the value of R2 can even be increased a bit, as long as the current through the zener is still high enough for it to behave.
Well it does kida work. I reduced the R-C of the added transistor because it pulls about 1A through the zenner for a bit. The new transistor makes the rising edge worse, but not too much.

What I'm really worried about is the output of the MCU. It has protection diodes clamping higher voltage to Vdd. I still think it's within spec because clamping diode absolute maximum current is 20mA.  I have to test this with real parts.
The component values in that circuit, differ considerably from the circuit I posted.

You also haven't modelled the output impedance of the MCU which could be considerable.

Don't worry if some of the transient currents briefly exceed the maximum device ratings: it's the average power dissipation which destroys components, not current spikes.

Attached is the LTSpice file. I hope you have all the models installed, that I have. If there's anything missing, let me know and I'll attach it here.
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #14 on: October 11, 2016, 10:11:04 pm »
I didn't get that. Did you mean something like this (attachment):


Yes!  Maybe with the speed-up cap moved somewhere.

OBTW, since you're playing with logic pins and speed-up caps, don't forget your pin model matters.  Don't use a voltage source!  You can buffer it with a 74HC gate from the library, or use a VPULSE with 5 or 10ns rise/fall and a 50-100 ohm series resistor.

Quote
Yes, but the zenner will draw current. As it is now - yes, the gate voltage will vary with supply, but the only continuous current drawn during the on time is current via R2. If I connect the zenner to + and have the transistor as let's say 1mA current source the 1mA will add to the R2 current and it'll double it. Also if current is low the slope becomes worse (attachment):


Well yeah, you've got D1 in there.  Replace that sucker with a PNP emitter follower!

Note that zeners have fairly high capacitance, so you want to specify a small one, or even use a junction diode (or none at all -- the PNP B-C junction serves the same purpose) to a floating zener-derived supply.

That looks like this, http://seventransistorlabs.com/tmoranwms/Circuits_2010/Regen_Motor.png

If you can't afford the bias current of a shunt regulator, you can use a pass regulator.  You can keep the zener, too, since the circuit may need to absorb (rather than just supply) current.

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline Cerebus

  • Super Contributor
  • ***
  • Posts: 10576
  • Country: gb
Re: MOSFET driver (push-pull bjt output)
« Reply #15 on: October 11, 2016, 11:49:27 pm »

An example from my collection:




Why choose those exotic 1N914s when commonplace 1N4148s would have done just as well?  ;)

[Beginner note: This is a joke - "Throw a random diode at it" always comes out as a 1N4148 or a 1N914 depending on which part number you first managed to remember. Those 1N914 guys just can't remember as many digits as us 1N4148 guys. The same for transistors, if you're really old you say "2N2222", if you aren't yet drawing your pension you say "2N3904", if you're really, really old you say "EC88", if you're really young you say "what's a transistor", if you're really, really, really old you say "Hi, my name's Bob Pease and I'm now in Heaven rolling capacitors on the thighs of naked virgins"*.

*This isn't as exciting as it sounds, they're all Physics undergrads...]
Anybody got a syringe I can use to squeeze the magic smoke back into this?
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #16 on: October 12, 2016, 12:49:22 am »
Why choose those exotic 1N914s when commonplace 1N4148s would have done just as well?  ;)

I can do you one better:
1N4148 takes more writing effort. :-DD

Quote
The same for transistors, if you're really old you say "2N2222", if you aren't yet drawing your pension you say "2N3904",

Or if you don't know any better, then by all means, curse yourself with substandard 2N2222s! ;)

Quote
if you're really, really old you say "EC88",

And if you're really, really old, you forget that it was ECC88! :-DD

Quote
if you're really young you say "what's a transistor", if you're really, really, really old you say "Hi, my name's Bob Pease and I'm now in Heaven rolling capacitors on the thighs of naked virgins"*.

*This isn't as exciting as it sounds, they're all Physics undergrads...]

Or like the joke about "I said you'd get 72 virgins, I didn't say which ones..."

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline Cerebus

  • Super Contributor
  • ***
  • Posts: 10576
  • Country: gb
Re: MOSFET driver (push-pull bjt output)
« Reply #17 on: October 12, 2016, 01:01:05 am »
]if you're really, really old you say "EC88",

And if you're really, really old, you forget that it was ECC88! :-DD

MY excuse was that I was down the pub all evening with an old friend and, anyway, what are these FETs with pilot lights that you speak of old sage?


Or like the joke about "I said you'd get 72 virgins, I didn't say which ones..."

I think Bob deserves better. I like to imagine him in paradise with those dusky Gauganesque maidens and a Tektronix catalogue that yields up whatever you wish for when you rub it...

Did somebody say "curve tracer"?...

Who am I kidding, the only curves that would give Bob true pleasure would be the bonnet curves of a '69 VW Beetle.
Anybody got a syringe I can use to squeeze the magic smoke back into this?
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #18 on: October 12, 2016, 01:09:00 am »
MY excuse was that I was down the pub all evening with an old friend

Also an acceptable excuse. ;D

Quote
I think Bob deserves better. I like to imagine him in paradise with those dusky Gauganesque maidens and a Tektronix catalogue that yields up whatever you wish for when you rub it...

Did somebody say "curve tracer"?...

Who am I kidding, the only curves that would give Bob true pleasure would be the bonnet curves of a '69 VW Beetle.

I don't think Bob relieved in the virgins thing, so there should be no worry of that...

The Tek catalog tho...

Or...

VW Beetle, fully loaded with test gear.  Take your shop anywhere, or sniff around for RF sources...

Only downside, you have to pull over, stop, engage the generator, and push the engine to full revs, before you've got enough electricity to run it all! :-DD

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline nuno

  • Frequent Contributor
  • **
  • Posts: 606
  • Country: pt
Re: MOSFET driver (push-pull bjt output)
« Reply #19 on: October 12, 2016, 07:32:37 pm »
Interesting, I thought the cap was just another way to reduce latency, didn't know it had other effects. But I understand it acts like a kind of a "charge transfer boost", as when you have the input at 5V and set it to zero, ~ - 4.3V is "applied" to b-e without series resistance (except cap's parasitic), sucking charge out of the BJT, right?
1N4148 also works as a latency reducer (anti-saturation), but it's not as good as a schottky; I have measured both in practice, in a driver cousin to the one I posted (on the N-MOS driver, which has an 2N3904 at the input; I've posted such scopeshots in this forum); the schottky really brings turn-off latency down to virtually zero (from the original 7us! 1N4148 -> 1.75us; BAT54 -> 0us).

Indeed, as Tim pointed out, charge storage on the BJT isn't always simulated. I had to hunt models around until I found one that does simulate it, let me dig it and I'll post it here.

In the original schematics I posted, the sub-circuit composed of Q5 (top NPN), its base resistor and the diode are a "fast MOS turn-off" technique I read around, in an app-note I think. The rest is simple stuff, I just added the zener to keep Vgs within its spec without limiting the current (thus keeping a fast turn on).

Is the 100 Ohm resistor your simulated load? Is it your true load?

When simulating this kind of circuit, I also usually give the power source internal resistance and add a little inductance to the power lines, as well as resistance and inductance to the "DC-link" capacitors. For example, if you're switching a few A in those few hundred ns or less, using bigger devices as TO-220, inductance in the lines from the driver to the FET will matter, as will inductance between the DC-link caps and the FETs, and so own, and you should take this into account in simulation. Hint: switch 5A in 100ns over 50nH (rough estimate for a 1 inch go-and-return connection distance) -> dv = L di/dt <=> dv = 5V spike.
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #20 on: October 12, 2016, 11:00:49 pm »
This version supplies about 10V pulses to the MOSFET. Note how the 4.7nF capacitor in parallel with the zener's current limiting resistor speeds things up.
« Last Edit: October 13, 2016, 08:05:01 am by Hero999 »
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #21 on: October 13, 2016, 01:12:33 am »
Note that you need to use well-filtered supplies for cap-coupled circuits like this.

You can avoid that by using constant current drive (essentially, the input signal goes to a diff pair, which starts with a constant emitter current, then steers it out one or the other collector), and using those currents to control the turn-on and turn-off transistors local to the MOSFET.

But again, more bias current and more complexity.  Always a tradeoff.  It gets harder and harder to beat an IC. ;)

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 

Offline nuno

  • Frequent Contributor
  • **
  • Posts: 606
  • Country: pt
Re: MOSFET driver (push-pull bjt output)
« Reply #22 on: October 13, 2016, 03:14:24 am »
What I'm really worried about is the output of the MCU. It has protection diodes clamping higher voltage to Vdd. I still think it's within spec because clamping diode absolute maximum current is 20mA.

What MCU is that?
 

Offline Refrigerator

  • Super Contributor
  • ***
  • Posts: 1542
  • Country: lt
Re: MOSFET driver (push-pull bjt output)
« Reply #23 on: October 13, 2016, 04:37:40 am »
You can take a look at the mosfet driver in this class d amp:
http://www.nxp.com/documents/user_manual/UM10155.pdf
I have a blog at http://brimmingideas.blogspot.com/ . Now less empty than ever before !
An expert of making MOSFETs explode.
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #24 on: October 13, 2016, 03:46:55 pm »
Here's another variant. This time the transistor acts as a voltage controlled current sink for the zener. The transistor never saturates and has emitter degradation so doesn't need a base resistor, speed up capacitor or Baker clamp. It uses more current though.

« Last Edit: October 13, 2016, 04:41:45 pm by Hero999 »
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #25 on: October 13, 2016, 05:46:56 pm »
What I'm really worried about is the output of the MCU. It has protection diodes clamping higher voltage to Vdd. I still think it's within spec because clamping diode absolute maximum current is 20mA.

What MCU is that?

PIC12F1501. Yes, I know PICs are quite tough. In fact this pic took Vdd=12V (by mistake of course) from lead acid battery for 5-10 seconds and it's still working fine.


I managed to test the second circuit that Hero999 suggested. Here are the results:
Yellow - input
Cyan - MOSFET gate


This is the original circuit with schottky. I also tried it without schottky - it does delay the back slope (input falling, gate rising):



With 200pF (not 220) cap in parallel with the input resistor. The base resistor is 1.8k - maybe that's why it doesn't make much difference. Rising the capacitance too much overloads the PIC output pin



The third transistor made more difference that I expected:
« Last Edit: October 13, 2016, 05:56:53 pm by npelov »
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #26 on: October 13, 2016, 06:07:12 pm »
Note that you need to use well-filtered supplies for cap-coupled circuits like this.

You can avoid that by using constant current drive (essentially, the input signal goes to a diff pair, which starts with a constant emitter current, then steers it out one or the other collector), and using those currents to control the turn-on and turn-off transistors local to the MOSFET.

But again, more bias current and more complexity.  Always a tradeoff.  It gets harder and harder to beat an IC. ;)

Tim

I suspect that the supply will jump quite a bit. There will be 220uF low ESR cap on the input, same on the output and 100nF ceramics everywhere. I hope it'll be enough. I would like to avoid continuous currents >=1mA if possible. There will be about 1.5-2 mA from the MCU already. I want it to work even with 18V/1.5W solar cell - 80mA peak, probably 30-50mA  average over the whole day. 3-5mA might not be too much if you have 1A, but if all you have is 50mA then it's something.
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #27 on: October 13, 2016, 07:16:43 pm »
8.2k on the input doesn't make a difference. Probably the zenner has something to do with it.

Well, this is much worse case than the final design. The transistor for the tests is IRF4905 - a nasty little thing with 3400pF typical input capacitance. The transistor I plan to use in the final design won't have more than 700-1000pF. I might even increase some resistors.

However I must be doing something wrong because if I short the zenner the MOS doesn't turn off. There is 400mV on the collector of input transistor and it doesn't change - it's constantly on. I removed the third transistor and the input cap - same. And I know the circuit should work fine if zener is shorted because I used it before. I reduced the resistor between base of Q1 and Vin to 1k - no effect. I stripped it down to this circuit (except that bottom transistor is BJT), but the MOS doesn't turn off:

« Last Edit: October 13, 2016, 07:18:35 pm by npelov »
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #28 on: October 13, 2016, 08:20:03 pm »
What I'm really worried about is the output of the MCU. It has protection diodes clamping higher voltage to Vdd. I still think it's within spec because clamping diode absolute maximum current is 20mA.

What MCU is that?

PIC12F1501. Yes, I know PICs are quite tough. In fact this pic took Vdd=12V (by mistake of course) from lead acid battery for 5-10 seconds and it's still working fine.
Good, you're lucky all is still well. I wouldn't advise using that same IC, as you applied 12V to, in the real thing because it might be damaged and prone to failure, even though it still works perfectly now.

Quote
With 200pF (not 220) cap in parallel with the input resistor. The base resistor is 1.8k - maybe that's why it doesn't make much difference. Rising the capacitance too much overloads the PIC output pin
Yes, reducing the base resistor will help to speed things up, at the expense of more current being drawn from the MCU's output.


Quote
The third transistor made more difference that I expected:


Notice how the turn on time is still a little sluggish? This is because Q2 (on my schematic) has to charge the MOSFET's gate via D1 and D3. If you have room for another transistor, to pass the current for charging the MOSFET, then it should speed up the on time. LTSpice showed ringing on the waveform after adding the extra transistor (this might not happen in real life) which will be due to the MOSFET's gate inductance so I added a gate resistor: R5.
« Last Edit: October 13, 2016, 08:21:35 pm by Hero999 »
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #29 on: October 14, 2016, 08:20:10 am »
8.2k on the input doesn't make a difference. Probably the zenner has something to do with it.

Well, this is much worse case than the final design. The transistor for the tests is IRF4905 - a nasty little thing with 3400pF typical input capacitance. The transistor I plan to use in the final design won't have more than 700-1000pF. I might even increase some resistors.

However I must be doing something wrong because if I short the zenner the MOS doesn't turn off. There is 400mV on the collector of input transistor and it doesn't change - it's constantly on. I removed the third transistor and the input cap - same. And I know the circuit should work fine if zener is shorted because I used it before. I reduced the resistor between base of Q1 and Vin to 1k - no effect. I stripped it down to this circuit (except that bottom transistor is BJT), but the MOS doesn't turn off:


Perhaps you've destroyed the MOSFET or reversed the source and drain connections so the body diode conducts? Try connecting the source and gate, then checking it doesn't conduct.
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #30 on: October 14, 2016, 11:31:01 am »
I don't know what was wrong. All the transistors are fine - measured them. There was shortcut or a capacitor I couldn't see - the 200pF capacitors are 0603 gray and the pcb doesn't have soldermask so they are hard to see. I desoldered everything and started from scratch. I switched to IRF9640 which has a bit less gate capacitance - 1200pF typical.

I decided to measure while I'm building it. I added single transistor and 1k resistor on G-S to monitor the fall time. It was >400ns!!!. I switched to PN2222A because of it's current capability but no change (first attachement).
After adding 33pF cap it dropped to 340ns (sorry about the noise - forgot to connect blue probe ground).
330pF - 84ns
200pF - 96 (smd cap)

Although with 200+ cap it drops with 9V for 34ns, so the MOSFET will be hard on for <40nS. However Vpp = 21.40V with 330 cap and 17.6V supply which is just over GS voltage. I need to limit the gate voltage somehow, but zenners want so much current. Most zenners work relatively fine with at least 1mA.
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #31 on: October 14, 2016, 02:22:53 pm »
I don't know what was wrong. All the transistors are fine - measured them. There was shortcut or a capacitor I couldn't see - the 200pF capacitors are 0603 gray and the pcb doesn't have soldermask so they are hard to see. I desoldered everything and started from scratch. I switched to IRF9640 which has a bit less gate capacitance - 1200pF typical.

I decided to measure while I'm building it. I added single transistor and 1k resistor on G-S to monitor the fall time. It was >400ns!!!. I switched to PN2222A because of it's current capability but no change (first attachement).
After adding 33pF cap it dropped to 340ns (sorry about the noise - forgot to connect blue probe ground).
330pF - 84ns
200pF - 96 (smd cap)

Although with 200+ cap it drops with 9V for 34ns, so the MOSFET will be hard on for <40nS. However Vpp = 21.40V with 330 cap and 17.6V supply which is just over GS voltage.
Which circuit are you talking about here?

Quote
I need to limit the gate voltage somehow, but zenners want so much current. Most zenners work relatively fine with at least 1mA.
I hope you realise that the zener doesn't have to continuously conduct. It's just there to clamp the voltage to a safe level.

Take the attached circuit for example. Q1, R1 & R2 form a common emitter amplifier. Ignoring the loading effects and C1 (assume a steady state), the voltage across R2 is approximately equal to: (V2 - Vbe)*R2/R1

Vbe is the transistor's base emitter voltage, typically 0.6V, so with 5V from V2:
V(R2) = (5-0.6)*10/4.7 = 9.4V.

Regardless of V1, when V2 = 5V, the gate voltage to the MOSFET will be 9.4V. The current through R1 (therefore R2 as well) is about (5-Vbe)/4700 = 450µA, which is much less than your requirements. Of course 9.4V is too low for D2 to conduct so it does nothing at this point.

Unfortunately with only 450µA driving Q1 & Q2, the current into the MOSFET will still be too low (45mA at most) to charge/discharge the gate quickly. This is why we have C1. When V2 suddenly changes from 0V to 5V, C1 will be at 0V and as it charges there will be a current surge, causing close to the full supply voltage to be applied across R2, which will be clamped to 15V by D2. The current will fall as C1 is charged towards 4.4V and D1 will stop conducting. Now if V2 is held at 5V, the current through R1 & R2 will remain at 450µA.

Note for this to work, D2 needs to have a low capacitance, so should be a small zener diode. If it slows the circuit down too much then you can put it across the MOSFETs gate and source but it will pass much more current and dissipate more power. You may be able to get away with omitting the zenner if C1 is reduced or the MOSFET has a high capacitance because charging up the gate will reduce the voltage surge.
« Last Edit: October 14, 2016, 02:24:26 pm by Hero999 »
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #32 on: October 14, 2016, 08:16:57 pm »
Quote
I need to limit the gate voltage somehow, but zenners want so much current. Most zenners work relatively fine with at least 1mA.
I hope you realise that the zener doesn't have to continuously conduct. It's just there to clamp the voltage to a safe level.

Not really. The mosfet is on all the time, except when battery is fully charged. Then it'll maintain 13.8V. So I only care that current is low on the ON time of the mosfet. If the mosfet starts PWM switching then battery is full and only topping charge is needed. In this case it's ok to waste few mA.


I'll try this one later (in real circuit) because I really want to find a way to drive mosfets in general. Most drivers that are locally available are  limited to 20V. There is one at 30V which is still not enough for 36V solar panel (I want to try to do MPPT later).

 For now I'm satisfied with the results that 3 transistor schematic show. I found a low gate charge fet (FDC658AP) that can take 25V on the gate so I'll remove the zenner. I also realized that using 24V solar panel for charging 12V battery is not a good idea using PWM charger. It needs some DC-DC conversion to not waste so much power (MPPT). The 18V panel has open circuit voltage 20-21V - I can clamp the panel with SMBJ20A - max clamping voltage 24.5, working voltage 20V and low leakage current of 1uA.
I also realize that in this case voltage of solar panel will drop down to battery voltage and the whole circuit will work between 11 and 14V most of the time.

Also rise and fall time is only important in the region between 1 and 10V. Well let's say 0.8V for some logic level mosfets. After 10V the ON-resistance change is very little.


Btw you mentioned that smaller zenners have lower capacitance. Do you mean low power zenners - like 200mW?


Also about the latest circuit. Zenner capacitance can be compensated by rizing C1. Also BC557 has quite large beta. 1k is not needed for R3. The circuit works fine with 10k. It'll actually help reducing the effect of zenner capacitance - at least according to emulation. I added 50pF in parallel with the zenner. If you have1k for R3 the gate voltage quickly falls to 16.9V(GS = -6.6V) and then slowly goes to 15.2(GS=-8.3V). If you have 10k for R3 the fast drop is to 16.1V (GS=-7.4V) - almost a volt more. I have no idea why this is happening. Maybe because input current is split between C1 and C2 when input voltage rises. Rising R3 allows more current to turn Q1 harder.
 

Online Zero999

  • Super Contributor
  • ***
  • Posts: 19522
  • Country: gb
  • 0999
Re: MOSFET driver (push-pull bjt output)
« Reply #33 on: October 14, 2016, 10:57:08 pm »
Yes, I meant low power, when I talked about small zeners.

I haven't really thought about the other things you've mentioned because I don't have time at the moment.
 

Offline npelovTopic starter

  • Frequent Contributor
  • **
  • Posts: 330
  • Country: bg
    • Microlab.info
Re: MOSFET driver (push-pull bjt output)
« Reply #34 on: October 15, 2016, 09:34:13 am »
Well thanks for your help. I got what I needed - a working schematic and understanding how it works.
 

Offline julian1

  • Frequent Contributor
  • **
  • Posts: 735
  • Country: au
Re: MOSFET driver (push-pull bjt output)
« Reply #35 on: April 07, 2017, 07:51:00 pm »
 
An example from my collection:


 

What is the quiescent current, with the 47ohm and two-diode voltage drop?

And is there an easy approximate calculation?

Is there any advantage to do this versus a current mirror (eg. two transistors + one resistor) like current source?
 

Offline T3sl4co1l

  • Super Contributor
  • ***
  • Posts: 21686
  • Country: us
  • Expert, Analog Electronics, PCB Layout, EMC
    • Seven Transistor Labs
Re: MOSFET driver (push-pull bjt output)
« Reply #36 on: April 08, 2017, 06:10:40 pm »
At 9V,

V(10k) = (9V - 2 * (0.7V)) = 7.6V
I(10k) = 7.6V / 10k = 0.76mA
V(47) = 2 * (0.7V) - (0.7V) = 0.7V
I(47) = 0.7V / 47 = 14.9mA

So the total is 15.6mA when "In" is active, and 0.76mA when not.

"In" should be driven by a Thevenin equivalent source of about 1.4V/0V (on/off), and 1kohm.  Usually this is arranged with a current sourcing output and B-E resistor, or a higher voltage (logic) source with a voltage divider.

You could also use a small MOSFET (smaller than 2N7000, which is huge and slow) instead of 2N3904, for direct logic level interface (say, anything from 1.8V to 5V CMOS and TTL).

Tim
Seven Transistor Labs, LLC
Electronic design, from concept to prototype.
Bringing a project to life?  Send me a message!
 
The following users thanked this post: julian1


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf