ESP32 を使った WiFi 温湿度計を単3乾電池2本で約4ヶ月の長期間動作させることができたので紹介します.
動作実績
今回作成したセンサーは,真冬の屋外設置で 2017/11/22 ~ 2018/3/24 の約4ヶ月間動作しました.
その期間の温度および乾電池の電圧の変化は次のようなりました.途中,0 ℃以下になる期間もありましたが,動作を継続できています.
動作を停止する直前の様子を次に示します.温度変化に呼応して乾電池の電圧が変動し,温度が 7 ℃くらいに落ちたタイミングで力尽きていました.
暖かい季節や室内設置であればもう少し持ちこたえられそうな感じです.
デバイス構成
今回,長期動作が確認できた WiFi 温湿度計は次のような構成になっています.屋外にも設置することを想定しています.
- 昇圧コンバータ TPS61291 を使った乾電池2本駆動
- センサーを屋外に配置したかったので,防水ケースが比較的コンパクトですむ乾電池2本駆動を採用しています.
電池2本だとすぐに電圧が足りなくなるため,昇圧電源 IC として TPS61291 を使っています.この電源 IC は負荷が小さいときでも効率が良いので,ESP32 との組み合わせに最適です.回路については『ESP32 と Fluentd で作る高精度 WiFi 温湿』,ケースについては『WiFi 温湿度計の防水化』にて紹介しています.
- ULP を使ったセンシング
- センシングする際は,メインの CPU を使わず,コプロセッサの ULP を使って消費電力を徹底的に抑制しています.
詳細は,『ESP32 の ULP コプロセッサを使って超低消費電力 I2C 通信』にて紹介しています.
- センシング間隔は30秒,サーバーへのデータ送信間隔は5分
- 乾電池駆動だとしても,サンプリング間隔は犠牲にしないようにしました.これによって,急激な温湿度変化もある程度リアルタイムにサーバに伝達できます.
低消費電力を最優先にする場合は,こちらのサイトのように,サンプリング間隔を長くし,計測値の変化が大きい場合のみサーバと通信する手法が有効です.
まとめ
WiFi は消費電力が大きく,一般的にはセンシングには適さないと思いますが,ESP32 の機能を使い倒すことで約4ヶ月という実用的な長期間動作を確保することができました.
コメント