乾電池で本当に1年間動作するIoTセンサ ESP8266

大人気ESPマイコンESP32-WROOM-32の旧モデルESP8266(ESP-WROOM-02)を使って、単3アルカリ乾電池3本で動作するIoTセンサを製作し、本当に1年間動作するかどうかを試してみました。検証期間も1年です(2019年4月13日~2020年5月20日)。

今回は、2015年から5年近くにわたって、取り組んできたESP8266を使ったIoTセンサの長時間動作に関する最終報告です。

ESP8266で403日(13.2か月)動作した

2019年4月13日~2020年5月20日の403日間(13.2)か月にわたって、本当に動作した。冬季に終了しそうになったが、レギュレータの電圧3.3V以下では相対的に電圧が上昇しているような測定結果が得れれた(AD変換器の基準電圧の変化や、温度変化に伴う電池の内部インピーダンスの変化が原因と思われる)。

実は、計算上、1年動作するといっても、実際に動かしてみると、1年に満たないことがあります。実際、5年前に、取り組んだ当初は、3か月~6か月くらいしか持ちませんでした。

その後、レギュレータとコンデンサの選定が、長期間動作に影響することが分かり、トランジスタ技術2016年9月号で「ケチケチ運転術」として紹介。様々なレギュレータやコンデンサで試し、翌2017年に1年動作の目途をつけ、2018年4月に1年間動作する検証を終えました

ところが、検証を終えた時には、低消費電力動作の中核を担うTOREX製 XC6202P322の販売が終了。そこで、秋月電子通商で販売されている部品の中から代替品を探すことにしました。

長期間動作を支えるNJU7223F33(新日本無線)

様々な3.3VのLDOタイプのレギュレータを秋月電子通商などから購入し、それぞれの待機電流を測定し、その中からNJU7223F33を選定しました。

レギュレータ最大電流待機時消費電流
XC6202P332150 mA10 uA (実測 6uA)
NJU7223F33500 mA30 uA
レギュレータXC6202P332で動作期間1年の実績を得ていたが、販売終了となり、代替品としてNJU7223F33を選定した。多くの人が同じ実験を手軽に行えるように、秋月電子通商で扱われているものの中から選んだ。

NJU7223F33は、XC6202P322よりも待機時消費電流が3倍になりますが、その一方で、最大電流も3倍になるため、電池残量が減ってきたときに、マイコンを動作させるために必要な電圧を確保しやすくなり、レギュレータの出力側のコンデンサを小さくすることが出来ます。

なお、レギュレータによっては、出力側に大容量のコンデンサを付与すると誤作動や故障する場合があります。紹介したレギュレータ以外を使用する場合は、データシートを十分に確認してください。

ブレッドボードで簡単製作

この実験では、レギュレータやコンデンサを簡単に交換できるブレッドボードが便利です。また、簡単なIoT機器をブレッドボードで製作する場合は、最新のESP32よりも、機能やピン数が少ないESP8266(ESP-WROOM-02)を使用した方が簡単です。

ブレッドボードを使ったIoT温湿度センサの製作方法を下図に示します。この図は、CQ出版社のウェブサイトで公開されています。レギュレータ部などの詳細は、下記のパーツセットの説明書をご覧ください(パーツセットの限定販売は終了)。

パーツセットの説明書:
https://shop.cqpub.co.jp/hanbai/books/I/I000315/setsumei.pdf

書籍「超特急Web接続!ESPマイコン・プログラム全集」では、様々なセンサ機器の製作方法を紹介。

今回の実験では、上図のブレッドボードに電池電圧を測定するための可変抵抗器を追加しました。実験に使用したIoT温湿度センサを下図に示します。

電池電圧の変化を計測するために、可変抵抗を追加し、電池電圧をADコンバータへ入力し、電池電圧を計測した。

100本のサンプルプログラム

GitHUBにサンプル・プログラムを100本以上、公開しています。その中から、ここでは「example09c_hum_sht31」を使用します。

GitHUBの配布ページ
https://github.com/bokunimowakaru/esp/

本サンプルexample09c_hum_sht31
https://github.com/bokunimowakaru/esp/tree/master/2_example/example09c_hum_sht31

IoTセンサ用クラウド・サービスAmbientで簡単データ蓄積&グラフ表示

1年間もの実証データを蓄積するための仕組みを自分で作って運用するのは、意外と大変です。そういった手間を手助けしてくれるのがAmbientです。手間をかけずに長期間のデータを保存することができ、なによりリアルタイムでグラフ表示できるので、動作確認やメンテナンスも容易です。

データ送信量に制約があり、1つのチャネルにつき1日あたり3000データ、すなわち約30秒に1回の頻度でしか送れませんが、多くの場合、十分なスペックでしょう。

下図は、センシリオン製の温湿度センサSHT31を搭載したIoT温湿度センサの温度値と湿度値、電池電圧値を30分ごとにAmbientへ送信し、グラフ化したときの様子です。

1年間もの実証データを蓄積するのは意外と大変。Ambientを利用すれば、手間をかけずに長期間のデータを保存できる(但し、1日あたり3000データ・約30秒に1回まで)。

Ambientなら、測定結果を他の人に公開することも出来ます。もちろん、非公開にすることも出来ます。下記は本サンプルを動作させたボクのチャネル(ID=119)です。

Ambient公開チャネル(119 Ch)
https://ambidata.io/ch/channel.html?id=119

ハードウェア構成

製作したIoT温湿度センサの主なハードウェア構成を、以下に示します。

Wi-Fi マイコンESP-WROOM-02 (Espressif Systems)
電源 LDONJU7223F33 (新日本無線)
電源コンデンサWXA 460 uF/16V (ルビコン)
温湿度センサSHT31 (センシリオン)
乾電池単3型 アルカリ乾電池×3本 (モノタロウ)
電池電圧検出可変抵抗器 50kΩ + 固定抵抗 150kΩ

消費電力の試算

下表は、これまで公開したことが無かった消費電力の試算例と、各種の電池での動作期間の試算例です。概ね一致していることが確認できたので公開します。

左列は、レギュレータ=XC6202P332、コンデンサ=1000uF、センサ=HDC1000の試算例。右列は今回のレギュレータ=NJU7223F33、コンデンサ=470uF、センサ=SHT31の試算例。試算時は、待機電流の増大分だけ、消費電力が増大していた。
各種電池による動作期間の試算例。電池が無くなる(正確にはESPマイコンが動作しなくなる)電圧によって、動作期間が変化する。NJU7223F33を使用した場合は、より低い電圧まで動作させることが出来、終止電圧1.0V×3に近い最大動作期間13.8か月に達しかけた。

参考文献

この実験の関連情報を以下に示します。

筆者サポートサイト
https://bokunimo.net/bokunimowakaru/cq/esp/

パーツキットの説明書
https://shop.cqpub.co.jp/hanbai/books/I/I000315/setsumei.pdf

ソフトウェア(100本以上!)のダウンロード・説明書
https://github.com/bokunimowakaru/esp


書籍「超特急Web接続!ESPマイコン・プログラム全集」(CQ出版社)

この実験が上手く行った際は、ぜひ100本以上のサンプル・プログラムを収録した書籍もお買い求めください。ESP8266(ESP-WROOM-02)を中心に、LEDやスイッチといった簡単なデバイスから、カメラやLCDといったデバイスまで、ブレッドボードで短時間で製作し、実験することが出来ます。ESP32への応用方法や、サンプル・プログラムも用意しました。

書籍「超特急Web接続!ESPマイコン・プログラム全集」
https://shop.cqpub.co.jp/hanbai/books/47/47041.html

もちろんESP32-WROOM-32でも

ブレッドボードを使った政策では、ESP8266の方が手軽で簡単ですが、市販の開発ボードやプリント基板を使って製作する場合は、より多機能なESP32をお奨めします。

書籍で紹介したほとんどの製作例のESP32用サンプル・プログラムを、CD-ROMおよびGitHUBに収録してあります。サンプル番号に32を加算すればESP32用のサンプルになります。

ESP32用サンプル番号 = ESP8266用サンプル番号 + 32

ぜひESP32用サンプル・プログラムもご活用ください。

書籍「超特急Web接続!ESPマイコン・プログラム全集」に付属のCD-ROM。プログラムは、GitHUBでも公開している(https://github.com/bokunimowakaru/esp)。
  • ESP-WROOM-02用 :example09_hum_sht31
  • ESP32-WROOM-32用:example41_hum_sht31
  • 末尾の意味
    • _sht31  :SENSIRION製 SHT31 版
    • _si7021 :SILICON LABS製 Si7021 版
    • なし   :TI製 HDC1000 版

by bokunimo.net