ESP32 を太陽電池と電気二重層コンデンサで駆動する方法を紹介します.
はじめに
ESP32 は間欠動作させるのであれば,平均消費電流を 1mA 以下に抑えることが可能です.そこで,太陽電池での駆動にチャレンジすることにしました.
蓄電池の候補としてはいくつかありますが,今回は下記の観点で電気二重層コンデンサを使うことにしました.
- サイズが小さい
- 炎天下での長期使用でも安全
鉛蓄電池だと容量は大きいもののサイズも大きくなって,小型である ESP32 のメリットが活かせません.一方.リチウム電池だと,サイズは小さいものの,炎天下での長期使用に不安が残ります.
その点,電気二重層コンデンサは ESP32 を1~2日駆動する容量があり,しかも 85℃ まで使えるので,太陽電池と組み合わせるのにぴったりです.
必要な部品
必要な部品はこんな感じ.
秋月電子 で入手するもの
- 携帯機器用ソーラーモジュール(太陽電池・ソーラーセル) 300mW
薄型の太陽電池です.コンパクトに仕上げる予定がなければ AliExpress とかで売られている安いやつで OK.今回は2個使用しましたが,曇りが続かなければ1個でも対応できるかもしれません.
- 低電圧ショットキーダイオード (45V10A) SBM1045VSS
電流の逆流防止用のダイオードです.秋月ではダイオードがいろいろ売られていますが,これは Vf が小さく,電力ロスが抑えられるのでオススメです.
ストロベリー・リナックス で入手するもの
- TPS63070 可変型昇降圧DC-DCコンバータモジュール(2.5V~9V)
太陽電池の出力を,電気二重層コンデンサの仕様に合わせて昇降圧するモジュールです.やや,オーバスペックなので,他のものでも良いと思います.
- TPS63020 昇降圧DC-DCコンバータモジュール(3.3V/5V)
電気二重層コンデンサに蓄えた電力を,ESP32 に合わせて昇降圧するモジュールです.
Digi-Key で入手するもの
- 196 HVC ENYCAP 90F 4.2V MAL219690201E3
-
電気二重層コンデンサです.定格電圧 4.2V で容量が 45F ありながら,厚さが 7.5mm と 小型で,漏れ電流が 0.15mA と小さいのが特長です.今回はこれを2個使用します.
MonotaRO で入手するもの
- WH145-33-N-WY
-
今回の目的にぴったりのサイズのケースです.防水なので屋外に長期設置も可能です.
回路
作成する回路を下に示します.
太陽電池は2個直列に接続し,出力電圧を TPS63070 で 4.2V に変換してから電気二重層コンデンサに充電します.電気二重層コンデンサの出力は TPS63020 で再度 ESP32 用に 3.3V に変換します.
電流の逆流を防止するため,TPS63070 の前後にダイオードを挿入します.(追記: よくよく考えると,TPS63070 の後段のみで問題なさそうです)
なお,TPS63020 および TPS63070 はパワーセーブモードを有効化しておきます.このようにすることで,動作期間のほとんどを占める消費電力 1mA 未満の時の効率を下のように高く維持できます.(通常モードだと効率は 10% 未満に落ちます)
組み立てると下記のような感じになります.
左下にあるのは,温度計測用の HDC1010 です.
外観はこんな感じ.
動作確認
ESP32 に下記の動作を行うプログラムを書き込んで動作確認してみました.
- 1 分毎に Deep Sleep から起きて,電気二重層コンデンサの電圧測定とケース内の温度測定を実施.
- 30分後毎に WiFi 接続し,測定結果を Fluentd に送信.
- Fluentd への送信に失敗した場合,その後成功するまで1分毎に送信リトライを実施.
測定結果は下記のようになりました.なお,計測期間中はほぼ快晴でした.
グラフから次のような事が読み取れます.
- 日の出が始まる 5 時台の薄暗い段階から充電が始まり,3時間ほどで満充電(4.2V) になる.
- 15 時近くになって,太陽電池への日射が弱まると,電圧が急激に低下し,4.1V 程度になる.
- 15 時以降は緩やかに電圧が降下するが,時々,WiFi接続のリトライに伴って急激に 0.1V 近く低下.
- 3.8V 以下の領域では,ざっくり 8時間で 0.1V 程度の割合で電圧が降下し,翌日充電が始まる時点で,3.7V 以上をキープ.
- ケース内温度は最大で 55℃程度.
動作可能時間
曇りが続いてもなんとか動作を継続できそうな雰囲気なので,太陽電池を外して何日動作できるか調べて見たのかこちら.横軸の1メモリが半日です.
約4.5日間動作を継続できています.これなら曇りが続いていても大丈夫そうです.
考察
電気二重層コンデンサの電圧推移を細かくみていくと,やや変な感じだっので少し調べてみました.
『電気二重層コンデンサ(EDLC)の安全アプリケーションガイド』 [キャッシュ] によると,電気二重層コンデンサの構造は下記のように大きさの異なる活性炭で構成されているようです.
もう少し拡大するとこんな感じ.(出典: 『電気二重層キャパシタ(EDLC)の特性と上手な使い方』)
個々の活性炭は異なる容量と放電抵抗を持っています.
これを踏まえると,等価回路的には次のようになるとのこと.
充電の最後の方でなかなか電圧があがらないのは,直列抵抗が大きい Cn への充電がなかなか進まないからだと思われます.逆に,放電時に 4.1V まで一気に電圧が下がるのは直列抵抗が小さい C1 の放電が急激に進むためでしょうか.
また,等価回路に現れている内部抵抗は,温度が上がるほど低下する特性を持っており,温度が高くなるにつれて出力電圧も高くなるようです.グラフを見ると,長期的には電圧降下していくものの,途中で盛り返しているのが読み取れます.この特性は気温が低くなる冬季には注意した方が良さそうです.
前掲した動作停止時の電圧が ESP32 の最低動作電圧よりもかなり高い 3.6V 付近だったのもこの内部抵抗によるものと思われます.
電気二重層コンデンサの使いこなしには内部抵抗の扱いがキーになりそうです.
まとめ
太陽電池と電気二重層コンデンサを使うことで,WiFi 通信を行う EPS32 を常時動作させることができました.
コメント
はじめまして。最近ESP32を知り、ハマりだしつつある電子工作初心者です。
こちらの記事を見て感動し、早速マネさせていただきました。
記事内の全く同じ部品で掲出されている回路図を参考に組んでみたのですが、ESP32の挙動がどうもおかしく、正しく動きません。接続等で何かアドバイスを頂けないかと淡い期待を込めてコメントさせていただきました。
症状としては、ESP32の挙動をシリアルモニタで見ていると、起動は成功していますが、プログラムがどうやら動いていないのかデバッグ用のコメントがシリアルモニタにプリントされないパターンと、ものすごい勢いで文字化けした文字列が流れ続けるパターンに別れます。
ESP32への電圧は3.4Vで問題ないので、電流量が足りないかグランド設計に問題があるのかなと思っています。
何か気をつけなければいけない点、原因と思われるお気づきの点などあればご教示いただけないでしょうか。
(USB5VからDCDCコンバーターで降圧3.3Vからの給電では正しく動くことは確認済みです)
はじめまして。
シリアルモニターに Brownout detector was triggered とかは出ていますでしょうか?これが出ていれば、消費電流の急変に電源が対応できていないると思われます。
その場合は、コンデンサを追加すれば改善すると思われます。
「ESP32-DevKitC ESP-WROOM-32開発ボード」を安価でシンプルに屋外で動かしたいと思い、このページにたどり着きました
ページにある通り結線しまして、その結果、ボートからの最終的な出力は、想定通り、マイコンが動く5Vになりました
ただし、その5Vの出力をマイコンに繋ぐと、5Vの出力が2.5Vまで低下、結果的に、マイコンは止まります
別途、マイコンが正常に動く際の電圧、電流を確認したところ、5V、0.12Aでした
電流値は、0.12Aより下がることもあります
電気素人です
どうすればよいか、ご教授ください
2つ問題があると思います.
1 つめは,おそらくまだ電気二重層コンデンサにほとんど充電されていないと思われます.そのため,太陽電池の発電からほとんどの電力をまかなおうとして電圧が低下していると思われます.外部から 4.2V を印加してある程度充電してやると,動くようになると思います.
2 つめは,使用されたボードは電気二重層コンデンサで使うのに向いていないことです.開発ボード上には,電源 IC や USB-UART 変換 IC 等の素子が載っています.それらも電力を消費するため,電気二重層コンデンサで駆動するには不向きです.Deep Sleep を活用しても,太陽電池だけで 24 時間稼働させられるのは難しいと思います.
早々にご返事頂き、ありがとうございました。
大変参考になりました。
別の方法を検討してみます。
10月にお問い合わせさせて頂いたものです。
再度、チャレンジしてみました。
うまく動いた期間もあったのですが、最近は、思ったように動かなくなりました。
以下長文で大変申し訳ありません。
チェック点、アドバイス頂けると助かります。
1)設定
・ESP32の開発ボードをやめ、リフローでPESP32Eを自作
・ソーラーパネル4枚、コンデンサーを4個設置
・コンデンサーは、新品を利用
・SODIALの5Vのリレーを動かしたいため、DC3V-DC5Vコンバーターを設置
・その他、AM2302、SHT31の温湿度センサー、SEN0193の土壌センサーを設置
・トランジスタを使い、リレーをはじめとするセンサー類は、DeepSleep起動時に通電するように設定
・DeepSleepは30分に設定
・30分に1回、温湿度、土壌水分の値を取得、土壌水分の値に応じ、リレーを30秒駆動させ、電磁弁を動かす(ただ、現在はまだ電磁弁は接続していない)
・合わせてWIFIに接続、メールの発報と、GoogleSpredsheetへデータを記録
・未来工業のプラボックに収め、パネルは蓋に接着
2)やったこと、症状
・室内の南側の日光が当たるところで稼働させたところ、10日ほど、問題無く動いた
・コンデンサーの電圧をはかると3.8Vで、それ以上、上がらないのが気になった
・南側に向けられる外へ持ち出し、稼働させたところ、6日ほどで停止した
・天気は晴れたり曇ったりであった
・停止後、1週間ほど、PESP32Eへは給電せず、充電だけした
・コンデンサーの電圧を測定すると、3.4Vであった
・PESP32Eへ給電したところ、ほぼ一瞬しか動かず、その後、コンデンサーの電圧は1.5Vへ低下した
・PESP32Eへの給電している部分、つまり回路から出力されている電圧を測定すると、3.3Vであった
コンデンサーへ、回復不可能な損傷を与えてしまったのでしょうか
投稿者のものです。
「ソーラーパネル4枚」が不具合の原因でした。
パネル4枚の合計値は晴天時で約20Vとなります。
“TPS63070 可変型昇降圧DC-DCコンバータモジュール”の対応電圧の最大値は9Vです。
そのため、特に晴天時は、モジュールの最大値を越えるため、充電されていなかったようです。
日が暮れる時や、曇天時にて、パネルからの電圧が低い場合は充電されていたようですが、キャパシタを満充電するほど、稼働できていなかったようです。
当方の知識不足でお騒がせしました。
このページの記事は大変参考になります。
ありがとうございます。
>“TPS63070 可変型昇降圧DC-DCコンバータモジュール”の対応電圧の最大値は9Vです。
とのことですが、最大電圧9Vなのは出力側の話で入力側は16Vまで対応してます。
とは言えパネル4枚で20V入れたとのことなので結局オーバーしていますが…。
この手のモジュールの耐入力電圧はシビアなのでおそらくそれが原因でモジュールが壊れたのでしょう。
パネル4枚で20Vなら全部直列にしないで2並列×2直列で電圧を10Vに抑えつつ代わりにその分を電流に回せばよかったのでは?
モジュールの入力・出力の認識の間違いを教えてくださり、ありがとうございます。
助かります。
モジュールの方は、3月末からそのまま使い続けており、現在も稼働しておりますので、壊れたところまでは達していないようです。
ケースの固定したソーラーパネル2枚が遊んでいる状態ですので、教えて頂いたように、2枚を直列にしたものを並列に繋ぎ、活用してみます。
[…] 太陽電池と電気二重層コンデンサによる ESP32 駆動 https://rabbit-note.com/2018/07/22/esp32-operation-using-solar-panel-and-edlc/ […]
はじめまして。参考までにお聞きしたいのですが、コンデンサの電圧はどうやって計測しているんですか?3.3v以上はadcでは計測出来ないという話は良く見るのですが、特別何かを使っている様にも見えないのでどの様に計測、記録しているのか気になりまして。
コメントありがとうございます.
抵抗で分圧して計測しています.
回答ありがとうございます!
材料一覧に載っていないので、何か裏技があるのかと思いました。。
俺も抵抗とトランジスタで分圧して計測する様にしたんですが、数値が全然合わなくて‥。なかなかうまくいかない物です、素人工作は。
はじめまして.
本サイトを拝見して,同様の工作をしようと考えています.
ここで使用しているDigi-keyの電気二重層コンデンサ(定格電圧 4.2V 容量が 45F)ですが,URLを開いても出てこず,販売終了しているかと思います.同様の工作をする場合,電気二重層コンデンサの代替品はありますかでしょうか?定格電圧,静電容量がこのくらい満たしていれば良いなどありましたら教えていただきたいです.
加えて質問失礼します.
本サイトで使用しているPESP32はどこで購入できますでしょうか?
また,添付してあるESP32では同様の開発は厳しいでしょうか?
初心者で申し訳ございません.
使っている基板はこちらのものになります.他のものでも良いと思いますが,基板状に電源IC等の余計な素子が乗っていないものがおすすめです.
https://www.aitendo.com/product/15536
コメントありがとうございます.耐圧と容量が同等であればいけると思います.
この容量でも天気が悪いと結構ギリギリだったので,これより容量が少ないと常時動作は厳しいと思います.
ご丁寧にありがとうございます。