■ AS3935 「雷」センサー を制御する ■

 秋月電子で販売されている、AS3935 「雷」センサー モジュールのテストとマニュアルの解説です。
 
 AS3935は、雷が発生した時に起きる電磁波を受信して、そのパターンを解析し、自然現象である雷と人工的なノイズ(モーターやリレーの放電など)を判別します。
 雷を検出した場合には、そのエネルギー量を計算し、いくつかのサンプルを用いて現在地から雷雲の先頭までの距離を推定します。
 ユーザーはその距離情報から、雷雲が近づいてくるのか遠ざかっていくのかを知る事が出来ます。

 ・現在地から半径40Km内の雷雲を検出。
 ・最短1kmまでの距離を14段階で推定。
 ・雲から地面へと雲の内部(雲から雲)の雷を判別。
 ・雷と人工的なノイズを判別。
 ・検出レベルやノイズのしきい値などを設定可能。
 ・チップ内に電圧レギュレータを搭載。
 ・動作電圧は2.4V~5.5V。
 ・I2Cと4線式SPIインターフェースを選択可能。
  (秋月電子のモジュールはI2Cで固定)
 ・パワーダウン、聴取(リスニング)、信号検証(アクティブ)の
  3モードにより、省電力化が可能。
 ・アンテナのチューニング機能により、基板やケース、部品の
  バラツキによる精度の較正が可能。


マニュアルを日本語訳しましたが、マニュアルの末尾に、このマニュアルを複製・改変・翻訳して著作権所有者の書面による事前の同意なしに使用することはできないという残念な記載がありますので、使用方法の概略をオリジナルに書き起こしてあります。
図や挿絵なども原本の物をコピーできないので、詳しくは英文マニュアルを参照して下さい。
このページの記載も、メーカーからクレームが付いた場合は消去しますのでご了承下さい。


絶対最大定格・電気的特性
 
  英文マニュアル、または、秋月電子の添付資料を参照。


動作説明
動作モード
 
 ・AS3935は、「パワーダウン・モード」、「聴取(リスニング)モード」、「信号検証モード」の3つのモードで
  動作します。
 ・パワーダウン・モードでは、消費電流を最低限の 1μA(標準)に下げるため、全ての回路の電源が
  切られます。 レジスター[00h]のbit[0] PWDで設定。 (初期値は0「パワーダウン無し」)
 ・聴取(リスニング)モードでは、AFE、監視(ウォッチドッグ)、ノイズ下限水準(ノイズフロアレベル)生成、
  バイアスブロック、TRCO、電圧レギュレーター(使用している場合)が動作しており、消費電流は60μA
  (標準)に下がっています。
 ・受信した信号が監視(ウォッチドッグ)のしきい値を超えると信号検証モードに入り、信号の解析が開始
  されます。 消費電流は350μA(標準)に上がります。
 ・信号が人工的なノイズとして判断されると、センサーは自動的に聴取(リスニング)モードに戻ります。

内部回路の動作
 
  信号処理のブロック図


AFE(アナログ・フロントエンド)
 
 ・外部のアンテナをAFE(アナログ・フロントエンド)に直接接続して、受信信号を増幅し復調します。
 ・500KHzを中心周波数として約33KHzの帯域幅の、狭帯域受信技術を使用します。
 ・AFEの帯域幅をアンテナ帯域幅より大きくすることによって、AFEの利得はアンテナの帯域幅内で一定
  とみなすことができます。
 ・AFEの利得はセンサーを使用する環境によって、「屋内」と「屋外」を選択する事が出来ます。
 ・AFEの利得は、レジスター[00h]のbit[5~1] に設定します。
 [00h] bit [5~1] AFE_GB   AFEの利得設定 
1_1111   31
1_0010   18  屋内 (初期値)
0_1110   14  屋外
0_0000    0

信号の検証
 
 ・聴取(リスニング)モードにおいて、監視(ウォッチドッグ)は受信信号を常時監視して、信号が監視
  (ウォッチドッグ)のしきい値(WDTH)を超えると、AS3935は信号検証モードに入ります。
 ・監視(ウォッチドッグ)のしきい値は、レジスター[01h]のbit[3~0] に設定します。
 [01h] bit [3~0] WDTH   監視(ウォッチドッグ)のしきい値 
0000    0 低い
0001    1 
0010    2      (初期値)
   ~
1010   10 高い
 
 ・しきい値を高くすると雑音に対しては強くなりますが、遠くの雷からの弱い信号に対しては鈍くなります。
  ※ マニュアルの図、[Figure 39:] WDTHの設定による、検出効率 対 距離を参照。
 ・監視しきい値の他に、ランダムな衝撃波のようなノイズを区別するために、スパイク除去設定SREJを
  設定することができます。
 ・スパイク除去設定は、レジスター[02h]のbit[3~0] に設定します。
 [02h] bit [3~0] SREJ   スパイク除去設定 
0000    0 低い
0001    1 
0010    2      (初期値)
   ~
1011   11 高い
 
 ・SREJを大きな値にすると雑音除去は強力になりますが、検出効率は低下します。
  ※ マニュアルの図、[Figure 41:] SREJの設定による、検出効率 対 距離を参照。
 
 ・信号検証モードに入ると、信号は雷アルゴリズム・ブロックにより検証が行われ、「雷」特有の信号
  パターンと人工的なノイズを分別します。
 ・信号のパターンが雷の特徴を持っておらず人工的なノイズとして判断されると、AS3935は自動的に
  聴取(リスニング)モードに戻ります。
 ・AS3935が2つの落雷を見分ける事が出来る間隔は、最短時間で約1秒です。
 ・一旦信号がノイズとして判断されると、AS3935はさらに1.5秒の間待機状態になり、連続したのノイズ
  によりセンサーが繰り返し起動するのを防ぎます。

エネルギー計算
 
 ・受信した信号が「雷」と分類された場合は、そのエネルギーが計算されます。
 ・エネルギーの計算結果は、レジスター[06h] bit[4~0]、[05h] bit[7~0]、[04h] bit[7~0]に出力
  されます。 (それぞれ、最上位バイト、上位バイト、下位バイト)
 ・この値は一つの「雷」のエネルギー量で、単に純粋な計数であり物理的な意味を持ちません。
 
 ・エネルギーの計算値は、AS3935の内部メモリーに計時情報と共に保存されて行きます。
 ・保存された値は、その後に雷の先頭までの距離を推定する検索テーブルとして使用されます。
 ・古くなったデータは、メモリーから自動的に消去されます。

距離の推定
 
 ・エネルギーが計算された後、統計的距離推定ブロックが、雷雲の先頭までの推定距離を計算します。
 ・この算定は、統計的計算に基づいて行われます。
  ※ マニュアルの図、[Figure 17:] Storm(嵐)、推定距離[Km] 対 時間を参照。
     (× = 一つの発生した雷) (--- = AS3935が計算する推定距離)
 ・推定された距離は14段階のバイナリ・データで、レジスター[07h]のbit[5~0]に出力されます。
 [07h] bit [5~0] DISTANCE   雷雲の先頭までの推定距離 (Km) 
11_1111 範囲外
10_1000 40
10_0101 37
10_0010 34
01_1111 31
01_1011 27
01_1000 24
01_0100 20
01_0001 17
00_1110 14
00_1100 12
00_1010 10
00_1000 8
00_0110 6
00_0101 5
00_0001 1 (雷雲は頭上です)
 
 ・レジスター[07h]の値は、接近する または 離れていく雷雲の、新しい推定距離が得られた場合に
  のみ更新されます。
 ・雷雲が過ぎ去り、雷からの新たな信号がAS3935を起動させなくなった場合に、レジスター[02h]の
  bit[6] CL_STATを[1]→[0]→[1]と変更する事で、古い統計データを全て消去することも可能です。
 ・レジスターに示される推定距離は、雷雲の先頭までを推定した距離であり、発生した一つの雷の
  距離を表すものではありません。
 ・統計的距離推定アル​​ゴリズムは、ハード的に組み込まれており、外部からアクセスすることは
  できません。
 ・一連の信号の検証が終わった後に、AS3935は自動的に聴取(リスニング)モードに戻ります。

ノイズ下限水準(ノイズフロアレベル)と判定
 
 ・AFE(アナログ・フロントエンド)の出力信号は、ノイズ下限水準(ノイズフロアレベル)を生成するため
  にも使用されます。
 ・ノイズ下限水準は、継続的に参照電圧(ノイズしきい値)と比較されます。
 ・アンテナから受信した高い入力ノイズ(例えば遮断器)により、ノイズ下限水準がノイズしきい値を
  超えた場合、AS3935が正常に動作できないことを外部装置(例えばMCU)に知らせるために、
  割り込み(INT_NH)を出します。
 ・ノイズ下限境界のしきい値は、レジスター[01h]のbit[6~4]で設定することができます。
 [01h] bit [6~4] NF_LEV   継続的な入力ノイズレベル [μVrms] 
屋  内 屋  外
000  [0]    28    390
001  [1]    45    630
010  [2]    62 (初期値)    860
011  [3]    78   1100
100  [4]    95   1140
101  [5]   112   1570
110  [6]   130   1800
111  [7]   146   2000

割り込み管理
 
 ・聴取(リスニング)モードにおいて、信号を受信するたびにAS3935は[IRQ]ピンをハイにして割り込み
  信号を出します。
 ・割り込み通知の情報は以下の4種類があり、レジスター[03h]のbit[3~0]で内容を示します。
 [03h] bit [3~0] INT   割り込み名  説    明
0000  Clear statistics  内部メモリーの統計データが全消去された。
0001  INT_NH  ノイズレベルが高すぎる。
0100  INT_D  ノイズを検出した。
1000  INT_L  「雷」を検出した。
 
 ・[IRQ]ピンがハイになった後、レジスター[03h]を読み出す前に2ms待つ必要があります。
 ・レジスター[03h]が読み出されるたびに、[IRQ]ピンはローに戻されます。

割り込み INT_NH
 ・INT_NHは、「ノイズ下限水準(ノイズフロアレベル)と判定」の項に記載されているように、ノイズレベル
  がレジスター[01h]のbit[6~4] NF_LEVで設定されたしきい値を超えた場合に出されます。
 ・ノイズレベルがしきい値を越える限り、INT_NHは持続します。
 ・INT_NHが出ている場合は、センサーをノイズの発生源から遠ざけるなどの対処をして下さい。

割り込み INT_D
 ・INT_Dは、信号の検証で「雷アルゴリズム・ブロック」が受信した信号を、ノイズとして判断した場合に
  出されます。
 ・レジスター[03h]のbit[5] MASK_DISTを[1](有効)にすることで、割り込みINT_Dをマスクすることが
  できます。
 ・MASK_DISTを有効にすると、信号がノイズとして判断された場合には、[IRQ]はハイになりません。

割り込み INT_L
 ・INT_Lは、信号の検証で「雷アルゴリズム・ブロック」が受信した信号を「雷」として判断した場合に
  出されます。
 ・エネルギー計算の後、計算値がAS3935の内部メモリーに計時情報と共に保存されて行き、統計的
  距離推定ブロックが雷雲の先頭までの推定距離を計算し、レジスター[07h]に出力します。
 
 ・これに加えて、設定数の雷が最近の15分内で検出された場合にのみ、「雷」割り込みINT_Lを出す
  ように設定することが可能です。
 ・「雷」の最小検出数は、レジスター[02h]のbit[5~4] に設定します。
 [02h] bit [5~4] MIN_NUM_LIGH   「雷」検出の最小数 
00  [0]     1  (初期値)
01  [1]     5 
10  [2]     9
11  [3]    16
 
 ・この機能を利用すると、センサーが「雷」割り込みINT_Lを出す前に、最小数の雷が起こらなければ
  なりません。
 ・発生数が設定値を超えると、センサーは通常の割り込み処理を行います。
 ・これは、雷アルゴリズム・ブロックの検証を通過してしまう人工的なノイズによって、誤った割り込みが
  出されるのを防ぎます。

割り込み Clear statistics
 ・レジスター[03h]のbit[3~0]が[000] Clear statisticsならば、雷の距離推定アル​​ゴリズムに基づき、
  距離推定ブロックが保存していった古い統計データが、全て消去された事を通知します。
 ・レジスター[02h]のbit[6] CL_STATを[1]→[0]→[1]と変更する事で、古い統計データを全て消去する
  ことも可能です。

アンテナの調整
 
 ・AS3935は、並列LC共振器に基づいて、ループ・アンテナを使用しています。
 ・アンテナは500kHzの周波数で共振し、約15のQ値(quality factor)を持つように設計されなければ
  なりません。
 ・基板のパターンやケース、部品のバラツキにより、較正(キャリブレーション)が必要になります。
 
 ・レジスター[08h]のbit[7] DISP_LCOを[1]に設定することにより、アンテナの共振周波数がデジタル
  信号として[IRQ]ピンに出力されます。
 ・外部装置はこの周波数を測定し、レジスター[08h]のbit[3~0] TUN_CAPの設定により、内部の
  コンデンサーを増減してアンテナを調整することができます。 (8pFのステップで、0pFから120pF)
 [08h] bit [3~0] TUN_CAP   内部のコンデンサーの容量 (pF) 
0000     0  (初期値)
0001     8 
    ~
1111    120

 ・信号の検証と距離推定の性能を最適化するために、±3.5%の精度でアンテナを調整する必要が
  あります。
 
 ・共振周波数は分周器の係数により内部で分周されます。
 ・分周比は、レジスター[03h]のbit[7~6] に設定します。
 [03h] bit [7~6] LCO_FDIV   アンテナの調整用の分周比 
00     1/16  (初期値)
01     1/32 
10     1/64
11    1/128

クロックの較正
 
 ・AS3935のクロックは、システムのRCO(SRCO)とタイマーのRCO(TRCO)の、2つの異なるRC発振器で
  構成されています。
 ・SRCOは約1.1MHzで動き、デジタル部分全体に主要なクロックを供給しています。
 ・TRCOは、低電力、低周波発振器で、32.768KHzで動作します。
 ・これらの2つの発振器における周波数変動は、温度変化により自動的に補償されます。
 ・それぞれの発振器の出力周波数は、レジスターの設定で[IRQ]ピンに出力することができます。
  レジスター[08h]のbit[5]を[1]にするとTRCO、 レジスター[08h]のbit[6]を[1]にするとSRCO。
 ・製造のばらつきにより、両方の発振器の周波数は公称周波数と異なることがあり、ダイレクト・コマンド
  により、両方とも自動的に較正することが可能です。
 ・較正の精度はアンテナの共振周波数の精度に依存しますので、2つの発振器の較正が行われる前に、
  まず受信アンテナの調整を行うことをお勧めします。
 
 ・レジスター[3Ah]のbit [7~6]とレジスター[3Bh]のbit [7~6]は、それぞれTRCOとSRCO発振器の較正
  状態についての情報を提供します。
 ・較正の手順が成功した場合は、較正が終わり次第、TRCOに対してレジスター[3Ah]のbit[7]が、
  SRCOに対してレジスター[3Bh]のbit[7]が[1]になります。
 ・TRCOまたはSRCOの較正中に問題が発生した場合には、個々にレジスター[3Ah]のbit[6]または
  レジスター[3Bh]のbit[6])が[1]になります。
 
 ・2つの発振器の較正の結果は揮発性(無電源消滅形)メモリーに記憶され、電源投入リセット(例えば
  電池交換)後に毎回行われる必要がありますが、すべての発振器は温度と電源電圧の変動に対して
  内部的に補正されます。
 ・もし、AS3935がパワーダウン・モードに設定されるならば、RCOは以下の手順を使用して再調整
  される必要があります:
   1. ダイレクト・コマンドのCALIB_RCOを送ります。 (レジスター[3Dh]に[96h]を書き込む)
   2. レジスター[08h]のbit[6]を[1]に変更します。
   3. 2ms待機します。
   4. レジスター[08h]のbit[6]を[0]に戻します。

ダイレクト・コマンド
 
 ・以下の表に示すように、レジスター[3Ch]と[3Dh]に[96h]を書き込むと、ダイレクト・コマンドを送信する
  ことができます。
レジスター・アドレス ダイレクト・コマンド 説    明
3Ch PRESET_DEFAULT レジスターを初期値にする。
3Dh CALIB_RCO RCO(内部クロック発振器)の較正を開始する。



レジスター表
レジスター
アドレス
b i t 初期
7 6 5 4 3 2 1 0
00h 予約済 AFE_GB PWD 24h
01h 予約済 NF_LEV WDTH 22h
02h 予約済 CL_STAT MIN_NUM_LIGH SREJ C2h
03h LCO_FDIV MASK_DIST 予約済 INT 00h
04h S_LIG_L 00h
05h S_LIG_M 00h
06h 予約済 S_LIG_MM 00h
07h 予約済 DISTANCE 01h
08h DISP_LCO DISP_SRCO DISP_TRCO 予約済 TUN_CAP 00h
09h

32h
LDLUT1 ~ LDLUT42
統計用メモリー (距離推定用 検索テーブル)
-
3Ah TRCO_CALIB
_DONE
TRCO_CALIB
_NOK
予約済 00h
3Bh SRCO_CALIB
_DONE
SRCO_CALIB
_NOK
予約済 00h
3Ch PRESET_DEFAULT -
3Dh CALIB_RCO -


レジスターの詳細
アドレス レジスター名 bit タイプ 初期値 説     明
00h 予約済 [7~6] R/W 00 予約済
AFE_GB [5~1] 10010 AFE利得の選択
PWD [0] 0 パワー・ダウン
01h 予約済 [7] R/W 0 予約済
NF_LEV [6~4] 010 ノイズ下限水準(ノイズフロアレベル)
WDTH [3~0] 0010 監視(ウォッチドッグ)しきい値
02h 予約済 [7] R/W 1 予約済
CL_STAT [6] 1 統計値メモリーの全消去
MIN_NUM_LIGH [5~4] 00 「雷」の最小数
SREJ [3~0] 0010 スパイク除去
03h LCO_FDIV [7~6] R/W 00 アンテナ調整用の周波数分周比
MASK_DIST [5] 0 割り込みINT_Dのマスク
予約済 [4] 0 予約済
INT [3~0] R 0000 割り込み通知の内容
04h S_LIG_L [7~0] R 00000000 一つの雷のエネルギー (下位バイト)
05h S_LIG_M [7~0] R 00000000 一つの雷のエネルギー (上位バイト)
06h 予約済 [7~5] R 000 予約済
S_LIG_MM [4~0] 00000 一つの雷のエネルギー (最上位バイト)
07h 予約済 [7~6] R 00 予約済
DISTANCE [5~0] 000001 推定距離
08h DISP_LCO [7] R/W 0 アンテナ共振周波数を[IRQ]ピンに出力
DISP_SRCO [6] 0 システムクロックSRCOを[IRQ]ピンに出力
DISP_TRCO [5] 0 タイマークロックTRCOを[IRQ]ピンに出力
予約済 [4] 0 予約済
TUN_CAP [3~0] 0000 アンテナ調整用内部コンデンサーの容量
3Ah TRCO_CALIB_DONE [7] R 0 TRCOクロック較正の完了
TRCO_CALIB_NOK [6] 0 TRCOクロック較正の失敗
予約済 [5~0] 000000 予約済
3Bh SRCO_CALIB_DONE [7] R 0 SRCOクロック較正の完了
SRCO_CALIB_NOK [6] 0 SRCOクロック較正の失敗
予約済 [5~0] 000000 予約済
09h

32h
LDLUT1
  ~
LDLUT42
[7~0] R/W - 統計用メモリー
(距離推定用 検索テーブル)
3Ch PRESET_DEFAULT [7~0] W Wr 96h レジスターを初期値にする
3Dh CALIB_RCO [7~0] W Wr 96h RCO(内部クロック発振器)の較正を開始



 I2Cバス通信の解説
I2Cインターフェース
 
 ・AS3935は、「4線式SPI」通信と「I2C」通信を選択できますが、秋月電子のモジュールが「I2C」固定に
  なっているので、「I2C」通信のみを記述します。
 ・I2Cインターフェースにより、AS3935の内蔵レジスターの読み出しと書き込み、コマンド送信を行い
  ます。
 ・AS3935のI2Cスレーブ・アドレスは、[ADD0]・[ADD1]ピンにより、3つのアドレス(01,10,11)から
  選択することができますが、秋月電子のモジュールは設計ミスで(00)になっています。
 ・マニュアルにも[ADD0 = 0]と[ADD1 = 0]の組み合わせは、I2C通信用に明確には認められていないと
  記述されています。 (I2Cのアドレス[00]はゼネラル・コール・アドレスのため)
 
 ・AS3935と通信するI2Cバスのデータ転送速度は、最大400KHzです。
 ・AS3935の7ビット・スレーブ・アドレスは、[0000_000x] [00h]です。 (秋月電子のモジュールの場合)
MSB  LSB
b7 b6 b5 b4 b3 b2 b1 b0
0 0 0 0 0 0 0 R/W
 ・最下位(LSB)のbit0は、マスターとスレーブのデータ方向を表します。
 ・[0]の場合はマスターからスレーブにデータを書き込み、[1]の場合はマスターがスレーブから
  データを読み出します。
 ・I2Cバス通信の基本的な説明は、別途専門書等を参照して下さい。

I2C・レジスタへのバイト書き込み
 
 ・AS3935の内部レジスターへ、データを書き込む。
START スレーブ
アドレス+[W]
00h
ACK レジスターの
アドレス
00h~3Dh
ACK 書き込むデータ
xxh
ACK STOP

 ・スタート・コンディション[START]の後に、スレーブアドレス+[書込]、AS3935へ書き込むレジスター・
  アドレス、書き込むデータが続きます。
 
 ・ストップ・コンディション[STOP]を発行するまで、レジスター・アドレスはどのレジスターでも自動的に
  増加(アドレス+1)されます。
START スレーブ
アドレス+[W]
00h
ACK レジスターの
アドレス
00h~3Dh
ACK 書き込むデータ

xxh
ACK 書き込むデータ

xxh
ACK




書き込むデータ
・・・
xxh
ACK 書き込むデータ

xxh
ACK STOP




I2C・レジスターからの読み出し
 
 ・AS3935の内部レジスターから、データを読み出す。
START スレーブ
アドレス+[W]
00h
ACK レジスターの
アドレス
00h~3Dh
ACK REPEAT
START
スレーブ
アドレス+[R]
01h
ACK レジスター
データ
ACK




レジスター
データ
ACK レジスター
データ
・・・
ACK レジスター
データ
NACK STOP





 ・スタート・コンディション[START]の後に、スレーブアドレス+[書込]、AS3935から読み出すレジスター・
  アドレスが続きます。
 ・リピート・スタート・コンディション[REPEAT・START]の後に、スレーブアドレス+[読み出し]を送ると、
  AS3935の内部レジスターのデータが送られてきます。
 ・また、スタート・コンディション[START]の後に、スレーブアドレス+[書込]、AS3935から読み出す
  レジスター・アドレスを送信した後、ストップ・コンディション[STOP]でバスをアイドル状態にしてから、
  新たにスレーブアドレス+[読み出し]を送る事も出来ます。
 
 ・内部レジスターのアドレスは、どの位置からでも読み出すことができます。
 ・レジスターアドレスは、自動的に増加(アドレス+1)されます。
 ・マスターがデータの読み出しを終了する場合は、最後のデータ・バイトの後に、[NACK]とストップ・
  コンディション[STOP]を発行します。










■ AS3935 「雷」検知・時計 の製作 ■


上記の雷センサー「AS3935」を使用し、雷検知と記録の機能を搭載したLCD表示時計です。

  ○RTC(時計)モジュールで時刻をバックアップ。
  ○雷やノイズの受信状況を、LCD表示とブザー音で通知。
  ○シリアル出力に、日時と距離情報を出力可能。
  ○最新から16個の「雷」発生距離を、LCDにグラフ表示。(雷雲の接近を可視化)
  ○「雷」発生日時と距離を、過去60個分記憶。
  ○記録した「雷」情報を、シリアル・ターミナルに一覧で出力可能。



回路の解説
 
1.電源回路

 
 ・ACアダプター等(特にスイッチング・タイプ)は電磁波ノイズを出すため、雷センサーの誤動作が
  多くなりますから、この装置は必ず乾電池で動作させて下さい。
 
 ・選択したLCD「AQM1602XA-RN-GBW」は、秋月電子の説明書に動作電圧が3.1Vからと記載
  されておりますが、搭載されているLCDコントローラ「ST7032」は2.7Vから動作しますから、
  1.5V乾電池2本の3Vで稼働しています。
 ・動作電圧に不安がある場合は、乾電池3本の4.5Vを選択して下さい。
 
 ・時計の時刻も、同じ乾電池でバックアップされます。
 ・乾電池の容量が少なくなるとLCDのコントラストが落ちてきますから、機能設定でコントラストを
  上げても表示が薄くなった場合は、電池の交換時期です。
 ・電池電圧が2.1V以下に下がるとRTC(RX-8025NB)の電圧低下検出機能が働き、装置の電源
  立ち上げ時にバッテリー切れのエラーメッセージが出ますから、電池を交換して下さい。
 ・RTCの電源回路に100μFのコンデンサーを入れてありますから、乾電池を外しても約1分は
  動作を継続できますので、その間に電池交換を済ませて下さい。

2.AVRとクロック
 
 ・AVRマイコンはATtiny861A-PUを使用し、クロックは内蔵RC発振器の1MHzで動作します。
 ・電源投入後、初期設定を行った後はAVRがスリープ状態になり、消費電力を抑えます。
 ・RTCからの1秒信号と雷発生またはスイッチ操作により起動され、必要な処理を行った後は
  またスリープ状態で待機しますから、単3アルカリ乾電池2本で約半年間動作します。

3.時計(時刻)カウント
 
 ・RX-8025NB(秋月電子AE-RX-8025NB)リアルタイム・クロック・モジュールを使用します。
 ・I2Cバス(SCL・SDA)で通信し、制御します。
 ・モジュールから1Hzのパルスを発生させて、時刻の更新に使用しています。
 
 ・電源投入時にはRTCの2Hz信号を使用して、雷センサーAS3935の500KHz共振器を自動的に
  較正します。
 
  モジュール内の、バス・プルアップ抵抗J1・J2と、LED点灯用のJ3は接続しないで下さい。

4.雷センサー
 
 ・AS3935(秋月電子AE-AS3935)雷センサー・モジュールを使用します。
 ・I2Cバス(SCL・SDA)で通信し、センサーからは雷やノイズを検出した際に、マイコンに対して
  割り込み信号が出されます。
 ・センサーの詳細は、上記の「日本語マニュアル」を参照して下さい。

5.LCD表示器
 
 ・AQM1602XA-RN-GBW(I2C接続小型キャラクタLCDモジュール)と、ピッチ変換キット
  (AE-AQM1602A)を使用します。
 ・「1.電源回路」の項に記載した電源電圧の注意事項を一読下さい。
 
  ピッチ変換基板上にあるプルアップ抵抗器のハンダ・ジャンパーは接続しないで下さい。

6.スイッチ
 
 ・電源スイッチにより、装置を使用しない期間に乾電池を節約することができます。
  (時計は動作を継続します)
 ・装置の電源投入時には、雷センサーの較正と雷記録メモリーの消去操作が可能です。
 
 ・表示等の機能的な操作には、押しボタン式のスイッチを3個使用します。
 ・押しボタンスイッチはケースに合わせて任意で選択し、ケタ上げなどの高さ調整を行って下さい。

7.スピーカー
 
 ・圧電スピーカー(圧電サウンダー)を使用します。
 ・素子の種類や大きさは任意で選択して下さい。(音圧の大小が重要です)
 
 ・AS3935から信号検知に関する割り込みが発生した際に、ブザー音で知らせます。
割り込み名 内   容 ブザー音 動作設定
[INT_NH] ノイズレベルが高すぎる。 200Hzの音を200mS間 消音は不可
[INT_D] ノイズを検出した。 200Hzの音を50mS間 機能設定によりON/OFF可
[INT_L] 「雷」を検出した。 4KHzの音を設定期間 機能設定により変更可
 
 ※ [INT_NH]が発生している場合は、センサーをノイズの発生源から遠ざけるなどの対処を
   行って下さい。


8.シリアル出力 (USB-シリアル変換)
 
 ・パソコン等のシリアル・ターミナルに、雷発生の情報を出力します。
 ・信号はターミナルへの出力のみで、キーボード等の入力は受付しません。
 
 ・パソコン等のデジタル機器もノイズの発生源になりますから、雷センサーとの距離をできるだけ
  離して下さい。
 ・通信の信号線からもノイズが回り込みますから、シリアル出力信号をフォトカプラで絶縁して
  あります。
 
 ・USBシリアル変換モジュールAE-FT234Xに「USB マイクロ B メス」コネクターがありますから、
  「USB A オス-マイクロ B オス」ケーブルでパソコンに接続します。
 ・通常、USBコネクターにケーブルを差し込むとパソコンにドライバーが自動でインストール
  されますが、動作しない場合はモジュールに付属の説明書にしたがって下さい。
 ・ターミナルソフト「Tera Term」などを起動して、シリアル通信を行います。
 
 ・検出した「日時」と「雷の距離」をシリアル出力します。
 ・シリアル通信のパラメータは、下記の値で固定です。 (プログラム内で変更可能)
   9,600ボー、パリティー無し、データ・ビット 8、ストップビット 1



○ユニバーサル基板 版
回 路 図  PDF版 AS3935Clk_Cir.pdf (230KB)
部品配置図  GIF版 AS3935Clk_Pcb.gif (235KB) 部品表

○プリント基板 版
回 路 図  PDF版 AS3935Clk_Cir2.pdf (234KB)
部品配置図  GIF版 AS3935Clk_Pcb2.gif (151KB) 部品表
 
   
注意! この図面を使用した、いかなる損害にも責任を負いません。

試用版 (AS3935の詳細設定と、[雷]記録の一覧をシリアル出力する機能はありません)
プログラム  テキスト形式 ソースファイル  AS3935clk34_Demo.TXT (59KB)
 BASCOM-AVR用 ソースファイル
 (BASCOM-AVR(製品版)が必要です)
 AS3935clk34_Demo.bas (59KB)
 書込器用 HEXファイル  AS3935clk34_Demo.hex (19KB)

・この製作では、ヒューズ ビットを工場出荷状態のまま使用しますので、変更の必要はありません。
・下記のLCD[AQM0802A , AQM1602XA]共用ライブラリを、
 C:\Program Files\MCS Electronics\BASCOM-AVR\LIB\ に保存してからコンパイルして下さい。
   http://www.ne.jp/asahi/o-family/extdisk/AQM0802A/Lcd_AQMxx02.LBX
・HEXファイルを使用する場合は、ファイルをそのままAVRに書き込んで下さい。

完全版 (AS3935の詳細設定と、[雷]記録の一覧をシリアル出力する機能を搭載)
プログラム  BASCOM-AVR用 ソースファイル
 書込器用 HEXファイル
 AS3935clk102.bas (70KB)
 AS3935clk102.hex (23KB)
 頒布室にて頒布いたします。

注意! 著作権は放棄しておりませんので、販売や配布目的での使用は絶対にしないで下さい。

       (記事の無断転載を除き、個人での使用は可能です。 改変、自作品の掲載、展示、リンクもご自由に。)



 
ケース内部

 
基板 部品面

 

ケース左側面

 
ケース右側面

 
基板 ハンダ面

 

プリント基板

基板 部品面

 
基板 ハンダ面

 
LCDの実装

LCDの取り付け
ICソケット 4ピン

LCDの取り付け
細ピンソケット 4ピン

押しボタン・スイッチ
[左] TVDP01-G73BB
[中] SKHHDTA010
[右] SKHHPNA010

 LCDの支柱
ジュラコン
M3-L10mm
六角スペーサー

AS3935の動作映像

2016年8月1日と2日に記録した、雷センサーAS3935が落雷を感知する様子です。
落雷をノイズと検出してから約1秒後に雷であると判定する様子がわかります。



製作について
 
・ユニバーサル基板の場合は、片面ユニバーサル基板を部品配置図の寸法のように加工します。
・部品表は、部品の背が低い順に記載してありますので、この順番に取り付けて行きます。
・RTC(AE-RX-8025NB)とLCD(AE-AQM1602A)モジュールのハンダ・ジャンパーは接続しないで
 下さい。(部品配置図を参照)
・USBシリアル変換モジュールAE-FT234Xは、ピンヘッダが基板の片面にしかないため固定が
 不安定になりますから、モジュールの裏面に板ゴムなどを貼り付けて固定することをお勧めします。
・LCD AQM1602XA-RN-GBW (AE-AQM1602A)は、変換基板側に付属の細ピンヘッダをハンダ付け
 して、4ピンのICソケットでケタ上げします。
・LCDは単体で固定用の穴がありませんので、端子部分をICソケットに刺し、ガラス部分を10mmの
 六角スペーサー2個で支えます。
・押しボタンスイッチは、LCDの高さやケースに合わせてケタ上げして下さい。
 (当製作では、タクトスイッチ(SKHHPNA010 9.5mm高)の足にICソケットを二段分刺してあります)
・雷センサー(AE-AS3935)のアンテナ部は、配線やパターン、その他の金属部分からできるだけ
 離して下さい。(金属ケースも不可です)
・アンテナ部分はケースから突出させる方が感度が上がります。



操作方法
 
1.電源投入
 
 ・初めて電源を入れたとき、または乾電池が完全に無くなったときは、2015年1月1日0:00から
  時刻がスタートします。
 ・電源を入れても時刻が更新されない場合は、[SW1][SW3]を押したまま電源を入れて下さい。
  (RTCを強制的に初期化します)

 ・電源を入れた時にRTCが動作していない場合や、電池の電圧が下がっている場合は、エラーが
  表示されます。
  ※ RTCが動作していない場合 → [RX-8025NB Error!] [#RTC No response]
  ※ 電池の電圧が下がった場合 → [RX-8025NB Error!] [#Battery is dead]

 ・[SW1]を押したまま電源を入れると、プログラム・バージョンが表示されます。
 ・[SW1]を離すと、通常動作に入ります。

 ・[SW3]を押したまま電源を入れると、[雷]検知データメモリーを、全て消去します。
  LCDに[Lightning Memory] [Clear] と表示されます。
 ・[SW3]を離すと、通常動作に入ります

 ・続いて、AS3935の500KHz共振器が自動的に較正されます。 (約8秒間)
LCDの下段左から、内部コンデンサー容量の設定値
発振周波数 500KHzとの差分 較正値

 
2.LCD表示の操作
 
 ○ [SW1] 表示選択
 
  ・スイッチを押すたびに、時計の表示方法が切り替わります。
 
表示順序 表 示 画 面 表 示 内 容
 月/日  曜日  時:分
 月/日  時:分:秒 
 年/月/日  時:分



 ○ [SW2] と [SW3] の同時押し。
 
  ・同時に押すたびに、時刻表示が12時間制と24時間制で切り替わります。
  ・12時間制の場合は[時]の左側に、AMは上側に三角、PMは下側に三角マークが表示されます。
 
12時間制 24時間制

 ※ LCDの下段にグラフが表示されている場合は、動作が変わります。 (下記の項を参照)




 ○ [SW2] [雷]記録 (旧)  [SW3] [雷]記録 (新)
 
 ・雷を検知すると、発生日時と距離がAVR内部の[雷]検知データメモリーに、最新から最大60個分
  記録されます。
 ・記録されたデータは、電源のOFF、または乾電池を取り外しても消えません。
 ・記録は電源投入時の[SW3]操作により消去可能です。 (上記 「1.電源投入」の項を参照)

 ・雷を検知した場合は、LCDの下段左側に雷マークが表示されます。
LCDの下段左から、雷検知マーク
発生日(日のみ) 発生時刻(時分秒) 距離(Km)

 ・[SW2] を押すとLCDの下段左側に記録番号が表示され、[最新→旧]へ記録内容が
  表示されて行きます。
 ・[SW3] を押すとLCDの下段左側に記録番号が表示され、[旧→最新]へ記録内容が
  表示されて行きます。
 ・番号の小さいものが新しく、大きいものが古い記録です。
LCDの下段左から、記録番号
発生日(日のみ) 発生時刻(時分秒) 距離(Km)

 ・最新(記録番号1)から再度[SW3] を押すと、最新から16個の距離をLCDにグラフ表示します。
 ・雷雲の接近をグラフで可視化します。
LCDの左側が古いデータ、右側が最新データ
グラフのバーは、下が遠い距離、上が近い距離
 
 ・LCDにグラフが表示されている状態で [SW2][SW3] を同時に押すと、AVRに記録されている
  60個の[雷]検知データメモリーの内容が、全てシリアル・ターミナルに出力されます。
 ・[-Record of Lightning-]の題字が出力された後に、日時と距離が一覧表示されます。
  (下記、シリアル出力の画像を参照)
 ※ この雷記録を一覧出力する機能は、「完全版」のみに搭載されています。

 ※ 雷の発生が検知されておらず、[雷]検知データメモリーに記録がない場合は、
   これらのスイッチ操作は全て無効です。

 
3.時刻設定
 
 ・[SW1] と [SW3] を同時に押すと、時刻設定モードに入ります。
 
 ・時刻設定は、下記の順に設定できる項目でカーソルが点滅します。
 
(下位2桁) → 月 → 日 → 曜日 →
 時 → 分 → 時計較正値 →  終了
 
 ・[SW2] (+)で、設定値が増加します。
 ・[SW3] (-)で、設定値が減少します。
 ・[SW1] を押すと、次の項目に移ります。
 
  (年は、西暦2000年から2099年までの範囲で対応しています)
 

 ・時計較正値の設定が終わると、を00にして通常の表示に戻りますから、秒の単位まで
  合わせる場合には、00秒になった時に [SW1] を押します。



 時計 [RX-8025NB] RTC(リアル・タイム・クロック)の校正について
 

 ・上記時計較正値の解説です。
 ・このICに内蔵されている原振の32.768KHz水晶は、工場出荷状態でICごとに校正されています。
 ・さらに、校正用のレジスターを持っており、環境の温度によって進みや遅れを微調整することが
  できます。
 
・校正用のレジスタで調整するのは原振の32.768KHzの
 周波数ではなく、1Hzを作る際の分周率です。
・実際には20秒おきに、進める場合は1秒より少し短い1秒が、
 遅らせる場合は少し長い1秒が挿入されます。
・左写真を参照。
・上下は校正値を変更した際に、20秒おきに変動する1Hzの
 周波数です。
 
・レジスター値が[0](工場調整値)の時は、周波数の変動が
 ほとんど無く、かなり安定しています。

 ・設置環境の気温が+25℃前後で一定ならば、校正の必要は無いと思います。
 ・また、年間を通して気温の平均が+25℃前後の環境ならば、誤差も平均化されるので校正の
  必要も少くなります。
 ・地域や設置環境によって時刻の遅れや進みが顕著な場合は、校正用レジスターを調整します。
 ・ [RX-8025NB]のマニュアルでは遅れと進みの±の解釈が逆になっていますので、機能設定
  画面では、進める場合は[+]、遅らせる場合は[-]に設定して下さい。
 ・設定値の範囲は、[-63 ~ +64] です。 ([-1] は [0] と同じ扱いです)
 ・1ヶ月程度の周期で誤差を見て、微調整を行って下さい。

 
4.機能設定
 

 ・[SW1] と [SW2] を同時に押すと、各種の機能や動作を設定できます。
 ・この設定は内蔵EEPROMに記憶されますので、電池が切れた後も残されています。
 
 ・[SW2] (+)で、設定値が増加します
 ・[SW3] (-)で、設定値が減少します。
 ・[SW1] を押すと、次の項目に移ります。
 
 ・初期値が登録されている項目では、初期値に[*]マークが付加されます。
 
順序 画   像 設定内容 初期値
LCDのコントラスト設定。
 (0 ~ 63)
40
[雷]検知時のブザー音の長さ。
 (0:50ms , 1:200ms , 2:500ms)
1:200ms
ノイズ検出時のブザー音。
 (0:OFF , 1:ON)
1:ON
ノイズ検出時のシリアル出力。
 (0:OFF , 1:ON)
0:OFF
[AS3935]の[AFEの利得]を設定。
 (0 ~ 31) (14:屋外 , 18:屋内)
18
[監視(ウォッチドッグ)のしきい値]を設定。
 (0 ~ 10)
2
[AS3935]の[スパイク除去]を設定。
 (0 ~ 11)
2
[ノイズ下限水準(ノイズフロアレベル)]を設定。
 (0 ~ 7)
2
[AS3935]の[「雷」の最小検出数]を設定。
 (0:1個 , 1:5個 , 2:9個 , 3:16個)
0:1個
10 AVR内蔵発振器の校正。
 (PB0から100KHzを出力) (0 ~ 255)
AVRの
固有値

 ※ 「LCDのコントラスト設定」以外の機能設定は、「完全版」のみに搭載されています。

 
5.シリアル出力 (USB-シリアル変換)
 

 ・USBケーブルでパソコンに接続しターミナルソフトを起動すると、ターミナル画面に雷発生の
  情報を出力します。
 ・信号はターミナルへの出力のみで、キーボード等の入力は受付しません。
 ・シリアル通信のパラメータは、下記の値で固定です。 (プログラム内で変更可能)
   9,600ボー、パリティー無し、データ・ビット 8、ストップビット 1
 

 
6.AVR内蔵RC発振器の周波数較正。 (PB0から100KHzを出力)
  (周波数カウンターが必要です)
 

 ・AVR内蔵の動作クロック用RC発振器は、工場出荷時に較正されていますが、環境の温度などに
  よって周波数のずれが生じる場合があります。
 ・シリアル出力に文字化け等が発生していない場合は、特に変更の必要はありません。
  (工場出荷時の値に、[*]マークが表示されます。
 ・環境温度が大きく変化する場合は、ボーレートの誤差を減らすために調整をお勧めします。
  (OSCCAL調整)
 
 ・[機能設定]の10番で、AVR内蔵RC発振器の周波数較正が行えます。
 ・ポート[PB0](ISP端子の4ピンと6ピン)に周波数カウンターを接続して下さい。
  (部品配置図を参照)
 ・100KHz前後のパルス信号が出力されますので、できるだけ100KHzに近い値に調整して下さい。
  (RC発振器なので、値は常に微変動しています)
  (設定値は、出力の周波数値ではなく相対値です)
 
 ・周波数カウンターが無い場合は、シリアル出力の文字化けが起きなくなる値の中間値を
  設定しておいてください。 (設定値は、約±10カウントの範囲です)


 
◎ このプリント基板と書き込み済みAVRを、実費頒布しております。
 
  基板・部品の頒布室



   電子工作の部屋 Top へ 前のページへ戻る