Speed up BJT switching - Page 1
Forum section: electronics / beginners

author: npelov
author_rank: Frequent Contributor
timestamp: October 02, 2018, 12:25:19 pm
content: First of all thanks to the forum for being my rubber duck. I solved 80% of the problems while describing them here.I'm making li-ion battery balancer (schematic and LT spice files attached). The first battery is easy to balance with NPN transistor. Because it's ON hard for lower voltage drop I speedup the turning off using capacitor which applies negative voltage on the base when the MCU sends 0V. I do the same with Q1 and Q2. However a capacitor in parallel with R12 and R13 won't work because I'm driving it with open collector (not push-pull). So I to add R2 and R3 to not allow the transistor to turn on that hard. But that's not helping much because now the voltage drop on the transistor is higher and it heats up more.Question is: How do I speed up the turn off of Q4 and Q5 when they are turned on hard?P.S. I didn't use MOSFETs because it would be hard to generate the gate voltages for the upper transistors. I did try to use all low side switches, but I don't remember what was the problem there.

author: xavier60
author_rank: Super Contributor
timestamp: October 02, 2018, 12:43:52 pm
content: You could try a diode between Collector and Base to stop the transistors going into saturation. A small signal diode might have some effect. A Schottky diode will have the most effect.There is no need for R2 and R3 to be different values.

author: Zero999
author_rank: Super Contributor
timestamp: October 02, 2018, 12:47:21 pm
content: I doubt R2 and R3 are reducing the base drive that much. The reason why the transistors are turning off quicker with Re and R3, is because they're helping to discharge the base's capacitance.How about using logic level MOSFETs and associated gate drivers, rather than BJTs?

author: xavier60
author_rank: Super Contributor
timestamp: October 02, 2018, 12:51:28 pm
content: Another option is to try some 2SB1010 transistors, they turn off super fast.

author: Prithul0218
author_rank: Contributor
timestamp: October 02, 2018, 01:47:09 pm
content: Quote from: npelov on October 02, 2018, 12:25:19 pmHi. Just wanted to say I am also making a battery balancer. I only got started, so haven't designed any schematic yet. I will post in the forum once I am done. You should too!

author: Prithul0218
author_rank: Contributor
timestamp: October 02, 2018, 01:56:20 pm
content: Quote from: npelov on October 02, 2018, 12:25:19 pmI got a question not related to the post. How did you choose the inductor value?

author: Benta
author_rank: Super Contributor
timestamp: October 02, 2018, 02:12:24 pm
content: Do a search for "Baker clamp". You can either choose the single-Schottky version or the three-diode version. The two-diode version you'll find on Wikipedia is not effective.You can keep C1 and C2 for even better performance. R19 and R20 are too large IMO.

author: P_Doped
author_rank: Contributor
timestamp: October 02, 2018, 02:20:05 pm
content: Like xavier60 said, a diode (Schottky preferably) will speed up switching. This is a characteristic of the TTL families starting with the 74S series in order to speed up the switching off of otherwise saturated transistors.

author: npelov
author_rank: Frequent Contributor
timestamp: October 02, 2018, 02:21:03 pm
content: R2 and R3 are different because I tried different values in simulation. They will be the same later.Quote from: xavier60 on October 02, 2018, 12:51:28 pmI want them to be smd. I will use BCX53-16 for the final circuit. But when you say super fast can you give me any numbers?Also a diode (as well as R2 < 75 Ohms) makes it oscillate. A schottky doesn't allow it to turn on at all. I'm not sure why. But the idea is the same. The harder the transistor turns on, the lower Vce it'll have. I don't want it to go too easy on the turn on because it'll heat up more.As it is now Vbe is dependent on the battery voltage, because the battery voltage through R13-R2 divider together with base current make Vbe voltage. A diode and a resistor would make it more stable - I tried 1N4148 + series 30 ohm resistor on base emiter. Works as well as resistor only, but not dependant on the battery voltage. I'm not sure the diode is worth the PCB space.Quote from: Hero999 on October 02, 2018, 12:47:21 pmThey do in the simulation at least. The collector current drops to 0 for 2us without them and 400ns with R2=R3=470 ohm.Using mosfet for upper two transistors is really hard. The gate voltage must switch between Vbatt3 and Vbatt2 (well let's say two voltages higher than 0) for the top transistor. I use BJT because I can control the base relative to ground because they need current, not voltage.I said that capacitor in parallel with R13 and R12 won't help because there is no pull-up transistor.I tried pull up 1k resistor from Q2 collector to Vbatt+.It reduces Q4 collector current drop from 2us to 170ns. That's the time from when Vce starts rising to the current drop down to 0 in simulation. I don't care about the delay from pulse front to turn off. I just want low power dissipation in the transistor. Of course that means that I'll be burning 10mA*12V more in that resistor on the on period. I could use combination of the Q2 collector pull up and R2. R2=470 and 2k pull up make 190ns turn off time.In the attachment is the graph that shows the above scenario. The time from when Vce reaches 1V to when Ic drops to 10mA is 180ns. That's 6.3mA more on the on time for each of the two top transistors on the ON pulse - about 80mW at 50% duty. It's not an elegant solution, but it's something.I'll be still listening for better solutions though.

author: Zero999
author_rank: Super Contributor
timestamp: October 02, 2018, 02:44:51 pm
content: Quote from: npelov on October 02, 2018, 02:21:03 pmYou seem to have misunderstood. R2 and R3 obviously do speed up the turn off time, but it's because they discharge the base's capacitance, rather than reduce the base drive. The reduction in base current due to R2 and R3 will be small and is shown, though not very clearly due to the scale, in the simulation results you've just posted.The current flowing through R2 and R3 will be small, since VBEwill be 800mV at most and with R = 470R that's only 1.7mA, leaving a lot of current left to flow through the base. Simulate it again showing only IB, with and without R2 to and R3. Note that the difference in base current is too small to account for the difference in switching speed.

author: npelov
author_rank: Frequent Contributor
timestamp: October 02, 2018, 02:45:18 pm
content: @Prithul0218The inductor value is chosen with mix of calculations and simulations (more heavy on the simulations though). I actually came up with a value of 68uH for this frequency, but I only had 47uH for experimenting, so I just put lower limit on the on time to avoid saturating the inductor. In fewer words if the inductor is too low and the on pulse is long enough the inductor will saturate and the current will shoot trough the roof as the inductor at DC is effectively a short circuit. That's why I burned few transistors by messing up in firmware and having too much ON time.You could use resistors instead of inductors and burn the power as heat (and also remove the Schottky diodes). If you calculate the current through the resistors and it'll allow 100% duty (on all the time) without burning anything. I decided I want to be fancy and use the energy from balancing for charging the whole pack. In my case that's not really necessary because at low currents (max average current through the inductors is about 400-500mA). That's 0.45A*4.2V=1.9W per cell max. 2W resistors would be fine - that's 4W max when balancing.@BentaR20 = 47k. Vr20=5V-0.7=4.3V. Ir20 =4.3/47k = 91uA * hfemin=400 = 36mA max drive for Q4 base. With 1k that's 10V min/1k = 10mA (3 times less). It should be fine. I could use 20k just to be on the safe side.Hmm. I foundso I decided to put a schottky on base-collector of Q4 (Cathode to base). It didn't work. It just adds some oscillation of the base voltage on turn off mostly and some on turn on. Graph attached. Ic still drops slowly

author: npelov
author_rank: Frequent Contributor
timestamp: October 02, 2018, 03:05:16 pm
content: Here is a graph (first attachment) of base voltage and current with no speedup:Base voltage is yellow (x10), Base current is red x100.My guess is: The first part where base voltage almost doesn't drop even though the base current dropped is the delay caused by the hard turn on. The second part is the base capacitance discharging. R2 is taking care of the second part.Schottky across base-collector should take care of the first part, but it doesn't - see second graph. I didn't remove the other parts, just put very low/high values to negate them. I guess the inductor messes it up because technically there is no load on the collector at the start of the off pulse.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 02, 2018, 04:02:18 pm
content: Note that you have maximum Miller effect in this configuration, which makes the large rectifier 1N5817 rather undesirable. A signal diode like BAT85 or BAT54 would be more suitable.A PN diode can also be used, in which case you need to place it on a tap higher up the base divider:You can use this method to set an arbitrary Vce(sat) value, useful for low-accuracy clamping applications.Alternately, a PN diode is fine with a Darlington transistor,But there is a caveat: the real circuit will oscillate. The left circuit simulates as stable, but the real circuit oscillates. The right circuit has been modified to reproduce the real oscillation. Unfortunately, the parasitics don't happen to be physically realistic: the load resistor R1 is a wirewound with about 50 times lower inductance than shown here, for example.Probably the root cause of this discrepancy is, a real transistor has some delay, or higher order poles, whereas SPICE has no concept of delay*, and has a single-order model (lumped terminal capacitances, current gain goes to unity at fT).*Except when transmission lines are explicitly used. (Built-in components like transistors do not use them.)Anyway, for faster switching, you need to discharge the B-E junction. BJTs are voltage-controlled, not current. Instead of an open-collector driver (active pull-down, Q2), have an active pull-up phase as well. Then you can use the speed-up cap across the series resistor to do the business.Also, consider MOSFETs. These have lower gain (= needs more drive voltage), but that's not such a big deal (e.g., use a bootstrap gate driver IC), and you don't have stored charge or Vce(sat) to worry about.Finally, as for the general circuit and apparent purpose -- I don't see any way to control or limit current here, nor will the currents or voltages be balanced in any obvious way, with the values shown. The canonical way to build a balancer circuit is to use a dedicated regulator IC for each cell, sending excess charge current back into a common rail. Each regulator controls its own inductor current and cell voltage independently, giving maximum benefit, without much added cost (regulators are cheap, exploding cells are not).Tim

author: Benta
author_rank: Super Contributor
timestamp: October 02, 2018, 04:22:53 pm
content: Schottky rectifiers are completely unsuited for BJT base clamping. Use Schottkys designed for switching as Teslacoil writes.

author: Zero999
author_rank: Super Contributor
timestamp: October 02, 2018, 07:56:34 pm
content: I underestimated the reduction in base current, due to the base-emitter resistor, earlier on, but I maintain it had nothing to do with the reduced turn-off time.I've done a simulation with one circuit with the base-emitter resistor and the other with out. The base resistor values were selected to keep the base currents similar. Notice on the circuit with the base-emitter resistor, the sign of IBchanges, when the transistor turns off and is why it turns off much faster, then the one without.

author: xavier60
author_rank: Super Contributor
timestamp: October 02, 2018, 08:47:20 pm
content: I used to see 2SB1010 transistors used in Buck regulators in VCR power supplies. I was never able to find a BC or BD series transistor to substitute it that had anywhere near the switching speed.I can't find a proper data sheet for the 2SB1010 to see what is so special about it.I suspect that it is a Switching class transistor and that's what's needed.I have also generally noticed that BJTs with low voltage ratings have better specs in other respects such as current gain.Something like this,https://www.rohm.co.kr/datasheet/2SAR512R/2sar512rtl-e

author: npelov
author_rank: Frequent Contributor
timestamp: October 02, 2018, 08:48:58 pm
content: @T3sl4co1l It doesn't matter what diode I put. But as you say I tried BAT54 and there is no difference. I'm not sure exactly why. As I said it may have something to do with the inductive load.Yes, I could have PNP pull up transistor, but how do I switch it on from 0V and switch it off from 5V ? Can you draw me a schematic how to drive it? I also must make sure that both transistors don't switch on at the same time.Quote from: T3sl4co1l on October 02, 2018, 04:02:18 pmBut I have gate charge to worry about. And gate charge is a lot more than a base-emiter capacitance. I'll need two drivers for at least the top two transistors. The bottom one could work directly from the MCU if I use logic level one. But the bottom one is fine as it is. The best MOSFET that can work with >12V on the gate is twice the price of the BJT and it has 4-5 times more the capacitance on the input. Technically I could use Vgs<=12V mosfets but I have to put some kind of divider on the gate which will increase the effect of gate charge.Well IRLML5203 has similar price to BCX53-16, but has 10nC total gate charge at 12V. That's about 1nF - 7-8 times more than the bjt.@Hero999Why does Ib go negative and how is R2 helping with it.

author: npelov
author_rank: Frequent Contributor
timestamp: October 02, 2018, 09:07:54 pm
content: Quote from: xavier60 on October 02, 2018, 08:47:20 pmI wonder if it'll make things better if I choose a transistor with higher transition frequency.2SAR513P is available at Farnel hfe=180 min. I don't know how that affects the switching.

author: xavier60
author_rank: Super Contributor
timestamp: October 02, 2018, 10:09:08 pm
content: Quote from: npelov on October 02, 2018, 09:07:54 pmI would have said yes a while ago. I think there is more to it.The photo shows a 2SB1010 driving a 10 ohm resistor from a 4v rail. It is being driven in the same way as you have. I have used a 680 and 330 ohm drive resistors.Although the turn off speed is good with no tail current, the turn on speed is rather sluggish. I have only seen these transistors driving inductors. When driving an inductive load, the voltage transitions look faster because the voltage doesn't move until the Collector current matches the inductor current.When driving inductors in discontinuous mode, transistor turn on speed has little effect on efficiency.In my test, the saturation voltage is about 0.4v. When I add a signal Schottky diode between Collector and Base, the saturation voltage increases but there no significant improvement in turn off speed.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 02, 2018, 11:38:22 pm
content: A nice circuit for testing effective best-case BJT switching speed is something like this,https://www.seventransistorlabs.com/Images/LED_Light2.pngNotice the positive current feedback in the coupling transformer. For testing purposes, rather than the oscillator circuit (and the mains-derived supply(!)), a function generator can control the driver transistor, turning on the circuit. Turn-off is controlled by magnetic saturation in this case, so the output transistor latches on until the coupling transformer saturates, effectively short-circuiting the base, turning it off as quickly as possible.Transistors with high internal base resistance (poor base contact / interdigitation, thin base layer; usually general-purpose parts like TIP31C, or high hFE like 2SD1273) have very sloppy switching: a long transition period, and an even longer tail (the tail is easily seen with a resistive load, but has to be measured with a shunt resistor when an inductive load is used, like the buck configuration used here).A lot of power transistors have surprisingly good switching performance, MJE15024 for example.The difference between classic (hometaxial) 2N3055s and modern (multi-diffused or epitaxial) production is dramatic, with most 80s+ production having similar performance as an MJ15011 or the like (indeed, I wouldn't be surprised if similar dies were tested into both product lines).Modern HV switching BJTs perform reasonably well, of course, but do suffer from very long storage time, even with as strong base drive as this circuit affords. This is partly due to geometry alone: high voltage transistors store a lot of charge in a thick junction. Line output transistors (typically rated 1500Vceo) are particularly dramatic, with t_stg in the 2-3us range, and a recommended hFE(sat) of only 2.5!(As for general purpose transistors, I'm not sure exactly how fast BC847 and the like can go, but I have operated 2N4401/3 in the range of 20ns transition time. You do have to beat the crap out of the base though, nothing you're going to do with a mere resistor. Well, not around battery powered circuits anyway, one would hope -- too inefficient.)Tim

author: xavier60
author_rank: Super Contributor
timestamp: October 02, 2018, 11:54:25 pm
content: I found some BCX52-16 transistors here. With the 10 ohm load, the final saturation is 0.8v, 0.2v with a 20 ohm load.The turn on has the same sluggish look but faster than the 2SB1010, taking some time to reach final saturation voltage.The turn off speed is slightly slower than the 2S1010. Also at turn off there is a 200ns delay where the saturation voltage slowly increases then quickly turns off over the next 200ns. This must be the Storage Time.I'd call the BCX52-16 and possibly the BCX53-16 suitable for the job so long as the current doesn't go much over 300ma without the frequency being made much over 100Khz.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 03, 2018, 12:03:47 am
content: Quote from: xavier60 on October 02, 2018, 11:54:25 pmBingo. If you watch base voltage, you'll see it kind of floats along, dropping slightly, before dropping out at the same time collector voltage rises. Indeed, that's seen in the simulations above.The B-E junction is actually very much a tiny battery. It has an exponential charge dependency, just as an electrochemical cell does; it just so happens to have extremely rapid self-discharge (~10us for average silicon), and SFA charge storage (a paltry, er... ~nC's worth?). It would take a very wide silicon junction to store any practical amount of charge at all, but alas, it would still leak away in microseconds.Indeed, you could call BJTs a charge-controlled device as well; although at this level of subtlety, it's not any difficulty to express it any other way (Ic ~ e^Vbe, or as a current-controlled device with gain being some function β(Ic), or as a leaky charge device, or..).Tim

author: xavier60
author_rank: Super Contributor
timestamp: October 03, 2018, 12:29:52 am
content: Adding the Schottky diode eliminates the Storage delay but adds another 0.3v to the saturation voltage.Adding 2 Schottky diodes in series gives a good compromise but still totally unnecessary.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 03, 2018, 05:14:00 am
content: 2 in series isn't going to have any effect... you're better off without them, saving the Miller effect speed hit.Have you proven that 0.3V of saturation is more dissipation than that due to switching loss?Increasing voltage drop of components is a very real win when it is done to save losses elsewhere.Tim

author: xavier60
author_rank: Super Contributor
timestamp: October 03, 2018, 05:36:18 am
content: Quote from: T3sl4co1l on October 03, 2018, 05:14:00 amWithout any diodes, the C-E voltage goes from 0.2v to 0.4v during the 200ns of Storage delay. So this would be responsible for adding a very small loss compared to adding 0.3v for most of the On time.

author: David Hess
author_rank: Super Contributor
timestamp: October 03, 2018, 05:41:43 am
content: Baker clamping the transistors will remove the storage time but raise the saturation voltage. A small signal schottky diode should work great but a better switching transistors than the BC327 would help also; the collector-emitter saturation voltage of the BC327 may be a little too high.Another thing to do is capacitively couple the turn off signal into the base to pull the carriers out more quickly like C1 and C2 do for the level shifter transistors. Unfortunately, since you are using a level shifter which only pulls the base down, there is no suitable signal.What I would do is configure drive transistors Q1 and Q2 in common base mode, probably by tying the bases to +5 volts, (1) and switch the emitters with the 5 volt logic signal through a resistor which sets the current so R12 and R13 are no longer needed although they might be kept at a lower value and bypassed. This configuration also switches the drive transistors very very quickly. Now the logic signal is the correct phase and a coupling capacitor between the logic signal and the base of Q4 and Q5 provides the correct drive to remove charge quickly.(1) +5 volts will not leave much compliance for Q1 so a lower base voltage should be used.

author: Zero999
author_rank: Super Contributor
timestamp: October 03, 2018, 08:56:02 am
content: Quote from: npelov on October 02, 2018, 08:48:58 pmThe base-emitter junction behaves like a tiny battery and R2 helps it discharge more quickly. The sign changes because current flows out of the base, through the base-emitter resistor. Also note that the transistor doesn't turn off, until the current has stopped flowing out off the base.

author: xavier60
author_rank: Super Contributor
timestamp: October 03, 2018, 09:55:45 am
content: This photo shows the BCX52-16's Collector waveform in a Buck converter with 5v input at 160ma draw.The Base current is now 20ma.The choke is 50uh powdered iron running well into continuous current mode.See how the transitions now look faster compared to when the load was resistive.This is deceptive, there are actually hidden losses. The transistor will still be passing some of the tail current caused by the Storage delay after full voltage has developed across C-E. This is a common cause of loss when BJTs are switching inductive loads at high voltages.In this case, because the voltages involved are low, the losses aren't that much.When I put the Schottky diode between C-B, the efficiency drops from 78% to 67%.Extra: The transistor also still has the sluggish turn on although it's now not visible. What's actually happening is because the inductor current is keeping the flywheel diode in conduction, the voltage stays clamped at near 0v until the rising transistor current matches the inductor current at which point the voltage suddenly rises.

author: xavier60
author_rank: Super Contributor
timestamp: October 04, 2018, 10:25:14 am
content: Q5 has about 8v available to it, more than enough to drive a P-ch MOSFET.This waveform is with an AO3407 MOSFET drawing 240ma from an 8v rail. The efficiency is 80%.The Gate divider is 680\$\Omega\$/1K, upper/lower. Gate threshold is 1.2v.Don't judge the switching losses by the slope of the voltage transition. Although the transitions look faster for the BJT, it was drawing current for some time before the On transition and after the Off transition.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: October 04, 2018, 05:00:58 pm
content: Now put a complementary emitter follower after the resistors, and compare losses.Tim

author: Zero999
author_rank: Super Contributor
timestamp: October 04, 2018, 09:39:17 pm
content: Since the drive voltage from the MCU is higher than the voltage being switched, an NPN transistor can be used to switch the high side. There are no Miller capacitance issues, the base is discharged quickly, thanks to the low value base resistor and when it turns off the base voltage by definition falls below the emitter voltage, this turning it off quickly.It's much faster than the other circuit. The on loses will be higher, especially if the driving voltage is lower or the supply voltage higher, but it's still fairly good, even if the 3.7V is increased to 4.2V.

author: xavier60
author_rank: Super Contributor
timestamp: October 04, 2018, 11:36:35 pm
content: I'll try Tim's idea tonight.I'm also wondering about which mode the converters will operate in. Continuous-conduction-mode might be difficult to manage without having current sensing for each converter.

author: xavier60
author_rank: Super Contributor
timestamp: October 05, 2018, 07:20:15 am
content: Adding the complementary buffer made a dramatic improvement to the switching speed, 50ns.The efficiency rose to only 83%. The powdered iron inductor has been lossy the whole time.A ferrite inductor is needed, especially if operated in Discontinuous-Conduction Mode.And a less than perfect switching speed would matter even less because of the lower operating frequency.