Sousu's ARENA

[ DIYに戻る ]
ESP32で充電量が指定できる充電器を作ろう!
2022.11.01
新規作成
Abstract(概要)
使用風景

ESP32とTakserの組み合わせで、スマートフォンの充電量が指定できるQi充電器を作ってみました。

Introduction(まえがき・序論)

スマートフォンってどのぐらいの期間で買い替えていますか。 酷使する人だと、2年が電池の限界って人もいるんじゃないでしょうか。

最近は、電池充電の最適化機能もいろいろ実装されて、寿命が伸びてきたといわれていますが、 最大限に伸ばすには、どうしても細かい充電制御が必要です。

たとえば、100%充電を避けるのはよく言われています。 そのほかにも、NMC,黒鉛のリチウムイオン電池が劣化しやすくなる条件はいろいろあります。

(参考): リチウムイオン電池の劣化挙動調査(国立研究開発法人科学技術振興機構)

どうやら「充電量45~55%」にすると電池容量減少の程度が小さいようです。 しかし、そんな充電制御できる充電器(スマートフォン)ってなかなかないですよね?

ないなら、作ってしまいましょう。



Materials and Methods(材料および方法)
fig.1:ブロック図(クリックで拡大)
ブロック図


  1. スマートフォン制御ソフト:充電量に応じて、WEB I/FにHTTP REQを送ります
  2. 充電ユニット:ESP32でWEBサーバーを立てています。HTTP REQに応じてChargerの電源制御を行います。
  3. Micro SW:充電ユニットの電源を制御します。主に、ESP32の状態リセット用です。

充電ユニットの回路を紹介します。

fig.2:信号増幅器・回路図(クリックで全体表示)
回路図

  1. Q1,Q2:Qi充電器の電源制御用スイッチ
  2. U1,Q3:ESP32の電源制御用スイッチおよびLDO
  3. SW1A:スマートフォンの設置感知用マイクロスイッチ

回路設計の詳細は後述します。

内部配線はこんな感じです。ちょっと荒っぽいけど、蓋すれば見えないからOK!



使用風景
内部配線


使用したパーツ:

回路は、すべて秋月電子通商で揃えました。

Materials(使用方法)
ESP32用のプログラムはこちらです
SimpleWiFiServer(GitHub)

変更点はこれだけです。ほとんどコード書いてません。

こんな風に、Taskerから HTTP リクエストを送信すると、ESP32のP5が制御できます。 P5はQi充電器の電源スイッチにつながっていますから、 スマートフォンから充電器のON、OFF制御が簡単に実現できます。

HTTP REQ
Results(結果)

スマートフォン側の設定例です

充電台にスマートフォンを乗せると、マイクロスイッチがONになって、ESP 32がONになり、プログラムからQi 充電器がONになります。

充電開始のプロファイルはこんな感じ。バッテリーの充電量と各種状態を見てQiをONにします

HTTP REQ

充電量は範囲指定しています。この場合、39%以下になったら条件成立です

HTTP REQ

充電量だけだと誤動作するので、いくつかの条件を追加しています。充電量設定の一致、現在充電中かどうか(ほかの条件で変数を変化させています)、現在家にいるかどうか(特定のWiFiとの接続を見ています)

HTTP REQ

条件が成立したら、直ちにQiをONにするために、HTTPリクエストを送信します。

HTTP REQ

条件が成立次第、充電開始されました

HTTP REQ

同様に充電量上限も設定すれば、一定範囲の充電量%に保つことができます。

Discussion(考察)
苦労したところなどのメモ書きです

1.Qi充電台とスマートフォンのコイルの結合率

Qiの充電は、充電開始後は大電流を流すので、ある程度コイル間距離が離れても充電されるのですが、 開始時はスマートフォンと充電器の間でネゴシエーションするようで、 距離が長すぎると充電開始してくれません。

このため、ケースのうち蓋を切り取って、コイル間距離が最短になるようにしました。

うち蓋

コイル間距離を話せば、強制的に低速充電になるかと思ったのですが、そんなに甘くなかったです。

低速充電のQi自体、入手はできるんですが、USB充電器から電源をもらうため、3.3Vが作りにくくいため、あきらめました。

2.暗電流低減

3.3Vの生成に12Vからリニアレギュレータを使っているので、少々無駄が多いです。 せめて、電流自体減らそうと考えていたところ見つけたのが、下記の情報です

SAVING POWER ON AN ESP8266 WEB SERVER USING DELAYS

どうやら、Webサーバの待ち受けループにdelayを挟むことで省エネ化できるみたいです。 とりあえず1msのdelayを入れて様子を見ていますが、動作に問題はないようです。

簡易的なテスターだと電流実効値はわからないのですが、若干電流は下がっているようでした

また、未使用時の電源OFFと、状態リセットを兼ねて、マイクロスイッチもつけました。

3.ケース
無印良品のウェットティッシュのケースが余っていたので使ったのですが、マットレスの高さにぴったりでした。やったね! 使用風景
7.次に向けて

今回はAndroid端末のみの対応だったので、iPhoneも同様に制御してみたいのと、 充電台組み込みではなく、独立したケースにいれて、ほかの制御に応用してみたいです。


[ DIYに戻る ]
inserted by FC2 system