Chronology Current Month Current Thread Current Date
[Year List] [Month List (current year)] [Date Index] [Thread Index] [Thread Prev] [Thread Next] [Date Prev] [Date Next]

[Phys-L] Geiger circuit follies



In my copious spare time I looked at this undergrad research
project:
https://scholarship.tricolib.brynmawr.edu/bitstream/handle/10066/21532/Gilchrist_thesis_2019.pdf

Page 9 is particularly interesting. The authors complain about
"double counting" errors. They never really figured it out, but
they minimized it by fiddling around. If you look at figure 7
on that page, you can see a major problem. (There may be other
problems, but let's focus on this.) You can see that the output
pulse width is comparable to the tube dead time, i.e. hundreds
of microseconds.

This is a terrible design. The analog response of the tube is
slowly changing. As such it is going to spend a long time near
threshold, where it is unduly sensitive to noise. I do not
recommend that you look at the circuit diagram, because it's
a mess, but I'll tell you that it tries to solve this problem
by including some hysteresis, i.e. some positive feedback, i.e.
some Schmitt trigger behavior. However, IMHO that's locking the
barn after the horse is long gone.

Here's a circuit that is even worse:
https://electronics.stackexchange.com/questions/388907/arduino-geiger-counter

It uses RTL (resistor transistor logic) i.e. a grounded-emitter
transistor Q1 with a pullup resistor "220" ... and then it stretches
the pulse using capacitor C1. This is a bad design for multiple
reasons. For one thing, depending on the physical layout, suddenly
discharging that capacitor could put a voltage spike on the ground
wire. And it means that if you stretch the pulse enough to be useful,
it will have a slow rising edge, so this is another way of making
the downstream circuit vulnerable to noise.

Connecting a trashy signal to a high-quality counter/timer is
asking for trouble. Double counts or worse. It might not be
entirely obvious what's happening.

============

Here's how I think it should be done: There should be a two-step
process: First capture the event, then format the output pulse as
desired. Do not try to combine these two steps.

In particular: Take another look at the analog tube response in
the Gilchrist thesis. We should focus on the fast rising edge of
the pulse. We should not try to slow that down; instead we should
speed it up. For an example of speed-up, look at capacitor C5 on
the base of the critical transistor Q2 here:

http://www.next.gr/sens-detectors/rf-radiation/Geiger-Counter-I-Circuit-l14694.html

After we have captured a fast pulse, lengthen it using a 555 timer
or the like. Let's be clear: the length of the output pulse is set
by the timer, not by the tube physics. The tube's dead time and
the length of the instrument's output pulse are two completely
different concepts.

That next.gr circuit uses the correct two-step approach, but it could
IMHO be improved further. A fast-responding 555 requires discharging
a capacitor all at once, which is just as bad using a 555 as it is
using a discrete transistor (as in the aforementioned stackexchange
circuit). So the clever approach is to use the pulse to set an RS
latch, then use a *slow* responding timer to clear the latch.

The response of the RS latch is super-fast and super-reliable, which
could be particularly handy if you are doing coincidence measurements.
https://int.frederiksen.eu/Admin/Public/Download.aspx?file=Files%2FFiles%2Fexp%2F138000%2F138970-EN-Interaction-cosmic-rays-and-matter.pdf

And (!) one can do even better than that. Any modern design will have
an embedded microcontroller ... so we don't need a 555 at all.
-- Use the super-fast pulse to set the RS latch.
-- Use the nice steady latched output to interrupt the microcontroller.
-- Then let software clear the latch!

No fiddling with the 555 RC timing (because there's no R, no C,
and no 555). Also no fiddling with the threshold and no fiddling
with the amount of hysteresis. Simpler and in every way better.

==============

Background: About 10 years ago a flood of cheap and/or DIY Geiger counter
designs hit the market. (Hint: Fukushima.) A lot of the devices and/or
circuit diagrams are still floating around. A lot of them are hobbyist
grade, not commercial grade, nowhere near research grade.

Gilchrist & Wesley seem pretty smart, but they got snookered by this.

The nice thing about hobbyist equipment is that it's relatively easy to
upgrade.

1) Lower the pulse signal level from 5V to 3.3V so you don't blow the
microcontroller inputs.(*)

2) Remove any slowdown capacitors.

3) Add a speedup capacitor to the base of the RTL transistor.

4) Add an RS latch, CD4043/4044 or the like.

5) Add a microcontroller.

(*) Note: The Teensy microcontroller will accept 5V at the power supply
pin, but *not* at the signal inputs. If it's not convenient to lower
Vcc on the Geiger board, you can use a voltage divider on the RTL output,
to lower the one signal that matters. More generally you can use a 4049
as a level shifter. You can mooch enough 3.3V supply from the Teensy
board to operate the 4043/4044 latch (and the 4049 if necessary).

They make super-fancy bidirectional level shifters, but I don't trust
them except in carefully-controlled circumstances. Interfacing to
weird analog signals doesn't count as controlled. I suppose you could
operate the RS latch at 5V and talk to it using level shifters in both
directions, but I haven't thought this through. Other solutions are
simpler (in this case at least).