It’s been a busy month. I’ve built and re-built the main board (leaving a soldered mess – I need to build a second one to clean it up). The CAN communications is working, and the main board is communicating with the external devices (FC301 2m tranceiver module w. opentracker packet radio modem, Siemens TC35 GSM, and a GTPA010 GPS). In addition, I have a 8 channel relay board, the geiger input, and an on-board temperature sensor attached using a one-wire protocol.
The modular plg in the center bottom is the programming plug for the Microchip ICD3 programmer. This allows for very fast software prototyping. Sure – I can emulate and single step the software before programming. However, with this many external devices being controlled by the software, I depend on being able to run the program ‘live’ and use a multimeter, scope, and protocol analyzer to troubleshoot the various components.
One of the most exiting aspects of this project (in my view) is the use of a CAN bus to communicate beween two CPU’s. CAN is not a super-fast way of doing networking. In a project like this, though, there is very little overhead from an OS, protocol headers, or anything else. The main CPU is running at 80 MHz, the display board at 32 MHz, and the bus speed is 250 kb/s. As it turns out, with everything going, the bus and CPU’s are mostly idle (!).
So, with the hardware mostly sorted, a whole range of possibilities present themselves. The software I have written so far will keep track of all APRS stations nearby and display them on a little radar screen (picture above). I can text the unit from my cellphone and get a position- and radiation report back. The position, radiation and other status info is reported in the APRS telemetry stream. The unit also reports telemetry to a web-server I have, every time it connects to an open WLAN network. Using GSM, APRS, or commands from the web server, I can control the relay board. The display board gives me correlated data continuously, showing radiation, nearby APRS stations, WLAN networks, GSM coverage, etc. etc. I can configure alarms that are displayed and transmitted when triggered. The optocouple inputs (4 on the main board, two on the display) allows me to read inputs like the state of the car alarm, ignition level, and other car-related things. The display board even has a photo diode that regulates the display brightness via the PIC18 A/D converter. This data is also part of the telemetry. My imagination is the limit, really.
I would welcome any questions, feedback and suggestions on this project – maybe it inspires similar projects?
A classic project problem is the so-called ‘scope creep’. A customer will revise specifications to include more features, and the project is not finished on time as a result. In this case, I can only blame myself since I create my own specs.
I wanted to combine more data sources than just the geiger counter, making better use of the display. I have been playing with the pic32 controllers lately, and come to realize just how powerful these little chips are. So the project scope increased: the goal now is to make a central unit that consolidates data from many sources and feeds the data to the display over a CAN connections.
The plan is to add a WLAN module, a GPS, and a GSM modem. This way, the set-up can be used to track a vehicle and communicate over the internet. A new PCB was made, and the project moves forward!
Time flies, and the project has been dormant for a while. Since my last post, I decided to expand the project a little, making sure that the geiger display would allow for other kinds of data as well. The main progress for now was to get data displayed on the screen. First the obligatory ‘Hello World!’, and then one of the background bitmaps that I will use for the main information display. The colored ‘scales’ will show the radiation level and other information that I have yet to figure out. But, I’ve got the communications with the 4D Goldelox controller sorted, and that’s a good start!
Finally got the PCB’s ordered and populated. Now the real job begins – writing the software. The PBC’s were ordered from http://www.seeedstudio.com and their Fusion PCB service. The OLED module is a complete display and graphics controller on a board, which was supplied by Australian 4D systems. Making it fir in a 52mm gauge housing is a challenge – I had to resort to some delicate Dremel work to remove some mounting flanges at the corners of the display board. Beware of static and metal particles polluting the circuitry! More later…
Now that the geiger counter is working and giving me TTL pulses in an orderly fashion, it is time to decide on how the radiation level will be displayed inside my apocalyptic survival vehicle. For the last few days, I have been designing a computer circuit that can display stuff in a car, based on a Microchip 18F4680 18-bit microcontroller. The display is going to be an OLED module from Australian 4d systems, a display module that has a built-in graphics controller and can be controlled by a serial data line. Read more about the module here: http://www.4dsystems.com.au/prod.php?id=84
This module can fit inside a 52mm instrument housing with a bit of modifications. The computer will also have to fit inside this housing. I have designed the computer to be in-circuit programmable (I foresee an endless series of firmware upgrades before I get everything right). I am using a couple of optocouples as inputs, in addition to a CAN bus interface (a CAN controller is available in this particular microcontroller). Who knows what I can expand this project to cover in the future 🙂
Got the Geiger Counter finished. The tricky part with building a Geiger Counter is that the Geiger-Müller tube requires a high voltage across it. Whenever a Beta- or Gamma particle enters the tube, it shorts out for a tiny fraction of a second. The high voltage is fed through a large resistor, and when the tube shorts, the particle creates a tiny voltage drop across the resistor.
Home-made geiger counter with tube at the top and HT board at the bottom. The board was printed on plastic foil, and a photo-sensitive print was then exposed and etched to create the circuit board. I know, the soldering leaves a bit to be desired, but I was trying out various component values to make the counter work correctly.
The tricky part with the high voltage was solved using the KU-3294V high voltage generator. This circuit board came out of a broken LCD display that used a fluorescent backlight. With 5 volts in, it generates about 500 volts out in this case. Two 200V Zeners pulls the voltage down to the 400V that is needed for the tube. Furthermore, the detection pulse is formed and fed into the good old SN74121 monostable multivibrator with schmitt-trigger input. This is a brilliant circuit, and makes it really easy to generate nice TTL square pulses on the output when a radioactive particle is encountered. I am not simply hooking up a speaker to get the classic geiger ticking sound – I want to interface this with a computer so that I can make calculations. More about those plans in the next post.
I’ve always been fascinated with apocalyptic movies like ‘The Road’ and ‘2012’. Thinking about how one would survive in a post-apocalyptic world is a lot of fun. Clearly, according to many of these movies, you would need a vehicle that is able to transport- and protect you. This sounds like a great project!
But – where to start? Assuming that the apocalypse may be caused by something to do with nuclear radiation is not too far fetched. The survivalist vehicle should definitely be equipped with a geiger counter. After all, keeping track of radiation levels while traversing the ruins could save your life!
So, a Geiger counter it is, then! A quick trip to eBay tells me that surplus Geiger tubes have been increasing in price lately, maybe because of recent events in Japan. I decided to settle for an SBM-20 tube, both because of a good price and excellent beta- and gamma sensitivity. From what I can tell, these tubes come from old Soviet stock, meaning that they are old but unused. Add to basket! Now I have to teach myself a little geiger theory and see what else I need. Stay tuned!