I'm trying to put together a constant current sink circuit for discharging small Lithium-Ion coin cells. I need to be able to sink from about 200 uA to 12 mA. My first thought was to use some voltage regulators like the LM317 or the LP2951. Unfortunately for the LM317 as the battery discharges from 4.2V to 3V the sink current doesn't remain constant at low currents (see attached picture2.png).

I've attached the circuit (picture1.png)- I'm measuring voltage across the 10 Ohm resistor to measure current. R2 is a 256 step digital potentiometer to set sink current. In Multisim it seems like I shouldn't have a problem getting down to ~200 uA, but in practice, I don't get the same currents when the voltage source is at 3V or 4.2V (I'm using a power supply to simulate a battery). In the attached graph of current vs. pot value, I can only maintain stable current between 3 and 4.2V at currents > 1mA.

I tried the LP2951 in the same circuit but got even worse results (picture3.png). What gives? I thought the 2951 was a low dropout regulator, and so should have no problem with the low output voltage?

Does anyone have a suggestion for a better voltage regulator or circuit design for sinking such low currents?






[edit] Now the OP has finally come up with a specification, 5% current stability over the 3v to 4.2v voltage range, I can come up with a definite circuit suggestion. Reread the original answer below, and you'll see that all these modifications are mentioned. It's not worth going to a more complicated circuit if it's not needed for the specification.


simulate this circuit – Schematic created using CircuitLab

According to the data sheet, the quiescent current of the AD8541 varies by 3uA over the voltage range 3v to 4.2v. That's 1.5% of 200uA, and less at higher currents. That's sufficiently less than the 5% spec to take on trust, though if it was found to vary by more than that, lower current opamps are available, which would be expected to have a lower current variation. In the limit, the opamp's current could be sensed and controlled for, but that doesn't appear to be necessary at this specification point.

The voltage reference D1 is driven by the regulated output voltage, so the reference diode current is unaffected by battery voltage.

The variable beta current of the transistor flows in the emitter and hence the load setting resistor, so is controlled.

Depending on the sign of OA1's offset voltage, the circuit may not start up without the trickle of current from R4. The current through R4 is part of the current flowing to the load setting resistor, so is controlled.

C1 may or may not be needed for stability. It's probably not needed, though that's where you'd put it if it was found to be necessary, and it may need to be bigger.

There's still no specification for temperature performance, in spite of asking several times, so it obviously doesn't matter. The tempco is poor, as it's controlled by an ordinary silicon diode. At the low current I've shown, 5uA flowing through the diode controlled by R3, the forward voltage is in the 500mV ballpark, and the tempco is around 2mV/C. Over a 10C temperature range, the reference voltage would change by 20mV in 500mV, or by about 4%. This may or may not be acceptable.

Replace D1 with a micropower shunt voltage reference if better stability with temperature is required. The most popular reference voltage available is 1.2ish volts, so adjust R1/2/3 to suit the reference. [/edit]

[original answer]

You do not make it clear how constant you want this current to be. It's obvious from the OP that line regulation must be better than what you show, but, how much better, and what about temperature?

The classic constant current sink, and a better version, is shown below


simulate this circuit

In the first circuit, the diodes maintain a moderately constant base voltage, and hence voltage across R1. The line regulation is reasonable. You would need to simulate it or build and measure to see whether it's adequate for you.

In the second circuit, the amplifier removes all of the variation due to the pass transistor's non-constant gm and VBE, but leaves several other errors uncorrected: the opamp and reference current variation with line voltage, the non-constant transistor beta, and of course the voltage reference is still far from precision. There are many amplifiers that a suitable for OA1, search for low power opamps. A good candidate would be the AD8541 (50uA supply, R2R, 2.7 to 5v, not expensive), but there are many others.

Replacing Q2 with a FET removes the beta variation of the bipolar. You would have to use a very low threshold device, but they exist.

Ideally you'd improve the R4/D3 voltage reference stability with a micropower voltage reference IC, of which many are available.

As an interesting way of improving further the reference line regulation, consider putting the reference diode in series with the programmable current path. How would you modify the amplifier feedback to use the now differential reference voltage? How would you make sure such a circuit would start up?

A very interesting modification of the first diagram would be to use a TLV431 instead of the NPN. These can be had very cheaply, and are a very versatile device. Intended as a 'programmable voltage zener', they behave like an NPN transistor with a very accurately defined VBE of 1.25v. Replace Q1 with a TLV431 to put an accurate voltage across R1, which you now program to draw current. You could use another one to replace R2/D1/D2 in the standard 'zener' configuration to give you (say) a 2v reference (they work over a current of 80uA and up), or you could put your programmable R around the voltage reference section to give you a variable voltage into your load resistor.

[/original answer]

  • \$\begingroup\$ Thanks for the comment, Neil! I guess I didn't make my original intention clear enough. I need to make sure that the current I am sinking from the battery is constant irrespective of the voltage of the battery. And the voltage of the battery needs to span at least 3 to 4.2V. And the range of sink currents needs to span at least 200 uA to 12 mA. The current should be as flat as possible across the voltage range of the battery, say 5%. When I simulate your two circuits above, I'm still seeing deviation from target when ranging from 3 to 4.2V on the voltage source. \$\endgroup\$ – jkrbasu Dec 20 '17 at 7:12
  • 1
    \$\begingroup\$ 'Constant irrespective of voltage', and 'flat as possible' are NOT specifications. 'Say 5%' is. Now we have a specification to work to. 5% at 12mA is easy to achieve. 5% at 200uA requires some cleverness. So to confirm, something that managed 200uA at 3v rising to 210uA at 4.2v would conform to your requirement? What about tempco? What variation in current would you permit with a change in ambient from (say) 25C to 30C. 'No change' is not a specification. 5%, 1%, 0.001% are specifications, though the latter is impractical, and 1% is unnecessary given the line regulation. \$\endgroup\$ – Neil_UK Dec 20 '17 at 7:38
  • \$\begingroup\$ @jkrbasu how does that look? See the importance of specifications? \$\endgroup\$ – Neil_UK Dec 20 '17 at 8:20
  • \$\begingroup\$ Hi Neil, sorry for the delay in my response and the lack of specifications. Yes- that circuit works well, thanks for taking the time to put it together! \$\endgroup\$ – jkrbasu Dec 20 '17 at 20:33
  • \$\begingroup\$ With regards to tempco, the batteries will be cycled in a constant temperature chamber at 30C. So hopefully tempco effects will be minimal. To be honest I hadn't thought about the deviation from target that could be accepted due to tempco alone, but I can say that greater than 5% isn't tolerable from any source, regardless of whether it is due to tempco or voltage of the DUT \$\endgroup\$ – jkrbasu Dec 20 '17 at 20:36

Linear voltage regulators cannot maintain regulation while passing arbitrarily small currents.

  • The LM317 (datasheet specifies a "Minimum load current to maintain regulation" of 3.5mA typical, 10mA max (page 5).

  • The LP2951 (datasheet) specifies a minimum current of 1mA (page 20)


A current sink is easy. 200 uA to 12 mA won't have much waste heat, either. It helps to have a regulated DC power supply, like this:


simulate this circuit – Schematic created using CircuitLab

The linear regulator puts 7.5V + Vbe onto the transistor base, and Iout*( R3 + R4) = 7.5V (assuming that Q2 and Q1 have matching Vbe). It helps if the transistors are nearby, or heatsinked together, or a dual package, because Vbe is temperature sensitive.

R4 limits the collector current to 12 mA when R3 is adjusted to zero. Transistor beta is over 100, so the output current error is a percent or so. You'll probably want a milliammeter in series with the device under test (DUT) when you adjust R3.

  • \$\begingroup\$ thank you! I already have a number of these components in house so I should be able to demo both your and Neil's circuits \$\endgroup\$ – jkrbasu Dec 20 '17 at 20:34

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.