SSブログ

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

 今回は自作センサー回路のユニットを使った子機の製作方法について書きます。

 超高感度フレネルレンズは径が大きいので誤検出対策のための遮光筒が長くなり、収納用の塩ビパイプの径も大きくなります。
そのため以前作った子機では塩ビパイプに呼び径75(外形89mm)の物を使いましたが、サイズが結構大きくなり また塩ビ材の値段も高くなってしまったので、せめてもう一サイズ小さくしたいとの思いがありました。
そこで今回は呼び径65(外形76mm)の塩ビ材を用いて子機を作り、遮光筒の長さが短くなった影響やPICを使った処理の効果等をしばらく使って様子を見ることにしました。 どうしても筒が短いという事であれば、格好は悪くなりますが筒の部分だけ長くすれば対応もできます。

写真1 製作した実験機
焦電センサー子機.jpg

上の写真1は今回製作した実験機です。(実際に設置する場合は劣化を防ぐためにペイントしていますが、これはペイント前の状態です。)

収納ケースを小さくするために電源はソーラーパネルとニッケル水素電池(サイズ的には単4 x3本に近い)を使っています。
回路的には乾電池でも問題ないのですが、単1、単2または単3電池を複数本収納するスペースがなく、あえて使おうとすれば現在のケースの長さ(約21cm)を7cmぐらい長くする必要があり、大きくもなり格好も良くありません。
ソーラーパネルはAmazonで購入した Fielect製 5V 0.15W の物を使っていますが、SharpのLR0GC02 に置き換えても使えます。 LR0GC02では結構電力余裕があるので日光直射時間が短くても十分な充電ができ(もしかしたら散乱光のみでも十分な充電ができるかもしれません)、屋外の子機ではほとんど場合乾電池を使わずソーラー電源で行けるのではないかと思います。

 製作に関する資料は以下からダウンロードできます。
基板の製作方法
子機の製作方法


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

自作焦電センサー回路を使った動体検知(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) 
共通テーマ:趣味・カルチャー

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

 これまで私の動体検知装置に関する記事(猿検知通報装置の製作猿検知通報装置の製作(電池寿命改善品) など)では初めは自作の焦電センサー回路を使っていましたが、途中より製作が簡単である事から専らPanasonicのPaPIRsを使う事が多くなっていました。
最近、以前購入しておいた超高感度フレネルレンズ AE-01(AK-FL1)を使いきってしまおうと自作回路を組むことにしたのですが、 以前使っていたOPアンプ NJU7014 は簡単に入手できず また値段も高いので置き換えることにしました。

OPアンプとコンパレーターは秋月電子で購入できるものの中から電池による長時間駆動を考えて消費電力が小さいものを選び、OPアンプはNJU77552GとS-89431BCFM-H4DTFU (以降S-89431と呼びます)、コンパレータはNJU77242RB1を使って実際に回路を作ってみました。
初期の回路ではOPアンプ NJU7014を信号増幅とコンパレータ用途に使っていましたが、今回はコンパレータは専用ICにしました。

表1 デバイスの消費電流
消費電流.jpg

表1に各デバイスの消費電流を示します。
これまで使っていたNJU7014に比べるとNJU77552Gは消費電流が大きくなっていますが、それでもNJU77552GとNJU77242RB1で構成される回路の消費電流はPaPIRsのEKMCシリーズより小さいので電池寿命的にはEKMCシリーズより長持ちすると思います。
S-89431BCFM-H4DTFU は極めて消費電流が小さく、電池寿命を大きく伸ばせると期待して実験することにしました。


== 回路構成 ==

NJU77552G、S-89431BCFM-H4DTFUを使った回路を図1に示します。

図1 焦電センサー回路
焦電センサー回路.jpg

電源はここには書いてありませんがこの焦電センサー回路専用の3V レギュレーターから供給しています。

焦電センサーメーカーの資料などでは2段目のOPアンプは反転構成にしてありますが、ここでは以前作ったNJU7014用回路構成をそのまま使っています。 NJU7014は出力電流が小さく、反転アンプの比較的低い入力抵抗ではゲインが食われて十分な増幅ができませんでした。

人が移動したときの焦電センサー出力信号の周波数成分は0.1~10Hz程度らしい(こちらの記事)ので、オペアンプ回路の定数はこの記事を参考にしました。

図2 OPアンプノイズ
OPアンプノイズ.jpg

NJU77552G、S-89431共にNJU7014に比べると低周波ノイズ が大きく(特にS-89431は大きい = 図2)、そのためセンサー信号がコンパレーター閾値近くになると検出パルスのチャタリングを生じます。
チャタリングがあっても回路によっては無視して問題ないようにする事もできますが、今回は後段にPICを繋いで割り込み処理を考えているので処理負荷軽減のためにチャタリングを押さえたく、コンパレーターにヒステリシス特性を持たせました。
このためコンパレータ周辺の回路が複雑になっていて、FETによるバッファ兼インバータ回路を追加も必要になりました。

閾値電圧及びヒステリシス電圧の生成回路は高インピーダンスで微小電流なので注意が必要です。
オシロスコープのプローブを当てただけで電圧は変わってしまうので、例えば閾値の電圧を調べるにはコンパレータへのセンサー信号入力とコンパレータ出力の夫々にオシロスコープのプローブを繋ぎ、センサー信号を変化させてコンパレータ出力に検出パルスを生じせしめ その立上がり/立下りにおけるセンサー信号の電圧を読み取るようにします。
ダイオードは同じ型名でも個体間差があるかもしれませんし、異なる型の場合は一層違いが生じるかもしれませんのでオシロスコープでの確認がどうしても必要になります。

以下は図1の回路の閾値実測結果です。
上側検出ON閾値: 1.78V
上側検出OFF閾値: 1.64V ヒステリシス 0.14V (1.78-1.64)
下側検出ON閾値: 1.26V
下側検出OFF閾値: 1.38V ヒステリシス 0.12V (1.38-1.26)

検出ONの閾値はわずかに上側にシフトしていますが、たまたまセンサー信号のOPアンプ出力平均電圧が上側(Vdd/2 = 1.5Vより上)に少しずれているのでこのままにしました。(ちなみにOPアンプ出力の平均電圧を変えるには5番ピンに繋がるバイアス抵抗の値を変えればできます。)

上側下側の検出OFF閾値は、OPアンプの平均出力電圧が常にそれらの間にあるように設定し 且つ必要なヒステリシスが得られる範囲で出来るだけ検出ON閾値に近い電圧に設定します。
そうなっていないと検出時にアクティブになった検出パルスがノンアクティブに戻らなかったり、戻るのに時間が長くかかる事があります。

コンパレーター回路が複雑になり従来のセンサーユニットの基板に回路を載せきれなくなったので、コンパレーター回路は次の段の基板に搭載しました。


== 検出距離 ==

(測定方法)
・NJU7014は従来の回路(猿検知通報装置の製作(電池寿命改善品)の図1)
・NJU77552G、S-89431は図1の回路
・センサー高さ 約45cm
・大人が秒速 1.5m程度で歩いてセンサー前方を横断し、検出可能なセンサーからの最大距離を測定。
・検出方法は異極順次検出パルス方式(猿検知通報装置の製作 の 2.検出方法参照。)

(結果)
いずれも 約26m で同等。

検出距離は天気、気温、背景など環境に影響され、ここに示す値は常に得られるものではありません。 26mという値は比較的良い環境条件下のものと思います。


== 結論 ==

 NJU77552G、S-89431は検出距離に関しては従来使ってきたNJU7014と同等。
但し、ノイズが比較的大きいのでそれによる誤検出あるいは本来検出すべきところ検出できないなどが起きかねず、これについて調査が必要。


次回は検出パルスの処理について書きます。
その検討の中で上記のNJU77552G、S-89431の検出確度を見て行きたいと思います。


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

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