Home Made Garbage

E32-SolarCharger の Deep Sleep ーベランダ太陽光発電所への道2ー

ホーム
電子工作
Raspberry Pi
IOT
WEB

さて第2回となりますシリーズ “ベランダ太陽光発電所への道”。今日もソーラー充電コントローラ E32-SolarCharger の基礎的な動作を学び この基板との距離を縮めていきたいと思います。

まぁ帰ってきたら夜でソーラー発電動作実験できないからね。トランキーロ焦らずじっくりやっていきます。

 

今回は E32-SolarChargerに使用されているマイコンESP32のDeep Sleepについて学習します。

 

 

Deep Sleep

例えば太陽光がソーラーパネルに届かないのにマイコンで一生懸命バッテリーへのチャージ動作しても意味がないですよね。チャージ動作停止するだけでもいいのですが、マイコンの待機消費電流をも抑えてしまおうというのがDeep Sleep機能です。

販売元であるIndoor Corgi Elec.社のサイトにDeep Sleep動作を確認できるサンプルコードがアップされておりますので試してみました。

 http://indoor.lolipop.jp/IndoorCorgiElec/E32-SolarCharger/Load-Sleep.zip

こちらを書き込み起動すると自動的にESP32はDeepSleepモードに入ります。30秒経過もしくはSW3スイッチを押すとDeepSleepから復帰します。

動作

SW3スイッチを押すたびにESP32がDeep Sleepしています。スリープする前にラッチICで保持してLED1(緑)の点灯を保っています。

ここで驚いたのですがコード内の変数宣言の冒頭でRTC_DATA_ATTRを
付けるとスリープしても初期化されず値を保持します。

このサンプルでは復帰回数をカウントしています。

またスリープ復帰後にesp_sleep_get_wakeup_cause()で復帰理由の取得も行って表示しています。

 

おわりに

今回のDeep Sleep動作学習は非常にためになりました。他のESP32製品使用時にも大いに役に立つと思います。

なによりベランダ太陽光発電においてDeep Sleepは重要な役目を果たすことになるでしょう。太陽光を効率よく無駄なくチャージして有効利用を目指します。

俺はベランダで太陽光発電をする人になる!

参考

Related Posts

コメントはこちらから

メールアドレスが公開されることはありません。コメントのみでもOKです。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください