Using MOSFET gate driver for bipolar transistor driving? - Page 1
Forum section: electronics / beginners

author: LinuxHata
author_rank: Frequent Contributor
timestamp: September 17, 2023, 10:08:27 am
content: Hello.I need to deliver 100mA of base current into NPN transistor at 20kHz PWM frequency from the microcontroller. The latest can deliver only 20mA, so it does not work properly - already tried.What if I use some totem pole driver circuit for that, or ready-made MOSFET drivers, like MIC4420 ?They should work too, right?

author: ppTRN
author_rank: Regular Contributor
timestamp: September 17, 2023, 12:13:52 pm
content: Using a MOS driver should work just fine, but have you tought adding another BJT to form a Darlinghton pair? This might solve the problem for cheaper. What NPN are you using?

author: LinuxHata
author_rank: Frequent Contributor
timestamp: September 17, 2023, 01:29:31 pm
content: I want a really hard switching with full off, so I think, Darlington pair can't do that, and by the way, my "transistor" consists of 200 pcs MPSA42 transistors, tied together with their bases

author: Manul
author_rank: Super Contributor
timestamp: September 17, 2023, 02:20:07 pm
content: Quote from: LinuxHata on September 17, 2023, 01:29:31 pmIn that case you should add base current balancing resistors for every transistor. Except if you already have emitter balancing resistors.

author: LinuxHata
author_rank: Frequent Contributor
timestamp: September 17, 2023, 02:58:47 pm
content: yes, resistors are already in the emitter circuits - they go to bus expanders.

author: magic
author_rank: Super Contributor
timestamp: September 17, 2023, 06:08:07 pm
content: Darlington can't do that, but a simple 2N2222 emitter follower supplied from 3.3V or similar may be OK.I suppose a gate driver IC will be OK too.Either way, you will probably need a resistor to limit base current into those MPSA42.editIf turn-off speed is an issue, try a resistor from MPSA42 bases to ground. If still not enough, a better push-pull discrete solution would be complex enough for a single-IC alternative to look compelling.These solutions are simple enough you could try them on your direct-drive-by-MCU experiment board before reaching for an IC.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 17, 2023, 07:53:59 pm
content: You know those stories where a friend is telling about some minor problem in their relationship, and you ask them about some little part of it, and they come back with something far more shocking... so you ask about that... and it gets even worse?Yeah. You might want to completely reconsider what you're doing here. I don't know what it is, yet, but it isn't sounding good. Now, it might still end up a fine solution, sometimes odd approaches work out overall... but not often, and proportional justification is required to support such a conclusion.Tim

author: LinuxHata
author_rank: Frequent Contributor
timestamp: September 17, 2023, 08:50:58 pm
content: Yes I tried emitter follower but it does not work well - the current thru transistors depends on number of them being open at the moment, and this causes "breathing" in the loads connected to these transistors. This is a special circuit which drives custom, 16x12 "pixels" neon dot-matrix display which has 1 anode and 192 cathodes.Yes I know that I can use 200 resistors in bases of transistors, but even if I use resistor networks, still, too many to be soldered, so my idea is to use the serial LED CC drivers which are used in RGB dot matrix advertising boards, to drive and limit currents thru emitters and couple bases together to have PWM control over them. If I keep all transistors open, by applying hefty current thru fixed resistor to bases, everything works fine, but as I starting to modulate base current (delivered via emitter follower) via PWM, the overall brightness of display changes, as number of dots being on is being changed. This is particularly noticeable at PWM below 50%.

author: magic
author_rank: Super Contributor
timestamp: September 18, 2023, 05:15:16 am
content: I'm still not sure how it works, you say that all bases are connected together and driven by one PWM so how are individual pixels controlled?Anyway, noen lights sounds like high voltage, which means that a few volts dropped on emitter resistors hopefully won't be an issue. If your problem is that the MPSA42 are not regulating constant current precisely enough, you may get an improvement by increasing their individual emitter resistors to drop a volt or a few. Then drive their bases with constant voltage, without base current limiting resistor(s).editThere is going to be a potential problem, no matter how you end up limiting emitter current. If one collector load (neon light) goes open circuit, the corresponding transistor's base current increases from Ie/β to simply Ie, Ie being the nominal emitter current determined by resistor, LED driver or whatever else. Using MOSFETs instead would eliminate this nuisance, but their Vgs is higher and (AFAIK) not so consistent from unit to unit as bipolar Vbe.

author: LinuxHata
author_rank: Frequent Contributor
timestamp: September 18, 2023, 09:38:29 am
content: The circuit is as follows.Cathodes go to the "dots" of the screen.All bases are tied together and are getting PWM signal for brightness adjustment.All emitters are individually connected directly into constant current LED shift register. Macroblock MBI1828, which, besides enabling the specified emitter, also ensures that emitters get the fixed constant current.Everything is working fine, when PWM is 100%. But when PWM is say 10%, the whole screen "breathes" - more number of dots are on, lower the total brightness is.Replacing MPSA42 with FETs might be a great idea on paper, but in reality, I don't see any FET comparable in size, specs and price to MPSA42.

author: Doctorandus_P
author_rank: Super Contributor
timestamp: September 18, 2023, 11:24:32 am
content: Quote from: T3sl4co1l on September 17, 2023, 07:53:59 pmFirst parallelizing 200 transistors, and then 200 resistors is "too much". That is a thin line you're walking.You could use a few 74HCxxx TTL buffers (bus drivers) to buffer and boost your PWM signal, but be aware of their total dissipation and current handling. The root cause is probably a layer deeper. You write you need very fast switching. A better approach to multiplexing displays is to deliberately design in a dead time to prevent ghosting.

author: MrAl
author_rank: Super Contributor
timestamp: September 18, 2023, 11:57:16 am
content: Quote from: LinuxHata on September 17, 2023, 10:08:27 amHello there,That may work with a base resistor added or similar current limiting, but it depends on how fast you need the transistor(s) to turn off as well.If you need them to turn off as fast as possible, you need to drive the base emitter negative to turn off (assuming NPN transistors). That provides for the fastest turn off because it is said to sweep the charge carriers out of the base region.I used this a number of times myself, but also read this in a book borrowed from the Rutgers University Library in New Brunswick, NJ. on bipolar transistor theory.The base maximum negative swing depends on the transistor ratings, but is usually not more than -5 volts relative to the emitter. This is sometimes done with a negative supply or a 'snap off' capacitor, which is a cap that stores charge until it comes time to turn off the transistor and then it provides the negative supply briefly. If you have any doubts about that, just make sure the base gets a negative signal to turn off one way or another.

author: magic
author_rank: Super Contributor
timestamp: September 18, 2023, 06:33:44 pm
content: Quote from: LinuxHata on September 18, 2023, 09:38:29 amCollectors, I suppose.Quote from: LinuxHata on September 18, 2023, 09:38:29 amNot sure what's wrong. Normally I would guess it's insufficient base current, but that should also show up at 100% duty cycleBTW, you don't need a base resistor if emitter currents are actively limited. The base could be at 5V, then emitters are at 4.3V and the chips limit emitter current as long as they are able to operate at 4.3V supply.

author: T3sl4co1l
author_rank: Super Contributor
timestamp: September 18, 2023, 07:24:58 pm
content: Quote from: LinuxHata on September 18, 2023, 09:38:29 amThank you.That's not so bad. The key word iscascoded, you're using the BJTs to gate the LED driver current.Any solid drive should do, and with most of the current downward, a complementary emitter follower would be a pick. The voltage it would seem isn't very particular. A gate driver might work too, but mind they aren't rated for much DC; you might need a relatively large one.Operation is easily verified by checking that the PWM voltage is within range during the pulse, and not fluctuating significantly with load (number of lights at full brightness).Some further concerns, though:https://www.neumueller.com/datenblatt/macroblock/MBI1828_V1.01_EN.pdfTurning off outputs by series switch forces the OCD (open circuit detection). I don't know if that's a problem, but it's a nonlinearity, something additional, or different or unexpected, on top of the intended behavior. Verify that it isn't causing a problem.They don't seem to recommend a minimum current, and perhaps it's inversely proportional to Rext always, but "5-60mA adjustable range" appears in the description. It doesn't seem like this will necessarily do well for the low currents (max 2mA or so?) needed for neon bulbs.Speaking of neon bulbs -- what advantage does your method have over simplyturning it off and back on again, the supply that is? Surely a switched 100V (or whatever it is) supply would do, uh, about 200 times more efficiently on parts count? And at a fraction of the drive current (a small PNP and some level shifting will do).PWM itself: how are you updating the display registers? Is it in sync with the PWM, can it be done fully during the blanking period? If it's being updated during part of the on-period, or PWM and update aren't coherent, you will see frame tearing effects as part of the array is and isn't being updated from time to time. If the change is small, it doesn't matter (and slow change would seem to be the value of these continuous drivers, versus a matrix driver), but the faster it is, the stronger the aliasing.Or use the output enable on the chip; at 50V rating, you probably don't even need the cascodes. That's far enough between "on" and "off" for typical (healthy) neons.But updating the... wait, where's the serial input? This isn't a programmable chip? It's just a dumb eight-way current sink with features?! What are you... what's even the point? So you can just make series strings of these or whatever and switch 200 all at once, who cares? You're not making like a display or anything? Just a glow box with a hell of a lot of parts? You can probably find a neon tube in a zig-zag shape or something for even illumination, if you want the exact spectrum without the bother of two hundred damn bulbs... (Well, dimming a high voltage tube might not be so trivial. But I would seriously consider similarly-colored LEDs as an alternative at this point.)Tim

author: LinuxHata
author_rank: Frequent Contributor
timestamp: September 19, 2023, 04:13:22 am
content: You see them every day - MBI1828 and its clones/derivatives/etc.They are used in these giant LED video displays we see everywhere.So being "dumb" often has advantage of speed and price.