Maker Pro
Maker Pro

Op-amp Current Source Analysis

So I'm trying to come up with a topology for a linear current source with decent precision (~0.5mA/Vin) and range (0.5mA-500mA). I've been using one from TI, but I thought it would be fun to try and come up with my own, and for this project I have the luxury of doing so. This is what I came up with:
current_source_topology-jpg.29049

(note G is for gain of the IN-AMP and not conductance). Both opamps have +/- 15V supplies, ZL is an inductor with an impedance between 10 and 20 ohms, and Vin is a 10V amplitude sinewave between 2Hz and 512Hz.

A couple strange things, though:
This op-amp is in a noninverting amplifier configuration, and yet seems to be capable of gain of less than unity.
Also, I tried simulating it in SPICE and the results are basically no current. Parts will be arriving soon so I can actually try and build it, but what should I be aware of before I do? I've only been using basic op-amp theory and taking into account input bias currents and input offset voltages, but I understand there is a lot more that needs to be taken into consideration. How might I asses this circuit's stability? I tried calculating loop gain Aβ and it looks to be between A*0.05G and A*0.1G, which satisfies the approximation to estimate the closed-loop gain as 1/β, which would be about 10/G. I'm a little uncertain about where to go from here and how to go about assessing stability. I'm going through app notes from TI and AD, but they don't mention active components in feedback loops. Maybe because it's a terrible idea? I'm not sure.
 

Attachments

  • currenT_source_topology.jpg
    currenT_source_topology.jpg
    16.9 KB · Views: 369
A couple strange things, though:
This op-amp is in a noninverting amplifier configuration, and yet seems to be capable of gain of less than unity.
No surprise there; with an active device (the instrumentation amplifier) with gain in the feedback loop, this is perfectly normal.

Also, I tried simulating it in SPICE and the results are basically no current.
I don't see any reason for that; DC-wise, at least, the circuit should work as shown. Check all devices, models and connections.

How might I asses this circuit's stability?
This is usually pretty easy to do in Spice; just put a small voltage step on the input, and look at the output and check for overshoot, ringing or other misbehavior.

I'm going through app notes from TI and AD, but they don't mention active components in feedback loops. Maybe because it's a terrible idea? I'm not sure.
No, not necessarily. But it has to be done with some care to avoid instability due to excessive phase shift at frequencies below the frequency at which overall loop gain drops below unity.

If I were to build a circuit like this and found it to be oscillating like a politician, what I'd do is put a roll-off in the forward part of the loop (i.e., the op amp portion) to force the loop gain downward earlier. A resistor (maybe 10 kΩ or so) between the instrumentation amplifier output and the (-) input of the op amp, along with a capacitor (perhaps 1000 pF) between the (-) input of the op amp and the op amp's output would probably do the trick.

This 30-year-old application note at Linear Technology, Composite Amplifiers, discusses the stability issue and other considerations in loops containing multiple amplifiers, in great depth. It looks applicable to what you're trying to do here.

EDIT: Another LT app note, Power Gain Stages for Monolithic Amplifiers, goes into even more depth on the instability issue; see the final section, The Oscillation Problem.
 
Last edited:

(*steve*)

¡sǝpodᴉʇuɐ ǝɥʇ ɹɐǝɥd
Moderator
Unless your main opamp can supply in excess of 500mA you have a problem. Use a transistor or mosfet to give you additional current drive.

You may be better off using a P channel mosfet and swap the inverting/non-inverting inputs.

If using a mosfet, and you can use the 0v rail as the power source and reference for your input, you wont even need the additional instrumentation amp (but this may not be possible)
 
You may be better off using a P channel mosfet and swap the inverting/non-inverting inputs.

If using a mosfet, and you can use the 0v rail as the power source and reference for your input, you wont even need the additional instrumentation amp (but this may not be possible)[/QUOTE]
Unless your main opamp can supply in excess of 500mA you have a problem. Use a transistor or mosfet to give you additional current drive.

You may be better off using a P channel mosfet and swap the inverting/non-inverting inputs.

If using a mosfet, and you can use the 0v rail as the power source and reference for your input, you wont even need the additional instrumentation amp (but this may not be possible)

I have opamps that can supply that much current within the specs I require. I thought about using discrete transistors for the actual current source, but the current through the load needs to be bidirectional (and vin sees an ac-coupled sinewave), and that seems to get quite complicated very fast with discrete transistors, but I'm definitely open to suggestions.
 
To get 500mA out you will therefore need Vin=1000V :eek:. Your opamps ain't gonna like that :D.
Not unless my math is terribly wrong. From the transfer equation, Iout=Vin/(R*G), for an Iout of 0.5, Vin of 10V, the gain of the in-amp just needs to be 20.

EDIT: I really should have drawn the IN-amp's resistor as a rheostat, it's going to be variable, that's how I'm going to get high precision at low values and high range at the cost of precision. If it were a fixed value you are totally right my op amps would cry :D.
 
Top