How Does Varian CONTROL The Temperature?
This
VT regulation is a "black box" to many users - in this article we want to
try clarifying a few issues. The VT parameter interface is simple:
- "temp" can be set to "not used", or to a value (in degree C) in the range
that is appropriate for the probe in use.
- "vtc" controls the temperature at which the VT controller activates a relay that switches the VT gas stream between the heat exchanger (low temperature) and the direct inlet (high temperature operation); this should normally be set to a value ABOVE the ambient temperature in your lab, for regulation close to room temperature to work properly.
- "tin", the temperature interlock:
- "tin='n'" means that the experiment is started and performed irrespective of whether the temperature is regulated or not;
- "tin='y'" causes the acquisition to abort with an error when the temperature falls out of regulation during the experiment;
- "tin='w'" lets the acquisition continue in the case the regulation fails (i.e., if the temperature in the sample compartment of the probe moves out of a +/- 0.5 degree range, and the VT controller's LED starts blinking), but produces a VT warning message.
- If "tin<>'n'", the temperature is checked once with every transient; with "tin='n'" the "go" command won't even wait for regulation, the software sets the setpoint in the VT and continues to acquire.
- "vtwait" defines the MAXIMUM time which the acquisition waits for the temperature to regulate, i.e., if "temp<>'n'" and the temperature is not regulated after "vtwait" seconds, the acquisition will either start with a warning ("tin='w'") or abort with an error ("tin='y'"), see also the article below.
- "vttype" is a "systemglobal" parameter (a parameter in "/vnmr/conpar", usually set using "config").
- "vttype=0" indicates that a system has no VT controller (this is sometimes used after setting up VT, in order to avoid subsequent interaction of the spectrometer with the VT controller).
- "vttype=1" is historic: it refers to the Varian VT controller in XL spectrometers.
- "vttype=2" indicates that either the Oxford or the Highland VT controller is present.
- "masvt" is a global parameter (flag) which indicates the presence of a solids (Varian-Sorenson) VT controller.
Using the "temp" utility hides most of these parameters from the user. Note that even though our probes are equipped with thermocouples that are accurate to 0.1 degrees or better, we can't really tell the EXACT temperature WITHIN the sample, because of
- temperature gradients in the probe (see also Varian NMR News 1997-04-24)
- extra sample heating due to decoupling or spin locking.
In critical cases it may be worth calibrating the temperature under the given conditions (sample height, solvent, salt concentration, gas flow, pulse sequence / decoupling).
For more please see Varian NMR News 1998-10-02.
How Does VT REGULATION Work?
VT control involves much more than simply turning on the heater if the temperature is too low, and switching it off when the temperature is too high: such a simple algorithm can lead to excessive "overshooting" early in the regulation process and excessive rates of change in temperature (see also the article below), and it could also lead to oscillating temperatures. Our VT controllers (both the Oxford VTC and the newer Highland controller) use a much more sophisticated, so-called "PID" algorithm to dynamically regulate the heater current.
"PID" stands for "Proportional / Integrative / Differential" regulation - an algorithm that can be adjusted to the characteristics of the regulation circuitry (which is all the hardware involved - heater characteristics, heat capacity of the VT gas, gas flow, heat capacity and geometry of the relevant probe components), such that the regulation is efficient / fast (within minutes), does not produce excessive overshoot (not more than a few degrees, depending on the amount of temperature change) and suppresses oscillations. The characteristics of such a regulator can be adjusted by setting the P, I, and D components. In practice, these values are pre-set in the software and are transmitted to the VT controller once prior to every experiment requiring VT control. For experiments using the Oxford or Highland VT controller (GEMINI, MERCURY and UNITY families of spectrometers), the acquisition software uses a PID value of "440" (P=4, I=4, D=0), while the solids VT controller for Varian MAS probes uses a value of "171". In the standard software, this is NOT under user control, and with few exceptions there is NO NEED to alter these values, see the following article.
"Stepped" VT Regulation:
When starting VT control, older spectrometers and all HAL-based systems (VXR-S, UNITY, UNITYplus) directly send the desired setpoint to the VT controller, irrespective of the current temperature. This method has several disadvantages because different probe hardware (characteristics of the ("regulation circuit") and different temperature intervals would in principle require adjusting the PID values to the current situation, in order to obtain optimum results. One can observe these problems through:
- possibly extremely slow regulation (e.g., the temperature gradually approaching the target value),
- overshoot and maybe even slowly decaying oscillations as the target value is reached (in most cases, the overshoot is harmless, as the sample tube usually dampens these temperature excursions),
- excessive rates of changes if a large temperature jump is performed:
- it is recommended not to subject probes to temperature changes of more than 12.5 degrees per minute, in order to minimize thermal stress. Especially the last point led us to change the acquisition software, such that temperature jumps of over 12.5 degrees are performed such that
- the temperature interval is split into segments of 12.5 degrees (plus a remainder);
- we perform one 12.5 degrees interval every minute by sending a new setpoint
to the VT controller (irrespective of whether the previous set point has
been reached / regulated or not);
- only in the last (12.5 degrees or less) interval we perform the "standard
VT regulation" by waiting until either the VT controller signals
"regulated" (the green light stops flashing, i.e., the temperature is
within ± 0.5 degrees of the setpoint) OR until "vtwait" is over (see the
article above).
This means that
- the total regulation can take up to (number of 12.5 degrees intervals)*60 PLUS "vtwait" seconds;
- the probe hardware is protected from excessive change rates;
- in the case of an operator error (such as omitting the minus sign when entering the temperature) the user has a chance of catching the sample before it is thermally damaged;
- large temperature intervals are performed as more or less linear changes;
- the PID parameters can essentially be adjusted to temperature intervals of 12.5 degrees or less, which is far less critical: if the regulation is
too fast, the linear change turns into a series of small steps (with
negligible overshoot), if the rate is slower than the linear rate, then
the probe hardware is safe anyway, and the final interval (setpoint minus
current temperature) will simply be somewhat larger (you may need to
increase "vtwait" for this case).
Note that "stepped" VT changes are NOT implemented on HAL-based systems, i.e.,
on VXR-S, UNITY and UNITYplus systems you should avoid performing huge jumps
in temperature. You could insert one or several dummy (1-scan) experiments
between experiments at much different temperatures, or (in manual operation)
change the temperature step-wise with a series of
commands. There is a user library contribution "psg/vtfuncs" that permits user
entry of the PID values via a global parameter "pid" - but this should be used
with care, and no assistance can be given for these adjustments, beyond the
information given above (change only one digit at a time, and only by one
unit).
For an article on temperature control and understanding temperature regulation see Varian
NMR News 2001-09-15.
Print this page.
Now stop crying and get back to work!