その2:ガイガーカウンタにZigBeeを接続する(2)

GM-01A

Open Geiger ProjectさんのGM-01Aを1台入手できましたので、ZigBee化にチャンレジしてみました。GM-01AはGM管にわりと感度が良いと定番のSMB-20を使っているオープンソースなガイガーカウンタです。今回はこれにUSBタイプのZigbee機器「78K0R UD Stick」を接続してみます。

&ref(): File not found: "tumblr_low2wkagT71ql56v1o1_500.jpg" at page "Zigbeeでやってみた(2)_old"; 

ZigBeeデバイスとのIF

ZigBee機器とどんなインターフェイスで接続するかがいつも問題になるのですが、GM-01Aはマイコン(ATMEGA328P)からUARTのTRXが出てるようなので、今回はこれが活用できそうです。

また公開されているソースコードを見ますと、検出した放射線のカウント方法としては、シンプルにGM管の入力をMCUの割り込みで拾ってました。そこでソースコードを数行だけ修正させてもらい、割り込みハンドラの中にPORTD1(TXD)をHI-LO操作するコードを追加して外部機器へのトリガーにしました。

WinAVR

GM-01AのビルドにはWinAVRを使ってみました。いろいろ試行錯誤しましたが、分かってみると簡単で、手順は以下の通りです

  1. WinAVRをこの辺りからダウンロードしてインストール
  2. スタートメニューから「Programmers Notepad」を起動
  3. 「File」→「New」→「Project」と指定して 適当な場所にプロジェクトを作成
  4. 最新のopengeiger_firmwareをダウンロード、展開して、「app」ディレクトリをWinAVRのワークスペースへそのままドロップ
  5. (これが重要)app\rev4にあるMakefileをWinAVRのワークスペースに追加する。そしてMakefileを開いて「AVRTOOLSPATH:=/usr/local/CrossPack-AVR/bin/」の指定パスを削除 して「AVRTOOLSPATH:=」に変更。
  6. MakefileをWinAVRのエディタで開いた状態でメニューからMake allを選択

これでビルドできるようになると思います。ビルドしたhexファイルの書き込み方はこちらの書き込み手順を参照してください。

78K0R UD Stick

一般に自作系やフィジカルコンピューティングで無線通信というとXBeeがポピュラーですね。そして XBeeとの大きな違いは、ホストが必要ないということです。XBeeはモジュールなので、一般的にはこれを無線機器として駆動する外部デバイス(ホスト)が必要ですが、78K0R UD Stickは内蔵マイコンにファームウェアを書き込んで動かしますので、1台のスタンドアロンなコンピュータと同等です。ですので、イメージとして

「XBee」 = 「78K0R UD Stick」

という図式は正確ではなく、しいていうなら

「XBee + Arduino シールド(Fioとか)」=「78K0R UD Stick」

が正しいです。そう考えると78K0R UD Stickって小さいし単三電池1本で動くしプラスチック筐体に入っているしで、中々洗練されてると思いませんか。

USBスティックタイプのZigBeeデバイスも世の中に沢山ありますが

この条件を満たしている製品が実は中々ないので、大変重宝しているのです。

動作の確認

改造したファームを書き込んでTXポートをオシロで見ると、GM-01A本体の放射線検出(ビープ音)と同時にパルスが観測できるので、改造はちゃんと動作してそうです。しばらくZigBeeデバイスにCPMをカウントさせてみましたが、GM-01A本体のCPM表示とくい違ってないことも確認できました。

ついでにAmazonで購入したキャプテンスタッグマントルM-7911を近づけてみると、すごい勢いでビープ音が鳴り出してちょっとビビりました。レベル的には700-800CPM(3uSv/h)程度ですが、この程度なら取りこぼしもなさそうです。

&ref(): File not found: "og_zig.jpg" at page "Zigbeeでやってみた(2)_old";

電圧は3.3Vなのでレベル変換しなくて済んでいます。

コーディネータ

78K0R UD StickはパソコンにUSB接続すると、シリアル通信(COMポート)でパソコンとデータをやり取りできます。無線で飛ばした線量情報を記録するには、78K0R UD Stickをもう1個用意してコーディネータ設定にしてパソコンにつないでおくこの方法が一番早いです。しかし「パソコン立ち上げっぱなし」というのは、あまりかっこよくありません。そこでTK-850/JH3E+UDを使ってみました。

&ref(): File not found: "850ud.jpg" at page "Zigbeeでやってみた(2)_old";

(写真では2台ならんでいます)

TK-850/JH3E+UDは、イーサネットを備えた32bit MCU搭載のZigBeeデバイスです。ファームウェアでZigbeeとTCP/IPをゲートウェイすることができます(この辺りはプログラムをがっつり作りこむ必要がありますが・・)


トップ   編集 凍結 差分 履歴 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2022-06-25 (土) 17:38:09