ESP8266をディープスリープモードで動かしてみた

電池で動かす&自己発熱の抑制のため、こちらの記事を参考にさせていただいて、ESP8266をディープスリープモードで動かしてみました。

自作のESP8266ボードは回路自体は昔からディープスリープには対応していたので、ソフトウェアだけの修正で動作しました。(注:回路図上、電池電圧の測定や、ソフト・パワーオフの回路、ADコンバータやEEPROMなどもありますが、これらは搭載していません)

ソフトウェアは、当初はESP8266上でNTPクライアントを動作させて時刻をセットでMQTTサーバに送信していましたが、NTPでの時刻調整に7秒位かかる(=その分、電力消費する)ので、NTPクライアントの動作をやめて、サーバ側でデータを受信した時刻を記録するよう、改めました。(実際の作りとしては、ESP8266から時刻の情報がなければ、サーバ側の受信時刻をデータにつけるようにしています)

その上で、ESP8266側は電源投入後、WiFi接続ができたら、すぐにデータを送信して、ディープスリープに入るようにしました。

ESP8266とBME280は2セットに増やしてあります。時間軸の左半分がディープスリープ適用前、真ん中少し右がオフセットで温度が大きい方(グラフに直線区間がある方)のみディープスリープを適用、右端は2台ともディープスリープを適用しています。
ディープスリープ適用により、温度がクロスしていますので、自己発熱の影響が少なくなったものと思いますが、2台とも適用することにより、オフセットはほぼ同じ状態に戻りましたので、おそらくBME280の個体差なのではないかと思います。

肝心の消費電流は・・・図っていません。
電池化も考えていますが、レギュレータが3.15Vくらいで動作しているので、電池電圧をどうしようか考えどころです。(1.2V×3=3.6Vではやや低いので・・・)

あと、グラフも個体ごとに色をつけたいところですね。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)