M5StickCのDCDCをオフにしたら稼働時間が倍に延びた話
はじめに
DCDCというのはこちら↓ の記事によるとM5StickCから5Vを出力するために使うものだそうで……
M5StickCでの省電力ノウハウ
「初期化時にOFFにするパラメーターが追加されています」とのことだったのですが、あまり情報がなかったので、GitHubのソースを見ながらやってみることにしました。
Zoom用に作ったbluetoothキーボード(上の写真)の電池の持ちをよくしたいというのが趣旨です。
setup()の中で
M5.Axp.begin(false,false,false,false,true);
とするとDCDC3をオフにできるようです。(2020 12/27時点)
で、やってみた
最初に書いちゃいましたが、稼働時間が40分だったのが80分になりました。
DCDCをオフにするのは省電力にかなり有効だということが分かりました。
5V出力が必要ない時は積極的にオフしていきたいと思います。
注意事項
M5.Axp.begin()ですが、使うときに注意事項が2つあります。
- オフにするのはDCDC3です。DCDC1ではありません。
初期化可能なDCDCには DCDC1 と DCDC3 があります。
void AXP192::begin(bool disableLDO2, bool disableLDO3, bool disableRTC, bool disableDCDC1, bool disableDCDC3)
DCDC1をtrueにするとディスプレイやボタンが反応しなくなりました。(電源ボタンは使えます)
また、ArduinoIDEでスケッチの書き込みができなくなりました。
(M5Burnerを使ったら書き込めました。そのあとはまたArduinoIDEで書き込みできるようになります
M5Burnerを使っても復旧できない場合があるそうです。(2022 4/26 追記))
くれぐれも、不用意にDCDC1をtrueにしてしまわないように気を付けてください。
- M5StickCのライブラリのバージョンによって引数が異なります。
この記事の内容は ArduinoIDE のM5StickCライブラリ バージョン 0.2.0 対応です。
GitHubに上がっている最新バージョンではAxp.begin()の引数が一つ増えています。
手元のライブラリではどうなっているか確認してからお試しください。
(GitHubの最新バージョン 2020 12/27現在)
void AXP192::begin(bool disableLDO2, bool disableLDO3, bool disableRTC, bool disableDCDC1, bool disableDCDC3, bool disableLDO0)
(twitterでLang-shipのたなかまさゆきさん@tnkmasayukiにおしえていただきました。ブログいつも拝見しています。ありがとうございました)
追記:
それにしても………参考文献によるとDCDCは常時1.3mA以上使っているという話だったのですが、それだけで稼働時間がこんなにも変わるものでしょうか?
でもソースは他にどこも変えていないし…
何か他の原因に心当たりのある方がいらっしゃれば、教えていただけたら幸いです。
参考文献
Author And Source
この問題について(M5StickCのDCDCをオフにしたら稼働時間が倍に延びた話), 我々は、より多くの情報をここで見つけました https://qiita.com/sullblue/items/d1bcd7c099fbcd26bb26著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .