SSブログ

自作焦電センサー回路を使った動体検知(2/3)

 自作焦電センサー回路を使った動体検知(1) では電池で長時間駆動できる焦電センサー回路の実験機を作りました。
今回はそのセンサー回路が検出時に出力する検出パルスの処理について書きます。

 D203BのようなDual素子焦電センサーは検出物の移動する方向によって出力信号が定常時から”上昇してから下降”するか”下降してから上昇”します。そこで上昇検出用閾値を設定したコンパレーターと下降検出用閾値を設定したコンパレーターにセンサー出力信号を入力しておけば上昇時、下降時にそれぞれのコンパレーターから検出パルスが出力されます。
(個人的には上昇検出を上側検出または+側検出と呼び、下降検出を下側検出また-側検出と呼んでいます。)
移動体を検出した場合の検出パルスの特徴として上側検出パルスと下側検出パルスが連続して生成される(移動体の向きによって順番が逆になる)と言う事があり、これまで私の作った装置ではこの”異極パルスの連続検出時にのみ移動体を検出したと判断”することで誤検出を軽減しています。( => 猿検知通報装置の製作 の 2.検出方法参照。)

 最初に作った「猿検知通報装置の製作」では異極パルスの連続出力があるかを回路(ハードウェア)で判定し 連続検出がある時のみ信号を無線で親機に送っていましたが、「猿検知通報装置の製作(電池寿命改善品) 」以降では極性に関わらずセンサー検出パルスがあるとそれを親機に送信し 親機側で連続した異極パルスの受信があるかどうか判断するようにしました。
この方式は回路簡素化と消費電流を減らす目的で行ったのですが前者の方式に比べ 送信頻度が多くなるので、子機の数が増えると親機の受信数が増えて信号を取りこぼす可能性が生じます。(子機は検出パルス受信時以外にも10秒に1回の定期通信もしています)

ということで やはり子機側で異極パルスの連続出力の検出を行えるようにすることにしましたが、今回はハードウェアによる判定回路ではなくPICを使った判定を行うことにしました。
そして折角PICを使うのですから、プログラムで誤検出軽減の可能性を探って行きたいと思います。
(できれば現在誤検知対策で行っている2センサー検知( => 猿検知通報装置の製作 の 2.検出方法参照)を行わないで済むようにしたいです。)

図1 検出判定条件
検出判定条件.jpg


== 回路図 ==

 図2に検出パルスを生成するコンパレーター回路、検出パルスから移動体の検出判定とTWELITEへの検出信号送信を行うPIC回路、 無線送信デバイスのTWELITE回路並びに電源回路の回路図を示します。センサー2入力に対応しています。
(コンパレーター回路はセンサーユニットの基板に載せるスペースが無かったのでこちらの基板に移動しています。この際センサー信号ラインには両基板側で47Ωの抵抗を挿入してサージからデバイスを保護しています。)

図2 検出信号処理 & TWELITE送信回路
信号処理&送信回路.jpg

 焦電センサー回路は電源がノイジーだとエラーを起こしがちなのでこの回路専用のレギュレータを入れてあります。
PICやTWELITEの電源用にもレギュレータを入れてありますがこれはTWELITEに過電圧がかからないようにするためのものです。
3Vでなくても3.6V以下の出力のレギュレータであれば使えます。


== PICソフト ==

 PIC12F1840用ソフトウェアはこちらからダウンロードできます。
<2023.10.02記> 「PICライター(PICerFT)の製作」でPICライターの自作方法を紹介しています。 

 PICでは連続で異極性検出パルスを受信したかどうか、またその時間間隔などを調べて検出判定を行うようにしてあります。(図1)
従来の判定方法はパルスを受信した時点から次に異極のパルスを受信するまでの時間がある時間内(たとえば3秒内)であれば検出したと判定していましたが、今回は連続異極パルスの夫々の時間幅及び両パルスの時間間隔を判定条件として使えるようにしました。 これは適当な条件を設定することで できるだけ対象とする移動体のみを検出して他の物は検出判定しないようにできないか実験するためのもので、まだ効果の程は分かりません。
第2パルスの時間幅を判定条件に設定するとそのパルスがノンアクティブになるまで判定が行われないので判定が遅れる感じがすることがあります。

 TWELITEのデジタル入力端子への信号は2つの信号がアクティブ(Low)になるタイミングによっては後の入力は反映されずに親機に送信されないということがあります。
そこでPICでは2つのセンサーの検出結果は必要な時間間隔を空けてTWELITEに送り、親機への確実な送信ができるようにしてあります。

 PICは検出パルスが来た時のみwake upして動作し 通常はsleepモードなので消費電流は小さいです。


== TWELITEの設定 ==

 TWELITEは 標準アプリを使用します。(購入時は標準アプリになっている)
図1の結線の場合”間欠10秒モード”なので特に設定は要りません。
”間欠1秒モード”(M1とM2 Open)や”間欠受信1秒モード”(M2 Open)の場合はインターラクティブモードで間欠時間を 10,000ms に設定します。


== 親機 ==

親機は「猿検知通報装置関連まとめ」内で紹介しているものや「各種動体検知装置に対応した統合型親機」のものを使用してください。
その際 設定ファイル内の回路タイプ設定は PaPIRs 仕様で設定してください。


== 性能確認 ==

 PICソフトの時間的判定条件(タイムフィルター)を設定して検出性能を調べてみました。

(検出距離と検出率)
図3に結果を示します。

図3 検出距離と検出率
センサー検出距離と検出率.jpg

 センサーから16m以上の距離で NJU77552G の方が S-89431 より検出率が良いのはアンプのノイズ性能の差によるものと思われます。(やはり検出確度を上げるには低ノイズアンプを用いた方が良いという当然の帰結なのですが、S-89431 も用途によっては検出距離を短めに考慮するなどして使えると思います。)

一方センサーに近い領域ではセンサー信号が大きかったり飽和したりで閾値を超える時間が長くなり(検出パルス幅が大きくなる)、今回の設定である最大2.5秒では短かったものと思われます。(初めに1.5秒設定で渡来したところ検出エラーが多かったので2.5秒にしたのですが。)
実際には人が直角に横断するのではなく斜めに横断する場合などを考慮するともう少し長めに設定にしても良かったかもしれませんが、長くすると理屈の上では誤検出率も上がり また判定時間も長くなるので今回はこのままにすることにしました。

(誤検出率)
 図1に示す従来の時間的判定条件のセンサーと今回の時間的判定条件のセンサーとを意図的に風で揺れるの枝に向けて検出状態を見たところ、一見したところでは後者の方が検出頻度が低かったです。しかし、誤検出要因はいろいろあるので 実際に設置して様々な誤検出要因に遭遇させた結果を長期観察してみたいと思います。


>> ブログ記事一覧へ
nice!(0) 
共通テーマ:趣味・カルチャー

nice! 0

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。