
在储能和备用电源项目里电池均衡一直是最容易被低估的环节。两串电池看起来足够简单不就是两颗电芯串在一起吗可真正要把压差稳定地控制住采样、功率驱动、控制算法和安全保护全都会搅在一起。最近我在一个 2S 备用电源储能单元里用 MP2642GR-Z 搭配 STM32F334R8 做了一套电感式有源均衡方案最终把两个串联电池单元的电压差控制在 10mV 以内。这篇记录整个方案的设计思路、关键参数和调试中踩过的坑给正在做相近系统的同行一个参考。1. 为什么两串电池也要做均衡1.1 电芯不一致是物理现实不是质量问题即使同一批次、同一生产线上出来的两颗电芯容量、内阻、自放电率也很难做到完全一致。串联回路里电流完全相同但每颗电芯的荷电状态变化不同电压就会逐步拉开。以 2S 系统为例如果某一颗电芯容量比另一颗低 3%放电时它先到达放电截止电压系统只能为了保护它而停机另外那颗电芯里还有能量没用完。这就是串联电池包最常见的“木桶效应”。备用电源场景更麻烦。长期挂浮充时自放电率高的电芯会持续漏电电压往下掉充电器却不停地给整组补电。两颗电芯被反复“拉高-回落”压差会慢慢积累。我曾经实测放置三个月的两节磷酸铁锂电芯开路电压差了 50mV 以上满充状态下压差可以拉到 100mV 以上。这已经足以触发安全裕量告警。所以两串系统同样需要均衡不要因为系统便宜就忽略。均衡解决的不是“两颗电池都充满”这个静态问题而是“两颗电池在寿命期内不被自身差异拖垮”这个长期问题。1.2 不均衡的危害不只是容量损失不均衡如果一直没人管最大的风险不是容量下降而是过充和过放。充电末期电压高的电芯先到达上限电压为了让整体电压不越限充电电流必须提前减小或者停止。这时电压低的电芯其实还没充满长期下来它始终处在欠充状态可用容量越来越少。反过来如果系统只看单体电压把低电压电芯冲到规定值那么高电压电芯很容易被顶到过充。对于三元和磷酸铁锂这类化学体系过充可能引发析锂、内阻骤增严重时直接热失控。放电过程也一样电压偏低的电芯承担更大压降触发欠压保护时其他电芯仍有剩余电量。而在备用电源中这种“看着还有电但系统已经宕机”的情况是用户最不能接受的。均衡并不直接给电池增加容量它能做的是让每一颗电芯在安全电压范围内释放出自己全部可用容量。1.3 备用电源对均衡策略有更苛刻的要求消费类电子产品里均衡可以做得比较粗因为工作周期短大量时间在闲置。但备用电源长期处于待命状态均衡系统自己也在耗电。如果选被动均衡静态功耗不大但均衡时发热明显且能量只能放不能搬如果均衡策略频繁启停又会把电芯电压搅乱。对 2S 备用储能单元我的选型标准是均衡电流不一定要大但效率要高、静态功耗要低、动作要可预测。这也是为什么我最终选了电感式有源均衡而不是直接挂电阻。被动电阻均衡在 1A 电流下发热功率好几瓦小系统散热根本撑不住有源电感均衡可以把大部分能量从高电压电芯搬到低电压电芯发热小得多长期可靠性更符合备用电源要求。2. 硬件方案选型与整机拓扑2.1 均衡拓扑对比电阻、电容、电感三种思路2S 电池均衡的常见方案有三种。被动均衡是在每颗电芯上并联放电电阻通过控制开关把高电压电芯多余的能量放热掉。优点是原理简单、成本最低、EMI 风险小缺点是均衡速度慢、发热集中、能量完全浪费。电容飞渡均衡是用开关电容网络把电荷从高电压电芯搬到低电压电芯效率比电阻高但需要多个电容和开关控制时序复杂电荷转移量受电容容量限制。电感式有源均衡本质是一个小功率双向变换器通过电感储能再释放能量可以搬运而不是放掉均衡电流可控效率通常能做到 80%-90%代价是硬件和控制复杂度上升。对 2S 系统来说电感式只需要一个功率电感和一对功率开关成本没有想象中高控制上如果 MCU 合适反而比电容飞渡更省事。我的方案里 MP2642GR-Z 承担功率级和驱动侧的杂务STM32F334R8 负责策略和闭环两者分工清楚联调时问题定位也容易。2.2 MP2642GR-Z 负责的是一件什么事MP2642GR-Z 这颗料我是把它当成“受控的双向能量转移功率级”来用的。均衡的核心动作是让电压高的电芯对电感充磁然后电感把磁场能送到电压低的电芯。这个过程需要高频开关、同步整流、斜坡电流检测和过流保护如果全用分立元件搭会非常繁琐。MP2642GR-Z 集成了开关控制和驱动侧的主要逻辑外部功率管、采样电阻和功率电感仍然按功率需求来选等于把“功率级该怎么换向、怎么限流”这些问题从软件里剥了出去。实际工作中我把 MP2642GR-Z 的电流限制阈值设置成略高于软件目标电流。比如软件最大均衡电流设定在 1A硬件限制放在 1.3A。这样即使 MCU 跑飞、PWM 占空比异常功率级也只会被硬件限流钳住不会直接把电感推向饱和。这也是我坚持用带硬件保护环路的芯片而不是纯用 MCU 输出 PWM 推半桥的原因。补充一下MP2642GR-Z 的后缀 GR-Z 一般表示封装和湿敏等级等信息采购时只要按照批次规格书确认不影响系统设计。真正要关心的是芯片的启动阈值、驱动能力和对外围功率管的适配范围。2.3 STM32F334R8 在主控位置上的优势均衡器中 MCU 需要管三件事采集电芯电压和温度、跑均衡状态机、实时调节 PWM。STM32F334R8 属于以数字电源控制为卖点的那一批 MCU。72MHz 的 Cortex-M4F 带 FPU跑均衡状态机和 PI 调节器毫无压力HRTIM 定时器能产生高分辨率 PWM边沿分辨率可以到几十 ps 级别对电感电流纹波的限制很有帮助内置比较器和 DAC 可以和模拟保护电路联动实现微秒级快速关断ADC 采样速度也足够不会拖累控制周期。除了性能我最看重的是它自带的通信外设和工业级温度范围。均衡器不是一个孤立盒子它要把自己的工作状态上报给上位机或者总控CAN 接口在这种场景下比 UART 可靠得多也方便以后把 2S 均衡单元扩展成更大模组。温度范围方面储能柜工作环境可能到 60℃以上消费级 MCU 在这种环温下跑长期任务我是真不放心。2.4 供电、采样和地线处理的几个要点均衡系统本身的供电不能直接用一个粗糙的 LDO 从电池高压端拉因为电池电压变化范围大均衡时还会出现瞬态波动。我习惯先做一个简单预稳压再用低压差 LDO 给 MCU 和芯片模拟部分供电确保 ADC 参考电压干净。采样方面两颗电芯的电压必须用独立感测线引到采样电路尽量不要从功率线上取否则均衡电流在采样电阻和电池内阻上产生的压降会直接污染测量结果。地线处理是容易翻车的地方。功率地和信号地要单点连接采样回路尽量走差分走线ADC 输入端加 RC 滤波。第一次打样时我把采样地并到功率地去结果均衡一启动ADC 读数就跟着 PWM 抖动整个系统看起来像得了帕金森。后来把地线分开问题马上消失。3. 均衡策略与关键参数设计3.1 均衡判据不能只用电压差电池均衡的目标是让 SOC 一致而不是简单让端电压一致。端电压只是 SOC 的间接反映尤其在磷酸铁锂这类 OCV 曲线平坦的电芯上静置状态下 30mV 的电压差可能对应的 SOC 差并不大也可能对应很大的 SOC 差。完全依赖浮动的动态电压差做均衡容易误动作。我的做法是把判断分为几个场景。充电阶段用“充电末端电压”进行均衡因为此时电芯电压对 SOC 的敏感度最高静置阶段优先用 OCV 判据等待足够长的时间让极化电压消失后再读取开路电压运行放电阶段一般不做主动均衡只记录数据避免均衡电流和负载电流叠加干扰。温度也要参与判断同一 SOC 下低温电压偏低直接用绝对阈值会误伤。3.2 开启、关断与方向滞回和延时缺一不可均衡最忌讳频繁启停。如果压差刚过阈值就开稍微降一点就关系统会在阈值附近反复抖动开关管和电感会一直承受热冲击采样噪声还可能造成误触发。所以必须加滞回和延时的组合拳。我的配置是压差连续 30 个 100ms 窗口都大于 50mV 才启动均衡启动后压差降到 15mV 以下并稳定 20 个窗口才停止均衡。这两个阈值的差就是滞回带实际系统里很少来回抖。方向选择也很直接谁电压高就把能量从谁那里搬走目标永远是向低电压方向转移。延时窗口的意义在于滤掉瞬态扰动。备用电源系统里负载切换时会出现几 ms 的电压跌落如果均衡控制来不及区分是电池真实状态还是外部扰动就会做出错误动作。把这些判断放到 3 秒级别的窗口里基本免疫。3.3 均衡电流标定与实测效率均衡电流的设定要综合考虑电池容量、散热、电感和芯片能力。对 2S 备用电池我不想让均衡电流太大否则局部温升明显影响电芯寿命也不想太小否则压差收敛太慢。最终把软件目标设定在 1A 左右硬件限流 1.3A。在 100kHz 开关频率下22µH 的电感配合 1A 平均电流峰值电流大约会到 1.2A 到 1.4A电感磁芯必须选允许多 20% 以上余量的型号。如果电感量选得太小纹波电流会很大铁损和铜损都上升如果电感量选得太大电流响应变慢均衡过程拖沓。这个配比需要用示波器看实际电流波形来确认而不是只看理论计算。实测下来均衡开始时压差 200mV平均均衡电流 0.8A前 10 分钟压差下降最快随着压差缩小有效转移功率也在变小最后阶段压差收敛速度明显放慢。整条曲线不是线性越接近目标越慢所以系统要允许在压差很小的时候自动降低电流避免在低效区硬顶。3.4 模数混合保护别把安全全押在软件上均衡系统的功率级和 MCU 紧密耦合一旦 PWM 跑飞后果很直接。我采用两层保护第一层由 MCU 软件做监控电压、电流、温度超过阈值直接封波并复位状态机第二层由 MP2642GR-Z 的硬件比较器做逐周期电流限制一旦电流超过设定值当前 PWM 周期内立刻关断输出不依赖 MCU 是否及时响应。这样即使软件卡在某个死循环里功率级也不会看到失控电流。安全保护里还有一个容易被忽略的点均衡功能必须能被系统无条件禁用。备用电源中如果发生某颗电芯温度异常或者充电器异常总控要能通过通信命令把均衡关掉。这个禁用位不能放在 RAM 里要放在非易失变量中并在每次上电时默认为“允许均衡”还是“禁止均衡”要由硬件跳线决定。4. 实操过程与核心环节实现4.1 搭建一套能“造出”不一致状态的测试条件做均衡调试最怕的是拿两颗一致性太好的电芯测压差始终很小系统看不出效果。我专门选了两颗容量、内阻差异明显的旧电芯先把它们分别充到不同电压拉开初始压差再接入均衡板。测试平台配有可调电源、电子负载和温度记录仪。这一步非常关键它能帮你在半小时内验证均衡策略是否真的有效而不是“看起来有效”。测试数据如何记录也是个问题。我建议至少记录电压、电流、电芯温度和均衡状态标志位。如果只记录均衡前后的电压中间发生了什么完全不可见出问题时很难定位。4.2 联调步骤最好按“采样→功率驱动→闭环”的顺序走第一次联调不要直接跑完整状态机我习惯分三步。第一步只测量电压采样精度把 MCU 读到的电压和万用表读数对比误差控制在 5mV 以内再继续。第二步让 PWM 以开环模式输出一个很小的固定占空比用示波器看驱动波形和电感电流确认功率级是否正常换向、电流方向是否符合预期。第三步接入电流闭环先从小电流目标开始再逐步加大。这里有一个很实用的技巧开环验证时不要用电池真实能量最好用一个限流电源串联一个小电阻当作“高电压电芯”这样即使占空比配错也不会对真实电芯造成过充。等开环波形和电流方向都确认无误再换回真实电池。4.3 一组完整的实测数据我记录过一组比较典型的均衡过程初始时电芯 A 3.86V电芯 B 3.66V压差 200mV。开启均衡后目标电流 1.0A实际平均约 0.8A前 15 分钟压差降到 80mV到 40 分钟时降到 20mV60 分钟时压差停在 8mV 左右。之后继续跑下去压差没有再明显改善。为什么最后停在 8mV因为电感式均衡在压差极小时有效传输电压只剩几十毫伏死区损耗和线路损耗已经大于净转移能量系统进入了“有损耗平衡”状态。这时候继续大电流均衡没有意义我让状态机自动把均衡电流降到 0.2A 以下进入低电流维持模式而不是强行要求 0mV。4.4 PWM 配置和死区设置的心得STM32F334R8 的 HRTIM 配置不能想当然。我刚开始按普通 MCU 的 16 位 PWM 来配结果发现 HRTIM 的周期设置、比较值更新和预分频关系比普通定时器复杂需要认真看一遍参考手册里对应模式的例子。关键点是启动时要把所有输出引脚先置为安全电平完成配置后再使能输出。死区设置上不同功率管的栅极电荷差异很大。驱动能力强的管子开关速度快死区可以设到 80-100ns驱动能力弱的管子需要更大的死区否则会发生直通。我做了几组对照测试观察上下管驱动波形确保在任意温度下死区都有余量。死区太大会增加损耗太小会炸管这个位置需要花时间调。5. 常见问题与排查技巧实录5.1 均衡电流上不去怎么办均衡电流上不去的原因很多我遇到过的排列组合列在下面。现象可能原因排查方向PWM 有输出但电流很小电感值偏大或者采样电阻偏大用示波器测电感电流斜率减小电感或采样电阻电流开始正常然后下降过流保护被触发检查硬件限流阈值是否小于实际峰值电流电流与方向不符PWM 死区或占空比映射错误核对 HRTIM 输出极性确认方向逻辑电流不稳定环路 PI 参数不合适降低 P 增益增大 I先保证稳定再追求响应5.2 均衡反复启停问题多半出在采样均衡反复启停是我调试阶段遇到最多的现象也是最容易被误导的。表面上看是阈值设得有问题实际上常常是电压采样点选得不好。均衡电流在电芯内阻上会产生压降采样点如果离功率回路太近ADC 读到的电压会随 PWM 开关抖动系统误判真实压差。比如均衡电流 1A、电池内阻 50mΩ光内阻压降就有 50mV完全可以把一个原本 10mV 的压差放大成 60mV触发新一轮均衡。解决办法有两个方向一是采样线独立引出走 Kelvin 连接不要和功率线混合二是软件上做多点采样平均或者在开关切换后延时采样滤掉开通/关断瞬间的尖峰。我最终把两者都做了均衡启停问题彻底消失。5.3 长期备用场景下的均衡维护备用电源长时间浮充后电压差可能并不大但电芯内部 SOC 可能已经出现偏差。这种情况最隐蔽常规压差阈值很容易漏掉。我在方案里增加了一个“搁置均衡”流程系统检测到连续空闲一段时间后主动关断充电通路静置 5 分钟然后读取真实 OCV再决定是否启动均衡。这个流程让系统能够在“有电但没有被压差骗过去”的状态下自行纠偏。这算是一个容易被设计文档忽略的细节但实际项目里非常重要。备用电源用户大概率不会频繁观察压差均衡器必须自己找到合适的时机介入而不是等出了问题再补救。6. 从 2S 往更多串系统扩展时要注意什么6.1 2S 均衡单元是最好复用的基础模块两串之间的电感式均衡是最小的能量转移闭环。做多串系统时可以把整个 2S 均衡单元当成一个完整模块重复使用比如 4S 系统用两个 2S 模块8S 系统再做上层均衡形成多级均衡架构。相比直接做高电压多串大均衡器这样能降低功率管耐压要求和 PCB 布局难度。STM32F334R8 的 CAN 接口在这种模块化结构里很方便每个 2S 模块把自身电压、均衡状态、故障标志上传到总控总控决定模块间是独立工作还是协同均衡。这也是我选这个 MCU 的一个重要原因。6.2 均衡系统整体设计自检清单项目接近结束时我把常见问题整理成一个清单方便后面快速评审均衡拓扑是否与系统功率等级匹配均衡电流是否考虑散热和电池内阻采样是否用了独立感测线滞回和延时是否能防止误动作硬件限流是否独立于软件均衡功能是否可被总控禁用静态功耗是否满足待机需求均衡效率是否有实测数据支撑。这张清单每次都能帮我抓出至少一个问题。最后再说一点个人体会。均衡系统真正难的不是把电感电流环调通而是让“测量—判断—执行”这个闭环在真实电池环境中足够稳健。两颗电芯之间来回搬能量听起来不算高科技但要把压差稳定性、发热、EMI 和系统联动全部兼顾确实是需要反复打磨的活。我后续会把这套方案里的控制框架继续整理有新的实测数据再回来补充。