SuperAPI AI 工具集

power-budget-calculator

通用与其它

查看项目

更新于 10-16 11:38

技能介绍

用途

Power Budget Calculator 是一个用于估算嵌入式项目功耗与电池续航的技能,面向 Arduino、ESP32、RP2040 等开发平台。当用户提出“电池能撑多久”“需要多大容量的电池”“项目电流消耗是多少”等问题,或计划电池供电项目、进行低功耗优化时使用。

主要资源

  • scripts/calculate_power.py:Python 计算器,包含元件数据库、占空比(duty cycle)支持与电池寿命估算。
  • references/component-database.md:依据数据手册整理的电流消耗参考。
  • assets/example-project.json:示例项目配置文件。

使用方式

以交互方式运行计算器:

uv run --no-project scripts/calculate_power.py --interactive

计算单个元件:

uv run --no-project scripts/calculate_power.py --component ESP32 --mode deep_sleep --duty 95

加载项目配置:

uv run --no-project scripts/calculate_power.py --json assets/example-project.json --output report.md

列出数据库中的全部元件:

uv run --no-project scripts/calculate_power.py --list

工作流程

第一步:收集元件清单

向用户确认:

  1. 微控制器(型号与工作模式)
  2. 所有传感器与模块
  3. 显示屏
  4. 执行器(电机、LED、继电器)
  5. 通信方式(WiFi、蓝牙、LoRa)
  6. 工作概况(常开还是按占空比运行)

第二步:计算功耗预算

运行 scripts/calculate_power.py --interactive 进行引导式计算,或使用技能内提供的预算模板,模板涵盖工作条件、常开元件电流、仅活动模式元件电流、峰值电流事件、平均电流计算与电池寿命估算等部分。

平均电流公式:

I_avg = (I_active × t_active + I_sleep × t_sleep) / t_total

电池寿命估算:

有效容量 = 标称容量 × 0.8(80% 可用)
Runtime = 有效容量 / I_avg

电流消耗数据库

技能内提供按类别整理的参考数据,包括:

  • 微控制器:Arduino(ATmega328P)活动 15–20mA、掉电 0.1µA;ESP32(WROOM-32)活动(WiFi 发送)160–260mA、深度睡眠 10µA;ESP32-C3、RP2040(Pico / Pico W)各模式电流。
  • 传感器:DHT22、BME280、BMP280、MPU6050、DS18B20、HC-SR04、VL53L0X、MAX30102、BH1750、GPS(NEO-6M)的活动与睡眠电流。
  • 显示屏:16x2 LCD、SSD1306 OLED、ST7735 TFT、ILI9341 TFT、E-Paper 2.9" 的活动与关闭/睡眠电流。
  • 通信模块:ESP8266、NRF24L01、HC-05、RFM95 LoRa、SIM800L GSM 的发送峰值、接收/空闲与睡眠电流。
  • 执行器:LED、RGB LED、WS2812B、SG90 与 MG996R 舵机、直流电机、5V 继电器、蜂鸣器的电流。

睡眠模式与优化

技能提供 ESP32 深度睡眠(esp_sleep_enable_timer_wakeup + esp_deep_sleep_start)与 Arduino 掉电模式(SLEEP_MODE_PWR_DOWN)的代码模板。

功耗优化清单分为硬件与软件两组:

  • 硬件:移除电源 LED、电池供电时移除 USB-Serial 芯片、使用低静态电流 LDO、用 MOSFET 对高电流外设做电源门控、未用引脚加下拉、不读取时关闭 ADC。
  • 软件:读取间隔进入睡眠、降低时钟频率、批量数据减少传输频率、不需要时关闭 WiFi/BLE、深度睡眠禁用掉电检测、用中断代替轮询。

设计模式包括电源门控接线示意与占空比公式示例(例如每 5 分钟读取一次传感器,活动 50mA 持续 2 秒、睡眠 10µA 持续 298 秒,平均 0.34mA;配 2000mAh 电池约 4706 小时≈196 天)。

电池参考

列出常见电池类型的电压与典型容量:CR2032、2x/3x/4x AA 碱性、18650 锂离子、LiPo 1S、9V 碱性等;并给出 18650/LiPo 放电曲线(4.2V 到 3.0V 截止,低于 3.0V 会损坏电芯)与碱性 AA 放电曲线(1.5V 到 0.9V,很多设备低于 1.1V/节停止工作)。

适用场景与限制

适用于电池供电项目的续航估算、电池容量选型、电流消耗评估与低功耗优化规划。技能本身只提供计算脚本、参考数据与优化建议,具体数值依赖用户提供或数据库中的元件参数;实际续航会受元件批次、供电电路、温度与负载变化影响,估算结果为参考值。技能要求使用 uv 运行脚本。技能提到遵循共享的 Arduino 技能契约(state assumptions、required tools and versions、implementation steps、tests/evidence by proof stage、known limitations 与 recovery/security notes)。

快速计算器

技能内提供手工计算模板,输入常开电流、活动电流与时间、睡眠电流与时间、电池容量后计算平均电流与运行时长。