You find the current of a circuit in one of three ways: calculating it via Ohm’s Law (I = V/R), measuring it by reading the voltage drop across a known shunt resistor, or forcing it using an active constant-current topology. While calculation works for static resistive loads, it fails completely when your source voltage fluctuates—such as a discharging battery or an unregulated power supply. If you need to find, hold, and verify a precise current regardless of supply sag, you must design an active feedback loop.

The Core Problem: Why Simple Resistance Fails to Set Current

Suppose you want to draw exactly 500mA from a 12V lead-acid battery to test its capacity. Using Ohm’s Law, you calculate R = 12V / 0.5A = 24 ohms. You connect a 24-ohm power resistor and measure 500mA. Success, right?

Not quite. As the battery discharges, its terminal voltage drops from 12.8V down to 10.5V. Because your resistance is fixed at 24 ohms, your current drops proportionally to 437mA. You haven't 'found' a stable current; you've created a moving target. To maintain a strict 500mA draw across a varying voltage, the resistance of your load must dynamically adjust in real-time. This requires an active current sink.

Topology Showdown: Passive Resistor vs. Active Op-Amp Current Sink

To solve the varying-voltage problem, we replace the fixed resistor with an active topology: an op-amp driving a MOSFET, regulated by a sense resistor. Here is the node-by-node breakdown of the active sink topology:

  • Node A (V+): The positive terminal of the device under test (DUT) or power supply.
  • Node B (Drain): The drain pin of the N-channel MOSFET. This connects to Node A through the load.
  • Node C (Source/Sense): The source pin of the MOSFET, connected to the top of the sense resistor (Rsense). The op-amp's inverting input monitors this node.
  • Node D (GND): The bottom of Rsense, connected to circuit ground and the DUT negative terminal.

The op-amp's non-inverting input receives a stable reference voltage (Vref). The op-amp continuously adjusts the MOSFET's gate voltage to force the voltage at Node C to match Vref. Since I = Vref / Rsense, the current becomes entirely independent of the voltage at Node A.

CriteriaPassive Resistive LoadActive Op-Amp Current Sink
Current Stability vs. V-sourcePoor (Current drops as V sags)Excellent (Holds set point until V-dropout)
Component Count1 (Power Resistor)5+ (Op-amp, MOSFET, Rsense, Vref divider)
AdjustabilityFixed (Requires swapping resistors)Continuous (Adjust Vref via potentiometer or DAC)
Thermal DriftHigh (Resistor value shifts as it heats)Low (Op-amp compensates for Rsense thermal drift)

Behavior Matrix: What Happens When Elements Shift

Understanding how an active circuit reacts to component variations and fault conditions is critical for safe bench operation. Below is the behavior matrix for the op-amp current sink.

Element Changed or FaultEffect on Circuit CurrentPhysical Consequence
Increase VrefCurrent increases proportionallyMOSFET dissipates more heat; Rsense power increases.
Decrease Rsense valueCurrent increases (I = Vref / R)Same as above; verify MOSFET safe operating area (SOA).
Source Voltage (Node A) dropsNo change (until dropout)Op-amp drives gate higher to maintain Node C voltage.
Extreme: Rsense OpensCurrent drops to zeroOp-amp output rails high, turning MOSFET fully ON. If a load is present, it creates a dead short across the supply.
Extreme: Load ShortsCurrent spikes momentarilyCurrent is limited only by wiring resistance and MOSFET Rds(on). Op-amp saturates low, but inductive kickback may destroy the MOSFET without a flyback diode.
Safety Note: If Rsense fails open or a solder joint breaks at Node D, the feedback loop is destroyed. The op-amp will drive the MOSFET gate to maximum VCC, effectively shorting your power supply through the MOSFET's low Rds(on). Always place a fast-acting fuse in series with Node A sized just above your maximum target current.

Design Walkthrough: Building a 500mA Precision Current Sink

Let’s design a circuit to sink exactly 500mA from a 12V nominal source. We will use the LM358 dual op-amp and an IRLZ44N logic-level N-channel MOSFET.

1. Setting the Reference Voltage (Vref)

We need a stable Vref. Let's use an LM7805 linear regulator to step the 12V supply down to a clean 5.0V. We then use a voltage divider (two 10kΩ 1% metal film resistors) to split the 5V down to exactly 2.50V. This 2.50V feeds the non-inverting input (Pin 3) of the LM358.

2. Sizing the Sense Resistor (Rsense)

Using the formula I = Vref / Rsense, we solve for Rsense:
Rsense = 2.50V / 0.500A = 5.0 ohms.
Next, calculate power dissipation: P = I² × R = (0.5)² × 5 = 1.25W.
A standard 1/4W or 1/2W resistor will overheat and drift, or catch fire. Select a 5-ohm, 3W wirewound or metal oxide sense resistor (e.g., Vishay RS02B5R000FE70) to keep thermal drift minimal.

3. MOSFET Thermal Management

The IRLZ44N handles the current easily, but what about heat? The voltage drop across the MOSFET is V_supply - V_load - V_Rsense. If the load is just a wire (testing a power supply directly), the MOSFET drops almost the entire 12V.
Power dissipated = 12V × 0.5A = 6W.
The IRLZ44N in a TO-220 package has a junction-to-ambient thermal resistance of roughly 62°C/W. Without a heatsink, the junction temperature will rise 372°C above ambient, instantly destroying the silicon. You must mount the IRLZ44N to a heatsink rated for at least 10°C/W (like the Aavid Thermalloy 530002B02530G) to keep it under 80°C.

Breadboard Testing and Verification Steps

Do not just wire this up and throw the main breaker. Follow this strict verification sequence to prevent blowing your power supply or op-amp.

  1. Build the Control Loop First: Wire the LM7805, the 10kΩ voltage divider, and the LM358 power pins (Pin 8 to 5V, Pin 4 to GND). Leave the MOSFET gate disconnected.
  2. Verify Vref: Power the breadboard with a bench supply set to 12V, current-limited to 100mA. Use your multimeter to probe Pin 3 of the LM358. It must read exactly 2.50V (±0.02V). If it reads 0V or 5V, your divider is wired wrong.
  3. Connect the Gate and Sense Resistor: Power down. Wire the LM358 output (Pin 1) to the IRLZ44N gate. Wire the source to the 5-ohm Rsense, and Rsense to GND. Connect the multimeter in voltage-measurement mode across Rsense.
  4. Apply Load and Power Up: Connect your DUT (e.g., a 12V battery or supply) to Node A (Drain) and GND. Increase your bench supply current limit to 1A.
  5. Read the Shunt: The multimeter across Rsense should immediately read 2.50V. By Ohm's law, 2.50V / 5 ohms = 500mA. You have successfully found and forced the circuit current.
  6. Verify Line Regulation: Drop your bench supply voltage from 12V down to 6V. The voltage across Rsense should remain locked at 2.50V, proving the active sink is rejecting source variations.
Pro-Tip for Oscilloscope Users: If you are testing a battery and want to log the discharge curve, measure the voltage at Node A (Drain) with Channel 1, and the voltage across Rsense with Channel 2. If Channel 2 dips below 2.50V, your battery has hit its dropout voltage and can no longer sustain the 500mA load.

Decision Tree: Selecting Your Current-Control Method

How do you find the current of a circuit for your specific application? Use this decision path to select the right topology. We do not leave this to 'it depends'—follow the logic to your exact part selection.

Application RequirementRecommended TopologyConcrete Part Pick
Current is static, voltage is highly regulated, budget is near zero.Passive Power Resistor24Ω 5W Wirewound Resistor
Need to adjust current manually on the bench, I < 2A, V < 30V.Discrete Op-Amp + Logic-Level MOSFET SinkLM358 + IRLZ44N + 5Ω 3W Sense Resistor
Need high precision (0.1% accuracy), I < 1A, no manual tuning.Dedicated Linear Current Source ICLT3086 (Adjustable precision current source)
High power battery discharge testing, I > 5A, V > 24V.Commercial Electronic Load (Active Cooling)Rigol DL3021 or Korad KEL103 DC Electronic Load

The Default Verdict

For 90% of hobbyist and bench-top prototyping scenarios where you need to find, set, and verify a specific DC current under 2A, build the discrete LM358 and IRLZ44N active sink. It costs under $4 in components, teaches you the fundamentals of negative feedback and transconductance, and outperforms passive resistors in every measurable metric. For production environments or high-power battery cycling, bypass the breadboard and buy a dedicated DC electronic load module with integrated forced-air cooling and digital ADC readouts.

For further reading on active feedback loops, review the All About Circuits guide on constant current sources, and ensure your power dissipation calculations align with standard DC power and thermal derating principles.