Tokyo Hackerspace/RDTN Geiger Shield - Dev History
This is the project page for the Tokyo Hackerspace/RDTN Geiger project. This is an Arduino-based geiger counter shield that makes it easy to upload data to the internet and also interchange tubes. Since it's open source and Arduino-based, its also easy to hack this to other interesting applications.
Here's the dev history:
2011-04-03 Akiba, FreakLabs:'
I've been trying different ways of generating the 500VDC. Found a good way today using a CCFL inverter module locally available from Akihabara. I hooked up a bench supply to the DC input on the low voltage side. On the high voltage side, I hooked up a bridge rectifier and high voltage 0.3uF capacitor. Here's the scope waveform of the output:
Here's the DC bench supply showing the input DC voltage. The current is misleading because I had a voltage divider on it.
And here's a shot of the mess that was my circuit setup:
Dan mentioned that under a high rad field, a tube might require up to 50 uA at 500V. This inverter module is a bit underpowered for it. I'll use it for testing and prototyping. In the mean time, I'll be investigating this CCFL transformer from Coilcraft. It's the model FL2810-1L CCFL flyback transformer with a 1:100 turns ration and a 4.5W power handling capacity. At 500V, that should be almost 10 mA. That's way more than enough for a geiger tube.
Anyways, next step is to try & prototype this module with an actual geiger tube. I talked to Pieter about the plans for the geiger counter we're designing in Tokyo Hackerspace. It will be an an Arduino shield form factor and contain a Wiznet W5100 TCP/IP embedded ethernet chip, HV circuitry, and power-over-ethernet option to power the device. There is already code for sending up data to web services like Pachube using the Wiznet and an Arduino and many users are familiar with the combination. The PoE option will also be convenient since you won't need to run power and comms cables to the device. The main reason to go this route is because people in the hackerspace are familiar with arduinos, there are many tutorials on how to upload data to internet services using Arduino + Wiznet, and there are JSON libs and other standardized data format libs available for the platform.
For the board, I would estimate a BOM cost of around $14-17 using the CCFL module and probably around $11-15 using a discrete HV circuit, not including the geiger tube.
2011-04-05: Akiba, FreakLabs
Finally got a chance to test the SBM-20 geiger tubes today. I set it up so that the HV inverter output was rectified to 400V and put together some alligator clip wires. The SBM-20 recommends an operating voltage of 400V. I viewed the output on the oscilloscope and could confirm that pulses were being generated. Here are the pics:
2011-04-07: Akiba, FreakLabs
Now I'm probing the cathode of the geiger tube (non high voltage side) w/a 1kohm pulldown resistor to GND. The 1k resistor causes the reference to jump approximately 2V whenever a geiger event occurs. I also added a comparator with the reference set to approximately 0.8V which can catch normal and smaller events. The comparator outputs a nice pulse and we can feed this into the MCU to start counting. It looks like there's enough info about the circuit to start putting together a schematic and PCB.
2011-04-07: Akiba, FreakLabs
I finished the rough draft of the schematic. Going to start putting together the PCB land patterns and laying out the board. The basic summary is that the board will be an Arduino shield. That means that the Arduino platform and microcontroller will be the main brains behind this. The shield will include high voltage circuitry to power a variety of geiger tubes, an ethernet controller with integrated TCP/IP stack to upload data to the internet, an event LED, and a speaker output. All of the counting, data formatting, and event handling will be done on the Arduino. It will then pass the data to the TCP/IP chip which will send it to the server of your choice.
I made some tough decisions on the schematic. One of them was to remove Power-over-Ethernet. Although it would be convenient to power the geiger over ethernet, it didn't seem very intuitive. The 802.11af PoE spec states that you need at least a minimum of 48V to go across the wires for PoE. This would require a more complex power supply to switch the voltage down to 5V/3.3V to be useful for most of the circuitry. If we went against the spec and just ran a 9V supply, then we'd need to provide a midspan injector and an AC adapter to inject the DC voltage into the ethernet twisted pair. The setup would've been a pain and I could just imagine the types of questions. And of course a compact PoE ethernet connectors with integrated transformers and PoE outputs are about 2-3x more expensive than standard ethernet connectors with integrated transformers. So I figured just keep things simple on the first try and not get too fancy schmancy.
Some other minor things were to have a generic high voltage connector on the board. The tube would be on a separate carrier board so that multiple tubes can be supported. Tube supply is an issue at the moment and there may be different configs required for different situations. We can also have jumpers (in the final version) to set the voltage regulation to 300V, 450V, or 600V to support different tubes. Need to see if this would be a requirement. That's about it. You can download the pdf of the schematic here:
Updated 2011-04-12: Do not use this schematic. This should have been called an RC (release candidate) version. Please check below for updated versions.
2011-04-10: Akiba, FreakLabs
I finished the initial PCB layout of the geiger shield and cut out a prototype PCB on my CNC machine. I'll be buying parts tomorrow, assembling the board, and bringing it up. If it comes up nicely, then I'll start writing the driver implementation and the other software for counting events.
2011-04-11: Akiba, FreakLabs
Went out and bought the components and assembled the prototype board today. I found a few errors on the schematic which is always a good reason for me to prototype my designs. I was able to verify that the voltage boost circuit output was correct and the zener diodes were regulating okay. I'll probably be verifying the ethernet tomorrow or in the coming days. I suspect that will take longer to get it to work. In any case, here are some pics of the finished prototype:
Prototype mounted on one of my freakduinos:
Output voltage to drive the geiger tube:
2011-04-12: Akiba, FreakLabs
Heh heh heh...Played with the prototype board and got the TCP/IP/ethernet interface working.
Here's a shot with the prototype configured as a webserver:
The prototype hardware all connected up:
The debug terminal showing the HTTP connection:
The actual Pachube feed:
I've updated the schematic based on issues found via the prototype:
2011-04-13: Akiba, FreakLabs
I tested the board connected to a geiger tube today to make sure that everything was okay. After I verified that it was working, I wrote the software for the actual geiger functionality. It was mostly just setting up the hardware counter inside the microcontroller, setting up the piezo speaker, and generating an LED flash on each event. Other than that, I decided that it should go in a proper box to make it all pretty for the New Context Conference.
I chose to go with an industrial enclosure with an IP65 rating. For those that don't know the IP (Ingress Protection) rating, IP65 means that the enclosure is watertight and dust proof. I added a cable gland for the power cable and the ethernet cable which allows the cables through and doesn't compromise the seals. The reason I went with this enclosure is because I wanted to show what an actual outdoor geiger counter would be like including the cabling. I also decided to torture myself and tried to fit it into a small industrial enclosure so people wouldn't complain about the size. It's pretty tight, but gets the job done.
One thing to pay attention to is the mounting of the geiger tube. Pieter from RDTN found some awesome fuse clips that fit the geiger tube perfectly. He mounted some leads on to them and they're perfect for a geiger tube socket. I'll be picking me up a bunch next time I'm in Akihabara. Here's the pics:
Here's me verifying that the geiger tube is registering events and that the pulse output of the comparator is okay.
The actual hardware setup.
Packing everything up into the enclosure.
The enclosure with cables and cable gland.
Side view. Note the geiger tube mounts. I love those things.
The enclosure with the lid closed and latched down.
2011-04-14: Akiba, FreakLabs
Finally finished writing the demo software for the New Context Conference. It basically takes the geiger data in, processes it a bit, blinks an LED and beeps the piezo speaker on each event, and sends the data up to Pachube.
I found one issue with the hardware which is a runt pulse coming out of the comparator. Apparently the pulse from the geiger tube drops too slowly so when its at the comparator threshold, the comparator has to decide whether the pulse is above or below the threshold. Because of this, it randomly generates an extra pulse.
The proper fix would be to add a hysteresis resistor to the comparator which would get rid of the comparator searching for the correct output. That will go into the final design. However its too close to the conference and so I had to do a dirty hack in software. I can't say I'm proud of it, but when there's a deadline and you need something working, you sometimes have to trade your soul. I'll be removing it in the final version.
Another thing I discovered is that when using this enclosure, the ethernet connector didn't fit through the cable gland. I had to cut off one of the RJ-45 connectors and slide the cable through. However I didn't have any RJ-45 modular crimp pliers so I went out today and bought one. It's actually a nice one with ratchet action and built-in cable strippers...uhhh...not the kind on Cinemax (yuk yuk yuk). Anyways, I learned how to crimp RJ-45 connectors on to CAT5 cable today so I'm pretty satisfied.
The geiger is now logging counts per minute, beeping, flashing, and sending the data up to Pachube. At NCC, we should be meeting the guys from RDTN and one of them is a geiger expert and was also a consultant to the Three Mile Island and Chernobyl incidents. I'm hoping to learn how to calibrate and characterize a counter to figure out the proper method to convert to a usable measurement like uSV/Hr, etc.
That's it for now. Next up is the New Context Conference where we'll be giving talks with RDTN on distributed radiation measurement. After that, then it's final touch up on the hardware and sending it out to fab.
Wish us luck :)
Here's a shot of the Pachube test feed with real CPM (counts per minute) data:
2011-04-22: Akiba, FreakLabs
The board is officially out the door!
The official release is below. It's probably best to wait until I test out the final board before trying to fab it yourself.
Here are the files:
2011-05-13: Akiba, FreakLabs
The NetRAD boards are in! I hand assembled two of them for testing and they came up very nicely. Its currently working and tested with two different geiger tubes: the SBM-20 gamma tube and the LND7317 pancake tube. The output voltage for the geiger tubes can be set via jumpers with the option to output 300, 400, and 500V. I still need to port Shigeru Kobayashi's code which will implement DHCP on the device and interface it to Pachube (or internet server of your choice), but other than that, the ethernet/TCP/IP, high voltage, and pulse output blocks are working :)
Here are some pics:
The bare PCB:
This is the assembled board:
This is the board with the ethernet and geiger tube connected: