先日、「M5Camera」の低電力化を実施しました。
「SCCBインタフェース」をつかって、写真撮影後にイメージセンサ「OV2640」をスタンバイモードに移行させることで、ディープスリープ中の消費電流値を 約24mA から 約13mA に、ほぼ半減させることができました(記事は こちら)。
さて、「OV2640」をつかったカメラデバイスといえば、先日購入した「Unit Cam Wi-Fiカメラ」があります。
Unit Cam Wi-Fiカメラ(Yahoo!ショッピング)「Unit Cam Wi-Fiカメラ」の回路構成は非常にシンプルで、ESP32、イメージセンサ「OV2640」の他には、電源レギュレータ、LED、抵抗、コンデンサなどしか使われていません。
ESP32(ディープスリープ時)の消費電流値は 数十uA、OV2640(ソフトウェアスタンバイ時)の消費電流値は 1〜2mA とのことなので、「Unit Cam Wi-Fiカメラ」であれば、ディープスリープ中の消費電流値を 数mA程度 まで低減できる可能性があります。
本当に、消費電流値がこのぐらい小さければ、乾電池で長期間稼働させるような用途など、さまざまな使い方が考えられます。
そんな訳で、早速確認してみました。
使用したスケッチは、M5Camera用のものとほぼ同じで、以下の処理を行っています。
「起動」→「カメラ初期化」→「写真撮影」→「カメラ電源OFF」→「Wi-Fi接続」→「データ採取・送信」→「写真送信」→「Wi-Fi切断」→「deep sleepに移行」
結果は以下のとおりです。
ディープスリープ中の消費電流値は、なんと 1.3mA 程度でした。
また、写真撮影後、イメージセンサをスタンバイモードに移行してからWi-Fi接続する(イメージセンサとWi-Fiを同時にオンにしない)ことで、動作中の消費電流値は 80mA 程度になりました。
数回測定しましたが、結果はほとんど同じでした。また、1回の処理にかかる時間は7秒弱でした。「データ採取・送信」の処理を省けば、さらに動作時間を短縮できます。
写真1枚を撮影するのに 80mA で 7秒 かかり、ディープスリープ中の消費電流値は 1.3mA として、単三型Ni-MH電池(2000mAh)4本でどのくらい連続稼働できるのか、計算してみました。
[1分に1枚撮影] 80mA * 7s / 60s + 1.3mA = 10.63mA , 2000mAh / 10.63mA = 188.1h = 7.8日
[10分に1枚撮影] 80mA * 7s / 600s + 1.3mA = 2.23mA , 2000mAh / 2.23mA = 896.9h = 37.4日
[1時間に1枚撮影] 80mA * 7s / 3600s + 1.3mA = 1.46mA , 2000mAh / 1.46mA = 1369.9h = 57.1日
10分に1枚の写真を撮影しても、1ヶ月以上にわたり連続稼働できる計算になります(もちろん、Wi-Fi接続にかかる時間やデータ送信にかかる時間の増減によって大きく変わりますが)。
これだけ低電力なら、「M5Stamp Pico」のカメラ版みたいな感じで、いろいろとおもしろい使い方ができそうです。
2022/3/13追記
実際に、連続稼働時間の実験を行ってみました。
単三型Ni-MH電池(2000mAh)を使うと時間がかかるので、代わりに単四型Ni-MH電池(800mAh)を使い、1分に1枚の間隔で撮影しました。
その結果、3.61日にわたり連続稼働でき、4671枚の写真を撮影できました。
前述の机上計算結果を単四型Ni-MH電池にあてはめると、
7.8日 * 800mAh / 2000mAh = 3.1日
となり、机上計算結果が妥当であることが確認できました。
なお、私がM5Stack、M5StickCの使い方を習得するのにあたっては、以下の書籍を参考にさせていただきました。
ごく基本的なところから、かなり複雑なスケッチや、ネットワーク接続など、比較的高度なものまで、つまづかずに読み進めていけるような構成になっており、大変わかりやすい本です。