用途
battery-selector 用于指导嵌入式项目的电池化学类型与充电电路选择,适用于 Arduino、ESP32、RP2040 等项目的电源方案决策。当用户询问电池选项、充电电路、电源选择,或直接提出"我该用什么电池"时使用。
可直接响应的典型问题包括:"我该用什么电池?"、"这个项目怎么充电?"、"锂电池和碱性电池怎么选?"、"这个电池安全吗?",以及规划便携式或电池供电项目时的电源方案。
主要能力
该技能包含内置工具与参考资料:
- scripts/compare_batteries.py:电池比较计算器,包含 15 种以上电池类型
- references/safety-guidelines.md:覆盖所有化学体系的综合安全指南
使用方式
交互式选择:
uv run --no-project scripts/compare_batteries.py --interactive
命令行方式(查找 50mA 项目、24 小时续航的电池):
uv run --no-project scripts/compare_batteries.py --current 50 --hours 24
要求可充电:
uv run --no-project scripts/compare_batteries.py --current 100 --hours 12 --rechargeable
列出数据库中的全部电池:
uv run --no-project scripts/compare_batteries.py --list
决策流程要点
技能提供从"项目是否可充电"出发的决策流程图:不可充电时进入碱性/锂一次电池(一次性电池)分支;可充电时根据 MCU 所需电压选择——5V 可选 LiPo 加升压转换器或 3 节/4 节 NiMH,3.3V 可直接兼容单节 LiPo(3.0-4.2V),12V 以上可选多节 LiPo 电池组或铅酸。再按电流大小选择容量:低于 50mA 选小型 LiPo(500-1000mAh)或纽扣电池(CR2032);50-500mA 选标准 LiPo(1000-3000mAh)或 18650 电芯;高于 500mA 选大型 LiPo(3000mAh 以上)、多节 18650,建议使用外部电源。
电池化学体系
技能对各化学体系给出快速对照(电压、是否可充电、能量密度、成本、安全性):碱性 1.5V/节、不可充电、中等能量密度、低成本、非常安全;锂一次电池 3V、不可充电、高能量密度、中等成本、安全;NiMH 1.2V/节、可充电、中等能量密度、中等成本、安全;LiPo/Li-ion 3.7V、可充电、非常高能量密度、中等成本、需注意安全;LiFePO4 3.2V、可充电、高能量密度、高成本、比 LiPo 更安全;铅酸 2V/节、可充电、低能量密度、低成本、存在酸液危险。
各体系均列出优缺点、适用场景与配置建议,例如碱性电池的电压组合(2 节 AA 3.0V、3 节 4.5V、4 节 6.0V、9V),NiMH 的充电注意事项,LiPo 的关键安全规则(使用带 BMS 的保护电芯、以 40-60% 电量存放、使用 TP4056 或类似充电器、充电时监控温度、使用 JST-PH 连接器;不得穿刺挤压弯折、不得在 0°C 以下充电、不得放电至 3.0V 以下等),以及 CR2032 的电流限制(持续 <2mA、脉冲 <15mA,不用于 WiFi、蓝牙、电机、LED)。
电压调节与充电方案
针对 3.3V 系统(ESP32、RP2040),说明单节 LiPo 到 3.3V 的直连方式与 LDO 方案(如 AMS1117-3.3、HT7333);针对 5V 系统(Arduino UNO/Nano),给出升压转换器、PowerBoost 模块、USB 移动电源三种方案。
充电方案覆盖最常见的 TP4056 模块(含保护的 6 针版本,接线方式与保护特性)、Adafruit PowerBoost 500C/1000C 的高级方案,以及 DIY 充电禁忌(不得用恒压电源或手机充电器直接充 LiPo、不得以超过 1C 倍率充电、不得充冻结电池)。
电池容量估算与常见错误
技能提供容量计算步骤:C_min = I_avg × T_required × 1.25(安全系数),并给出示例(气象站 15mA、48 小时,得出 900mAh,选 1000mAh LiPo)。
常见错误部分列出:使用错误充电器、缺少低压截止(低于 3.0V 会永久损伤电芯,可用保护模块或代码监控,如电压低于 3.2 时进入深度睡眠)、忽略浪涌电流(WiFi 发射尖峰 500mA 导致欠压复位,建议在 MCU 附近加 100-470µF 电容并按峰值电流而非平均电流选电池)、缺少反接保护(使用带键位的 JST-PH 连接器,加保护二极管或 P-FET)。
技能还按项目类型给出推荐配置(低功耗传感器节点、手持设备、机器人/大电流、超低功耗信标),并提供快速选型表,覆盖简单 Arduino、ESP32 便携、可穿戴、机器人、超低功耗、太阳能项目等场景。
输出约定
技能要求遵循共享的 Arduino 技能约定:说明假设、所需工具与版本、实现步骤、按验证阶段给出测试/证据、已知限制,以及恢复/安全注意事项。
限制
本技能聚焦电池选型与充电方案指导,未提供收费、价格等信息;具体平台支持范围与更多细节以随附脚本和参考文档为准。