ESP32 で放射線量ロギング

電子工作
スポンサーリンク

ESP32 でガイガーカウンタの出力を読み取って,Fluentd でロギングする方法を紹介します.

スポンサーリンク

はじめに

今回は,UART で放射線量を出力するセンサーと ESP32 を組み合わせます.ESP32 の UART を活用する実例はあまり無い気がするので,その参考になれば幸いです.

必要な部品

必要な部品はこんな感じ.

eBay で入手するもの

Geiger Counter DIY Kit ver.2.00

ガイガーカウンターのキットです.ガイガーミュラー管は付属していません.


ヤフオク で入手するもの

LND 712

LND 社の高性能定番ガイガーミュラー管です.普通に海外で買うとかなり高いですが,ヤフオクで常に流している方がいるので,そこから入手するのがオススメです.


秋月電子 で入手するもの

NJU7223F33

3.3V 生成用の電源です.ガイガーカウンタは 5V 動作なのに対して ESP32 は 3.3V 動作なので,5V から 3.3V を生成するのに使います.


電源用マイクロ USB コネクタ DIP 化キット

USB ケーブルから 5V の供給を受ける用です.別にこれを使わなくても OK です.

昨今はマイクロ USB ケーブルや,USB アダプタはどこにでも余ってたりすると思うので,割と便利です.参考まで.


MonotaRO で入手するもの

極低頭六角穴付ボルト(SCM435/黒色酸化皮膜)全ねじ

パネルをケースに固定するためのネジです.普通のネジでも OK ですが,これを使うと見た目が良いのでおすすめです.


回路

結線は普通に接続するだけです.特に工夫する点はありません.

留意点が2つあります.

スピーカ
今回使用する基板はガイガーミュラー管の出力を音にして出力する機能を持っていますが,なかなか沢が紙です.常時設置する場合は Geiger Counter DIY Kit のスピーカの配線をカットしておくと良いかもしれません.
絶縁
ガイガーミュラー管には 600V 近く印可しますので,最初から基板の裏側を絶縁しておくと安心です.

私の場合,作業していて手にしびれを感じたので,それ以降は下図のように電気用RTVゴムを基板裏に塗って絶縁してから作業しました.使い切れなくても保存できるので,手元に1本あると何かと便利です.

ソフト

Geiger Counter DIY Kit は 10 秒毎に計測した CPM 値を出力するので,これを読み取って Fluentd に投げます.

ソフト全体は,github に上げてありますので,ここではポイントとなる部分のみ抜粋します.

UART_HW_FLOWCTRL_DISABLE でフロー制御を無効かしておき,uart_set_pin の引数でも使わないピンは UART_PIN_NO_CHANGE を指定しておきます.

あとは,uart_read_bytes で定期的に読み出して処理します.

UART 通信処理以外は別タスクに切り出したかったので,セマフォを使ってタスク間で待ち合わせを行いようにしています.

完成

ケースに納めれば完成です.

Fluentd で集めたデータを Grafana でグラフ化するとこんな感じになります.

コメント