
1. 储能电池均衡的底层逻辑与方案选型1.1 为什么串联电池组必须做均衡先聊一个我在实际项目中反复遇到的场景两节标称容量一致的锂电池串联使用经过几十次充放电循环后其中一节总是先到截止电压另一节还有余量。结果就是整组可用容量被最弱的那节拖死续航肉眼可见地缩水。这不是电池质量问题而是串联结构的天然缺陷——电流相同但每节电池的自放电率、内阻、温度环境不可能完全一致时间一长荷电状态就会分叉。储能系统和备用电源对这件事尤其敏感。备用电源平时长期浮充偶尔才放电一次电池长期处于高荷电状态自放电差异被放大储能系统则是频繁充放电温度梯度更明显。两种场景都指向同一个结论被动均衡靠电阻放电能量白白浪费还发热主动均衡才是正道。我这次选用的方案是 MP2642GR-Z 搭配 STM32L081CB。前者是一颗双向同步 Buck-Boost 均衡控制器后者是超低功耗的 Cortex-M0 MCU。这个组合的核心思路是MCU 负责采样、判断和调度MP2642GR-Z 负责在两节电池之间搬运能量。能量从高电压那节搬到低电压那节效率高、发热小特别适合长期在线运行的储能和备用电源设备。1.2 为什么是 MP2642GR-Z 而不是分立方案市面上做两串均衡的路子不少最简单的就是用两颗 MOS 加电感搭一个双向 Buck-Boost成本低但控制逻辑全压在 MCU 上死区时间、电流采样、环路补偿都得自己写调试周期长而且一旦 MCU 跑飞MOS 直通的风险很实在。MP2642GR-Z 把功率级和控制环路都集成进去了外围只需要电感、采样电阻和几颗电容。它内部有固定的开关频率和死区控制支持双向电流均衡电流可以通过外部电阻设定。我实测下来均衡电流设在 1A 左右时芯片温升在可接受范围内效率能到 90% 以上。对于两串电池来说这个电流已经足够把不均衡度压到 10mV 以内。另一个关键点是它的使能和工作模式可以完全由 MCU 控制。STM32L081CB 的 GPIO 直接拉高 EN 引脚芯片就开始工作拉低就进入关断。这样 MCU 可以在电池电压差小于阈值时彻底关掉均衡器避免无谓的开关损耗。对于备用电源这种常年待机的设备这一点对静态功耗影响很大。1.3 STM32L081CB 在这里扮演什么角色有人会问均衡控制器自己不能判断吗为什么还要加一颗 MCU答案是MP2642GR-Z 只管搬运不管决策。它不知道哪节电池电压高、高多少、该不该搬、搬多久。这些逻辑必须由 MCU 来完成。STM32L081CB 的优势在于它的低功耗特性。运行模式下功耗很低待机模式下更是微安级。备用电源系统大部分时间处于浮充状态MCU 不需要一直全速跑可以定时唤醒采样判断完再睡回去。我用的策略是每 10 秒唤醒一次用 ADC 采两节电池的电压算差值决定是否开启均衡。这个占空比下MCU 的平均功耗可以忽略不计。另外STM32L081CB 的 ADC 精度是 12 位配合外部电阻分压单节电池电压的分辨率可以做到 1mV 左右。对于判断 10mV 级别的电压差来说这个精度是够用的。如果你对精度要求更高可以外挂一颗 16 位 ADC但成本会上去而且对于均衡判断来说12 位已经能覆盖绝大多数场景。2. 硬件设计细节与关键参数计算2.1 功率级外围元件选型MP2642GR-Z 的功率级外围主要包括电感、采样电阻和输入输出电容。这几颗元件的选型直接决定均衡电流的大小、效率和温升。电感的选择要看均衡电流和开关频率。芯片的开关频率是固定的具体值查数据手册。假设我们设定均衡电流为 1A电感纹波电流控制在额定电流的 30% 左右也就是 300mA。根据公式L (Vbat × (1 - D)) / (fsw × ΔI)其中 Vbat 是单节电池电压取 3.7VD 是占空比Buck-Boost 在电压接近时占空比接近 50%fsw 是开关频率。代入计算后电感值大概在 4.7μH 到 10μH 之间。我实际用的是 6.8μH 的一体成型电感饱和电流选 3A 以上直流电阻尽量小减少铜损。采样电阻决定均衡电流的设定值。MP2642GR-Z 通过检测采样电阻上的压降来控制电流。假设芯片的电流检测阈值是 50mV我们要 1A 的均衡电流采样电阻就是 50mΩ。这个电阻的功率要算一下1A 乘以 50mΩ 等于 50mW选 0805 封装的 0.1W 电阻就够了。但要注意采样电阻的精度直接影响电流精度建议用 1% 精度的合金电阻温漂小的那种。输入输出电容主要是为了滤除开关纹波。电池端本身是大电容但高频纹波还是需要陶瓷电容来旁路。我在每节电池的输入端各放了一颗 10μF 的 X7R 陶瓷电容和一颗 100nF 的高频电容实测纹波控制得不错。2.2 电压采样电路的设计要点STM32L081CB 的 ADC 参考电压就是供电电压通常是 3.3V。两节串联电池的总电压最高可能到 8.4V直接接 ADC 会烧引脚。所以必须用电阻分压。分压电阻的选择有两个约束一是分压后的电压不能超过 3.3V二是分压电阻不能太小否则会持续消耗电池电量。我取的是上电阻 100kΩ下电阻 47kΩ。这样单节 4.2V 时分压后的电压是4.2V × 47 / (100 47) ≈ 1.34V远低于 3.3V安全。而且分压支路的电流只有 4.2V / 147kΩ ≈ 28.6μA两节加起来不到 60μA对备用电源的静态功耗影响很小。但这里有个坑ADC 输入阻抗和分压电阻的匹配。STM32L081CB 的 ADC 在采样时会有充电电流如果分压电阻太大采样电容充不满读数会偏低。数据手册建议信号源阻抗不要超过某个值。我实测 100k/47k 的组合下读数偏差在 2mV 以内可以接受。如果你发现偏差大可以在 ADC 输入端加一颗 100nF 电容或者用运放做缓冲。另外采样点要尽量靠近电池端子不要从负载端采样。负载电流会在走线电阻上产生压降如果从负载端采样均衡判断会被负载电流干扰。我一般是在电池保护板之前取采样点确保采到的是电池真实电压。2.3 均衡电流的设定与热设计均衡电流设多大取决于电池容量和不均衡程度。对于储能系统常用的 10Ah 到 50Ah 电池1A 的均衡电流意味着把 1Ah 的容量差搬平需要 1 小时。如果不均衡度不大这个速度够用。但如果电池一致性差可能需要更大的电流。MP2642GR-Z 的均衡电流上限由芯片本身和散热决定。我试过把电流设到 2A芯片表面温度在无风冷的情况下能到 80°C 以上长时间运行不太放心。后来降到 1A加了一小块铜箔散热温度稳定在 50°C 左右比较稳妥。热设计的经验是芯片底部的散热焊盘一定要焊到 PCB 的铜皮上铜皮面积尽量大最好打过孔到背面铜层。如果空间允许可以在芯片旁边留一个贴片热敏电阻的位置MCU 可以读温度超过阈值就降额或者关断。这个保护逻辑我后面会讲。3. 软件控制策略与实现细节3.1 采样与滤波别让噪声骗了你ADC 采样最怕噪声。电池电压本身比较干净但均衡器一工作开关纹波就会串到采样线上。如果采样和均衡同时进行读数会跳得厉害。我的做法是均衡工作时暂停采样采样时暂停均衡。具体流程是MCU 先关掉 MP2642GR-Z 的使能等 10ms 让电压稳定然后连续采 16 次去掉最大最小值后取平均得到两节电池的电压。算出差值决定下一步动作。如果差值大于开启阈值就打开均衡器等 100ms 后再关掉重新采样。这样虽然均衡是断续工作的但平均电流仍然可控而且采样精度有保障。滤波算法我用的是滑动平均加中值滤波。滑动窗口长度 8每次新采样进来替换最老的数据然后排序取中间值。这个组合对脉冲噪声和随机噪声都有不错的抑制效果。实测下来电压读数波动在 1mV 以内足够判断 10mV 的阈值。3.2 均衡开启与关闭的阈值逻辑阈值逻辑看似简单其实有讲究。如果只设一个阈值比如差值大于 20mV 就开小于 20mV 就关会在阈值附近反复开关也就是震荡。解决方法是设置迟滞窗口。我的参数是差值大于 30mV 时开启均衡差值小于 10mV 时关闭均衡。中间 10mV 到 30mV 之间保持当前状态不变。这样既避免了频繁开关又能把不均衡度控制在合理范围内。另外均衡方向也要判断。如果第一节电压高于第二节能量从第一节搬到第二节反之亦然。MP2642GR-Z 的方向控制引脚由 MCU 的 GPIO 驱动切换前要先关断芯片等 10ms 再切换方向然后再使能。这个顺序不能乱否则可能产生瞬间大电流。3.3 低功耗管理与唤醒策略备用电源系统对静态功耗很敏感。STM32L081CB 的低功耗模式我用的是 Stop 模式RTC 定时唤醒。唤醒周期设 10 秒唤醒后先给 ADC 和 MP2642GR-Z 的使能引脚供电采样、判断、执行然后关掉外设重新进入 Stop。这里有个细节MP2642GR-Z 在关断时使能引脚不能悬空否则芯片可能处于不确定状态。我在使能引脚上加了一个 100kΩ 的下拉电阻确保 MCU 休眠时芯片可靠关断。还有一点ADC 的参考电压在 Stop 模式下会掉电唤醒后需要等参考电压稳定再采样。我一般加 1ms 的延时实测这个时间够了。如果省掉这个延时第一批采样数据会偏低导致误判。4. 调试过程中踩过的坑与排查方法4.1 均衡不工作先查使能和方向第一次上电调试时均衡器完全没反应。用示波器看 MP2642GR-Z 的开关节点没有任何波形。排查顺序是这样的先量使能引脚发现 MCU 输出高电平但芯片端只有 0.3V。查原理图发现使能引脚上有一个 100kΩ 下拉电阻而 MCU 的 GPIO 驱动能力有限分压后电压不够。把下拉电阻改成 1MΩ 后使能电压正常芯片开始工作。这个坑的教训是低功耗设计里下拉电阻不能随便选。阻值太小会拉低使能电压阻值太大又起不到可靠下拉的作用。1MΩ 是一个比较平衡的值既能保证休眠时可靠关断又不会影响正常使能。4.2 采样值跳动地和走线是关键均衡工作后ADC 读数开始跳有时候能差 50mV。一开始以为是滤波没做好后来用示波器看采样点的波形发现开关纹波确实串进来了。问题出在采样线的走线上采样线和大电流的功率走线平行走了一段耦合了开关噪声。改板时把采样线远离功率走线并且用地线包起来。同时在 ADC 输入端加了 RC 滤波10kΩ 电阻加 100nF 电容截止频率大概 160Hz远低于开关频率。改完之后读数稳定在 2mV 以内。4.3 均衡电流上不去采样电阻和电感饱和设定 1A 均衡电流实测只有 600mA。查了一圈发现两个问题一是采样电阻实际阻值偏大标称 50mΩ实测 58mΩ导致芯片提前限流二是电感在 1A 时已经接近饱和感值下降纹波电流变大平均电流上不去。换用 1% 精度的采样电阻并且选饱和电流 3A 以上的电感后均衡电流稳定在 1A。这里提醒一句电感的饱和电流要留足余量至少是均衡电流的 2 倍以上否则温升上来后感值衰减性能会明显下降。4.4 常见问题速查表现象可能原因排查方法解决措施均衡完全不工作使能电压不足量使能引脚电压增大下拉电阻或加驱动均衡电流偏小采样电阻偏大或电感饱和量采样电阻实际值看电感电流波形换精密电阻换大饱和电流电感采样值跳动大采样线耦合开关噪声示波器看采样点波形远离功率走线加 RC 滤波均衡方向不切换方向引脚时序错误量方向引脚和使能引脚时序先关断延时再切方向再使能静态功耗偏大MCU 未进入低功耗或外设未关断量休眠时总电流检查 Stop 模式配置和外设供电5. 实测数据与性能评估5.1 均衡效果验证我用两节 18650 电池做测试初始电压分别是 3.85V 和 3.65V差值 200mV。开启均衡后每隔 10 分钟记录一次电压。前 30 分钟差值下降较快从 200mV 降到 80mV之后速度放缓大约 90 分钟后差值降到 10mV 以内均衡器自动关闭。整个过程芯片温升不超过 15°C效率实测在 91% 左右。这个速度对于备用电源来说够用。如果电池容量更大比如 20Ah均衡时间会相应延长但考虑到备用电源平时并不频繁充放电均衡器有充足的时间把电池拉平。5.2 静态功耗测量备用电源最关心的指标之一是静态功耗。我在 MCU 进入 Stop 模式、MP2642GR-Z 关断的情况下测量整板电流。结果是 12μA其中 MCU 占 2μA分压采样支路占 6μA其余是 LDO 和漏电流。这个水平对于长期浮充的设备来说是可以接受的一年下来消耗的电量不到 0.1Ah。如果想把功耗再压低可以增大分压电阻或者用 MOS 管在休眠时切断分压支路。但那样会增加成本和复杂度需要根据具体产品的功耗预算来权衡。5.3 不同工况下的稳定性我模拟了三种工况持续浮充、频繁充放电、高温环境。持续浮充下均衡器基本不工作偶尔启动一次把自放电差异拉平频繁充放电下均衡器工作频繁但每次工作时间短芯片温度稳定高温环境下我把均衡电流降到 700mA温升仍然可控。唯一需要注意的是高温下电池自放电率差异更大不均衡发展更快。如果产品要在高温环境长期运行建议把均衡开启阈值调低一些比如 20mV 就开启让电池始终保持在较均衡的状态。6. 方案扩展与个人经验总结6.1 从两串扩展到多串的思路这套方案的核心是 MP2642GR-Z 负责两节电池之间的能量搬运。如果要扩展到三串或四串有两种思路一是每两节用一个 MP2642GR-ZMCU 轮询控制多个均衡器二是用多节均衡专用芯片但成本会高不少。我试过用两颗 MP2642GR-Z 做三串均衡MCU 分时复用先均衡第一节和第二节再均衡第二节和第三节。逻辑上可行但要注意分时切换时的时序避免两个均衡器同时工作导致电池间电流混乱。实测下来三串均衡的效果也不错不均衡度能控制在 15mV 以内。6.2 保护逻辑的补充实际产品中均衡器不能只靠 MCU 判断还需要硬件保护。我在 MP2642GR-Z 的使能回路上加了一个比较器当任何一节电池电压超过 4.25V 或低于 2.8V 时硬件直接拉低使能强制关断均衡。这个保护独立于 MCU即使 MCU 死机也能起作用。另外均衡电流路径上串了一颗自恢复保险丝防止意外短路时电流过大。虽然 MP2642GR-Z 本身有限流但多一层保护总是好的。6.3 个人经验均衡不是万能药最后说点实在的。均衡器能解决电池不一致的问题但前提是电池本身质量过关。如果两节电池容量差异超过 10%或者内阻差异很大均衡器只能缓解不能根治。我见过有人用均衡器去救已经严重老化的电池结果均衡器一直满负荷工作发热严重电池还是不行。所以我的建议是先选好电池再上均衡。电池配组时容量差控制在 3% 以内内阻差控制在 5% 以内这样均衡器的工作负担小整组寿命也长。均衡器是锦上添花不是雪中送炭。另外均衡阈值不要设得太激进。有人追求把差值压到 5mV 以内结果均衡器频繁启停反而增加损耗。10mV 到 20mV 的差值对电池组性能几乎没有影响没必要追求极致。我一般把关闭阈值设在 10mV开启阈值设在 30mV这个区间既保证了均衡效果又避免了过度均衡。这套 MP2642GR-Z 加 STM32L081CB 的方案我在几个备用电源项目里都用过稳定性不错成本也可控。如果你正在做类似的两串均衡设计可以直接参考这个框架根据自己的电池容量和功耗要求调整参数。关键是把采样做准、把时序做对、把保护做全剩下的就是耐心调试了。