「PIC10F322過放電防止回路 + 18650 + ESP8266 – テストしてみた –」の続き。
過放電防止ももちろん、ESP8266の通常時の電源のONとOFFもPIC10F322で行ってみる。
変更したのは、
PIC10F322は常時駆動させるので、元の電源に直接つなぐ。
ESP8266での作業が終了したことを知らせるために、PIC10F322とESP8s66のピンを一組接続する。
PIC10F322のTimer0で時間を計測する。
既定の時間になったら、トランジスタをONにしてMOSFETを通電させる。
ESP8266が稼働し始める。
この時、PIC10F322との接続ラインはLowになっている。
ESP8266で作業が終了すると、PIC10F322との接続ラインをHighにする。
この間にPIC10F322では電源の電圧を測定する。
電圧が低ければMOSFETをOFFにし、PIC10F322はSLEEPモードに入る。
そうでなければ、ESP8266からの接続ラインがHighになるまで待つ。
HighになったらMOSFETをOFFにして、ESP8266の電源を落とす。
初めに戻る。
以上を、ロジアナで読み取った信号で表すと以下のようになる。
時間軸の縮尺が違い過ぎて良く分からないが。
上は適当に拡大した図だが、実際に同じ時間軸だと、この部分を切り取ったものを示している。
PIC10F322のAD変換の処理から比べると、Wi-FiがらみやThingSpeakとのやり取りはどっこいしょというくらいにゆっくりな処理だ。
DMMの測定では、ESP8266がOFFの時は1mA以下、ONの時は約70mAの消費電流になる。
当然ながら、DMMの応答速度の関係で、ピークの電流値は読み取れない。
Wi-Fi接続の開始時に、明らかな電圧降下があるので、
ここでは、もっと多く電流が流れていると思う。
いずれにしても、PIC10F322で完全に電源を掌握するというのも1つの手だと言える。
仮に、1分間隔で実行したとして、ESP8266起動時に平均で80mAだとする。
ならすと14.2mAの消費電流になる。
同様の計算で10分間隔なら、1000mAhのバッテリーで18日間使用できる。
今回はPIC10F322は通常稼働だが、SLEEPを使うにはどうすればいいのかも試してみたい。
「PIC10F322過放電防止回路 + 18650 + ESP8266 – PICをSLEEPさせる –」へ続く。