As you can see from the picture of the testbench for this project, it is buillt in several smaller blocks. I have been building small circuits for a while, as a chance to play with them and learn about better PCB layout techniques. This also results in having small building blocks to create larger projects from. This method also works well for incorporating manufacturers eval boards into a project. Because this project uses high enough voltage to destroy digital boards and tools, I put all of the boards on a metal breadboard setup to keep them from floating around and shorting together. Since this project is designed to go into a fixed location data acquisition system, there is no reason to build all the modules on a single PCB, so it will stay in this format. The completed system configuration will go into a weatherproof polycarbonate box, and the metal baseplate to mount all of the boards to is fabricated.

The modules used are:

1) HV Power supply and Geiger Mueller tube analog stuff.

2) Low pass digital filter.

3) MCU Board.

4) LCD Display and serial backpack.

5) Incoming power filter and pre-regulator board.

6) RS422 driver. May or may not incorporate.

All of the purple (OSHPark) boards in the picture are previous or current projects. Schematics for all of these boards are in the files section.

The Power Supply was the first block built for this project. I wanted a (sort of) high voltage power supply that I could use for other stuff like playing with Nixie tubes or EL wire in addition to this Geiger counter project. I picked the Linear Tech LT3757 chip, running in flyback mode. The output voltage from this circuit is adjustable from about 150VDC to about 425VDC. I have played with driving Nixie tubes with this supply, and it works well in this role.

My first iteration of the power supply board was very close to the LT data sheet design for the LT3757, including the RC snubber on the switch node. Messing with this circuit showed that the snubber was dissipating a noticeable amount of power and had problems with both the resistor and the cap surviving. Replacing the RC snubber with a diode snubber resulted in a much cleaner supply with lower power consumption and less smoke problems.

The Geiger Mueller tube is a metal sleeve (cathode) with a wire (anode) down the center, and it is filled with low pressure gas. When no radiation is being detected, the tube looks like an open circuit from the sleeve to the wire. When a particle of ionizing radiation passes into the tube (through the sleeve side), the gas ionizes and the tube conducts current from the sleeve to the wire. As long as the voltage across the tube is below the "self avalanche" level, the tube will stop conducting after about 30uS. This is an extremely hand-wavey explanation, if you want a better one, see Wikipedia: https://en.wikipedia.org/wiki/Geiger%E2%80%93M%C3%BCller_tube .

There is a 4.5M resistor between the HV power supply output + and the anode of the tube. A voltage divider between the tube cathode and ground gives an output signal to drive the base of a grounded emitter NPN transistor. The collector of the transistor is pulled up to 3.3V through a 4.7K resistor to give a 0 - 3.3V output signal from the tube. This signal is cleaned up with a Schmidt trigger inverter to give a well behaved logic signal output. One of the things that this project highlighted to me is that resistors have a voltage rating as well as a resistance value. Exceeding that voltage rating will cause bad things to happen!

I went through several iterations of PCB layout to get the flyback converter HV output as clean as possible. There are still some high frequency noise that shows up in the output. A simple 1 bit, digital low pass filter was implemented to clean this up. I though about trying to do this in the MCU software, but opted for the hardware approach.

The digital filter is a simple 8 bit shift register followed by some logic and a mux. When the output of the filter is low, it requires the last 8 of the samples to be a logic high level before the filter output will change to high. When the filter output is high, it requires the last 8 of the samples to be a logic low before the filter output will change to low. The filter sample rate is 1MHz. There is an optoisolator on the input of the filter to isolate the HV power supply ground from the digital logic ground. The output of the filter is passed on to a GPIO input on the MCU. When I did the board layout, I included options for using a different clock frequency and have some extra dividers that can be selected via jumpers.

Several years ago, I did a work project using the SAMD21E18 chip. It seemed like an interesting part, and the chip that I have been using for most of my MCU projects is more than 10 years old now, so I thought I would get some experience with the newer part. I laid out a small fanout board with crystals and other support stuff for the part and have used that board for a few quickie projects in the interim. I was not planning to use the 32KHz crystal or the USB connector that was on the first rev of that board, so I did another board that removed those items and added an RS232 level shifter and a local 3.3V regulator. This is the board used in this project.

Getting used to the clock system and peripheral design on the SAMD21 part has taken some time. I am using a mixture of the ASF drivers supplied and my own libraries for hardware control. One of the unexpected changes was that I could not get a 1KHz clock to run the RTC that I wanted with the external 12MHz crystal. I tried using the on-board 32.768KHz oscillator and the on-board 8MHz oscillator, but they lacked the stability that I wanted.  The original 12MHz crystal got swapped for a 16.384MHz crystal and I got the desired 1KHz clock. There are still many parts of this MCU that I have not messed with, but this is progress.

Dealing with the parallel interface on a character LCD requires a lot of pins and is kind of a hassle. A previous project was to create a serial to parallel adapter board to handle the interface. Using that adapter board let me use one more UART, which I already have code written for. The adapter board sits on the back of the character LCD in a "backpack" configuration.

This project is going to live in the same area as my amateur radio antennas and radios, so I want to minimize interference output as much as I can. I have seen some pretty good input power filters recently. I adapted one of these filters and put a switch mode pre-regulator on a small board to use to reduce the conducted emissions from the power wiring as much as I can. This is something that I want to experiment with when the filter/regulator boards come back from OSHPark.

This Geiger counter is going to be sitting outside somewhere on the end of a long cable. I left space for including an RS422 differential driver board to run the serial data back to the host that will be recording the data. The temptation to use the RS232 level shifter that I added to the CPU board is pretty strong though, because I could use the 5 conductor wire that I already have a roll of in my shop. (RX,TX,Gnd, +12V and 12V Return). Changing to RS422 will require at least 6 conductors, so I would have to buy a roll of wire.