SSブログ

ESP32 & 2.8" G_LCD一体型ユニットの製作(2)

 「ESP32 & 2.8" G_LCD一体型ユニットの製作(1)」では電源に乾電池を用いたものを作りましたが、今回はACアダプターなどでDC5Vを供給して常設の「動体検知通報システムの親機」を作りました。(写真1。 乾電池式を改造したものです。)
これは基本的に「猿検知通報システムの親機」の機能と同じ物ですが、用途が猿検知だけではなく防犯用などにも用いるので名称を一般的なものにして「動体検知通報システムの親機」としました。
3.5"G-LCD版も作りました。==> 参照  <2023.02.19追記>

前機からの主な変更点は、
1.電源を外部からのDC5V入力にした。
2.子機から検知情報が送られてきた場合にアラーム音を出せるようにオーディオ回路を追加した。
3.LCDに表示されたマップ上のインディケーを赤にしても視認性が乏しいので赤いLEDを点灯してアラーム状態がわかるようにした。(オーディオミュートがかかっている時には視覚だけでの通報ができることが必要。)

写真1
親機画面.jpg

<2024.01.06追記>
以下の「製作」では1.27mmピッチの基板を使っているため少し作りづらいので、2.54mmピッチ基板を使って改善しました。以下の「回路」と「製作(改造)」の部分の代わりに「新親機製作」を参照してください。<追記終>


== 回路 ==

メイン基板の回路を図1に、オーディオ・LED基板の回路を図2に示します。

図1 メイン基板回路図
動体検知通報システム親機回路図.jpg

図2 オーディオ・LED基板回路図
動体検知通報システム親機オーディオ・LED回路図.jpg


メイン基板は、レギュレータ回路(IC)とそれ以前の部分 ならびにオーディオ・LED基板へのコネクタに接続する部分が変更・追加になっています。
・緑のLEDは、スクリーンセーブで画面表示をOFFしても親機の電源が入っていることを示すために追加しました。
・回路図上レギュレーターは3.3V出力品にしてありますが、前回使った3V出力でも動作はします。ただESP32とLCDの信号レベルの整合性上は3.3Vにした方が良いです。
・オーディオIC回路の電源は動作電圧3.5V以下なのでダイオードを3個直列にして5Vから落としています。 4.7K抵抗はオーディオICの負荷状態などで電源電流が減って電圧が上がり過ぎないようにある程度VFを大きくしてしておくために入れてあります。
(オーディオの電源をMSP32等の電源と共用すると電源ライン経由のノイズ干渉でトラブルが起きかねないのでそうしませんでした。レギュレータ ICをオーディオ回路用に別途使えるのであればそれを使った方が良いでしょう。)

オーディオ・LED基板は実装スペースが狭いです。 メロディIC UN66TxxL はメイン基板に移動した方が良いと思います。(面倒なので回路図はこのままにしておきますが。)


== 製作(改造) ==

「ESP32 & 2.8" G_LCD一体型ユニットの製作(1)」 をベースにしていますので、まずはこちらを参照してください。(電池ケースの取り付け、タッチペン用の穴は不要です。 アンテナはこちらの記事の「8. 16x2文字LCD親機の製作」のように横に付けることもできます。)

追加するオーディオ・LED基板の製作、取り付け方法はこちらで参照できます。

電源ON状態を示す緑のLEDはスペースの関係でクリアタイプのねじを導光管代わりに使っています。(上の製作資料中の写真参照)
赤と黄LEDも同じようにしようかと思いましたが輝度が低下してインパクトがないので、こちらは直視できるようにしています。

基板取り付けスペースが非常に狭く LCDとメイン基板との連結コネクタ基板に当たる部分があると思いますので、状態を確認しながら適宜加工などをしてください。

SDカードを挿した場合ケースから飛び出すので親機を置きづらくなります。そこで親機の顎の部分を持ち上げてSDカードが下に当たらないように台を作りました。身の回りの材料でこちらのような感じの台を作ると良いと思います。

//2022.01.02追記
やっぱりSDカードが出っ張るのは困るという場合もあるので Micro SDカードスロットを取り付けてみました。
こちらの資料を参照してください。 //


== ソフトウェア ==

 検知があった場合にその場所をマップ上のインディケータで表示し、赤LEDの点灯とアラーム音の出力をするという基本機能のソフトウェアです。
ソフトウェアと資料は以下でダウンロードできます。

ソフトウェア Ver2.2 (2022.10.13更新) 「プログラム前に確認すること」を 2023.03.28更新
使用法
Configファイル作成方法
ビットマップファイルの作成方法
Map用bmpファイルの作成方法はこちらを参照してください。

(旧版)
ソフトウェア Ver2.1
ソフトウェア Ver2.0
ソフトウェア Ver1.0 & 資料

<2023.04.09追記> 子機の数と表示点の数を夫々24に増やしたソフトも作りました。「各種動体検知装置に対応した統合型親機」を参照してください。

画面からの設定はタッチペンを使って行います。
タッチペンのキャリブレーションデータをFFS(flash file system) で保存しますので、ダウンロードしたプログラムを書き込む前に「SPIFFSマウントエラー時の対応」を参照してSPIFFSデータの書き込み履歴を作ってください。
(再キャリブレーションに必要なFFSファイル削除用スケッチを Ver2.2以降同梱しています。)

親機から子機センサーの電源制御を行う場合は、標準アプリの改造ソフトを親機のTWELITEに書き込んでください。
電源制御しない場合は購入時のままのTWELITE標準アプリのままでよいです。
(「猿検知通報装置関連まとめ」の<TWELITE (DIP)のプログラムと設定>の項を参照願います。 また、子機はリモート電源制御対応回路である必要があります。)


===== 関連記事 =====
ESP32 & 2.8" G_LCD一体型ユニットの製作(1)
ESP32 & 2.8" G_LCD一体型ユニットの製作(3)
ESP32書き込みツールの製作

猿検知通報装置の製作
猿検知通報装置の製作(電池寿命改善品)
猿検知装置用センサーの代替品
猿検知通報装置 新子機製作
太陽電池を使った動物センサー子機の製作
猿検知通報装置関連まとめ

---親機製作---
ESP8266を使った猿検知通報システム親機の製作
Raspi3&3.5"Monitor一体型ユニットの製作
Arduino Nano互換機を使った簡易型親機の製作
ESP32を使った猿検知通報システム親機の製作


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

赤外線リモコン用デバイスを使った動体検知 (2)

赤外線リモコン用デバイスを使った動体検知(1)」で作製した装置を用いてハードウェアの検討・ 改善をしました。
ソフトウェア関連については「赤外線リモコン用デバイスを使った動体検知(1)」の内容を参照願います。(2023.05.16 ソフト更新済み。)

== 回路 ==

図1,2にIR送信機、IR受信機の回路を示します。
(2023.05.06 訂正) 回路図中 PIC12F8140 とありますが誤りです。 PIC12F1840-I/P が正しいです。

図1 IR送信回路
新IR送信回路.jpg

図2 IR受信・TWELITE送信回路
新IR受信TWE送信回路.jpg


・IR送信機は鳥や虫などの誤検知防止策(赤外線リモコン用デバイスを使った動体検知(1) 課題参照)として一つの検知線に2経路通信を行う場合を考え、それが2組使用できるよう4個のIR発光器を持つ構成です。(1経路通信で使う場合は例えば十字の4方向に送信する事も可能)
 IR送信機Aは信号発生回路と一緒なっていますが、必要に応じてIR送信器B~D同様の回路にして分離して用います。

・IR受信機は一つの2経路通信に2つの受光器で対応する場合を考え、それが2組使用できる構成です。

・実際に製作する際には送・受信機共に必要な分だけ発光器、受光器を接続すれば良いです。

・電源は電池では長期使用できないので、常用電源からのDC供給或いはソーラーパネルを用いた供給に限定しました。
ただ、ソーラーパネルで電源メンテナンスフリー化できるか否かはまだ検討を要します。

・ICSP(In-Circuit Serial Programing)対応はしていません。 PICのプログラムは別途行ってください。

・IR送信機は発光器を4組にすることで電流が増えたので3.3Vレギュレータを電流容量の大きいNJM12888F33 にしました。(NJM2871BF33でも動作可能かもしれませんが念のため。 2組まででしたらNJM2871BF33のままで構いません。)

・外付けIR送信器との接続ケーブルは長さ60cm程度でパルス波形確認しました。実際にはもっと長くしても問題ないと思いますがその場合は一応波形確認をした方が良いでしょう。
信号線がちょっと長くなったので74HC04出力とFETゲートには47Ωはサージ保護抵抗を入れてあります。

・IR受信機の電源電圧は、ニッケル水素電池の電圧が低下した場合より低い電圧まで使えるよう3Vに変更しました。
ただ、ニッケル水素電池は3.5V以下では電圧低下が早いのでレギュレータ電圧を3.3Vから3Vにしても延命時間は短いかもしれません。あまり期待しない場合は部品種類を増やすより3.3Vで共通化した方が良いでしょう。

・IR受光モジュールは3Vでも動作するデバイスに変更しました。これによって5V昇圧コンバーターも不要になりました。


== 構造 ==

手元にLEDレンズ(OEHW2045GF) があったのでIR LEDにも効果があるか実験したら38%到達距離が伸びました。

<2024.01.12追記>
このLEDレンズの効果の件は疑義があったので広い場所で再測定をしたところ、レンズ無しが19m、レンズ有りが14mでした。
LEDは前回同様OSI5FU5111C-40(秋月電子で購入)を使用したのですが、このLEDは元々指向性が強くこれ以上絞り込むと検出範囲の余裕がなくなってしまうのでそのまま使うのが良いと思います。
因みに、赤色レーザーをレンズの中央に当てたところ光が拡散してしまい、点状の輝点は見られませんでした。
レンズはある程度広がりを持ったLEDには絞り込み効果があるが、指向性の強いLEDの場合は逆効果のように思います。 <追記終>

【データ】  条件: IR LED1個 50mAパルス、 IR受光モジュール SPS440E 到達距離: レンズ無 16m -> レンズ有 22m (38%up)

これを使ってIR送信機を作ってみました。(写真1) 実測はしてませんが、LED2個ですのでその光がうまく集光できれば理論上の到達距離は31m (IR受光モジュールにSPS440E使用時)になります。 ただ実用距離10m程度であればレンズが無くても問題なく使えるので、レンズ無しの方が作りがコンパクトになって良いと思います。

写真1
LEDレンズ取り付け.jpg


・IRモジュールは背面・側面を金属でシールドされているので「赤外線リモコン用デバイスを使った動体検知(1)」でやったようなケース内部のIR遮光シールド(アルミ蒸着フィルムを使った)は不要です。
またシールドのレンズ表面に十字になっている部分を切り取ったところ10%検出距離が伸びたのでこの部分は切り取ることにしました。(写真2)

【データ】
条件: IR LED2個 50mAパルス、 IR受光モジュール OSRB38C9AA
到達距離: オリジナル 24m -> 十字部分除去 26.5m (10%up)

写真2
受光モジュール加工.jpg


・IRモジュールの防水対策として遮光筒先端をアクリル板でカバーすることにしました。
ただしアクリルなら何でもよいというわけではない(減衰率が異なる)ようなので、確認が必要です。
以前ソーラーパネル表面保護に使ったアクリサンデー板(アクリル板、 強化透明 IR001 SS 1, 1mm厚)が手元にあったのでIR到達距離を調べたところ、板の有無で有意差が無かったので今回はこれを使いました。

・IR受光ユニットの製作方法はこちらです。


(参考)
 受光部に焦電センサー用フレネルレンズAE-01(AK-FL1) を付けた場合受信距離がどうなるかを前記事で作った装置で測定したのですが、結果はレンズを付けない場合とほとんど変わりませんでした。
しかし、元々このレンズに受光モジュール(SPS440E)はフィットしないので モジュールの取り付け位置がレンズの焦点距離より後ろにずれた位置にありました。(多少の集光効果は出るだろうと期待したのでしたが駄目でした。)
今回小さい受光モジュール(OSRB38C9AA)を使い、レンズの内側をナイフで削って焦点位置に近い点に来るように取り付けて測定したところ、レンズなしで24mであったところがレンズを付けることで32mまで伸びました。

【データ】
条件: IR LED2個 50mAパルス、 IR受光モジュール OSRB38C9AA
到達距離: オリジナル 24m -> AE-01(AK-FL1)付き 32m (33%up)

残念ながらこのレンズは現在では購入できず、またモジュールを取り付けるための加工が厄介なので実用的でないのですが、技術的な可能性の確認ができました。


== 設置上の注意 ==

・IR受光モジュールに太陽の直接光または反射光が入ると検出エラーを起こすので遮光筒を付け、また設置方向もそれらが入り込まないような向きにしてください。(受光モジュールを太陽や反射点に向けない、受光側を少し下向きし 送信側を少し上向きにするなど。)

・家電製品で使う赤外線リモコンの光が入ると検出エラーを起こします。 また、当装置の発する赤外線が家電製品の受光部に入ると家電製品のリモコンが利かなくなる恐れがあります。 これらのことを考慮して設置してください。(住宅地では隣家への影響も考慮することが必要です。)

・到達距離は雨や雪、 レンズやアクリルカバーの汚れ、設置方向の変化などによって変わるので、これらを考慮し 最大到達距離(ご自身で作ったもので確認してください) に対して余裕のある距離で実用してください。 (赤外線の到達距離は環境条件によって変わるので、記事内のデータは参考値としてください。)

・誤検知対策で2経路通信を行う場合は設置時に各径路ごとに通信ができていることを確認してください。 (一方経路のIR送信器、IR受信器に遮光をして送受信しないようにし、他方の経路の通信確認をする。 次にその逆を行い、2経路共に個別の通信ができていることを確認する。)


== ソーラー電源 == <2021.12.12 当項目追加>

IR送信機に送信器を4個全て付けてソーラー電源で動作させてみました。
パネルはSharp LR0GC02で、ニッケル水素電池は図1の回路図に示す単三3本ではなく 安価なPanasonic のHHR-P104 (100円 秋月電子、専用ケース必要)を1個使ってみました。
12月中旬の日照条件で昼頃の1時間日光直射、それ以外の時間は上空の散乱光を受光した結果、1日の放電量と充電量がほぼ同じでした。

IR受信&TWELITE送信機には受光器4個を取り付け全てにIR光を当て動作させました。(IR光を当てないと静止電流のみなので実用時のシミュレーションにならないので注意。)
こちらもニッケル水素電池にはHHR-P104を使いましたが、消費電流が送信器より大きいので2個並列にしました。
12月中旬の日照条件で昼前後の約3時間直射日光を当てたら1日の消費電流を取り戻せていました。

曇りや雨の日もあるので晴れた日にある程度余剰電力を蓄えることが必要です。
晴れの日の率が3日に2日として(厳しめですが)、1日充電できない日を2日の晴天日で賄おうとすると日光直射時間は150%必要で、IR送信機は1.5時間、IR受信&TWELITE送信機は4.5時間が目安となります。
(横浜の気候条件でです。 また あくまでも目安なので、電源メンテナンスフリー化の可能性はあるが保証できる日光直射時間値ではありません。)
なお 散乱光によっても多少充電されているので、日中の直射日光受光以外の時間はある程度散乱光受光ができていることも必要です。

余剰電力の蓄電量が少ないと天気の悪い日が続いた場合電圧が低下して回路動作ができなくなるので、通常ある程度大きい蓄電容量のニッケル水素電池を用いて電圧低下速度を遅くし、できるだけ電源を長持ちさせるようにします。
回路図には 2000mAh のニッケル水素電池を指定していますが、実験ではコストの関係もあり880mAhの蓄電池を使ってみました。 (IR送信機は1個、 IR受信&TWELITE送信機は2個並列使用)
IR送信機、 IR受信&TWELITE送信機共に天気が悪い日が5日間程度連続しても回路動作に必要な電圧を維持できそうなので、蓄電容量的にはそれぞれ880mAh、 880mAh x2並列でも使用可能だと思います。 
 
ただ充電時には充電電流に対しある程度の蓄電容量が無いと電池寿命が短くなるようなので、その点ではIR送信機の880mAhは小さいかもしれません。 (夏場の過充電を経た後にどうなるかが気になる) しかし、電池寿命が1年持たないこともないでしょうし、元々安い電池(100円)なので使えなくなったら交換しても良いと思い実験しています。
金銭的に余裕があるのでしたらIR送信機、 IR受信&TWELITE送信機共に 単三の2000mAh以上のものを使えば、十分な蓄電容量と過充電対応ができて良いと思います。

IR送信器、 IR受光器の数を減らせば必要な充電量(直射日光受光時間)を減らすことができます。
ただし、PICやTWELITEの電源が必要なのでIR送信器、 IR受光器の数を1/2、1/4に減らしてもそれに応じて必要な充電量が減るわけではありません。


== 後記 ==

 雨で赤外線通信が瞬断して誤検知をある程度発生するものと思っていたのですが、意外にも発生しないです。 先日雨が強くて衛星放送が受信できなくなりましたがこの装置の赤外線通信はできていました。 (IR LED2個 500mAパルス、 レンズなし、 通信距離約10m)
家の庭に設置して実用しようと思い、今後ソーラー電源の能力確認をしようと思っています。

 焦電センサーに比べると検出ラインがはっきりしていて(送受信機を結ぶ直線上)、この直線感が気持ちが良いです。
焦電センサーではセンサー前方をある程度横断移動しないと検出されませんが、この装置では体1つ分でも遮断すれば検出されるので検出範囲(幅)が狭い所に設置するのに適していると思います。


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

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