About this blog

About this blog

During the recent events in Fukushima - Japan, it soon became clear that the authorities are not very informative to civilians regarding radiation exposure values. Authorities seem to be witholding information, perhaps to avoid panic.??

So I got the urge to be able to detect and measure radiation by my own, especially since I live within a 15km radius from the NPP of Borssele and a 30km radius from the four reactors of Doel NPP, Belgium.


Browsing the internet, I found some relatively cheap ex-army radiation detectors at an army-dump shop. One of them appeared to be suitable to even detect the (usually low) background radiation levels: A Frieseke & Hoepfner FH40T Geiger counter (fitted with a FHZ76V energy-compensated geiger-mueller tube), sensitive to γ (gamma) radiation and β (beta) radiation over 0.25MeV.The FHZ76V tube actually contains a Valvo 18550 tube, which is equivalent to Centronics ZP1320, Mullard Mx164 and LND-713 (found in this Probe Selection Guide and here)

The specs of the ZP1320 tube claim a sensitivity of 9cps/mR/h for Cs-137 (540cpm/mR/h). For 'normal' background (0.025-0.045mR/h) this results in a counting rate of approx.10-20cpm.. Where I live, I measure values varying between 4cpm up to 25cpm. This variation is caused by the randomness of the decay of radioactive elements.


Note:

The unit R in this text means Roentgen, a depricated unit of radiation exposure. Nowadays it is better to use S.I units. The Gray (Gy) and Sievert. The official conversion between Roentgen and Gray is:

1 R = 8.77 mGy
1 Gy = 115 R

For sake of simplicity, in our calculations we simply use 1R = 10mGy and 1Gy= 100R. And so is 10µR = 0.1µSv.
This approximation is good enough for this experiment.


I've built a PIC16F628-processor based interface / pulse-counter, that counts the pulses and converts them to mR/h values and transmits them out of an RS232 port. This interface is then connected between the Geiger counter and a small PC, running Linux. On the PC, a simple script runs that reads the values from the RS232 port (one measurement value every 111seconds) and stores the entries in an RRD database and the graphs are made with rrdtool.

There are 3 types of radiation:
α (alpha) decay is helium nucli being released, (beta) decay is electrons (β-) or positrons (β+) and γ (gamma) decay is electromagnetic radiation (like X-rays).
This Geiger-Mueller tube is only sensitive to β and γ radiation. The calibration is only correct for the γ radiation (662keV) emitted from Cs-137 .

I am now on the lookout for a device that can detect alpha radiation too. But the current situation in Fukushima has stirred up the market (crazy prices, run out of stock) for detection devices so I better wait until better times.

Friday, April 29, 2011

Linux scripts for datalogging and graphing of the radiation measurements

Here are the scripts that I'm using on my Linux box to capture the measurement data that is sent by my Geiger-Counter processor Computer (RS232) interface.
It sends one line with the radiation value (in mR/h) measured during each sampling period (111.11s).


create.sh:

#!/bin/sh
# create.sh - create rrd for storing radiation measurement values (run once)
RRD=rad.rrd

rrdtool create $RRD \
--start 1301511639  --step 111 \
DS:mR-h:GAUGE:333:0:10000.0 \
RRA:AVERAGE:0.5:1:6000  \
RRA:AVERAGE:0.5:6:3000  \
RRA:AVERAGE:0.5:16:3000 


sc.sh:

#!/bin/sh
# sc - simple serialport capture script
SERIAL=/dev/ttyS0

# run loop forever:
while true ; do
    read a < $SERIAL
    N="`date  +%s`"
    echo "rrdtool update rad.rrd $N:$a" >> data.log
    rrdtool update rad.rrd $N:$a
    echo $a >> geiger.log
    sh graph.sh
done


graph.sh

#!/bin/sh
# graph.sh - generate graphs from rrd

# mR (milliRoentgen) to Roentgen: CDEF:value=mR,1000,/ \
# mR (milliRoentgen) to Sievert: CDEF:value=mR,100000,/ \

rrdtool graph radday.png -s -24h -e now \
 -l 0 -r \
 --alt-y-grid \
 --units-length 5 \
 --units-exponent -6 \
 --width 800 --height 500 \
 -t "Beta+Gamma Radiation last 24h - `date`" \
 --vertical-label "Sievert/h -------->" \
 --right-axis 100:0 \
 --right-axis-label "R/h ------->" \
 --color FONT#000000 -R light --font "DEFAULT:0:DejaVuSansMono" \
 DEF:mR=rad.rrd:mR-h:AVERAGE \
 CDEF:value=mR,100000,/ \
 CDEF:smoothed=value,3333,TRENDNAN \
 VDEF:rad5max=value,MAXIMUM \
 VDEF:rad5min=value,MINIMUM \
 VDEF:rad5avg=value,AVERAGE \
 VDEF:slope=value,LSLSLOPE \
 VDEF:int=value,LSLINT \
 CDEF:trend=value,POP,slope,COUNT,*,int,+ \
 AREA:smoothed#0000ff40: \
 LINE1.5:smoothed#0000ff:" Radiation (avg)   " \
 LINE1:value#ff000080:" Radiation (raw)   " \
 LINE1:trend#000000:"--- trend\c":dashes \
 VDEF:rad5las=value,LAST \
                COMMENT:"      " \
                COMMENT:"Maximum       " \
                COMMENT:"Minimum       " \
                COMMENT:"Average       " \
                COMMENT:"Last          \n" \
                COMMENT:"     " \
                GPRINT:rad5max:"%6.2lf %SSv/h" \
                GPRINT:rad5min:"%6.2lf %SSv/h" \
                GPRINT:rad5avg:"%6.2lf %SSv/h" \
                GPRINT:rad5las:"%6.2lf %SSv/h \l" \



No comments:

Post a Comment