This design idea reprises another “1 A, 20 V, PWM controlled current source” (Ref. 1). Like the earlier circuit, this design integrates an LM3x7 adjustable regulator with a PWM DAC to make a programmable 20 V, 1 A current source. It profits from the accurate internal voltage reference and overload and thermal protection features of this time proven Bob Pease masterpiece!
However, unlike the earlier design idea that requires a floating, fixed output 24-VDC power adapter, this sequel incorporates a ground-referred boost preregulator that can run from a 5-V regulated or unregulated supply rail. The previous linear design has limited power efficiency that actually drops below single-digit percentages when driving low voltage loads. The preregulator in this version fixes that by tracking the input-output voltage differential across the LM3x7, maintaining it at a constant 3 V. This provides adequate dropout-suppressing headroom for the LM3x7 while minimizing wasted power and unnecessary heat.
Here’s how it works. LM317 fans will recognize Figure 1 as the traditional LM317 constant current source topology that maintains IOUT = VADJ/RS by forcing the ADJ pin to be 1.25 V more negative (a.k.a. less positive) than the OUT pin. It has worked great for 50 years, but of course the only way you can vary IOUT is by changing R.
![]() |
|
Figure 1. | A classic LM317 constant current source where: IOUT = VADJ/RS = 1.25 V/RS. |
Figure 2 shows another (easier) way to make IOUT programmable. The circuit enables control of ampere-scale IOUT with only milliamps of IC control current.
![]() |
|
Figure 2. | A modification that makes the current source variable where: IOUT = (VADJ – ICRC)/RS – IC. |
Figure 3 shows this idea fleshed out and put to practical use. Note that RS = R4 and RC = R5.
![]() |
|
Figure 3. | U2 current source programmed by U1 PWM DAC and powered by U3 tracking preregulator. |
Figure 2’s IC control current is provided by the Q2 Q3 complementary pair. Since Q3 provides tempco compensation for Q2, it should be closely thermally coupled with its partner. Q4 does some nonlinearity compensation by providing curvature correction to Q2’s IC control current generation. The daisy chain of three 1N4001 diodes provides bias for Q2 and Q4.
The PWM input frequency is assumed to be 10 kHz or thereabouts. Ripple filtering is the purpose of C1 and C2 and gets some help from an analog subtraction cancellation trick first described in “Cancel PWM DAC ripple with analog subtraction” (Ref. 2).
About that tracking preregulator thing: Control of U3 to maintain the 3 V of headroom required to hold U2 safe from dropout relies on Q1 acting as a simple differential amplifier. Q1 drives U3’s VFB voltage feedback pin to maintain VFB = 1.245 V. Therefore (if VBE = Q1’s base-emitter bias, typically ~0.6 V for IE = ~500 µA)
Note, if you want to use this circuit with a different preregulator with a different VFB, just adjust:
Finally, a note about overvoltage. Current sources have the potential (no pun!) for output voltage to soar to damaging levels (destructive of U3’s internal switch and downstream circuitry too) if deprived of a proper load. R11 and R12 protect against this by utilizing U3’s built in OVP feature to limit max open circuit voltage to about 30 V if the load is lost.
References
- Woodward, Stephen. "1A, 20V, PWM controlled current source."
- Woodward, Stephen. "Cancel PWM DAC ripple with analog subtraction."