Homebrew a Geiger rate meter

Hi! In order to count pulses generated from Geiger tube when striked by a ray, we need a counter. If we combine a pulse counter with an high voltage supply for the Geiger tube, we have made a rate meter.

This is my inplementation:

Homebrew rate meter for geiger tube

On the left there is the power on/off switch and the BNC female connector where you connect the Geiger probe. In the center the 16×2 LCD display shows on the top line the result Counts Per Minute (CPM) of the… last minute. On the lower left there is a 60 second countdown to show how much time remain to update the CPM line. On the lower right there are the total pulses counted from the last 60 second countdown. It reset each 60 seconds. On the front panel, top right, you can see the voltage selector (400/1000V) to power the tube. The 1Kv position is for photomultiplier tube. The “pulse” RCA connector is used to send the tube pulses, amplified, to a PC soundcard or other devices for future use.

HV main board lower side

HV power supply plus linear regulators and pulse amplifier

 

 

 

 

 

 

 

 

 

 

 

 

 

The HV section is very simple, a single transistor oscillator that drive a CFL lamp transformer from an old LCD display.

The rectified output is leveled by a series of zener diodes and filtered by a C-R-C-R-C network of 10nF@2Kv rating blue disk cap. and 1Mohm 1/4W tru-hole resistor.

HV power supply schematic, CRC filter omitted. 5V supply filter omitted too…

The output noise is down below 4mVpp at 1000V!!! with 80-100Megaohm load. The pulse amplifier is used to reverse the pulse polarity from negative to positive, enlarge it and drive the counter circuit. I’ve copyied it from the Theremino website at the section  Theremino PMT

Pulse amplifier adapted trom Theremino PMT

The counter, finaly, was made by an Arduino nano that drives the LCD and count the pulses incoming on the interrupt pin D2 on the falling side of the pulse. The source code is splitted in various images.

Library initialization, pin definitions

Global variables, custom characters definition

countPulse interupt funcion

Timers and display.