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の状態とカウンタ値の表示
回路図は下の図のようになっています。
などと、回路図書いてもわかりにくいですね(´・ω・`)
下に、接続部分の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γの固定には、車パーツ屋さんやホームセンターで売っている ヒューズホルダーを用いました。外周部の金属管につながっているほうが カソードです。間違えないようにつなげてください。
完成した全体図はこんな感じです。
可搬性をもたせるためにA4クリアケースに入れています。
Quote:
二つのスイッチは以下の動作を行ないます。
- SW1 (sendpcmode):GPSの情報およびカウント数をUSBを通じてPCへ送信していますが、 この送信のON/OFFを行ないます。
- SW2(oledmode):OLEDモジュールの表示をGPS情報とカウント表示のいずれかに 切り替えます(下図参照)。
カウント値(CPM)については、6個のDataバッファを10秒ごとに ずらしながら記録し、表示・記録しています。このようにすることで 経過的にどこで高くなっているのかグラフを見ればすぐにわかるように なっています。
計測した結果はSDカードにCSVファイルで自動的に記録されます。 記録も10秒ごと、RTCの時間・緯度・経度・カウント数が記録されます。 なお、緯度・経度情報が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 で少数に変換 :緯度の場合
として変換してやることが必要です。
- 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としています)
(一部、非常に大きな値を示していますが、これは飯館ドライブインで 近くの土の上にガイガーカウンタを置いたときのものです。それ以外は 運転中の車内での値になります)
また、GPS情報(緯度・経度)を持っているので、GoogleMapに掲載することも 可能です。CSVファイルから緯度・経度情報からDataをGoogleMapに乗せる方法 については http://ecogis.sfc.keio.ac.jp/developers/gmaps/tut_7.html をご参考にしました。飯館村にいったときの様子を下図に示します。 (基本的には車の中で測定した値ですので、ご参考程度に)
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を用いたガイガーカウンタシステムの作成:
Please log in to post comments.
状況を報告します。 1週間程度、特に使っていて問題なかったのですが(連続8時間測定でもOK)、 突然3.3Vから2.0Vを作る回路の出力が1.5Vまで落ち込み、測定できなくなりました。 Op-ampまわりや昇圧回路を変えても変化がなく、まだ原因がわかりません。 ひとまず動かすために昇圧回路に3.3Vをダイレクトに入れています。 このようにすると、検出感度が変わるため uSV/h = CPM / 1520 としました(1号機:郡山市の値と相関をとったもの との差分から計算)