---+ Drive Channel Circuit Stability and Recommendations

The drive channel circuit looks like this:

Drive Channel Circuit, Rev2 component values

In revision 2 of these boards, we updated R5 and R10 of the drive channel circuit in order to speed up the feedback loop.

This change had an unintended effect: for large gains (when the resistor connected to J1 is small), the amplifier U4 becomes slew-rate limited and the circuit becomes a quadrature oscillator. U4's output is confined to linear-slope sections (when it's slew-limited) or flat sections (when it's railed.) This results in a clumsy approximation to a 90' phase shift of the integrator output, or an 180' phase shift in the overall feedback loop.

Here's what happens. The squared trace is U4's output. The sinusoid is the integrator U3's output. (It's interesting how integrating linear segments can give such a good approximation to a sinusoid.)

A Quadrature Oscillator

The fix is to ensure that U4 never becomes slew-rate limited. To do so, neglect feedback for a moment and consider the largest input the integrator U3 will encounter. That's (3.3v + 4.5v) ~= 8V. Call this voltage Vd.

At the integrator's output, that becomes a slope of .

That is converted to a load current dependent on the sensor resistance. In the worst case, the sensor resistance is a short-circuit and the voltage across the sense resistor is .

So, the worst-case output slew at U4 is:

%MATHMODE{ S = G \times V_d / (2\times(R_5 \times C_{10})) }%

According to the LT1168 datasheet and experimental measurements at gains of ~100 and ~1000, the part's maximum slew is 0.5 V/us. This permits us to set the conditions on G:

%MATHMODE{ G < (R_5 \times C_{10}) \times 10^6 / V_d }%

For the rev0 component values, that's something like

%MATHMODE{ G < 85}%

For the rev2 component values, we have

%MATHMODE{ G < 0.85}%

Note that's an extremely conservative estimate. It's correct to within an order of magnitude with experimental measurements of the point at which the circuit begins to oscillate.

The limiting G is particularly dependent on the Vd we choose (and there's a case to be made for Vd=3.3v or even lower.) It's important to keep a conservative bound on G, however, since we clearly can't work with a board that might oscillate.

Recommendations

The easiest way to resurrect the situation is to increase RC. However, that reduces the system's loop gain and its output no longer tracks its input beyond a certain point.

We can approximate the circuit's transfer function as follows:

%MATHMODE{ I_o/V_i \approx 10^{-5} \left[ \frac{1}{G+2sRC} \right] }%

where is the output current and is the DAC voltage. We have ignored the sensor, under the assumption its resistance is small compared to R6+R7. ( CROSS CHECK THIS) In magnitude terms,

%MATHMODE{ \left| I_o/V_i \right| \approx 10^{-5} \left[ \frac{1}{\sqrt{G^2+(4 \pi f RC)^2)}} \right] }%

Roughly speaking, this gives us two regimes. When , the expected behaviour dominates and the drive current is roughly independent of frequency. When , the integrator's suppression of the signal amplitude can no longer be ignored.

The following table shows the extra gain suppression due to the frequency-dependent term, as well as the maximum safe gain for that parameter set.

R (k) C (nF) G Freq Requested Actual Suppression Max Gain
Rev0 Boards (R=100k, C=6.8nF)
100.00 6.80 1 1 0.00001 0.00001 1.00 150
100.00 6.80 1 10 0.00001 0.00001 1.00 150
100.00 6.80 1 100 0.00001 0.0000076 0.76 150
100.00 6.80 10 1 0.000001 0.000001 1.00 150
100.00 6.80 10 10 0.000001 0.000001 1.00 150
100.00 6.80 10 100 0.000001 0.000001 1.00 150
100.00 6.80 100 1 0.0000001 0.0000001 1.00 150
100.00 6.80 100 10 0.0000001 0.0000001 1.00 150
100.00 6.80 100 100 0.0000001 0.0000001 1.00 150
Rev2 Boards (R=1k, C=6.8nF)
1.00 6.80 1 1 0.00001 0.00001 1.00 1.5
1.00 6.80 1 10 0.00001 0.00001 1.00 1.5
1.00 6.80 1 100 0.00001 0.00001 1.00 1.5
1.00 6.80 10 1 0.000001 0.000001 1.00 1.5
1.00 6.80 10 10 0.000001 0.000001 1.00 1.5
1.00 6.80 10 100 0.000001 0.000001 1.00 1.5
1.00 6.80 100 1 0.0000001 0.0000001 1.00 1.5
1.00 6.80 100 10 0.0000001 0.0000001 1.00 1.5
1.00 6.80 100 100 0.0000001 0.0000001 1.00 1.5
Proposed Changes (R=10k, C=100nF)
1.00 1000.00 1 1 0.00001 0.00001 1.00 220
1.00 1000.00 1 10 0.00001 0.00001 0.99 220
1.00 1000.00 1 100 0.00001 0.000006 0.62 220
1.00 1000.00 10 1 0.000001 0.000001 1.00 220
1.00 1000.00 10 10 0.000001 0.000001 1.00 220
1.00 1000.00 10 100 0.000001 0.000001 0.99 220
1.00 1000.00 100 1 0.0000001 0.0000001 1.00 220
1.00 1000.00 100 10 0.0000001 0.0000001 1.00 220
1.00 1000.00 100 100 0.0000001 0.0000001 1.00 220

With the proposed component selection (R=10k, C=100nF), there is noticeable suppression at f=100 Hz with a gain of 1. However, this doesn't impact resistance measurements (since both the current and voltage are equally suppressed), and it doesn't impact diodes where the current bias is crucial (since we can't modulate them using a sine wave anyway.)

ALERT! We settled on 50kohm resistances and unmodified capacitances for the rev2 boards.

Topic attachments
I Attachment Action Size Date Who Comment
JPEGjpg 20110216_001.jpg manage 25.6 K 2011-02-16 - 22:13 GraemeSmecher  
PNGpng cryo_drive_channel_circuit.png manage 85.4 K 2011-02-16 - 21:22 GraemeSmecher  

This topic: CryoElectronics > WebHome > DriveChannelCircuitStability Topic revision: r5 - 2011-08-16 - GraemeSmecher
© 2020 Winterland Cosmology Lab, McGill University, Montréal, Québec, Canada

Error during latex2img:
ERROR: can't find dvipng at /usr/bin/dvipng
INPUT:
\documentclass[fleqn,12pt]{article}
\usepackage{amsmath}
\usepackage[normal]{xcolor}
\setlength{\mathindent}{0cm}
\definecolor{teal}{rgb}{0,0.5,0.5}
\definecolor{navy}{rgb}{0,0,0.5}
\definecolor{aqua}{rgb}{0,1,1}
\definecolor{lime}{rgb}{0,1,0}
\definecolor{maroon}{rgb}{0.5,0,0}
\definecolor{silver}{gray}{0.75}
\usepackage{latexsym}
\begin{document}
\pagestyle{empty}
\pagecolor{white}
{
\color{black}
\begin{math}\displaystyle G \ll 4\pi fRC\end{math}
}
\clearpage
{
\color{black}
\begin{math}\displaystyle V_d/(R_5 \times C_{10})\end{math}
}
\clearpage
{
\color{black}
\begin{math}\displaystyle G \gg 4\pi fRC\end{math}
}
\clearpage
{
\color{black}
\begin{math}\displaystyle V_i\end{math}
}
\clearpage
{
\color{black}
\begin{math}\displaystyle V_d/(R_5 C_{10})/2\end{math}
}
\clearpage
{
\color{black}
\begin{math}\displaystyle I_o\end{math}
}
\clearpage
\end{document}
STDERR: