« 頒布:中古品、ジャンク品 | トップページ | Clusterのショートカットをプログラマブルテンキーに設定してみた »

2024年12月29日 (日)

XIAO ESP32C3の充電回路を改めて検証

以前に買ったXIAO ESP32C3、しばらく放置していましたが改めて見たらリウム(ポリマー)電池の

接続ができ、しかも充電まで出来るとか

他の製品では電池関係で苦労したので、これが使えたら楽だろうなと言うことで調べてみました。


XIAO ESP32C3のおさらい

以前書いた記事 ・・・2022年9月の記事なので情報は既に古いです

XIAO ESP32C3の配置(表)

※A3の扱いが変わったようです。
 A3(GP105) - ADC2 を使用しますが、誤ったサンプリング信号により動作しなくなる可能性があります。
 信頼性の高いアナログ読み取りを行うには、代わりに ADC1(A0/A1/A2) を使用してください。
 ESP32-C3 データシートを参照してください。

XIAO ESP32C3の配置(裏)


以前は気にしていませんでしたが、バッテリーの接続端子がありしかも充電まで出来るとか

念のため、回路図を確認しました。青い線が電源周りの接続を補足したものです。

画像は少しボヤケていますが主にこんな感じなります。

【動作概要】

①USB-Cの「VBAS」(5V)の入力がFUSEを通り「USB_FUSED5V」となります

②「USB_FUSED5V」は、U1(充電保護IC)のVINに入ります

③バッテリーが接続れされ、十分な電圧が有る場合、出力は「BAT」から出てきてQ1に戻ります

④「/CHG」はバッテリーの充電状態を表しているようでバッテリーが無いか、電圧が低い場合

 赤く点滅します

⑤USBが接続されている間は「VBAS」からD1を通ってU2(レギュレーター)に供給され

 「VCC_3V3」が出力されます

⑥USBが接続が切れ「VBAS」の電圧は無くなると、Q1のゲートが開いてバッテリーからの電圧が

 供給されます。

ということでバッテリーの充電ができることが判りました。

20241229-121808


【残った疑問】

①使用可能なバッテリーの種類と容量

 ドキュメントを探しましたが、具体的な記述をみつけられませんでした。

 公式の説明は以下の通りです。(機械翻訳)


電池の使用に関する説明:

  1. 仕様に適合した認定バッテリーを使用してください。
  2. XIAO は、バッテリーを使用しながらデータ ケーブルを介してコンピューター デバイスに接続できます。XIAO には安全な回路保護チップが組み込まれているので、ご安心ください。
  3. XIAO ESP32C3 は、バッテリー駆動時には LED が点灯しません (特定のプログラムを作成しない限り)。XIAO ESP32C3 が動作しているかどうかを LED の状態によって判断せず、プログラムによって適切に判断してください。
  4. 申し訳ございませんが、現在ソフトウェアでバッテリー残量を確認する方法はありません(チップピンがもう使用できないため)。定期的にバッテリーを充電するか、マルチメーターを使用してバッテリー残量を確認する必要があります。

 また充電保護ICの品名も不明です。

 ただし、公式の写真に750mAhのポリマー電池が写っていたので、ここまでは行けそうです。

ピル

②電池の残量が知りたい

 ソフト的に電池の残量を知る方法がありません。だだし、以下の改造を加える事で可能になるそうです。

 要はバッテリーの両端に抵抗を付け、中点とGNDの間の電圧をA0(アナログIN)で測るという方法です。

 なぜ、中点を測るかというとバッテリーの電圧がアナログ入力の最大3.3Vを超えてしますので、

 1/2の電圧を測り計算して現在の電圧を求めるという方式です。

 ソースのサンプルを以下に記載します。

 なお、16回測って平均化しているのは通信中のスパイク状のエラーを除去するためだそうです。

ピル


// Seeed Studio フォーラム ユーザーmsfujinoさん作成
void
setup() {
Serial.begin(115200);
pinMode(A0, INPUT); // ADC
}

void loop() {
uint32_t Vbatt = 0;
for(int i = 0; i < 16; i++) {
Vbatt = Vbatt + analogReadMilliVolts(A0); // ADC with correction
}
float Vbattf = 2 * Vbatt / 16 / 1000.0; // attenuation ratio 1/2, mV --> V
Serial.println(Vbattf, 3);
delay(1000);
}

③具体的にフル充電でどれだけ使えるの?

 こればかりは実際の検証が必要です。後日結果を報告したいと思いますのでお待ちください

以上

« 頒布:中古品、ジャンク品 | トップページ | Clusterのショートカットをプログラマブルテンキーに設定してみた »

アマチュア無線」カテゴリの記事

コメント

コメントを書く

(ウェブ上には掲載しません)

« 頒布:中古品、ジャンク品 | トップページ | Clusterのショートカットをプログラマブルテンキーに設定してみた »

無料ブログはココログ
フォト
2025年2月
            1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28