Question: How do I design a circuit with an accurate current output into a nonlinear load resistance?
Answer: It’s easy to make current output devices. A number of simple circuits can deliver unipolar constant current into a varying or nonlinear load. Bipolar circuit options are more limited, although still quite simple.
I recently needed power for some LED lamps. Several engineer friends thought that I would have trouble making the variable current supply that is needed to allow them to be dimmed. In fact, I quickly modified some black brick laptop power supplies (bought for pennies at a car boot sale) to do the job1.
If the input to the amplifier is also a stiff current source (that is, a current whose value does not vary with loading), a current mirror using two matched bipolar junction transistors (BJTs), on a single chip to ensure temperature matching, is often all that is needed. The current is applied to both bases and one collector, the two emitters are grounded and equal current flows in the other collector – slightly more complex arrangements may improve performance but the basic circuit is often adequate.
It is far easier to obtain matched NPN BJTs than matched PNPs, although the latter are available. A current mirror of a current from positive supply to a grounded source with the mirrored current to a grounded load may be made with matched PNP transistors—but there are also a couple of fast current mirrors with a dynamic range of 106 (1,000,000:1), the ADL5315, and ADL5317.2
For a voltage input you simply need an op amp, a transistor (FET or BJT), and a resistor. The input is applied to the op amp noninverting input, the op amp drives the transistor gate/base, the resistor is connected to ground, and to the op amp inverting input and the source/emitter, and the output current flows in the drain/collector.
These circuits are normally grounded and their load is connected to a dc supply. Whether NPN/N-channel or PNP/P-channel devices are necessary depends on the supply polarity. If the current must drive a grounded load the circuit may be connected to the supply rail – but the signal input will require level shifting.1
If a bipolar current output is required, a standard voltage amplifier (probably an op amp) is used to drive the load through a small current sense resistor. Negative feedback to the amplifier is taken from a current sensing amplifier connected across this resistor. The supply voltage must be large enough to drive the maximum expected current into the maximum load under worst-case load bias conditions.
If a circuit requires a fixed current load despite varying voltage, a very simple (but not very stable with temperature) two terminal constant current device may be made from a depletion-mode JFET with a resistor connected between its source and its gate – the gate and the drain are the two terminals (with a N-channel JFET the drain is positive, with a P-channel one it's negative). The current is set by adjusting the resistor.
Next: But you could just use an IC