battery-selector について
battery-selector は、組み込みプロジェクトの開発者向けに、電池の化学系を比較し、セルや充電回路の選択を支援するスキルです。電流消費と稼働時間から適性を見積もる計算機に加え、化学系の資料と安全ガイドを備えています。
主な機能
- 0115 種類以上の電池を比較
- 02電流と稼働時間から容量を推定
- 03充電式電池に絞って選択
- 04充電方式と電圧調整方法を確認
- 05化学系ごとの安全ガイドを参照
活用シーン
- 01携帯型プロジェクトの電池を選定
- 02目標稼働時間に必要な容量を推定
- 03充電式化学系と充電器を選択
- 04電池の使用前に安全上の注意を確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ wedsamuel1230/ embedded-engineering-skills --skill battery-selectorインストール後、Claude Code で/battery-selectorを入力して読み込まれたか確認します。
同梱ファイルreferences/safety-guidelines.mdscripts/compare_batteries.py
詳細
バッテリーセレクター
組み込みプロジェクト向けのバッテリー化学系と充電回路の選定をガイドします。
リソース
このスキルには、以下のツールとリファレンスが含まれています。
- scripts/compare_batteries.py - 15種類以上のバッテリーを比較する計算ツール
- references/safety-guidelines.md - あらゆる化学系に対応した包括的な安全ガイド
クイックスタート
対話形式で選択:
uv run --no-project scripts/compare_batteries.py --interactive
コマンドライン:
# Find battery for 50mA project, 24h runtime
uv run --no-project scripts/compare_batteries.py --current 50 --hours 24
# Require rechargeable
uv run --no-project scripts/compare_batteries.py --current 100 --hours 12 --rechargeable
# List all batteries in database
uv run --no-project scripts/compare_batteries.py --list
使用する場面
- 「どのバッテリーを使えばよいですか?」
- 「このプロジェクトはどう充電すればよいですか?」
- 「リチウムとアルカリのどちらがよいですか?」
- 「このバッテリーは安全ですか?」
- 携帯型/バッテリー駆動プロジェクトの計画
選択フローチャート
START
│
▼
Is project rechargeable? ──No──► Alkaline/Lithium Primary
│ (Disposable batteries)
Yes
│
▼
What voltage does MCU need?
│
├── 5V ──► LiPo + Boost converter
│ OR 3x/4x NiMH
│
├── 3.3V ──► Single LiPo (3.0-4.2V)
│ Directly compatible!
│
└── 12V+ ──► Multi-cell LiPo pack
OR Lead-acid
│
▼
How much current?
│
├── <50mA ──► Small LiPo (500-1000mAh)
│ OR Coin cell (CR2032)
│
├── 50-500mA ──► Standard LiPo (1000-3000mAh)
│ OR 18650 cells
│
└── >500mA ──► Large LiPo (3000mAh+)
OR Multiple 18650s
External power recommended
バッテリー化学系の比較
クイックリファレンス
| 化学系 | 電圧 | 充電可能 | エネルギー密度 | コスト | 安全性 |
|---|---|---|---|---|---|
| アルカリ | 1.5V/セル | いいえ | 中 | 低 | 非常に安全 |
| 一次リチウム | 3V | いいえ | 高 | 中 | 安全 |
| NiMH | 1.2V/セル | はい | 中 | 中 | 安全 |
| LiPo/Li-ion | 3.7V | はい | 非常に高い | 中 | ⚠️ 取り扱いに注意が必要 |
| LiFePO4 | 3.2V | はい | 高 | 高 | LiPoより安全 |
| 鉛蓄電池 | 2V/セル | はい | 低 | 低 | ⚠️ 酸の危険性 |
アルカリ(AA/AAA/9V)
メリット:
- 安価で、どこでも入手可能です
- 充電回路が不要です
- 非常に安全です
- 保存期間が長い(5~10年)です
デメリット:
- 充電できません(電子廃棄物になります!)
- 放電に伴って電圧が低下します
- 大電流に適していません
- 容量に対して重いです
最適な用途:
- 低消費電力のプロジェクト(平均<20mA)
- 初心者向けプロジェクト
- 充電が現実的でない遠隔地/展開先
- バックアップ電源
電圧構成:
Cells Voltage Use With
────────────────────────────
2x AA 3.0V 3.3V MCUs (with LDO)
3x AA 4.5V 5V MCUs (direct or LDO)
4x AA 6.0V 5V MCUs (with regulator)
9V 9.0V With 5V/3.3V regulator
NiMH(充電式AA/AAA)
メリット:
- 充電可能です(500~1000サイクル)
- アルカリ電池と同じサイズです
- リチウムより安全です
- メモリー効果がありません
デメリット:
- 電圧が低いです(1.5Vではなく1.2V)
- 自己放電します(月あたり約20%)
- 適切な充電器が必要です
- LiPoより重いです
最適な用途:
- 使い捨て電池を置き換えるプロジェクト
- 教育現場
- LiPoのリスクが高すぎる場合
- 手頃な価格の充電式ソリューション
充電:
- 専用のNiMH充電器を使用します
- メーカーや容量の異なる電池を混ぜて使わないでください
- Eneloop/Eneloop Proを推奨します
LiPo / Li-ion(3.7V)
メリット:
- エネルギー密度が高い(軽量で高出力)です
- 充電可能です(300~500サイクル)
- 放電曲線が平坦です
- さまざまな形状があります
デメリット:
- ⚠️ 誤った取り扱いによる火災の危険があります
- 保護回路が必要です
- 温度に敏感です
- 使用しなくても劣化します
最適な用途:
- ほとんどの携帯型プロジェクト
- 重量が重要な用途
- 動作時間を確保したい場合
- プロフェッショナルな製作
重要な安全ルール:
✅ DO:
- Use protected cells with BMS
- Store at 40-60% charge
- Use proper TP4056/similar charger
- Monitor temperature during charge
- Use battery with JST-PH connector (prevents polarity swap)
❌ DON'T:
- Puncture, crush, or bend
- Charge below 0°C
- Discharge below 3.0V
- Leave charging unattended (first few times)
- Use damaged/puffy batteries
LiFePO4(3.2V)
メリット:
- LiPoよりはるかに安全です(熱暴走しません)
- サイクル寿命が長いです(2000サイクル以上)
- 放電曲線が平坦です
- 過酷な扱いにもより耐えられます
デメリット:
- エネルギー密度が低いです
- 電圧が低く(昇圧が必要な場合があります)
- 価格が高いです
- 小型サイズの製品はあまり一般的ではありません
最適な用途:
- 安全性が最重要の用途
- 屋外/過酷な環境での展開
- 長期設置
- LiPoのリスクを許容できない場合
CR2032 / コイン電池
メリット:
- 非常に小型で軽量です
- 保存期間が長いです
- 3V出力(3.3V MCUに直接接続可能)です
デメリット:
- 容量が非常に小さいです(220mAh)
- 大電流の供給に適していません
- 充電できません
- ⚠️ 飲み込むと危険です
最適な用途:
- 超低消費電力の用途のみ(平均<10µA)
- RTCのバックアップ
- 小型センサー
- キーフォブ、ビーコン
電流制限:
Continuous: <2mA
Pulse: <15mA (brief)
DON'T use for: WiFi, Bluetooth, motors, LEDs
電圧レギュレーション
3.3Vシステム(ESP32、RP2040)
単セルLiPo → 3.3V:
LiPo outputs 3.0-4.2V
Most 3.3V MCUs tolerate this range directly!
Option 1: Direct connection (if MCU allows)
LiPo(+) → 3.3V/VIN pin
Option 2: LDO for clean 3.3V
LiPo(+) → [AMS1117-3.3] → 3.3V pin
(Need 4V min input for AMS1117)
Better: Use HT7333 LDO (low dropout, low quiescent)
Works from 3.3V input!
5Vシステム(Arduino UNO/Nano)
LiPo → 5V:
Option 1: Boost converter
LiPo(+) → [MT3608] → 5V → VIN pin
Option 2: PowerBoost module (Adafruit)
Includes charging + boost + protection
Option 3: USB power bank
Already regulated 5V + charging built-in
充電ソリューション
TP4056モジュール(最も一般的)
┌─────────────────────────────┐
│ TP4056 with Protection │
│ │
│ [USB-C] ─► [TP4056] ─► [DW01+FS8205] ─► [B+/B-]
│ IN Charger Protection To Battery
│ │
│ Features: │
│ - 1A max charge current │
│ - Overcharge protection │
│ - Overdischarge protect │
│ - Short circuit protect │
│ - LED charge indicator │
└─────────────────────────────┘
Wiring:
B+ → LiPo positive
B- → LiPo negative
OUT+ → Load/MCU positive
OUT- → Load/MCU negative
⚠️ 保護回路付きのモジュールを選んでください(4ピンではなく6ピン)
Adafruit PowerBoost 500C/1000C
次の機能を備えたプレミアムソリューションです。
- USB経由でのLiPo充電
- 5V昇圧出力(500mAまたは1A)
- バッテリー残量低下インジケーター
- 負荷分担(動作中の充電)
自作充電で避けること
❌ Never charge LiPo with a constant voltage supply
❌ Never charge LiPo with a phone charger directly
❌ Never charge at >1C rate (e.g., 1000mAh → max 1A)
❌ Never charge frozen batteries
バッテリー容量計算ツール
Step 1: Determine average current (from power-budget-calculator)
I_avg = _____ mA
Step 2: Determine required runtime
T_required = _____ hours
Step 3: Calculate minimum capacity
C_min = I_avg × T_required × 1.25 (safety factor)
C_min = _____ × _____ × 1.25
C_min = _____ mAh
Step 4: Select battery
Choose capacity ≥ C_min
Consider: size, weight, form factor
例:
Project: Weather station
I_avg: 15mA
T_required: 48 hours (2 days between charges)
C_min = 15 × 48 × 1.25 = 900mAh
Selection: 1000mAh LiPo (gives ~67 hours actual)
よくある間違い
1. 不適切な充電器の使用
❌ "My 9V adapter should work"
LiPo needs CC-CV charging at 4.2V max!
✅ Use TP4056 or dedicated LiPo charger
2. 低電圧カットオフがない
❌ Draining LiPo below 3.0V
Permanently damages the cell!
✅ Use protection module OR monitor in code:
if (batteryVoltage < 3.2) {
enterDeepSleep(); // Protect battery
}
3. 突入電流を考慮しない
❌ Battery can't handle WiFi TX spike (500mA)
Causes brownout/reset
✅ Add 100-470µF capacitor near MCU
✅ Size battery for peak current, not just average
4. 逆極性保護なし
❌ Swapping battery wires = magic smoke
✅ Use JST-PH connectors (keyed)
✅ Add protection diode or P-FET
プロジェクトの種類別おすすめの構成
低消費電力センサーノード
Battery: 18650 (3000mAh) or LiPo 2000mAh
MCU: ESP32 with deep sleep
Charger: TP4056 with protection
Runtime: Weeks to months
ハンドヘルドデバイス
Battery: LiPo 1000-2000mAh flat pack
MCU: Any
Charger: PowerBoost or TP4056 + boost
Runtime: Hours to days
ロボット/大電流
Battery: 2S or 3S LiPo pack (7.4V or 11.1V)
Regulator: Buck converter to 5V
Charger: Balance charger (external)
Runtime: Minutes to hours
超低消費電力ビーコン
Battery: CR2032 or 2x AA
MCU: ESP32-C3 or ATtiny with deep sleep
No charger needed
Runtime: Months to years
クイック選択表
| プロジェクトの種類 | 最適なバッテリー | 容量 | 充電器 |
|---|---|---|---|
| シンプルなArduino | 4x AA | 2500mAh | なし |
| 携帯型ESP32 | 18650 | 2600mAh | TP4056 |
| ウェアラブル | 小型LiPo | 500mAh | TP4056 |
| ロボット | 2S LiPo | 2200mAh | バランス充電器 |
| 超低消費電力 | CR2032 | 220mAh | なし |
| ソーラープロジェクト | LiFePO4 | 3200mAh | MPPT |
共通の出力契約
共通のArduinoスキル契約を使用してください: 前提条件、必要なツールとバージョン、実装手順、証明段階ごとのテスト/証拠、 既知の制限事項、復旧/セキュリティに関する注意事項を明記してください。
コメント
Markdown 対応