今日は朝から雷が来ないかと待っておりました。昨日最後に触れた
AS3935 Franklin Lightning Sensor
を実際に使ってみたくてうずうずしていたのです。事前の予報だと、昼は気温があがるものの、上空の寒気もあって雷雲発生との期待をもっていたのです。しかし、雷雲は遠く海上にあり、「射程40km」のAS3935ではとても届きそうにありません。今晩一晩動かしていても雷様はこない感じです。仕方がないので、本日はじっくりとAMS社の資料を読み、そしてArduinoのサンプルアプリの上に「被せる」PC側のプログラムなどを作っておりました。
センサ本体の写真などは、昨日の投稿に載せてあるので、そちらをご参照ください。雷が来ないので手持ち無沙汰な間に、センサを制御しているArduinoのサンプルプログラムからPCに送られてくるデータを解釈する簡単なGUIを作りました。既に5時間ほど動かし続けているのですが、起動時のアンテナ・キャリブレーションの数値が入っているだけで、雷が近くで発生しないので、他のフィールドには数字が入ってきません。こんな感じです。
やっていることは単純で、Arduino側からUSBシリアル経由で送られてくるデータ列を仕分けてパソコンの画面に出力しているだけです。寝ていても記録がとれるようにパソコン側でタイムスタンプを打つようにしたところだけが、プラスした機能です。また、マイコン側からはレジスタの数値をそのままずらずらとダンプしてくるので、仕分けるついでに、レジスタの各フィールドを分類して見やすく表示するようにしてみました。真ん中辺にごちゃごちゃとテキストボックスが並んでいるのは各フィールドです。結構数が多くて、いろいろなパラメータがある(精度を上げるためには調整の必要もありそう)なことがこれからも分かります。フィールド名はなるべく元のAMS社の資料と対応がとれるようにしてありますが、長い名前は勝手に縮めています。
AMS社の資料によると、雷のセンシングは以下のような3ステップで行われます。
- 受信した入力信号が雷の特性か否かを吟味する(ノイズをリジェクト)
- 雷のエネルギーを計算(数値化されるが、物理的な意味はないとの事。)
- 距離を「統計的に」推定、その際、それまでの受信履歴もつかう
肝心な信号は、RLC共振回路をアンテナとしてとらえます。肝の部分のインダクタンスは、L=100uHで、ボードに乗っているのはCoilcraftという会社製のMA5532-AEというQ値34というかなり「ピーキー」なコイルです。他にも2社ほど推奨品が列挙してあり、日本のスミダ製も入っていました。これで500kHzを中心とした33kHzのバンド幅を監視します。まちがってもSPIインタフェースのクロックに500kHzを使うなと、注意が書いてあります。今回のインタフェースはI2Cですが、Arduinoの資料によるとクロック100kHz(最大400kHz)のようなので問題にはならないでしょう。
このコイル(アンテナ)と外付けのメインのキャパシタに対して内蔵の小さなキャパシタを切り替えて付加することで共振周波数を500kHzに自動チューニングをかけます。この手の装置では見かける方法ですが、チューニングの様子が分かるので面白いです。どうもこのチップの検出アルゴリズムは、
フロリダ工科大
と共同で開発したらしいのですが、500kHz, Qは16以上、100uHというのは必須のパラメータのようです。
それをAFE(アナログ・フロントエンド)で増幅して受信しているのですが、AFEの倍率は屋内用と屋外用に切り替え可能です。デフォルトは屋内用になっており、今回はそのまま使っています。
かなりな感度だと思うので、当然、ノイズをいろいろ拾うようです。しかし、
雷の時のパターンと違うものはバッサリ切る
というところがAMSのノウハウでチップの中に隠されている部分のようです。この信号を処理して、雷のエネルギー(物理的な意味はないとわざわざ断ってあります)を求め、この履歴から統計的に雷までの距離を推定して出力するようです。距離の算出のところの記述を読んでいて気付くのは、
アチコチで雷発生している筈だが、一番近い距離数値を採用する
というアルゴリズムになっているようです。しかし近づいてくるときは良いけれども、
遠ざかるときはどうやっているの?
という疑問が持ちあがります。内部で15分のタイマを持っていて15分内の雷の回数を数えるような記述があるので、遠ざかるときはしばらく近めの数字が出たままになるのかもしれません。伏線として資料の頭に
The US National Weather Bureau
の30-30ルールというものが置かれています。
「ピカっと来てからゴロゴロまでが30秒以内になったら10km圏内だから速やかに退避」「雷鳴が聞こえなくなっても30分は退避場所に居残る」
という感じでしょうか。まあ、遠ざかるときの15分はOKな遅延かもしれません。
このチップ何気に細かいテクを使っており、クロックなども、水晶使わずにRC発振で32.768kHzと1.1MHzを作り、自動温度補正で両クロックをキャリブレーションしています。アンテナの500kHzの自動チューニングといい、AMSのお得意なところが出ている感じが多分にします。
しかし雷様はきませんね。。。ちゃんと動いたらまた報告をいれます。