Electronic – the closed-loop gain in this op amp circuit

gainoperational-amplifier

For the op amp below

  • Open-loop gain is \$A=2\times10^5\$
  • Input resistance is \$R_i=2\,M\Omega\$
  • Output resistance is \$R_o=50\,\Omega\$

I am asked to calculate the close-loop gain \$Vo/Vs\$ and find \$i_o\$ when \$V_S=1\$ .

schematic diagram

(Schematic diagram above from "Fundamentals of Electric Circuits" by Charles Alexander and Matthew Sadiku.)

Then I've redrawn the circuit and defined the currents as shown in the figure.

schematic

simulate this circuit – Schematic created using CircuitLab

Then according to those currents above I've applied KCL and also I've got these equations below.

\$I = I_1+I_2\qquad I_2=I_3+I_4\$
$$I_4=\frac{V_1}{5\,k\Omega}$$
$$I_3=\frac{V_1-V_o}{40\,k\Omega}$$
$$I_3+I_1=\frac{V_o}{20\,k\Omega}$$
$$A \times V_d=2\times10^5\times 2\,M\Omega\times I$$
$$I=\frac{V_S-V_1}{2\,M\Omega}$$

Then I've also written some equalities according to KVL in the closed loops but I was never able to find a relation between \$V_S\$ and \$V_o\$ or just ended up crosschecking the same equations. It all got tangled up.

  • How would you solve this?

Best Answer

Assuming this is a problem from a book and we can assume ideal parameters to the opamp where no specifications are otherwise given, then:

schematic

simulate this circuit – Schematic created using CircuitLab

Assuming the equivalent circuit at the top for the opamp, the nodal equations are:

$$\begin{align*} \frac{V_X}{R_1}+\frac{V_X}{R_2}+\frac{V_X}{R_{IN}}&=\frac{V_O}{R_1}+\frac{V_S}{R_{IN}}\\\\ \frac{V_O}{R_1}+\frac{V_O}{R_3}+\frac{V_O}{R_{OUT}}&=\frac{V_X}{R_1}+\frac{\left(V_S-V_X\right)\cdot A_\text{OL}}{R_{OUT}}\\\\\therefore\\\\V_X&\approx 0.999955\cdot V_S\\\\V_O&\approx 8.999593\cdot V_S \end{align*}$$

The script I used in sympy (worth getting) is:

var('r1 r2 r3 ri ro aol vo vx vs')
e1=Eq(vx/r1+vx/r2+vx/ri,vo/r1+vs/ri)
e2=Eq(vo/r1+vo/r3+vo/ro,vx/r1+(vs-vx)*aol/ro)
ea=solve([e1,e2],[vx,vo])
    { vo: r1*r3*vs*(aol*(r1*r2 + r1*ri + r2*ri) - r2*(aol*r1 - ro))/(r2*r3*ri*(aol*r1 - ro) + (r1*r2 + r1*ri + r2*ri)*(r1*r3 + r1*ro + r3*ro)),
      vx: r1*r2*vs*(aol*r3*ri + r1*r3 + r1*ro + r3*ro)/(r2*r3*ri*(aol*r1 - ro) + (r1*r2 + r1*ri + r2*ri)*(r1*r3 + r1*ro + r3*ro))
    }
ea[vx].subs({aol:2e5,ri:2e6,ro:50,r1:40e3,r2:5e3,r3:20e3})
0.999954839544092*vs
ea[vo].subs({aol:2e5,ri:2e6,ro:50,r1:40e3,r2:5e3,r3:20e3})
8.99959265268771*vs

Just nodal is enough here. The main thing is to figure out the opamp model from the specs you were given.