VNA Oven


A number of components are somewhat susceptible to temperature drift, so I decided to ovenize the main board. Why ovenize? The VNA is a metrology instrument where absolute accuracy in amplitude, frequency, and phase are always important. Because the main board is so small, it is practical to put the whole thing in an oven. (That, and because I’ve done this before, it’s not such a big deal.) The result is an instrument that is repeatable to the part per million level or better, in all specifications, regardless of ambient temperature.

There is a technique the N2PK VNA group is calling corellated double sampling (CDS) that cancels offsets and 1/f noise in the detectors. It’s a software-driven technique that is now implemented in the the available VNA software, and is discussed in the VNA Yahoo group. The only drawback is that it doubles the scan time. It also can’t help with other sources of error such as gain or frequency drift elsewhere in the system, but it does a great job of improving dynamic range. Without an oven, CDS offers vast improvements. With an oven, it’s only necessary for measurements with the highest demands on dynamic range.

The oven system begins with a set of 8 short brass bosses soldered to the ground plane of the board to improve heat transfer to a copper heat spreader. It all resides in an insulated copper housing. Thin-film heaters are applied to the heat spreader, and thermistors are glued to the sensitive areas of the board. A Zilog Z8 Encore XP microcontroller measures the temperature and adjusts heater current through a PID algorithm.

I tested everything out before loading the board to obtain a good model of the process and to develop a good set of PID tuning parameters. This I did with LabVIEW and a National Instruments PCI-6035E data acquisition board. This allowed me to measure several temperatures and drive the heater’s constant-current source with a PID algorithm. Then I translated the LabVIEW code to C running on the Z8. Since the code runs slowly (2 Hz loop rate), all computations are single-precision floating point, which makes programming very easy.

The graph below shows the startup performance with an inset showing fully-settled stability with a noise band of ±0.02 °C. Startup is quick because I use a computed ballistic heatup algorithm where the heater is turned on at full power until observed temperature reaches a specified error band. Then the PID engages with only a relatively small error to deal with. In 8 minutes from application of power, temperature is within 0.1 °C of setpoint.

An Oven for the Main Board

Here are links to the heater schematic and Z8 code:

Z8 Oven Code.zipVNA_Oven_files/

Closeup of tapped brass bosses soldered to the bottom of the board. There are 8 of these to provide good thermal grounding to the enclosure’s copper heat spreader. Their dimensions are 0.250” dia, 0.200 long, and tapped #4-40.

Here is the VNA board nestled in the bottom of the heater box/shielding enclosure. The horizontal wall below connector J360 is a shield for the second detector channel.

All the oven parts laid out. Insulation is heavy felt, good enough for the moderate temperatures. Small pieces are also placed on top of the board to reduce convection currents inside.

Two 10k, 0.5% thermistors were epoxied into place on the top ground plane. One is used for control, the other for monitoring during controller tuning. Several others were taped to various other locations during testing to verify that thermal gradients are very low, on the order of 0.1 °C between the two detectors.

The Z8 controller and thermocouple signal conditioner reside in an RF-tight copper box with feedthru capacitors. All heater components reside outside the VNA enclosure to minimize chances of noise coupling.

All heater components reside outside the VNA enclosure to minimize chances of noise coupling. I used a power darlington and a pair of Minco thin-film heat strips (each rated 13 Watts), attached to the copper heat spreader. There’s also a 70 °C thermal switch to cut off the power in case the controller fails.