# Avoiding oscillations in a unity gain voltage buffer circuit

Assume I have an output stage that is supposed to drive a load about a hundred meters away, connected with a cable. So what I have is a capacitive load. My output stage is a simple non-inverting voltage follower, as simple as it gets, but with the resistor R3 on the output to isolate the feedback "network" from the capacitive load (out-of-the-loop compensation).

(1)

Now there's this solution to fight oscillations, an inverting voltage buffer with unity gain and C1 across R2:

(2)

I also found the non-inverting voltage buffer equivalent (but with a gain of 2):

(3)

Just as you need two resistors for an inverting voltage buffer for unity gain, you need them both with the C2 across R2, resulting in (2). You don't need two resistors for a non-inverting voltage buffer for the unity gain case, resulting in (1). I've skimmed through dozens of application notes and articles, but haven't found a single example of a non-inverting unity gain voltage buffer that tries to avoid oscillations. How can I modify (1) to avoid oscillations in the same way (2) and (3) work? I need a non-inverting unity gain voltage buffer.

I have also seen the following very simple circuit recently, for driving symmetric lines:

(4)

This has me wondering why the unity gain voltage follower (U1) has only the series resistor at the output (but no capacitor in the feedback path), and the inverting voltage buffer (U2) has a capacitor in the feedback path, although they both drive a capacitive load.

Update:

I found ST's application note AN2653:

http://www.st.com/web/en/resource/technical/document/application_note/CD00176008.pdf

Figure 21 and 22 on page 12 show exactly what I was searching for. Now the problem is that this "solution" doesn't work at all in my ngspice simulations. The result is the same oscillation I get with (1), regardless of the value(s) of $R_{IL}$ and $C_{IL}$.

• The circuit in (3) is not unity gain- it has a nominal DC gain of +2. – Spehro Pefhany Mar 20 '15 at 15:33
• There must be a simpler way to explain what you are trying to explain? I lost the will to live half way thru :^( – Andy aka Mar 20 '15 at 15:39
• I've changed the question to make that more clear (I hope). – apriori Mar 20 '15 at 15:54
• What is the part number of the opamp you're using? – brhans Mar 20 '15 at 16:25
• The traditional way to do this is to take your feed back R2 from the other side of the 50 ohm resistor R3. But still keep the capacitor direct from the opamp output... as discussed here. analog.com/library/analogDialogue/archives/31-2/appleng.html (There are better app notes, but this was a first hit.) – George Herold Mar 20 '15 at 16:34

How about this? You do give up very high impedance input, but the resistors do not have to all be 1K.

• That is actually working solution (+1), but I was hoping for something that uses less resistors and thus produces less johnson noise. I'have included an "update" section in the question - in the mentioned application note is a schematic that is exactly what I meant, but I cannot verify it in my simulations. Is ngspice just at its limits with this kind of simulation? – apriori Mar 21 '15 at 22:59

Find out or specify the characteristic impedance of your 100m cable. The 50 ohm output resistors in your circuits happen to match typical coaxial cables, and if such a cable is also terminated in a resistor of its characteristic impedance, your amplifier will see only a 100 ohm resistive load, for any cable length. In that case any op-amp that is stable in unity-gain connection will do. The old 741 op-amp is an example that is unconditionally stable.