Constant Current Circuits with the LM334
A constant current source (CCS) in electronics is a device/circuit that produces a constant value of current regardless of source voltage or load resistance. Fig. 1 illustrates a common CCS circuit using a PNP bipolar transistor. The values of the Ic = Ib * hfe (Beta) of the transistor. A constant current circuit can also be used as a current limiter.
Maxim Semiconductor notes the following on why we need to use a constant current source. "When applying white LEDs for display back lighting or other illumination applications, there are two reasons to drive them with constant current:"
To avoid violating the Absolute Maximum Current Rating and compromising the reliability.
To obtain predictable and matched luminous intensity and chromaticity from each LED.
They note, "The forward current vs. forward voltage of six random white LEDs (three from each of two manufacturers) ... driving these six LEDs with 3.4V, for instance, will cause their forward current to vary from 10mA to 44mA, depending upon the LED."
Besides LEDs constant current sources are used with resistive sensors such as photocells and thermistors for greater stability and for current limited power supplies.
In Fig. 1 Ib is controlled by a 1K resistor and a 5K potentiometer. With a Vcc of 12-volts, we drop 0.6 volts across the base-emitter junction of Q1. We adjust the potentiometer for a base current of 3mA (.003 Amps.) If Q1 has a hfe of 50: Ic = .003 * 50 = 150mA or 0.15A.
These circuits are a must for operating high-power light emitting diode (LED) arrays. The circuit above is simple, can be a little unstable due to temperature drifts with Q1 causing current drift. That problem is minor compared to power supply drift can cause far greater instability.
Fig. 2 shows a more stable constant current source using a LM741 OP-AMP. The collector current Ic = (Vcc - Vref) / RE. In the example above with Vref = 1.5V and RE= 10 Ohms; (12V - 10.5V) / 10 = 150mA. This design is more stable due to feedback to pin 2 on the LM741 when temperature changes cause current changes with Q1. The 20K pot can be replaced by fixed resistors.
Big plus is Ic is not dependant on Q2 hfe - hfe is DC current gain.
This was tested and worked well even down to 5-volts driving a white power LED at 150mA at 3.2V. The only weakness is current swings due to power supply changes.
Fig 3 uses a LM334 a three-terminal current source designed to operate at current levels from 1uA to 10mA as set by an external resistor Rset. The device operates as "a true two-terminal current source, requiring no extra power connections." It can also operate as a temperature sensor.
In this example I'm using the LM334 to control Ib on Q3. Rset is the R1 and R2 combination adjusted for 100 ohms. Iset = Ib = 67.7mV / Rset = 677uA. Ic = Ib * hfe; Ic = 677uA * 180 = 120mA. Q3 was a 2N2907. See LM334 Spec sheet.
This is far superior to the two earlier circuits because power supply swings produced little measurable change in Ic. But the LM334 suffers from a maximum drive current of only 10mA and there are many applications where far higher currents are need.
In our next section we explore using the LM317 variable voltage regulator in its constant current source mode.
- Constant Current Circuits with the LM334
- LM334 Constant Current Source with Resistive Sensors
- LM317 Constant Current Source Circuits
- Introduction Hall Effect Switches, Sensors, and Circuits
- Using Ratiometric Hall Effect Sensors
- Pulse Width Modulation Power Control for Microcontrollers
- Introduction to PIC12F683 Programming
- Basic Transistor Driver Circuits for Micro-Controllers
- Opto-Isolated Transistor Drivers for Micro-Controllers
- LM317 Constant Current Source for Lighting LEDs
- LM2575 Simple Switching Voltage Regulators
- Simple 2 Transistor LED Flasher Circuit
- Voltage Buck-Boost Transformer Connections Tutorial
- Arduino Buck Switching Voltage Regulator Demo
- Switching Regular Configuration Review
- Generating High Voltage with an Inductor
- Arduino Port Registers Revisited
- Digispark ATtiny85 with MCP23016 GPIO Expander
- Safely Build Program a H-Bridge
- Build H-Bridge Motor Control Without Fireworks
- MOSFET H-Bridge for Arduino 2
- Arduino Projects Revisited Revised
- Some Sample YouTube Videos
- Arduino Solar Battery Charge Controller
- Zener Diode Tutorial
- Simple Power Distribution for Prototype Board
- Program Arduino Ports for Speed and Control
- Safely Program H-Bridge Motor Controller
- Build H-Bridge Motor Control without Fireworks
- MOSFET H-Bridge for Arduino 2