大人気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か月)動作した
実は、計算上、1年動作するといっても、実際に動かしてみると、1年に満たないことがあります。実際、5年前に、取り組んだ当初は、3か月~6か月くらいしか持ちませんでした。
その後、レギュレータとコンデンサの選定が、長期間動作に影響することが分かり、トランジスタ技術2016年9月号で「ケチケチ運転術」として紹介。様々なレギュレータやコンデンサで試し、翌2017年に1年動作の目途をつけ、2018年4月に1年間動作する検証を終えました。
ところが、検証を終えた時には、低消費電力動作の中核を担うTOREX製 XC6202P322の販売が終了。そこで、秋月電子通商で販売されている部品の中から代替品を探すことにしました。
長期間動作を支えるNJU7223F33(新日本無線)
様々な3.3VのLDOタイプのレギュレータを秋月電子通商などから購入し、それぞれの待機電流を測定し、その中からNJU7223F33を選定しました。
レギュレータ | 最大電流 | 待機時消費電流 |
XC6202P332 | 150 mA | 10 uA (実測 6uA) |
NJU7223F33 | 500 mA | 30 uA |
NJU7223F33は、XC6202P322よりも待機時消費電流が3倍になりますが、その一方で、最大電流も3倍になるため、電池残量が減ってきたときに、マイコンを動作させるために必要な電圧を確保しやすくなり、レギュレータの出力側のコンデンサを小さくすることが出来ます。
なお、レギュレータによっては、出力側に大容量のコンデンサを付与すると誤作動や故障する場合があります。紹介したレギュレータ以外を使用する場合は、データシートを十分に確認してください。
ブレッドボードで簡単製作
この実験では、レギュレータやコンデンサを簡単に交換できるブレッドボードが便利です。また、簡単なIoT機器をブレッドボードで製作する場合は、最新のESP32よりも、機能やピン数が少ないESP8266(ESP-WROOM-02)を使用した方が簡単です。
ブレッドボードを使ったIoT温湿度センサの製作方法を下図に示します。この図は、CQ出版社のウェブサイトで公開されています。レギュレータ部などの詳細は、下記のパーツセットの説明書をご覧ください(パーツセットの限定販売は終了)。
パーツセットの説明書:
https://shop.cqpub.co.jp/hanbai/books/I/I000315/setsumei.pdf
今回の実験では、上図のブレッドボードに電池電圧を測定するための可変抵抗器を追加しました。実験に使用したIoT温湿度センサを下図に示します。
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へ送信し、グラフ化したときの様子です。
Ambientなら、測定結果を他の人に公開することも出来ます。もちろん、非公開にすることも出来ます。下記は本サンプルを動作させたボクのチャネル(ID=119)です。
Ambient公開チャネル(119 Ch)
https://ambidata.io/bd/board.html?id=131
ハードウェア構成
製作したIoT温湿度センサの主なハードウェア構成を、以下に示します。
Wi-Fi マイコン | ESP-WROOM-02 (Espressif Systems) |
電源 LDO | NJU7223F33 (新日本無線) |
電源コンデンサ | WXA 460 uF/16V (ルビコン) |
温湿度センサ | SHT31 (センシリオン) |
乾電池 | 単3型 アルカリ乾電池×3本 (モノタロウ) |
電池電圧検出 | 可変抵抗器 50kΩ + 固定抵抗 150kΩ |
消費電力の試算
下表は、これまで公開したことが無かった消費電力の試算例と、各種の電池での動作期間の試算例です。概ね一致していることが確認できたので公開します。
参考文献
この実験の関連情報を以下に示します。
筆者サポートサイト
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用サンプル・プログラムもご活用ください。
- ESP-WROOM-02用 :example09_hum_sht31
- ESP32-WROOM-32用:example41_hum_sht31
- 末尾の意味
- _sht31 :SENSIRION製 SHT31 版
- _si7021 :SILICON LABS製 Si7021 版
- なし :TI製 HDC1000 版
by bokunimo.net