Ionization Chamber

Ionization chamber is a device to measure radioactivity level. When air's atoms are hit by radioactive particles, an ion-pair is produced. Ions has electric charge, if they are in electric field create by positive and negative electrodes, negative ions will move to positive electrode and positive will move to negative electrode. They will try to "meet each other" thus creating a current. This current can be measured. The current is proportional to amount of ion-pairs. Amount of ion-pairs is proportional to radioactivity level.

Architecture of the device is presented below. It's made of analog part + STM8 microcontroller that collects and sends measurements via UART. Those measurements are collected on Raspberry side and processed using Python and R scripts. results are stored in .cvs (raw data) or .png (diagrams). It would be possible to simplify this setup and avoid Raspberry, but I wanted to made it possible to gather data and flash the chip without being physically around the device.

Outside electrode of ionization chamber was made from PCB scraps and copper plate, inside electrode was made using a couple of centimeters of non-emaled wire. To avoid electromagnetic interference, amplifier was placed in metal chassis.

PCB for analog ans data acquisition part was designed in KiCAD, all files are available on project's GitHub.

High voltage is needed to create sufficient voltage field in the chamber. Originally I didn't know how big it needs to be, so I added on the PCB a simple DC/DC converter to generate 400V DC. Tests show that 4x12V from batteries is sufficient, so while the DC/Dc converter is soldered (visible on the bottom left side of the picture), it's not used.

Software was written in C, compiled by SDCC. A weird limitation of SDCC is that even if functions are unused, they are still compiled and added to final binary. I'm using StdPeriph as a HAL, so there is a lot of unused functions, that took space, so I ended up with adding #ifdef 0 ... #endif around each of them and then trying to compile and uncommenting those that are needed.

Below diagram shows results obtained from the device. As visible, it's quite sensitive.

More detailed documentation, source code and PCB design are available on project's GitHub

0 commentaires:

Post a Comment