← 返回基础原理库

电流估算与功耗预算:电池能撑多久

最后更新 2026-06-20
⏱ 约 8 分钟 🟢 软件/低风险

我第一次做带电池的项目,是个温湿度计。挂在阳台,ESP32 加个传感器,接了一节 2000mAh 的锂电。想着这么点东西,怎么也能撑一个月吧。结果第二天早上一看,黑屏了。

不是接错线,也不是电池坏了。是我从头到尾没算过一笔账:这东西到底每小时吃多少电。ESP32 一直开着 WiFi,平均电流 100 多 mA,2000mAh 的电池十几个小时就榨干了。

电池项目跟插电项目最大的区别,就是你必须提前把这笔账算清楚。算法不难,三步就够。

三步估功耗

先把设备里每个吃电的部件列出来,查它工作时的电流。两个来源:

  • 查 datasheet:芯片手册里都有 "supply current" 或 "operating current" 这一项,单位是 mA 或 μA。
  • 实测:手册值往往是理想条件,实际接上外设会偏大,能测就测(后面讲怎么测)。

给几个常见值打底:

  • ESP32 正常工作:约 80~160mA
  • WiFi 发射的瞬间峰值:能冲到 200~300mA,比平时高一截
  • 一般 I2C 传感器(温湿度、气压那类):几 mA
  • ESP32 深度睡眠:只有约 10μA,也就是 0.01mA

注意最后这个数。睡眠电流比工作电流小了一万倍,这就是续航的胜负手。

算平均电流(占空比是关键)

很多人列完电流就直接拿工作电流去算续航,得出"撑不了一天"的结论,然后放弃。错就错在:电池设备大部分时间是在睡觉的,不是一直满负荷跑。

真正要算的是平均电流

平均电流 = 工作电流 × 工作时间占比 + 睡眠电流 × 睡眠时间占比

那个"时间占比"就是占空比。举个具体的:温湿度计每 5 分钟醒来一次,测一下、发个数据,5 秒钟干完,然后接着睡。

  • 一个周期 = 300 秒,其中工作 5 秒、睡眠 295 秒
  • 工作占比 = 5 / 300 ≈ 1.7%,睡眠占比 ≈ 98.3%
  • 工作电流按 120mA,睡眠按 0.01mA
平均电流 = 120 × 1.7% + 0.01 × 98.3%
        ≈ 2.04 + 0.01
        ≈ 2.05mA

从 120mA 干到 2mA,靠的不是换电池,是让它多睡觉。

算续航(公式 + 算例)

平均电流有了,续航就一步:

续航(小时) = 电池容量(mAh) ÷ 平均电流(mA)

接着上面的例子,2000mAh 电池配 2.05mA 平均电流:

2000 ÷ 2.05 ≈ 976 小时 ≈ 40 天

再看个更极端的:如果占空比压得更狠,平均电流做到 1mA:

2000 ÷ 1 = 2000 小时 ≈ 83 天

同一节电池,从一天没电到撑快三个月,差别全在平均电流。

峰值和平均是两笔账,别混

上面算续航一直用平均电流,这是对的——续航看的就是长时间平均下来吃多少。但功耗预算不止续航这一笔,还有一笔容易漏:给设备供电的电源、稳压芯片,得按峰值电流选,不是平均。

道理很直白。你那 2mA 的平均电流,是把 120mA 的工作瞬间和几乎为零的睡眠时间摊平算出来的。可 WiFi 一发射,瞬间峰值能冲到 200~300mA,这个电流是真实要流过 LDO 的。要是你按平均 2mA 去选个只能扛 100mA 的 LDO,峰值一来就带不动——轻则电压被拉垮、芯片复位重启,重则联网时反复掉线你还查不出原因。

所以做功耗预算,两笔账分开记:

  • 续航账,用平均电流算,决定电池选多大、能撑几天。
  • 供电账,用峰值电流算,决定 LDO/DC-DC 的输出能力要留多少余量。稳压芯片额定电流至少留峰值的 1.5 倍余量,别卡着峰值选。

把每个模块的峰值列一遍,同时可能一起吃电的加起来(比如 WiFi 发射叠加传感器采样),就是你电源要扛的峰值。稳压怎么按这个数选,看 稳压电路怎么选

电池容量与打折

容量单位是 mAh(毫安时),意思是"能以 1mA 放电多少小时"。2000mAh 理论上就是 1mA 放 2000 小时。

但理论归理论,标称容量你拿不满。实际要打个折:

  • 放电效率、电压随电量下降、低温环境——都在偷电
  • 工程上习惯乘 0.7~0.8 再算

所以上面那个 40 天,落到实处大概是 28~32 天。算续航时养成习惯:估出来的数先打八折,再跟目标比。

怎么把续航做长

如果一算发现撑不到目标,往这几个方向砍平均电流:

  • 深度睡眠:杀手锏。能睡就睡,唤醒间隔拉长,工作占比越低越好(看 深度睡眠实操
  • 少连 WiFi:联网是大电老虎,连接握手那几秒峰值最高。攒几次数据一起发,比每次都发省得多
  • 降频:用不到满血主频就降下来,CPU 跑得慢一点电流也小一点
  • 关掉不用的外设:传感器、屏幕、LED,不用的时候断电,别让它们空耗

这几招哪个最狠、怎么配着用,降功耗的门道 里讲得更细。

别漏了"看不见的常耗"

算平均电流时,新手常只盯着 MCU 和传感器,漏掉一批一直在偷电的"隐形负载":

  • 稳压芯片的静态电流(Iq):LDO/DC-DC 自己就要耗一点电,普通 LDO 的 Iq 几十 µA 到几百 µA,深睡时它可能比你的 MCU 还费电。做低功耗设备要专挑低 Iq 的稳压芯片。
  • 分压电阻、上拉电阻:测电池电压的分压支路、各种上拉,只要挂在电源上就一直漏电(见 分压电路 里那笔漏电账),睡眠时也不停。
  • 电源指示灯:一颗常亮 LED 轻松吃掉几 mA,比你辛苦优化出来的睡眠电流大几百倍——电池设备要么去掉,要么用 MCU 控制它按需亮。

这些常耗在工作时被大电流盖住、看不出来,一进深睡就成了续航的主要杀手。优化睡眠电流时,先把这些隐形负载一个个揪出来。

怎么选电池

反过来用公式,按目标续航倒推容量:

需要的容量(mAh) = 平均电流(mA) × 目标续航(小时) ÷ 0.75

想让平均 2mA 的设备撑 60 天(1440 小时):

2 × 1440 ÷ 0.75 ≈ 3840mAh

那就选 4000mAh 往上的电池。容量、放电倍率、循环寿命这些具体怎么权衡,电池选型与续航 里有更细的取舍。选锂电还要顾安全,充放保护、过流过放这些别省,具体看 锂电池安全。设备要能反复充,充电管理芯片怎么配,看 充电电路原理。供电怎么稳压到芯片要的电压,看 稳压电路;电流电压基础概念可回看 电压与电流

实测最准

估算给你方向,但最终拍板要靠实测——手册值和你的实际板子总有出入。

  • USB 电流表:串在 USB 供电线上,工作时的整体电流一眼能看到,最省事
  • 万用表:拨到电流挡,串进供电回路。注意睡眠电流只有 μA 级,普通万用表量不准,得用支持小电流量程的

测的时候分两段看:工作时跑多大、睡眠时降到多少。把这两个真实值代回上面的公式,算出来的续航才靠谱。

💡 提示

续航靠的是降低平均电流,深度睡眠是杀手锏。工作电流再大都没关系,只要它绝大部分时间在睡,平均下来就微乎其微——把"多睡觉"这件事做到位,比纠结换多大电池有用得多。

把这套流程跑一遍,再做电池项目就不会半夜黑屏了。回 硬件基础原理 看更多电源相关内容。

内容有错、看不懂、或想看下一期?告诉我们 →

本文为公开资料的学习整理,非亲测。涉接线/花钱/合规的步骤请结合实物与官方最新资料验证,风险自负。见免责声明