ESP32開発ボードに『Lolin D32』というボードがあります。
使いやすく便利なボードなので個人的に気に入っているESP32開発ボードの一つです。
WeMosはLolinという名称にブランド名が変わりましたが、WeMosと言った方がピンとくる方多いのかな?
ESP32で最もポピュラーなボードと言えばESP32-DevKitCが挙げられると思います。
技適取得済みのESP-WROOM-32が使われているので、Wi-FiやBluetoothといった無線機能を日本国内でも問題なく使うことが出来ます。
そしてESP32-DevKitCと同じESP-WROOM-32が使われ、さらにリポバッテリーからの駆動やその充電回路が内蔵されているLolin D32は使用できるピンの数も多く、また幅狭なボードのため通常よく使われる片側5列タイプのブレッドボードを使う場合も両サイドにジャンパーワイヤを挿す列が残るので扱いやすいボードだと思います。
以前はAmazonでも普通に入手出来ていましたが、最近は取り扱っていないのかな?
入手しにくくなったのが残念なところです。
そんなLolin D32ですが、以前から少し気になっていたところがあります。
通常ESP32開発ボードではI/O端子の中にEN端子がありESP32のENピンと繋がっています。
通常はプルアップされた状態ですが、LOWレベル(GND)に落とすことによりリセットをかける事が出来ます。
Lolin D32では少し表記が違っていて、リセットをかけるためのESP32のENピンと繋がっている端子はI/O端子の中の[RESET]という端子になっています。
そしてそれとは別に[EN]端子も引き出されています。
Lolin D32(V1.0.0)の回路図を見てみましょう。
ESP32のENピンは[RESET]という端子名で引き出されています。
一般的なESP32開発ボードでリセットをかけるためのEN端子と同じです。
そしてそれとは別に3.3Vレギュレータチップ(ME6211)のイネーブルピンに繋がった[EN]という名称の端子も引き出されています。
ME6211のこの端子はLOWレベルに落とすとシャットダウンする仕様となっています。
つまりEN端子をGNDに落とすとME6211のENピンがGNDレベルとなるのでレギュレータ機能が停止します。
これにより出力側の3.3Vラインの電源供給が止まるわけですから、結果的に以降のESP32やUSB-シリアルチップなどへの電源供給も止まるというものです。
同様にESP32をリセットさせることが出来ます。
本来このボードをリセットさせるには他のボード同様にESP32(ESP-WROOM-32)のENピンをGNDに落とせばいいので(RESET端子を使用)、Lolin D32ではこのRESET端子とは別にレギュレータをオフにするこのEN端子が引き出されているのはどのような意図、というかどのような使用用途があるのかな?なんて思っていました。
以前Instagramで何度か問いかけた事があるのですが、他のMCUからリセットを制御するなど・・・いろいろとコメントを頂きました。
この投稿をInstagramで見る
そして今回は、Lolin D32のこのEN端子をボードの電源スイッチとして使うことが出来るのか?
ということで試してみました。
最近製作していたこちらのレトロアーケードゲームを動かすエミュレータにLolin D32を使いました。
リポバッテリーからの駆動や充電も可能なことからこのプロジェクトでは最適なESP32ボードだと思います。
この投稿をInstagramで見る
そして製作過程で電源スイッチをどの位置に取り付けようか迷っていたのですが・・・
Lolin D32はリポバッテリーを接続するJST-PH2.0コネクタがボード上に用意されています。
この端子にリポバッテリーを接続すればボードの駆動、またUSB端子を差し込んだ時には自動的に充電も開始されます。
しかし電源スイッチは用意されていません。
電源をオフにするにはリポバッテリーを取り外すか、バッテリーとの間に電源スイッチを挟むというのが想定できます。(VBAT端子を使うことも出来ます)
こんな感じですね!
これならリポバッテリーからのボードへの給電をスイッチを使いオン・オフする事が出来ます。
しかし上記のような接続で困るのが、この接続ではUSB端子を接続しバッテリーの充電を行いたい時には当然スイッチをオンの状態にしておかないと充電する事が出来ません!
簡単な電源スイッチの取り付け方法なので用途によってはこれでも問題ない場合が多いと思いますが、上記製作していたゲームコンソールでは充電の際にわざわざスイッチをオン状態にする必要があり、充電中は常にゲームが立ち上がった状態になってしまいます。
充電時間も当然遅くなってしまいますし・・・何より面倒です!
ということで、前々から気になっていた[EN端子]を電源スイッチとして使うことが出来るのか試してみました。
EN端子をGNDに落とすとレギュレータを無効にさせることが出来るので、その結果回路の大部分をオフ状態にするというものです。
接続的にはこのようになりますね。
この接続だとスイッチ操作でオン・オフができ、かつオフの状態でもUSB端子を差し込めばバッテリーへの充電も行うことが出来ます。
電源スイッチが搭載されていないLolin D32なんですが、このようなことも想定してレギュレータのENピンを引き出しているのでしょうかね?
本来ESP32のGPIOピンの1つを使用してスイッチを取り付けるなどしてディープスリープモードに移行や復帰させるといった方法をとるのが良いのかもしれませんが、ソフトによる電源停止は難しいのと面倒になります。
上記プロジェクトではメインのエミュレータープログラムに支障も出るので、このような物理的な接続で電源スイッチとして機能するようにしました。
スイッチを使いEN端子をGNDに落とすことによりレギュレータの動きを止めボードの大部分(3.3Vライン)を無効にするというものですが、僅かな電流は流れます。
MOSFETのQ1(CJ2301)はオンの状態のためR5(100kΩ)を介して流れる電流と充電チップTP4054はスタンバイ状態なのでこちらも僅かな電流消費が発生します。
EN端子をGNDに落とした状態(電源オフ)での実測値は75μAほどでした。
仮に300mAhのリポバッテリーを接続しオフ状態を維持する場合、完全に放電されるまで300/0.075=4000hということになるので、十分スイッチとして使えそうですね!
リポバッテリーからの駆動や充電回路が内蔵されているLolin D32なんですが、物理的な電源スイッチが付いていないので用途によってはこのような使い方により便利になると思います。
Lolin D32のEN端子を同様に電源のオン・オフで使えないか?といったことはネットのフォーラムでいくつか見つけることが出来ましたが・・・
便利な使い方だと思いますが、電子回路的にこのような使い方って実際どうなの?という素朴な疑問は残りました!
詳しい方どうなんでしょうか?
ということで、Lolin D32の追記記事としておきます。
コメントを残す