3、电源系统设计:电池选型与电源管理策略

电源系统,说白了就是整个节点的“心脏”。我见过太多项目,传感器选得挺好,无线芯片也不错,结果死在电源上——要么续航不够,要么上电就挂。今天咱们就把这块掰开揉碎了讲。

3.1 电池选型:锂亚 vs 锂聚合物

选电池,先看应用场景。你是要做一次性部署用五年,还是可充电设备?这决定了路线。

3.1.1 锂亚电池(Li-SOCl₂)

锂亚电池,我习惯叫它“长跑冠军”。能量密度极高,自放电率极低(每年<1%),非常适合那些部署后就不管了的场景——比如水表、烟感、资产追踪。

核心参数:

  • 标称电压:3.6V
  • 能量密度:可达500Wh/kg以上
  • 工作温度:-55℃ ~ +85℃
  • 自放电率:<1%/年

但锂亚电池有个大坑:瞬间放电能力差。你想想看,LoRa模块发射时电流可能飙到120mA以上,锂亚电池的电压会瞬间跌落。我在项目中遇到过,节点每隔一小时上报一次,前半年好好的,第七个月开始丢包——查到最后,是电池内阻增大,发射瞬间电压掉到2.8V以下,模块直接复位了。

避坑指南:我曾经吃过这个亏。锂亚电池必须并联一个220μF以上的钽电容或超级电容,用来提供发射瞬间的峰值电流。否则,你的节点可能活不过半年。

3.1.2 锂聚合物电池(Li-Po)

锂聚合物电池,适合需要频繁充电的场景。比如手持设备、可穿戴、或者有太阳能充电的节点。

对比项 锂亚电池 锂聚合物电池
标称电压 3.6V 3.7V
能量密度 高(~500Wh/kg) 中(~200Wh/kg)
自放电 极低 较高(每月约5%)
放电能力 弱(需电容辅助) 强(可支持2C以上)
充电管理 不支持 需要充电IC
典型寿命 5-10年 300-500次循环

我个人习惯:如果节点设计寿命超过3年,优先考虑锂亚电池。如果用户需要频繁更换或充电,那就用锂聚合物。

3.2 DC-DC 与 LDO 的选择

电池电压不是3.6V就是3.7V,但芯片需要1.8V、3.3V甚至5V。这时候就需要电压转换了。

3.2.1 LDO:简单但费电

LDO(低压差线性稳压器)的好处是:电路简单、纹波小、噪声低。但效率嘛……

举个例子:电池3.6V转3.3V给MCU供电,LDO的效率是3.3/3.6 ≈ 91.7%。看起来还行?但如果是3.6V转1.8V,效率直接掉到50%。一半的电量都变成热量散掉了。

我的经验:LDO只用在两种场景:一是电流很小(<10mA)的待机电路;二是对噪声极其敏感的模拟电路(比如ADC参考电压)。其他情况,老老实实用DC-DC。

3.2.2 DC-DC:高效但需小心

DC-DC转换器效率可以做到90%以上,甚至95%。但问题是:静态电流

很多DC-DC芯片在空载时也有几十μA的静态电流。对于低功耗节点来说,这可能是致命的——节点99%的时间都在休眠,休眠电流才2μA,结果DC-DC自己就吃掉50μA,这还玩什么?

选型要点:

  • 轻载效率:关注1mA以下的效率曲线
  • 静态电流(Iq):越低越好,最好<5μA
  • 开关频率:高频(>1MHz)可用小电感,但效率略低
  • 输出纹波:一般<50mV即可

我常用的几款低功耗DC-DC:TPS62740(Iq=360nA)、LTC3388(Iq=1.6μA)、XC9235(Iq=1.2μA)。嗯,这些芯片都不便宜,但省下来的电池钱绝对划算。

3.3 低功耗电源管理策略

电源管理,说白了就是一句话:该睡的时候睡死,该醒的时候猛干

3.3.1 分级供电架构

我习惯把电源分成三级:

  1. 常供电域:RTC、唤醒定时器、电源管理IC。这部分电流必须控制在1μA以内。
  2. 可控供电域:MCU核心、传感器。通过MOSFET开关控制,只在需要时供电。
  3. 脉冲供电域:LoRa射频、GPS。发射时供电,平时完全断开。

这样做的好处是:休眠时只有常供电域在工作,其他部分完全断电,没有漏电流。

3.3.2 动态电压调节(DVS)

MCU在休眠时,1.8V就够了。但在运行状态,可能需要3.3V来保证主频。这时候可以用一个可调输出的DC-DC,通过GPIO切换输出电压。

// 伪代码示例:动态电压切换
void enter_sleep_mode() {
    set_dcdc_voltage(1.8);  // 降压
    disable_peripherals();
    enter_deep_sleep();
}

void wake_up() {
    set_dcdc_voltage(3.3);  // 升压
    enable_peripherals();
    do_work();
}

这个技巧,我在一个水表项目里用过,休眠功耗从12μA降到了3μA。效果立竿见影。

3.4 上电时序设计

上电时序,很多人不重视。但我要说:上电时序搞不好,芯片会锁死

举个例子:某款LoRa模块要求VDD先于VIO上电,或者两者同时上电。如果VIO先上电,模块内部IO口可能进入未知状态,电流飙升到几十mA,而且怎么复位都回不来——只能断电重来。

我曾经踩过的坑:一个NB-IoT项目,用了三路电源:3.3V给MCU,3.6V给NB模块,1.8V给SIM卡。结果每次上电,SIM卡都初始化失败。查了三天,发现是1.8V比3.3V慢了200ms,SIM卡在MCU还没准备好时就收到了复位信号。后来加了一个延时电路,问题解决。

3.4.1 上电时序设计原则

  • 先核心,后外设:MCU先上电,再给传感器、无线模块供电
  • 使用使能引脚:DC-DC和LDO都有EN引脚,用MCU的GPIO控制上电顺序
  • 注意复位时序:有些芯片需要复位信号保持低电平直到电源稳定
  • 加延时电路:RC延时或专用电源时序芯片(如TPS3808)

3.4.2 典型上电时序图

下面这张图,是我自己画的一个典型低功耗节点的上电时序。你可以看到,从电池接入到系统正常工作,分了四个阶段:

典型低功耗节点上电时序图 t0 t1 t2 t3 t4 电池 3.6V 稳定 DC-DC 3.3V 建立 MCU 初始化完成 传感器 供电使能 LoRa 发射 电池接入 电压建立 系统初始化 外设使能 数据发射 0ms 5ms 15ms 25ms 50ms

你看,从电池接入到LoRa开始发射,总共也就50ms。但每个阶段之间都有明确的时序关系:DC-DC稳定后MCU才启动,MCU初始化完成后才给传感器供电,最后才让LoRa模块发射。这个顺序,一个都不能乱。

3.5 小结

电源系统设计,说难不难,说简单也不简单。核心就三点:

  • 电池选型:看寿命和放电能力,锂亚配电容,锂聚合物配充电IC
  • 电压转换:大电流用DC-DC,小电流用LDO,注意静态电流
  • 上电时序:先核心后外设,用EN引脚控制,必要时加延时

嗯,这些经验都是我用一个个不眠之夜换来的。希望你能少走弯路。


公众号:蓝海资料掘金营,微信deep3321