The Core Topology: Series RL for Current Smoothing

When you apply a DC voltage or a PWM signal to an inductor, the current does not change instantly. The current in a RL circuit follows an exponential curve dictated by the circuit's time constant. For makers and industrial designers, this isn't just textbook theory; it is the fundamental mechanism used to smooth chopped PWM signals into steady, analog DC current for driving proportional solenoids, 4-20mA current loops, and current-controlled LED arrays.

The standard series RL low-pass topology consists of four distinct nodes:

  • Node A (Input): The PWM or DC voltage source (e.g., a MOSFET drain switching a 5V rail).
  • Node B (R-L Junction): The connection point between the series resistor (R1) and the inductor (L1).
  • Node C (Output/Load): The output side of the inductor, connecting to the load or sense resistor.
  • Node D (Ground): The return path to the power supply ground.

The transient response of the current is defined by the equation:

I(t) = (V / R_total) * (1 - e^(-t / τ))

Where the time constant τ = L / R_total. On the bench, τ represents the time it takes for the current to reach 63.2% of its final steady-state value. By manipulating R and L, you directly control the rise time and the AC ripple of the current delivered to your load.

Why Series RL Over RC or Parallel Snubbers?

A common mistake on the workbench is defaulting to an RC (Resistor-Capacitor) filter for every PWM smoothing task. RC filters are excellent for smoothing voltage. However, if your load is strictly current-driven—such as a 4-20mA industrial sensor loop or a proportional hydraulic valve where magnetic force is proportional to amps, not volts—an RC filter will fail to provide a stiff, ripple-free current.

A series RL circuit acts as a low-pass filter for current. The inductor inherently resists changes in current flow (high impedance to high-frequency AC ripple) while passing DC with minimal loss (just the wire's DC resistance).

Conversely, a parallel RL topology (often called a snubber) is used across a switch or relay coil to dampen voltage spikes and absorb flyback energy. It does not smooth the forward current from a PWM source. For current smoothing, the series topology is the only correct choice.

Behavior Matrix: Shifting the Current Curve

Understanding how component tolerances and substitutions affect the output is critical when you are swapping parts from your bin. Here is how the circuit behaves when you alter the core elements.

Component Change Effect on Steady-State DC Current Effect on Cutoff Frequency (fc) Effect on AC Ripple / Smoothing
Increase R Decreases (Ohm's Law) Increases (Worse filtering) Ripple increases, response speeds up
Decrease R Increases Decreases (Better filtering) Ripple decreases, response slows down
Increase L No change (ignoring DCR) Decreases (Better filtering) Ripple decreases, rise time slows
Decrease L No change Increases (Worse filtering) Ripple increases, rise time speeds up
Bench Tip: Always check the inductor's DCR (DC Resistance). In low-voltage circuits (like 3.3V or 5V), a high DCR acts as an unintended series resistor, dropping your maximum achievable current and shifting your cutoff frequency higher than calculated.

Design Walkthrough: 5kHz PWM to 4-20mA Current Loop

Let's design a real circuit. We need to convert a 5kHz PWM signal from an ESP32 (buffered by a MOSFET to switch a 5V rail) into a smooth 0-20mA DC current to drive an industrial 4-20mA receiver.

1. Define the Target Resistance:
To get a maximum of 20mA from a 5V source, the total circuit resistance must be:
R_total = V / I = 5V / 0.020A = 250 Ω

2. Account for the Load:
The receiver has an internal sense resistance of 50 Ω. Therefore, our external filter resistor (R1) must be:
R1 = 250 Ω - 50 Ω = 200 Ω

3. Calculate the Required Inductance:
To effectively smooth a 5kHz PWM signal, the filter's cutoff frequency (fc) should be at least one decade (1/10th) below the PWM frequency. Target fc = 500 Hz.
Using the formula L = R / (2 * π * fc):
L = 200 / (2 * 3.14159 * 500) = 63.6 mH

4. Select Real Components:
We need a standard value near 63.6 mH. We select a 68 mH inductor. Crucially, we must verify the saturation current (I_sat). Since our max DC current is 20mA, almost any small signal inductor will work without saturating. We pick the Wurth Elektronik 744043680 (68mH, 0.52A saturation current, 3.2Ω DCR). For the resistor, a standard 200Ω 1/4W metal film resistor is perfect.

Decision Tree: Picking Your R and L Values

Use this decision path to lock in your component values for any current-smoothing RL application.

Condition / Question Action / Result
Is the load strictly voltage-driven (e.g., standard logic, op-amp input)? STOP. Use an RC filter instead.
Is the PWM frequency < 1 kHz? STOP. The required inductor will be physically massive and expensive. Use an active RC filter with an op-amp.
PWM frequency is ≥ 5 kHz and load is current-driven? PROCEED. Calculate R_total = V_max / I_max.
Calculated L value is > 100 mH? Increase PWM frequency if possible, or accept higher ripple. Inductors >100mH with low DCR are rare.
Is the inductor's I_sat rating < 1.2 * I_max? REJECT PART. The core will saturate, inductance will collapse, and ripple will return. Pick a larger physical inductor.
Final Default Pick for 5V, 20mA, 5kHz systems: 200Ω Resistor + 68mH Wurth 744043680.

Extreme Failure Modes: What Breaks When?

When troubleshooting a dead or noisy current loop, you must understand how the series RL topology fails at its mathematical extremes. Unlike simple resistive circuits, an RL circuit fails in highly specific ways depending on which element faults.

  • Shorted Resistor (R → 0Ω): The cutoff frequency spikes to infinity. The inductor is left to filter the PWM entirely on its own. Because the inductor's DCR is very low (e.g., 3.2Ω), the time constant becomes massive, but the steady-state current will massively exceed the load's rating, likely burning out the 4-20mA receiver or tripping the power supply's overcurrent protection.
  • Open Resistor (R → ∞): Current drops to absolute zero. The load turns off completely. Node B will float to the PWM voltage, which you can easily verify with a multimeter.
  • Shorted Inductor (L → 0H): The circuit becomes purely resistive. DC current will flow perfectly, but the AC PWM ripple will pass straight through to the load. The load will 'chatter' or the receiver will read erratic, fluctuating values. This is the exact symptom of inductor core saturation—if you push too much DC current through the coil, the magnetic core saturates, the inductance drops to near zero, and the part acts like a shorted inductor.
  • Open Inductor (L → ∞): Current drops to zero. The load turns off. Node C will float to 0V, while Node B will show the PWM signal on an oscilloscope.
Safety Note: When an RL circuit is suddenly opened (e.g., a switch disconnects Node A), the collapsing magnetic field in the inductor will generate a massive voltage spike (V = -L * di/dt) to keep the current flowing. If you are switching this circuit with a mechanical relay or a MOSFET, you must place a flyback diode in reverse-parallel across the inductor/load to clamp this spike, or it will destroy your switching transistor.

Breadboard Verification: Step-by-Step

Do not trust your math until you have verified the waveform on the bench. Follow this exact sequence to validate your current in a RL circuit design.

  1. De-energize and Check Continuity: With the power off, use your DMM in continuity mode. Probe from Node A to Node D. You should read a resistance equal to R1 + Load + Inductor DCR (e.g., 200Ω + 50Ω + 3.2Ω = 253.2Ω). If it reads open, check your breadboard contacts.
  2. Verify the Raw PWM: Power the circuit. Connect your oscilloscope probe to Node A. Confirm you have a clean, 5V peak-to-peak square wave at exactly 5kHz. If the edges are rounded, your MOSFET gate driver is too weak.
  3. Measure the Smoothed Current: Connect the oscilloscope probe to Node C (the top of the 50Ω sense resistor). Because V = I * R, the voltage across this resistor is a direct, scaled representation of the current. (1V = 20mA).
  4. Calculate the Ripple: Zoom in on the oscilloscope trace. You should see a flat DC line with a tiny sawtooth ripple. Measure the peak-to-peak voltage of that ripple. If your DC level is 1.0V (20mA) and the ripple is 50mV peak-to-peak, your ripple is 5%. For most 4-20mA industrial loops, ripple must be kept under 2%. If it is too high, swap the 68mH inductor for a 100mH unit.
  5. Test the Step Response: Change your ESP32 code to output a 1-second burst of 100% duty cycle, followed by 1 second of 0%. Trigger the scope on the rising edge. Measure the time it takes for the voltage at Node C to reach 0.632V (63.2% of 1V). This measured time is your real-world τ. Compare it to your calculated τ = L/R (68mH / 253Ω = 268 μs). If the measured time is drastically shorter, your inductor is saturating or your breadboard parasitics are interfering.

By treating the series RL topology as a deliberate current-control mechanism rather than an abstract textbook equation, you can reliably interface cheap microcontroller PWM outputs with demanding, precision industrial analog loads. Stick to the decision tree, respect the inductor's saturation limits, and always verify the ripple on the scope.