Stability analysis of an active load.

A more formal analysis about why the previous compensation scheme worked.

On this first part I will cover the loop around the opamp ignoring for a while the output transistor and parasitic capacitances; they will come later.

Some math after the jump.

So after a while I went for a more minimalistic approach. This is more or less the original load:

Original circuit of the active load.

Original circuit of the active load.

The opamp power supply is not shown, Vext and Zl are external to the circuit. Assuming for a while that the opamp is a bit more ideal and its output can swing to at least Vext the circuit can be reorganized as follows without changing the behaviour:

Active load circuit, reorganized.

Active load circuit, reorganized.

And finally, we can dispense of the transistor, arriving at the bare minimum:

Active load, simplificated.

Active load, simplificated.

If Zl is an inductor we can model it as a ‘pure’ inductor L in series with a resistance Rl. Then, the voltage at Iout will be:

V(I_{out})(s) = V_{out} \cdot \left( \frac{R_s}{R_s + R_L} \right) \cdot \frac{1}{1 + s \frac{L}{R_s + R_L} }

We can build a block diagram of the whole system:

Uncompensated system.

Uncompensated system.

So we have a three pole system (p1 and p2 are the opamp poles). This is bound to oscillate sooner or later unless gain is reduced or the response modified with a compensation network.

The traditional recipe for this cases is to put a small capacitor from the output to the inverting input of the opamp. Given the very low impedance present at V- we isolate it with a moderate resistor, thus the new circuit is:

Compensated active load.

Compensated active load.

To obtain the voltage at Vfb we use the superposition theorem. Neglecting the loading effect that Rcc and Cc can present at the Vout and Iout nodes we consider the two cases:

 

Models of the compensation network for Iout and Vout to Vfb

Models of the compensation network for Iout and Vout to Vfb

For Vout it acts as a high pass filter and as a low pass for Iout. In the s domain that is:

V_{fb} = V_{out} \frac{s R_c C_c}{1 + s R_c C_c} + V(I_{out}) \frac{1}{1 + s R_c C_c}

And in a block form:

Compensated system.

Compensated system.

The denominator of the transfer function is then:

1 + \frac{A_v}{(1 + s / p_1) (1+ s / p_2)} \frac{1}{1 + s R_c C} \left [ s R_c C + \frac{R_s}{R_s + R_L}\frac{1}{1 + s \frac{L}{R_s + R_L}} \right]

With a bit of algebra the term on square brackets can be simplified as follows:

\left ( \frac{R_c L C_c}{R_s + R_L} \right ) \cdot \left( \frac{1}{1 + s \frac{L}{R_s + R_L}} \right) \cdot \left( s^2 + s \frac{R_s + R_L}{L} + \frac{R_s}{R_c L C_c}\right)

So, now we have a system with four poles and two zeros. The natural frequency and damping factor are:

\omega _n = \sqrt{ \frac{R_s}{R_c L C_c} }

\zeta = \frac{R_s + R_L}{2L} \sqrt{\frac{R_c L C}{R_s} }

Most of the time the damping factor will be quite low. One of my problematic loads was a 4mH choke with about an ohm of series resistance. Plugging that values and using Rc = 10K and Cc = 120pF (just had those at hand) I get:

\omega _n = 4787{Hz}

\zeta = .0289

Which results in a pair of complex zeros at -138 \pm j \cdot 4785 . The rest of the equation has two poles from the opamp (one at about 2Hz and other far away), another one at about 132KHz from the compensation network and another one around 44Hz from the L and (Rs + Rl).

The net effect of this pair of zeros is to move the root locus towards the left side of the complex plane, stabilizing the system. Using Octave we can easily plot it:

Root locus of compensated system.

Root locus of compensated system.

It is noteworthy the high amount of gain that is needed for the poles to move close to the zeroes.

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.