---+ Testing DAF Firmware
Motivation
The Digital Active Feedback (DAF) firmware is work in progress, mainly involving Adam, Graeme and Tijmen. The initial attempt at making DAF firmware that works requires testing without using a cryostat.
To do this, a dongle can be attached to the DfMUX board, rather than a cable to the SQUID control board.
Carrier Voltage and Demodulator Current
Using
Francois' noise document, I can figure out V
dongle and V
bolo given the carrier gain and carrier amplitude settings. I can also find I
dongle and I
bolo given a demodulator gain setting and the value of the gain of the digital filter.
Planned Setup
TODOs:
- Figure out how to tell the firmware R_s and X_s in hex (from ohms and 2*pi*frequency*inductance or -1/(2*pi*frequency*capacitance).
- 1) Calculate what inductances, capacitances and resistances will correspond roughly to what we expect to have for a bolometer.
- 2) Order potentiometer(s) and inductor(s)
- 3) Build a dongle and breadboard circuit
Progress Update (2Oct09)
- We've decided to keep i_coeff = 0
p_coeff control as a time constant
In the open loop case (either I=0 or X_s=R_s=0), p_coeff effectively sets a time constant of exponential decay towards the target value.
I set p_coeff to 0x00001000, which equals 2^-16 in floating point. The formula for the time constant of the control is
%BEGINLATEX%
\begin{equation}
\tau = \frac{1}{12 \mathrm{kHz} \cdot p_{coeff}}
\end{equation}
%ENDLATEX%
which should give 5.5s. I measured 6 +/- 1 s by counting squares to the 63% point on the spectrum analyzer, validating the predicted time constant.
Wedging
By using the control to bring v_carrier to its maximum or minimum value, the firmware can get stuck. The board will stay responsive, but the DAF module cannot change v_carrier anymore. This is currently work in progress.
Units
My first attempt at calculating the unit conversion from kOhms to HEX values for R_s didn't seem to work, so here is more data.
- A carrier voltage of 0x07FFFFFF = 0.5 = (37 +/- 1 mV_pp)*(5 +/- 0.4) where 0.5 is in floating point units. This value corresponds to a carrier amplitude setting of 1.0 on the non-DAF firmware.
- This carrier voltage would correspond to (19400 +/- 50 ADC counts)*(5 +/- 0.4).
Progress Update (16Oct09)
Wedging
The wedging problem appears to be fixed by the 13Oct09 release which forces v_carrier to rail if it hits a given maximum or minimum value.
Closed-loop Feedback
Feedback appears to work. In the test setup as shown at the top of this page, I am able to twist the potentiometer and have the voltage across it remain constant. Some caveats:
- If the R_s given to the firmware is too small, no significant feedback will occur and R_bolo and R_s will act mostly as a normal voltage divider.
- If the R_s given to the firmware is slightly larger than the ideal value, the feedback will overshoot, so that a decrease in bolometer resistance will in fact increase the voltage across it.
- If the R_s given to the firmware is larger than the total resistance of the circuit a hysteresis effect will occur. The firmware will follow the equation V_c = V_bolotarget + R_s * I. With R_s being large, V_bolotarget will have little effect (even when set to 0). Instead the voltage will generate a current, which then, through DAF, generates another voltage. This effect can leave V_carrier high, regardless of V_bolotarget. I have also observed it being unstable for R_s only slightly larger than the total system resistance. In that case I have seen oscillations or runaway effects, which I don't fully understand at the moment.
- If the bolometer (potentiometer) resistance is lowered too far, the system will be unable to provide feedback. In my setup, the limiting factor was clearly the demodulator; the feedback started to reduce at ~17000 ADC counts, as the demodulator response became non-linear. This transition happened at approximately V_carrier = 7mV.
- In the setup described in the top plot, with R_s = 1 kOhm and R_bolo = 0 - 1 kOhm, I found that the parameter in_Rs = 0.0083 was roughly correct (1 kOhm).
Update (21Oct09)
- The functionality of the DAF firmware has been verified to provide feedback. See my warm testing document for more information.
--
TijmenDeHaan - 03 Sep 2009
This topic: ColdFeedback
> WebHome > TestingDafFirmware
Topic revision: r9 - 2011-11-17 - TijmenDeHaan