# Programmable pulsed current power supply

I am wanting to build a lab-scale or benchtop power supply circuit which can produce theoretically square (practically trapezoidal-ish) pulses of frequency and duty cycle that can be set via Arduino/ESP32/other microcontroller. I'm comfortable with the programming side of things, but am unsure about how to get the desired output. 100 mA pulse peak would be sufficient, and I wouldn't be looking at pulse frequencies higher than 1 kHz.

This academic article gives a great starting point, but the high current OPAMP is now obsolete/unavailable.

My question is what sort of alternate topologies could I use instead of the opamp to provide the pulsed current output? I'm guessing some use of MOSFETs or other power transistors to regulate the programmed pulse peak current...

I'm a novice in electronics, so I apologise if this is common knowledge and/or my tags are inappropriate.

• What voltages are we talking about here?
– vir
Commented Jul 4 at 0:46
• Commented Jul 4 at 7:57
• OPA549 is already active? Commented Jul 4 at 8:07
• I'm curious to know if I can use something other than a high current opamp, otherwise I'll have to bite the bullet and fork out for one.
– Kiwi
Commented Jul 4 at 8:56
• I imagine the output voltages would be no more than the +/- 5V range?
– Kiwi
Commented Jul 4 at 11:35

## 3 Answers

For currents of 100mA or so, at 1kHz or less, I don't think you need much more to make that Howland-like current source work well, using almost any op-amp:

simulate this circuit – Schematic created using CircuitLab

Q1 and Q2 are a push-pull buffer to alleviate the op-amp of responsibility for current. It will have some cross-over distortion, but since your inputs are stepped, that shouldn't be a concern.

We need $$\\frac{R_3}{R_4}=\frac{R_5}{R_6}\$$ to keep common-mode gain near zero. Output current $$\I_{OUT}\$$ will be:

$$I_{OUT} = V_{IN}\frac{R_3}{R_4}\cdot \frac{1}{R_2}$$

Using the values shown, this evaluates to:

$$I_{OUT} = \frac{V_{IN}}{10\Omega}$$

This is an approximation, since some of that current will flow via R5, but as long as you keep R5 >> R2, it's very close. Using the values shown, error should be within 0.5%, which is still smaller than any error you might see due to resistor tolerances.

This design can only apply ±11V across load $$\R_L\$$, at most, so the largest resistance load that you'll be able to push 100mA through is:

$$R_{L(MAX,100mA)} = \frac{11V}{100mA} = 110\Omega$$

Also, don't forget that Q1 and Q2 are dissipating a couple of watts, potentially, so they should be power devices (like the TIP models shown), and you may need small heatsinks on them.

There will be some crossover distortion, due to the absence of biasing of Q1 and Q2, but since your inputs are stepped, this shouldn't be a problem. In any case, you can mitigate crossover distortion by using a high output slew rate op-amp, like the TL081 shown. Even a slow device like the LM358 should work here, at 1kHz.

Here is load current for a stepped input $$\V_{IN}\$$ with values 0V, 1V, -0.75V and +0.5V:

Output current transitions are slowed somewhat by C1 and C2, which try to keep the closed loop stable for badly-behaved loads.

• Awesome breakdown! Thanks for the helpful explanations and suggestion :)
– Kiwi
Commented Jul 5 at 8:49

Made with microcap v12.

If you want a "little" output voltage, something like this could be used ...
Output transistors are allowed to ~ 10 W out.

And here, the behavior with TIP120/TIP125 under pulse operation.

• So, replacing V3 with PWM "square" wave from microcontroller would produce the rectangular waves I'm after, as opposed to the sinusoids in your plots? Could I replace the Q1/Q3 and Q2/Q4 pairs with something like TIP120/TIP125 matched pair?
– Kiwi
Commented Jul 4 at 11:38
• Yes, PWM would do. You can replace with your BJT. I added in answer the behavior. Works until 2 A. Commented Jul 5 at 6:34
• Awesome, thank you so much for your helpful circuit sims and explanations :)
– Kiwi
Commented Jul 5 at 8:51

Search for 'opamp current booster circuit' or 'opamp current booster schematic' (without quotes) to get dozens of examples, tutorials, and app notes. National Semiconductor (now part of Texas Instruments), Linear Technology (now part of Analog Devices) and Texas Instruments have app notes on this topic.

Here is a tutorial on another site:

https://www.allaboutcircuits.com/technical-articles/how-to-buffer-an-op-amp-output-for-higher-current-part-1/

I posted a circuit using the LT1210, but have deleted it as expensive overkill. However, the LT1210 can do what you want without any external power-boosting components.

Here is a magazine circuit from 1972. The opamp is a uA741 (LM741), but any general purpose opamp will work.

Robert Gagnon, Electronics Magazine, 09-11-1972, page 110. PDF page 104.

https://www.worldradiohistory.com/Archive-Electronics/70s/72/Electronics-1972-09-25.pdf

• This is awesome! Thank you for the helpful resources, mich appreciated :)
– Kiwi
Commented Jul 5 at 8:47