How to create current sources

My Codidact paper How to create current sources


Paper

Background

Constant current sources (simply, current sources) are useful and necessary devices. They are widely used to drive LEDs, charge capacitors and batteries, bias differential amplifiers, etc. The only problem is that... there are no such devices in nature; almost all of sources are (constant) voltage sources. So we have to make them.

Many specific circuit solutions of current sources are considered in web and books. But it is interesting to see the general ideas on which they are based… the “philosophy” behind them. If we know it, we will be able to understand completely unknown circuit solutions… and even create new specific current source implementations.

So what are the basic ideas behind current sources? How are they implemented in practice? Why are they implemented exactly in such a way? What do active elements in these circuits do? What functions do they perform?

Story implementation

I will expose my philosophy in a form of a "building scenario" consisting of a few consecutive steps each of them illustrated by a colorful picture. The left part **a** is a conceptual electrical circuit illustrating the basic idea; the right part **b** is an exemplary electronic circuit based on this idea. The quantities do not have exact values. The representation by voltage bars is approximate but the voltage polarities and current directions are real, not arbitrary.

In most cases below, I suppose that current sources produce constant current and the load (usually resistive type) varies its resistance as a disturbance. This arrangement best reveals the current source behavior when disturbed.

For the purpose of understanding on this intuitive level, when introducing concepts, I have used an unconventional language where, to elicit associations with well-known phenomena, terms are descriptive and figurative. These are well-known techniques for creative thinking. However, the applications are explained in conventional terms.

I have managed to extract six fundamental techniques from the variety of specific current source implementations. I will be happy if you can enrich them with more. Let's clarify first...

Are current sources really sources?

"True" current source. The simplest electrical circuit possible consists of two elements - source and load (Fig. 1a). Here the source is a *true* current source (in the sense it can "produce" energy). The simplest load is a *resistor* with resistance RL.


Both current and resistance can vary depending on the specific application. For example, an *analog current loop interface* is shown in Fig. 1b. At the input of the long line, the input voltage VIN is converted to current I by a *voltage-controlled current source*. Then, at the output of the line, the current is converted back to a voltage drop across the resistor RL. In this arrangement, varying current flows through constant resistance and creates varying voltage drop across it. This voltage is defined by Ohm's law and can be significant. In other examples below, the current will be constant and the resistance will vary.

The point of using a current interface is that the current source overcomes any undesired resistances and voltage drops along the line by increasing its internal voltage or reducing its internal resistance (see Fig. 4-7 below).

**"Untrue" current source.** Electronic circuits are supplied by a power supply which negative terminal (usually) serves as a ground (Fig. 2a). The pair of source and load above is usually "stretched" between the supply rails. More frequently, the source is connected to the negative supply rail (ground) and acts as a *sink*; the load is connected to the positive rail and acts as a *pull-up element*. The current source is not true in the sense it cannot "produce" energy.

Each of the three attributes - current, resistance and voltage, can vary depending on the specific application. Let's for example consider the more interesting situation where the voltage varies while both current and resistance stay constant - the so called "voltage shifting". This technique is applied by Bob Widlar in the internal structure of his first op-amp 702 (Fig. 2b). Let's consider this ingenious circuit solution.

[![Untrue current source][2]][2]

Fig. 2. Voltage-shifting circuit solution (in Widlar's 702 op-amp)

The emitter follower Q5 acts as the voltage source V from the conceptual Fig. 2a and sets the voltage of the upper end of R5. The current "source" Q9 sets constant current through R5 and accordingly, constant voltage across it. Thus the resistor R5 acts as a kind of "Zener diode" that "shifts" down the voltage variations of Q5 emitter to Q6 base.

Now we can move on to the main issue...

How do we create current sources?

---------------------------------

**1. Static resistor.** Аlthough, in electronic circuits, the element "producing" the current I is represented by the symbol of a current source, it is not a source in the literal sense of the word because it does not "produce" power; on the contrary, it consumes power. You can convince yourself by seeing that, in Fig. 2a above, the voltage polarity of the current source does not correspond to the current direction. If it was a source with a big enough current magnitude, it could change the polarity... but it cannot... and the voltage magnitude is limited to the supply voltage.

So, this mysterious element is something like a resistor. In the simplest case, it is exactly a resistor (RI in Fig. 3a). What is the need of this resistor?

[![Static resistor][3]][3]


Fig. 3. BJT current mirror

Basically, to produce current, according to Ohm's law I = V/RL, we need only the voltage V and load resistance RL. The problem of this extremely simple "current source" is the current will be totally determined by the load... and when the load varies, the current will vary as well. That is why, to suppress the load resistance RL, we connect an additional resistor RI.

An example of such a "resistor" current source is the input part of the BJT current mirror (Fig. 3b above). The resistor RI sets the current through the T1 output part acting as an "active diode". The current is relatively constant since the load does not significantly vary.

In the case of varying load resistance, we can increase RI. The higher RI is, the more the current will depend on it... and will not depend on the load variations - I = V/(RI + RL); only the current will be small since the voltage is constant and limited. But if we increase enormously both voltage V and resistance RI, RL will become negligible compared to RI... and we will come to the well-known definition of the ideal current source from textbooks on electrical engineering - a source with infinite high voltage and resistance. They are high but constant (static)... and this is the trouble causing big power losses in RI. An example of such a "perfect" current source made in this silly way, is a LED powered through a (big) resistor by the mains. 

**2. Dynamic resistor.** In electronic circuits, we do it in a more clever way - by varying RI oppositely to RL variations. As a result, the total resistance is constant... and the current is constant as well (Fig. 4a). RI is dynamic but low... so the power losses are low. We have the illusion of extremely high (differential) resistance but the actual (static) resistance is low.

[![Dynamic resistor][4]][4]

Fig. 4. BJT current source (sink)

In practice, dynamic resistors are implemented by transistors (BJT, MOSFET) having such a behavior. For example, a simple BJT current source is built in this way on Fig. 4b.

**3. Dynamic voltage source.** In the arrangement above, to keep the current constant, we varied the resistance RI while keeping the voltage V constant. With the same success, we can vary the voltage V while keeping the resistance RI constant... i.e., supply the RI-RL network by a "dynamic voltage source" (Fig. 5a). For example, if RL increases its resistance, the voltage drop VL = I.RL across it will increase... but the voltage source will increase its voltage V with the same value... and the current I = V/(RI + RL) will not change. Figuratively speaking, the voltage increase removes the load resistance increase... as though it acts as equivalent *negative resistance* that removes the positive resistance increase.

[![Dynamic voltage source][5]][5]

Fig. 5. Improved Howland current pump

An excellent implementation of this technique is the ingenious circuit solution of the so-called "improved Howland current pump" (Fig. 5b). Here the op-amp acts as the dynamic voltage source V which output voltage is "lifted" (by the inverting input) with the constant voltage VRI above the load voltage VL. The output voltage follows the variations of the load voltage VL by the mechanism of a positive feedback. The combination of the op-amp and the four resistors R can be thought as two cascaded circuits - the voltage divider on the right with ratio of R/(R + R) = 1/2 and the non-inverting amplifier on the left with gain of (R + R)/R = 2. Thus the total transfer ratio of the whole circuit is 1 and the load voltage variations (at the lower end of RI) appear at the op-amp output (at the upper end of RI). As a result, there is a constant voltage drop across the constant resistor RI; so the current through RI and RL is constant (does not depend on the load). The circuit can be thought as of a "shifted voltage follower" that behaves as a current source with extremely high differential internal resistance.

Note, although there are two kinds of feedback - negative and positive, *this current source does not use any feedback to keep the current constant*... it is a current source without negative feedback. The circuit blindly correct the input voltage without monitoring the final result - the load current. That is why, the resistances should be precise.

**4. Additional voltage source.**

The "improved Howland idea" is brilliant but in many cases we cannot change the supply voltage according to the load voltage (for example, when it is at a great distance from the load). Then another great idea helps us - instead of increasing the supply voltage with the increase needed, we add it by connecting another voltage source VH in series (and in the same direction) to the main voltage source V (Fig. 6a). The result is the same but there is a crucial advantage - we can place this "helping" voltage source close to the load.

We can see this idea in the ubiquitous circuit of the *op-amp inverting amplifier* if we draw it in a more unusual way (Fig. 6b). The elements with positive voltages are drawn above the zero voltage line (ground); the elements with negative voltages are drawn below the zero voltage line. As though, the lower circuit part is a mirror copy of the upper part.

[![Additional voltage source][6]][6]

Fig. 6. Op-amp inverting amplifier

To add its output voltage VOA to the input voltage VIN, the op-amp is forced to go below zero; hence the need of the additional negative power supply V-. As you can see from the circuit diagram, the op-amp output voltage "source" VOA (VH in the conceptual picture **a**) is connected in series to the input voltage source VIN (V); so their voltages are summed. The circuit can be thought as of a bridge circuit where the voltages on the left are equal to the corresponding voltage drops across the resistors on the right.

Again, the op-amp output voltage VOA compensates the voltage drop VL across the load... as though it acts as an equivalent (current-controlled aka VNIC) *negative resistance* that removes the positive load resistance. As a result, the combination of the op-amp, V- and RL acts as a "piece of wire" (the so-called *virtual ground*) and the current depends only on the resistance RI and the input voltage VIN (it does not depend on RL).

An interesting fact is, as above, although there is a negative feedback in this inverting circuit, actually this current source does not use a negative feedback to keep the current constant... it is a current source without negative feedback. It uses the mechanism of the negative feedback only to copy the voltage across the load at the op-amp output with the purpose to destroy it then by subtracting.

**5. Negative feedback.** Of course, the perfect technique is to monitor the final result - the current produced; thus all kinds of disturbances will be compensated. For this purpose, first we convert the current to a voltage drop by passing it through a current sense resistor RI (Fig. 7a). Then we compare this voltage drop with the reference voltage VREF by means of comparing device (zero voltage indicator in this conceptual picture)... and change the current by the variable resistance R (or the voltage V). Let's see how this idea is implemented in the classic common-emitter stage with emitter degeneration acting as a current source (Fig. 7b)

[![Negative feedback][7]][7]

Fig. 7. Transistor current source with emitter degeneration

The reference voltage VREF is "produced" by the voltage divider R1-R2. The load current passes through the emitter resistor RE (RI in Fig. 7a) and "creates" proportional voltage VE = RE.IL across it. The transistor T compares these voltages by its base-emitter junction and changes its dynamic "resistance" RT (R in Fig. 7a) until VE becomes (almost) equal to VREF (it would be exactly equal by including the emitter follower T in the negative feedback of an op-amp). So, if RL varies, RT will vary in opposite direction so that the total network resistance RL + RT + RE stays constant... and, as the supply voltage VCC is constant, the current IL = VCC/(RL + RT + RE) passing through the network is constant.

Another implementation of this idea is the so-called [constant-current diode](https://en.wikipedia.org/wiki/Constant-current_diode). It is simpler and floating 2-terminal current source implemented by an JFET.

------------

Then, since circuits with negative feedback are so good, why are circuits without negative feedback still widely used? Compare the conceptual Fig. 7a with all other figures and you will find the answer - it contains one resistor in more that is needed to sense the current. The problem is not the very resistor but the voltage drop across it. That is why, the input part of the simple BJT current mirror (Fig. 3b) is built without negative feedback. 

**6. Additional current source.** In Fig. 6 above, we compensated the "undesired" voltage drop across the load by adding a supplementing voltage VH to the main supply voltage V. For this purpose, we connected an additional "helping" voltage source in series to the load. With the same success we can directly compensate the load current decrease (due to RL) by adding additional current to the initial load current. Let's see what its magnitude is.

The current produced by the simplest current source in Fig. 3a is IL = (VIN - VL)/RI = VIN/RI - VL/RI. It differs from the desired current IL =VIN/RL by the term (error) VL/RI… and this is the magnitude of the additional current that we have to add to remove the error. So we can connect a "helping" current source producing the current IH = VL/RI in parallel to the load (Fig. 8a) and its current will complement the decreased load current to the desired constant magnitude. More precisely, it is a voltage-controlled current source (VCCS) driven by the load voltage VL.

[![Additional current source][8]][8]

Fig. 8. Classic Howland current pump

This idea is implemented in an ingenious way in the original *Howland current pump* (Fig. 8b). I will explain it in two ways - conventional and imaginative.

According to the general idea above, we can see three devices in parallel: an *imperfect input current source*, a "helping" current source and a load RL. The imperfect current source is implemented by the input voltage source VIN with a resistor R in series. The "helping" current source consists of the op-amp and the other three resistors R. This combination can be considered as a non-inverting amplifier (consisting of the op-amp and the voltage divider of two R) with a gain of 2. Its output voltage (twice the load voltage VL) is converted to the current IH = VL/R that is injected back into the load. As a result, the load current increases - IL = IIN + IH = (VIN - VL)/R + VL/R = VIN/R. So it does not depend on the load voltage.

With more imagination, we can see in this VCCS another type of negative resistance - *voltage-controlled* aka INIC. Now it neutralizes the positive internal resistance R of the imperfect input voltage source making it infinite high. 

Like in the *improved Howland current pump*, there are two kinds of feedback - negative and positive... but the negative feedback is not used to keep the current constant. The circuit blindly "calculates" the correcting current IH without monitoring the final result - the load current. That is why, the resistances R should be precise.

See also

--------

[How do we create current sources?](https://electronics.stackexchange.com/questions/479081/how-do-we-create-current-sources)

[Understand](https://www.circuit-fantasia.com/circuit_stories/understanding_circuits/current_source/current_source_philosophy.htm) -> [build](https://www.circuit-fantasia.com/circuit_stories/building_circuits/current_source/current_source_philosophy/current_source_philosophy.htm) -> [invent](https://www.circuit-fantasia.com/circuit_stories/inventing_circuits/current_source/current_source_philosophy/current_source_philosophy.htm) constant current sources

[Building the simplest transistor current source](https://en.wikibooks.org/wiki/Circuit_Idea/Simplest_Transistor_Current_Source)

[Op-amp Inverting Voltage-to-Current Converter](https://en.wikibooks.org/wiki/Circuit_Idea/Op-amp_Inverting_Voltage-to-Current_Converter)

[What is "current source"?](https://www.researchgate.net/post/What_is_current_source_Are_there_true_current_sources_If_not_how_do_we_create_artificial_current_sources_How_do_we_make_them_perfect2)


Comments