I'm considering the idea of compensating a BJT current source (or sink) for temperature variation. I haven't read any detailed web pages, mostly because google doesn't find much with:
"temperature compensation" "bjt current source"
Only patents, it appears. Not teaching pages. And if I open this up to:
"temperature compensation" bjt "current source"
I get again lots and lots of patent pages plus a number of other things which seem unrelated to my interest. I admit not having tried to go through 30k+ hits, though.
No. I don't want to buy a temperature compensated IC device. I'm trying to learn as a hobbyist only, about designing such things from the ground up. It's a personal challenge to help me find and fill in holes in what I understand now. I am not trying to learn how to buy them from someone else who already knows how. I want the knowledge, not the parts.
My target is to have these designed for 20uA, 50uA and maybe 100uA -- sink and source. With supplies that will be from 5V to 15V, 8-9V to start out with.
So... I sat down to think about it a moment and came up with this:
The result of the above circuit using the standard BJT models, is a nice parabola which sits right at 41.5uA and varies over a temp range of 0C to 105C by no more than +/-65nA. In other words, it looks pretty nice.
My question is about making quantitative calculations based upon theory that will roughly bound the variation for me and allow me to set the resistor values given specific BJTs for Q1 and Q2 and a desired temperature stabilized current sink (or source, using the reflected topology.)
My initial idea was rather simple. Since Q1's Vbe varies roughly
2mV/C, and the Vbe sets the current source magnitude, I'm going to see something along the lines of 2mV/620mV or 3000ppm/C change in current, early on, and as the Vbe gets smaller, that rate of change only worsens from there. So not being happy with that, I figured if I rammed that through R3 to jack up the base of Q2, make R3 about the same value as R2 (because the magnification of that 2mV/C goes by R3/R2) as seen by the Q2 base, and then it will be the case that as Q1's Vbe shrinks as temp rises, dropping the current source's value and thus lowering Q2's base, that Q2's Vbe also shrinks by a similar amount thus causing its emitter to rise -- exactly compensating for the fall of Q2's base by the same amount (assuming R3=R2.)Now, it's also true that Q2 is an NPN and Q1 is a PNP and their Vbe variation over temp don't exactly match. That's fixable by adjusting R3 so that R3/R2 reflects the ratio of the mismatched Vbe variations. So that seemed easy enough to imagine.
Then I just set R4 to get the desired collector current and .. wow .. I should have it.
Thus, my first cut at the above circuit was to go look at the models and make up an R3 that reflected the difference and that worked out to about what shows, above. Although actually I computed an R3 a little larger than you see there.
R4 is what allows me to adjust the current sink value, so although that does monkey with the curve I'm not planning on changing R4 to move the temperature parabola around. That gets set for the current I want. This leaves R1 and R3 for adjustment of the temperature curve.
In playing around, I find that very, very slight changes in R3 will move the parabola bottom around very strongly towards lower or higher temperatures. Far less sensitivity is found with changes in R1. But since even a 50 ohm change in R3 (assuming that ~13k value) can move the parabola bottom over 50C, if the value is off by a few hundred ohms, no amount of adjustment of R1 will fix it. And I'm not yet taking into account the temperature variations of carbon or metal conductors that might be used in the resistors, either. So ....
Before I go set down with the temperature equations for Isat and the two BJTs and hit the books for the various temperature variations of resistor materials, etc, has anyone already done something like this and worked out the details to make a good design together with a calibration procedure for it? Should I consider applying more BJTs before settling down to work on the equations? If so, what topology would you suggest?
Jon