I have recently acquired two different Pfeiffer Compact Vacuum Gauges for about $70 each on eBay. They are just perfect for the vacuum hobbyist as they are incredibly easy to use and can measure pressures over a very wide range.
The first one is an IKR 270 type cold cathode gauge which can measure pressures in the 10-2 mbar to 10-9 mbar range. It has a long, bakeable case which allows me to use it as the main gauge to monitor the pressure in a UHV chamber.
The second one is of the PKR 251/261 type, and combines a cold cathode circuit with a Pirani element. This allows the measurement of pressures all the way from 1000 mbar down to 10-9 mbar. I plan to use this gauge in close proximity to a turbo pump, so I can measure the pressure while roughing the system and during the pumpdown with the turbo.
What makes these gauges so attractive is their easy driving and interfacing. Normally, ion gauges of the hot and cold cathode type require high voltage power supplies that are well calibrated to the specific model and are hard to find for less than $100. In contrast to that, the Pfeiffer Compact Gauges just require a single voltage of 15-30V, and output a low-voltage DC-signal that can be converted into a pressure using a simple calibration formula supplied in the datasheet.
In this article, I am going to present a simple circuit that can be used to interface both gauge types. It features a built-in microcontroller that reads the signal from the gauge and calculates the pressure. The digital result can then be sent to a display and/or via USB to other equipment and logged in e.g. a graphing software.
Design of the Readout Circuit
Fig. 1 shows the circuit schematic. The upper right part “Gauge Interfacing” shows the components that are used to interface the gauge. The gauge has two outputs: “Ident” is used to identify which gauge type has been connected. On the gauge side sits the equivalent of a resistor that has a resistance of 7.15K if an IKR270 gauge is connected, 9.1K with a PKR251/261 gauge in Pirani-only mode and 11.1K with the same gauge in combined mode. This resistance forms in conjunction with R1 a voltage divider, whose midpoint voltage is buffered and amplified by a non-inverting op-amp and then read out by an analog input pin of the microcontroller. The signal voltage at the “Signal” pin ranges from 0…10.5V and is proportional to the logarithm of the measured pressure. It is converted into the 0…5V range required for the microcontroller and buffered by a voltage follower. The other parts of the circuit are required by the ATMEGA32U4 microcontroller and are based on the Arduino Micro.
I decided to lay out the schematic in EAGLE and have it manufactured professionally, which results in a neat little circuit that can be packed in a small enclosure and should serve for the runtime of the experiment. Fig. 2 shows the final board layout.
The following components are required to build the circuit:
|7||0.1uF 0805 Ceramic Capacitor|
|3||1uF 0805 Ceramic Capacitor|
|1||10nF 0805 Ceramic Capacitor|
|3||10uF 0805 Ceramic Capacitor|
|2||22pF 0805 Ceramic Capacitor|
|1||22uF SMD Electrolytic Cap Panasonic C-Size|
|1||MH2029-300Y SMD Ferrite Bead|
|1||500mA Multifuse SMD|
|1||0 Ohm 0805 SMD Resistor|
|1||2K Ohm 0805 SMD Resistor|
|8||10K Ohm 0805 SMD Resistor|
|1||11K Ohm 0805 SMD Resistor|
|2||22 Ohm 0805 SMD Resistor|
|1||100K Ohm 0805 SMD Resistor|
|1||1A 40V SMD Schottky Barrier Diode|
|1||TLV2171 Dual RRO OP-AMP SOIC-8 (Unity-gain stable)|
|1||LM78L05 SOT-223 Linear Regulator|
|1||5.2mm SMD Momentary Switch|
|1||ATMEGA32U4 Microcontroller TQFP-44|
|1||DB9 Connector Male|
|1||Geyer SMD Crystal KX-7, 16MHz|
|1||0805 SMD CHIP LED|
I have decided to use a DB-9 connector for interfacing the gauge because it has a convenient amount of pins, is a standard part and very rugged. Unfortunately, Pfeiffer decided to use a non-standard connector that is hard to get nowadays, namely the model GO 6 WF by Hirschmann / Lumberg Automation. I managed to find an unused connector on eBay for about $10 incl. shipping, which means that I can just cut off one of the connectors of a DB-9 cable and solder the new plug to it.
For this PCB, I decided to try out the Chinese manufacturer ALLPCB, mainly because they offer DHL express shipping at a total cost that is equal to other manufacturers with much slower shipping. They held their promise, and for about $18 I received these beautiful PCBs, which I quickly populated.
The next step consists of writing the firmware for the ATMEGA32U4 microcontroller. I flashed the ‘Arduino as ISP’ sketch on a conventional Arduino UNO and used it to program the ATMEGA32U4 with the Arduino Leonardo Bootloader. I wrote a quick sketch that identifies the connected gauge, reads out the signal voltage, converts it to pressure units and shows the result on a I2C OLED Display. Additionally, the pressure can be accessed over the USB serial interface. The sketch is available on my github repository.
I hooked up the PKR251/261 gauge to it and I am really happy with the result! The calculated pressure is in the right order of magnitude, yet it seems the Pirani Element needs some recalibration after all. Now, I only have to wait for some vacuum pumps to find their way to my home lab…
I hope that you find this design useful and might even want to build one. If you don’t want to order a batch of PCBs on your own, I also have both bare and populated ones over (while supplies last).