Transistor as a current limiter

With a low enough average current, they won't run away. So why pulse?

There's still the beta matching problem, pulsed or not.

--

John Larkin                  Highland Technology Inc 
www.highlandtechnology.com   jlarkin at highlandtechnology dot com    

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom timing and laser controllers 
Photonics and fiberoptic TTL data links 
VME  analog, thermocouple, LVDT, synchro, tachometer 
Multichannel arbitrary waveform generators
Reply to
John Larkin
Loading thread data ...

It's all about control theory. Some closed loops oscillate, some don't.

A high-gain loop with two active elements, each with similar frequency rolloffs, is a prime candidate for oscillation. The added cap radically slows down one of those two elements.

--

John Larkin                  Highland Technology Inc 
www.highlandtechnology.com   jlarkin at highlandtechnology dot com    

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom timing and laser controllers 
Photonics and fiberoptic TTL data links 
VME  analog, thermocouple, LVDT, synchro, tachometer 
Multichannel arbitrary waveform generators
Reply to
John Larkin

On Sun, 14 Jul 2013 15:01:25 -0700, Jon Kirwan wrote:

--- The sim I posted earlier was wrong in that it didn't show what happened during power-up and power down. Sorry 'bout that...

This one does, and there still seems to be no tendency for the thing to oscillate without the cap.

Version 4 SHEET 1 1256 680 WIRE 0 -80 -112 -80 WIRE 240 -80 0 -80 WIRE 480 -80 240 -80 WIRE 656 -80 480 -80 WIRE 816 -80 656 -80 WIRE 976 -80 816 -80 WIRE 1136 -80 976 -80 WIRE 240 -48 240 -80 WIRE 480 -48 480 -80 WIRE 0 0 0 -80 WIRE 656 0 656 -80 WIRE 816 0 816 -80 WIRE 976 0 976 -80 WIRE 1136 0 1136 -80 WIRE 240 64 240 32 WIRE 240 64 160 64 WIRE 320 64 240 64 WIRE 160 96 160 64 WIRE 320 96 320 64 WIRE 656 96 656 64 WIRE 816 96 816 64 WIRE 976 96 976 64 WIRE 1136 96 1136 64 WIRE 0 144 0 64 WIRE 96 144 0 144 WIRE 480 144 480 32 WIRE 480 144 384 144 WIRE 656 192 656 160 WIRE 816 192 816 160 WIRE 976 192 976 160 WIRE 1136 192 1136 160 WIRE 0 208 0 144 WIRE 320 240 320 192 WIRE 384 240 320 240 WIRE 480 240 480 144 WIRE 480 240 448 240 WIRE 320 272 320 240 WIRE -112 336 -112 -80 WIRE 0 336 0 288 WIRE 480 336 480 240 WIRE 656 336 656 256 WIRE 816 336 816 256 WIRE 976 336 976 256 WIRE 1136 336 1136 256 WIRE 160 384 160 192 WIRE 416 384 160 384 WIRE 592 384 560 384 WIRE 752 384 720 384 WIRE 912 384 880 384 WIRE 1072 384 1040 384 WIRE -112 480 -112 416 WIRE 0 480 0 416 WIRE 0 480 -112 480 WIRE 320 480 320 352 WIRE 320 480 0 480 WIRE 480 480 480 432 WIRE 480 480 320 480 WIRE 656 480 656 432 WIRE 656 480 480 480 WIRE 816 480 816 432 WIRE 816 480 656 480 WIRE 976 480 976 432 WIRE 976 480 816 480 WIRE 1136 480 1136 432 WIRE 1136 480 976 480 WIRE 160 528 160 384 WIRE 560 528 560 384 WIRE 560 528 160 528 WIRE 720 528 720 384 WIRE 720 528 560 528 WIRE 880 528 880 384 WIRE 880 528 720 528 WIRE 1040 528 1040 384 WIRE 1040 528 880 528 WIRE -112 544 -112 480 FLAG -112 544 0 SYMBOL pnp 96 192 M180 WINDOW 0 69 69 Left 2 WINDOW 3 45 38 Left 2 SYMATTR InstName Q1 SYMATTR Value 2N3906 SYMBOL pnp 384 192 R180 WINDOW 0 74 67 Left 2 WINDOW 3 50 40 Left 2 SYMATTR InstName Q2 SYMATTR Value 2N3906 SYMBOL res 464 -64 R0 SYMATTR InstName R1 SYMATTR Value 68 SYMBOL res 224 -64 R0 SYMATTR InstName R2 SYMATTR Value 100 SYMBOL res 304 256 R0 SYMATTR InstName R3 SYMATTR Value 100 SYMBOL res -16 192 R0 SYMATTR InstName R4 SYMATTR Value 1k SYMBOL voltage 0 320 R0 WINDOW 3 24 96 Invisible 2 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 SYMATTR Value PULSE(0 3. 0 0 0 1ms 2ms) SYMATTR InstName V1 SYMBOL voltage -112 320 R0 WINDOW 123 0 0 Left 2 WINDOW 39 0 0 Left 2 WINDOW 3 24 96 Invisible 2 SYMATTR Value PULSE(0 3.3 0 10ms 10ms 50ms 100ms) SYMATTR InstName V2 SYMBOL diode 640 0 R0 SYMATTR InstName D1 SYMATTR Value 1N4148 SYMBOL diode 640 96 R0 SYMATTR InstName D2 SYMATTR Value 1N4148 SYMBOL diode 640 192 R0 SYMATTR InstName D3 SYMATTR Value 1N4148 SYMBOL diode 800 0 R0 SYMATTR InstName D4 SYMATTR Value 1N4148 SYMBOL diode 800 96 R0 SYMATTR InstName D5 SYMATTR Value 1N4148 SYMBOL diode 800 192 R0 SYMATTR InstName D6 SYMATTR Value 1N4148 SYMBOL diode 960 0 R0 SYMATTR InstName D7 SYMATTR Value 1N4148 SYMBOL diode 960 96 R0 SYMATTR InstName D8 SYMATTR Value 1N4148 SYMBOL diode 960 192 R0 SYMATTR InstName D9 SYMATTR Value 1N4148 SYMBOL diode 1120 0 R0 SYMATTR InstName D10 SYMATTR Value 1N4148 SYMBOL diode 1120 96 R0 SYMATTR InstName D11 SYMATTR Value 1N4148 SYMBOL diode 1120 192 R0 SYMATTR InstName D12 SYMATTR Value 1N4148 SYMBOL npn 416 336 R0 WINDOW 0 37 54 Left 2 WINDOW 3 60 24 Left 2 SYMATTR InstName Q3 SYMATTR Value BC817-40 SYMBOL References\\LT1634-1.25 0 32 R0 SYMATTR InstName U1 SYMBOL npn 592 336 R0 WINDOW 0 37 54 Left 2 WINDOW 3 60 24 Left 2 SYMATTR InstName Q4 SYMATTR Value BC817-40 SYMBOL npn 752 336 R0 WINDOW 0 37 54 Left 2 WINDOW 3 60 24 Left 2 SYMATTR InstName Q5 SYMATTR Value BC817-40 SYMBOL npn 912 336 R0 WINDOW 0 37 54 Left 2 WINDOW 3 60 24 Left 2 SYMATTR InstName Q6 SYMATTR Value BC817-40 SYMBOL npn 1072 336 R0 WINDOW 0 37 54 Left 2 WINDOW 3 60 24 Left 2 SYMATTR InstName Q7 SYMATTR Value BC817-40 SYMBOL cap 448 224 R90 WINDOW 0 0 32 VBottom 2 WINDOW 3 32 32 VTop 2 SYMATTR InstName C1 SYMATTR Value 100n TEXT -96 512 Left 2 !.tran .1

-- JF

Reply to
John Fields

I'm looking for the mathematical explanation -- quantitative

-- as well as the theoretical underpinning. Can you elucidate that?

Jon

Reply to
Jon Kirwan

No. I completely understand that behavior and it's NOT oscillation. Change C1 to 1p. Rerun. Looks better. Right?

Jon

Reply to
Jon Kirwan

Looking back on notes I wrote a long time ago, I find something like worst case 5% difference in Ic for small signal PN2222A parts from the same reel, without the use of degeneration. That suggests about 1.2mV of Vbe variation. With 100mV of emitter degeneration, I would naively expect

1.2% difference in Ic but my notes suggest that this was more like 0.6%. Suggesting a divide by 2 that I'm missed in my naive (without paper) analysis, which doesn't shock me.

Emitter degeneration is pretty effective. Not just with part variation but also with thermal runaway.

With LEDs soaking up most of the rail voltage, it's all just good.

Jon

Reply to
Jon Kirwan

For a quantitative, mathematical explanation, you'd need a couple of years of EE classes and a course on control theory. And you'd have to know all about the transistors in that circuit... Ft, capacitances, base resistances, all that.

The crude qualitative explanation is that a closed-loop negative feedback system with gain is stable if there is only one dominant pole, namely one first-order lag, one slow element. It has at most 90 degrees of phase shift as frequency goes up.

If the loop has two lagging elements, each can contribute 90 degrees at higher frequencies. There's usually some other mechanism that adds a few degrees of phase lag, so at some frequeny you get 180, and the negative feedback becomes positive. If that happens at a frequency when the gain is above 1, you get positive feedback with gain, and it oscillates.

Adding the cap radically slows down one of the two gain elements, so the loop runs out of gain at a low frequency, before the other one kicks in. We usually figure these sorts of things out with scribbled Bode plots, or Spice sims. Both will miss more complex issues, like RF oscillation.

Sorry, no simple explanation.

--

John Larkin                  Highland Technology Inc 
www.highlandtechnology.com   jlarkin at highlandtechnology dot com    

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom timing and laser controllers 
Photonics and fiberoptic TTL data links 
VME  analog, thermocouple, LVDT, synchro, tachometer 
Multichannel arbitrary waveform generators
Reply to
John Larkin

I have all of the mathematics required (which just happens to be most of the first two years of an EE degree -- I've checked.) I also have _some_ closed loop control theory, but mostly with PID -- I can do the math for that. I'm pretty sure I could follow anything you could write on the subject. I use calculus almost every single day of my life in my "other work."

I'm fairly well informed about the models. I cannot say I know "all about" them. Which is why I'm asking for help here. I don't need a broad brush-off. I think I could look at anything you are capable of preparing and asking informed and precise questions where I felt I didn't understand. I can navigate fairly complicated math, as I do it normally in my work.

I understand poles and zeros -- very simple thing mathematically. What I don't see is the equation showing them and how that equation is created from that particular circuit.

Just develop the simple poles-zeros equation for me and show me how you constructed it. I can do the rest. I won't need any further help.

Jon

Reply to
Jon Kirwan

--
Yes, and he's not really exact about the thermal time constant and how 
long it takes to cool back close enough to ambient to keep from 
ratcheting up to runaway.
Reply to
John Fields

--
My guess would be that when he built it he found ringing at turn-on 
and turn-off which he cured by connecting a cap across various points 
in the circuit until the ringing went away.
Reply to
John Fields

Sure, that is an assumption one can make. But it doesn't help me learn anything at all.

I already explained, in detail, what I can SEE that C1 actually does do. It makes the circuit WORSE, from one perspective. I will CAUSE a higher than normal leading edge current peak. And I completely understand exactly WHY it does that. I can actually sit down and easily compute the time constant and the peak excess that will occur for various component values, even, and get both results right (to the degree that Spice agrees, anyway.) So I do understand one thing that C1 does do and I frankly don't like it.

The problem for me remains, in that I still don't see the "other problem" nor why C1 fixes it. (It's hard to see how something gets fixed if you can't even see the problem in the first place, I suppose.)

Anyway, I want to be able to (1) see the problem, (2) COMPUTE the problem, quantitatively, (3) recognize cases where the problem is significant enough to be worth fixing, and (4) understand the effect C1 has on resolving that problem in the circumstances where it is a significant issue. I can follow a good argument, if someone would just make one.

So far, I'm clueless. And so far, John Larkin hasn't done anything to educate me. I'm not complaining. He owes me nothing. But he has wasted his valuable time on me, in effect, because what he has written is worse than just vague.

By the way, right now I'm struggling with the idea of how to actively enable individual half-current mirror BJTs in such a way that I can selectively enable various combinations of these extended mirror sections without impacting others which remain "on." I'm already including emitter degeneration of 1 Ohm (or 100mV at 100mA), which improves significantly in dealing with variations in Is and temperature variations with each BJT. And it works fine on a protoboard, so I'm liking that result. But if one of the BJTs has no load (infinite resistance in effect), it saturates like crazy and messes with the other BJTs. (And the degree of that problem gets worse with emitter degeneration, too.) So I need a cheap and easy way (I'm coming up with HORRIBLY EXPENSIVE and HARD ways I don't want to use) to be able to selectively activate an opposing switch (current source/sink on one side that is under active control and a BJT switch on the other side which selectively permits or blocks the programmed current.)

I'm just not seeing a simple way. It's all way too hairy for my liking. (Can easily see how it might be approached with MOSFETs, for example, but I get BJTs at better than 2 for a penny and I get MOSFETs for a LOT MORE than that, even when on sale.) I'm looking for a BJT and discrete (I can't do designs with equal emitter areas on common subtrates, for example, and I can't afford to throw dozens of BJTs at everything either because I'm not doing an ASIC.)

Fun problem.

Jon

Reply to
Jon Kirwan

What I told you is that loop analysis of a thing like this is far too complex for simple (and free) explanations. And it's nonlinear as hell, so closed-form solutions are impossible.

So simulate it, or even better build it.

I don't think my explanation of oscillation in 2nd order loops is "worse than just vague." This is sci.electronics.BASICS after all.

I still don't see any virtue in pulsing, as opposed to DC. If the PWM rate is high enough to avoid flicker, there's no "cooling off between pulses" advantage... if there ever was one.

--

John Larkin         Highland Technology, Inc 

jlarkin at highlandtechnology dot com 
http://www.highlandtechnology.com 

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom laser drivers and controllers 
Photonics and fiberoptic TTL data links 
VME thermocouple, LVDT, synchro   acquisition and simulation
Reply to
John Larkin

...

I'm certain that if I take this to a professor at a university I would get a quick and adequate explanation that would satisfy me and I would find that your "complexity" really isn't there, at all. (Doesn't mean I'm not blind -- but I think my eyes would be quickly opened when the right person answers.) Anyway, I suppose I will have to do that. I'm interested enough. Might have to wait for late September, but that's okay. I don't expect or get quantitative answers from you. But I have appreciated some of your answers all the same. So don't take it the wrong way. I just don't imagine you have the math, is all. But you have intuition and I accept and respect that.

I have simulated it. But one doesn't (and shouldn't) learn that way. A simulator is NOT reality. You don't hack and poke at a simulator to learn about reality. You use it as an effective tool to avoid doing those closed solutions you are talking about, but only when you already pretty much understand the theory and know why and where you are headed. It's a way of keeping you from missing something important that you already knew about, but didn't remember this time. Or in finding those operating points that would have you poking a calculator over and over again.

It was completely useless ... to me.

Yes. But this really isn't appropriate for the design group. It's too basic for that. And I imagine that when I get this in front of a professor in a few months, I'll find the answer extremely easy to understand and gather. (And he/she may just tell me that I'm right and it's not a problem.)

The other effect of the capacitor, the one which forces a rise in peak current at the leading edge is terrible and I do understand that very well.

That point is right, as far as the linked circuit goes and the author's discussion about thermal runaway.

However, in my case and in the case of anyone doing LED strings, the point is irrelevant. There is NO runaway that takes place in those cases. I've done it, tried it. It doesn't happen. What does happen is that the feedback BJT gets hotter than the others and that reduces the currents into the LED chains. Since that feedback BJT is under closed loop control, there is NO RUNAWAY. So it's not an issue.

Pulsing or otherwise.

Jon

Reply to
Jon Kirwan

Speaking of which, any thoughts on this issue:

I would plan to design the power supply to provide about 1.5V of headroom beyond what is needed by the LEDs at peak current drive. That should provide a good 1.2V for the current mirror side of things and 0.3V for the switch on the other end. (If it can be done with less headroom, so much the better.)

The issue is this:

To have a controlled current sink (or source) capable of supporting ... let's say at least 8 sinks/sources ... and where each sink/source can be individually enabled or disabled without affecting any of the others. Only BJTs as active devices. Only discretes, no ICs, no opamps, etc.

My imagination fails me for a reasonable solution here. How about yours?

Jon

Reply to
Jon Kirwan

I know guys who are working on PhDs in control theory. It's usually a junior or more often a senior elective in EE schools. Some things just aren't simple.

(Doesn't mean I'm not blind --

I have done serious LaPlace type math for control loops, but not lately. Simple loops, like LDO regulators or boosted opamps, I can do by guessing (if the poles are far apart) or with a quick Bode plot. Anything high-order of substantially nonlinear is easier to just simulate.

Today/tonight I'm simulating a boost switching regulator. It's a peak-current-limited thing with some foldback loops that smooth out startup and such. There's no way to do that analytically.

No argument there.

It makes sense to me, and I use the concept often, in real designs. You can eyeball time constants around a loop, without even a calculator, and estimate whether it will be stable. And if high performance isn't important, just increase one of the time constants to make it the dominant pole, get it stable, and be done. If you want critical damping or something, it takes a little more work.

Using the single dominant pole idea, the parts values here can be guessed successfully in an instant.

formatting link

--

John Larkin                  Highland Technology Inc 
www.highlandtechnology.com   jlarkin at highlandtechnology dot com    

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom timing and laser controllers 
Photonics and fiberoptic TTL data links 
VME  analog, thermocouple, LVDT, synchro, tachometer 
Multichannel arbitrary waveform generators
Reply to
John Larkin

How about an analog switch and an opamp per transistor? Opamp sections cost, like, 6 cents each these days.

Why not opamps?

--

John Larkin                  Highland Technology Inc 
www.highlandtechnology.com   jlarkin at highlandtechnology dot com    

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom timing and laser controllers 
Photonics and fiberoptic TTL data links 
VME  analog, thermocouple, LVDT, synchro, tachometer 
Multichannel arbitrary waveform generators
Reply to
John Larkin

The fundamental answer is because I want to learn how to do things without them. I have other reasons. But I'd like to know how to do the design needed to do this without handholding from opamp designers.

It's like building a telescope by buying a finished mirror. You can do it. But you don't learn much about the various orders of defects, how to recognize them, how to correct for them... that way. There is a huge difference between an amateur who has fabricated their own optical pieces, learned how to test and correct the figures, and created their own final unit and someone who just goes out and buys something.

That is the "elephant in the room" reason. But there are others, of course.

Jonm

Reply to
Jon Kirwan

Here's the best I can do with my meager imagination, John. This achieves my goals, but it takes 5 BJTs per section, plus

2 more BJTs for all sections. So the number of BJTs equals 5*N+2, where N is the number of individually controllable current strings.

It doesn't use a common current setting method, though. Each string is set individually through R1 (combined with the base drive voltage at Q1.) So I'd like to improve that detail, as well.

The example uses 6V for the LED supply and assumes 3.6V for the microcontroller Vcc for illustration purposes. It also uses two LEDs in a series chain, also for illustration purposes.

It's basically a diff-amp driven through a level shifter.

I'd love to see creative improvements (WITHOUT OPAMPS OR MOSFETS.)

Jon

Reply to
Jon Kirwan

No mosfets even?

formatting link

--

John Larkin         Highland Technology, Inc 

jlarkin at highlandtechnology dot com 
http://www.highlandtechnology.com 

Precision electronic instrumentation 
Picosecond-resolution Digital Delay and Pulse generators 
Custom laser drivers and controllers 
Photonics and fiberoptic TTL data links 
VME thermocouple, LVDT, synchro   acquisition and simulation
Reply to
John Larkin

My R2 above provides way too much gain. Should be a lot smaller -- orders of magnitude.

No mosfets. I'm not fighting in that jungle, yet. I might start if you know where I can get them for 2 for a penny in

10000 qty. (I give stuff away to kids and don't mind spending $50 to $100 for stuff I will simply give away to anyone interested.)

Jon

Reply to
Jon Kirwan

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.