mbedを用いたガイガーカウンタシステムの作成

プログラムをPublishしました (http://mbed.org/users/y_notsu/programs/MARMEX_Oled_GPS_3/ltqris)

Quote:

今回はmbedを用いたガイガーカウンタを作成しました。 第1弾として、GM管・OLEDモジュール(OB基板)を使ったものを作っていたのですが、 せっかくのmbedの機能を使うために以下のようなものを第2弾として作成しました。

  • GPSモジュールの搭載(MARYのGB基板を使用)
  • OLEDモジュールの使用(MARYのOB基板を使用):GPS情報とガイガーカウンタの情報を表示
  • SDカードへの情報の記録
  • LCDモジュールの使用:GPSの状態とカウンタ値の表示

回路図は下の図のようになっています。

/media/uploads/y_notsu/_scaled_geiger_circuit_j408-.jpg

などと、回路図書いてもわかりにくいですね(´・ω・`)

下に、接続部分のCodeを書いておきます。

//main.cpp内
MARMEX_OB_oled   oled1( p5, p7,  p8, p30, p11 ); // mosi, sclk, cs, rst, power_control
TextLCD lcd(p25,p24,p12,p13,p14,p23); //rs,e,d0-d3 
SDFileSystem sd(p5, p6, p7, p20, "sd");
Serial pc(USBTX, USBRX);
InterruptIn sendpcmode(p16);
InterruptIn oledmode(p17);
InterruptIn ain(p18);

//gpstrtc.cpp内
Serial device(p9,p10); //tx,rx
I2C i2c(p28,p27);  //sda.scl

要のGM管は中国製のJ408γ。必要なプラトー電圧は400Vです。 高電圧発生回路は使い捨てカメラのフラッシュ電源回路を用いています。 これに2.0Vを入力することで400Vを安定的に得ることができます。 J408γの固定には、車パーツ屋さんやホームセンターで売っている ヒューズホルダーを用いました。外周部の金属管につながっているほうが カソードです。間違えないようにつなげてください。

完成した全体図はこんな感じです。

/media/uploads/y_notsu/_scaled_dscf2303_mini.jpg

可搬性をもたせるためにA4クリアケースに入れています。

Quote:

二つのスイッチは以下の動作を行ないます。

  • SW1 (sendpcmode):GPSの情報およびカウント数をUSBを通じてPCへ送信していますが、 この送信のON/OFFを行ないます。
  • SW2(oledmode):OLEDモジュールの表示をGPS情報とカウント表示のいずれかに 切り替えます(下図参照)。

/media/uploads/y_notsu/_scaled_dscf2302_mini.jpg/media/uploads/y_notsu/_scaled_dscf2304_mini.jpg

カウント値(CPM)については、6個のDataバッファを10秒ごとに ずらしながら記録し、表示・記録しています。このようにすることで 経過的にどこで高くなっているのかグラフを見ればすぐにわかるように なっています。

計測した結果はSDカードにCSVファイルで自動的に記録されます。 記録も10秒ごと、RTCの時間・緯度・経度・カウント数が記録されます。 /media/uploads/y_notsu/_scaled_amarecco0930.jpg なお、緯度・経度情報がExcelで開くと時刻表示([hh]:mm:ss)に なってしまいますので、GoogleMapで使える少数表示にするには

・TEXT(E1,"[hh]:mm;ss")として、一旦文字列に変換
・=MID(L1,1,2)+MID(L1,4,2)/60+MID(L1,7,2)/3600 で少数に変換 :緯度の場合
・=MID(M1,2,3)+MID(M1,6,2)/60+MID(M1,9,2)/3600 で少数に変換 :緯度の場合

として変換してやることが必要です。 /media/uploads/y_notsu/_scaled_amarecco0932.jpg

  • L列:=TEXT(E1,"[hh]:mm:ss")
  • M列:=TEXT(H1,"[hh]:mm:ss")
  • N列:=MID(L1,1,2)+MID(L1,4,2)/60+MID(L1,7,2)/3600
  • O列:=MID(M1,2,3)+MID(M1,6,2)/60+MID(M1,9,2)/3600
  • P列:=J1(カウント数そのまま)
  • Q列:=P1/633 (CPMからuSv/hへの変換)
  • R列:=IF(Q1<=0.2,1,IF(Q1<=0.5,2,IF(Q1<=1,3,IF(Q1<=3,4,5)))) :Mapのiconを色分けするためのフラグ

福島県郡山市から飯館村にいったときの放射線量のグラフを示します。 (カウント数を633で割った値をuSv/hとしています)

/media/uploads/y_notsu/_scaled_amarecco0928.jpg

(一部、非常に大きな値を示していますが、これは飯館ドライブインで 近くの土の上にガイガーカウンタを置いたときのものです。それ以外は 運転中の車内での値になります)

また、GPS情報(緯度・経度)を持っているので、GoogleMapに掲載することも 可能です。CSVファイルから緯度・経度情報からDataをGoogleMapに乗せる方法 については http://ecogis.sfc.keio.ac.jp/developers/gmaps/tut_7.html をご参考にしました。飯館村にいったときの様子を下図に示します。 (基本的には車の中で測定した値ですので、ご参考程度に)

/media/uploads/y_notsu/amarecco0931.jpg

MAPファイルはこちらで公開しています。 http://www.geocities.jp/arrows_bill/20110629data

今回の作成にあたり、非常に多くの方のご協力をいただきました。ありがとうございました。

  • 高電圧発生回路の作成については、fukuさんのページ (http://manoromi.dreamlog.jp/archives/51667313.html)
  • OLEDモジュールについては、Tedd さんのOLEDライブラリ
  • RTC/GPSモジュールについては、MARY向けの Munetomo Maruyamaさんのライブラリ


5 comments on mbedを用いたガイガーカウンタシステムの作成:

05 Jul 2011

状況を報告します。 1週間程度、特に使っていて問題なかったのですが(連続8時間測定でもOK)、 突然3.3Vから2.0Vを作る回路の出力が1.5Vまで落ち込み、測定できなくなりました。 Op-ampまわりや昇圧回路を変えても変化がなく、まだ原因がわかりません。 ひとまず動かすために昇圧回路に3.3Vをダイレクトに入れています。 このようにすると、検出感度が変わるため uSV/h = CPM / 1520 としました(1号機:郡山市の値と相関をとったもの との差分から計算)

18 Jul 2011

追加の状況報告。どうも機器の調子が悪く電源投入して10分程度しか検出できませんでした。回路の不具合を懸念していたのですが、GM管を新しいものに変えることで直りました。つまり、GM管が故障してしまったようです。上記の回路図では昇圧回路とGM管の間に制限抵抗を挿入していなかったため、GM管が劣化してしまったのではないかと推測しています。現在は、1MΩの抵抗を挿入して動作させています。

21 Jul 2011

さらに追記です。新しいGM管にしただけでは直っていませんでした。 3.3Vをダイレクトに入れた状態だと、GM管に印加される電圧は680V 程度になり、放電のたびに管の中が赤くなっているのが見えます。 この状態で数百CPM程度であれば測定できるのですが、それ以上だと 測定不能になるようです。回路中のGM管と昇圧回路の抵抗を8MΩとし、 オペアンプ(LM358)を交換、昇圧回路への入力電圧は2Vとすることで、安 定して測定できるようになりました。  おそらく、放電の際の突入電流でオペアンプも故障していたものと 推測されます。 教訓:プラトー電圧は適正なものを印加しましょう。

15 Aug 2011

追記です。これまで2回GPSモジュールが壊れました。状況としてはGPSモジュールからデータが返ってこない。また1台のモジュールは内部でつくっているはずの3.3V電圧が4V程度になってしまっていました。電源系のノイズに弱いのかもしれません。現状はGPSなしで測定するようにしています。また時間のある時に故障の解析を続ける予定です。  また、GPSをなくしたことでGM管のカウント数に変化があるように見受けられます。傾向としてはカウント数が減る方向。もしかしたらGPS通信のノイズがCPMに影響していた?GPSがない状態で測定を行なって傾向をチェックする予定です。

29 Jan 2012

Please log in to post comments.