1. 从两个串联电芯的电压差说起:为什么被动均衡不够用
储能和备用电源系统里,两串电芯的电压不一致是个绕不开的问题。很多人第一反应是加个电阻做被动均衡,便宜、简单、可靠。但实际跑过几轮充放电循环之后就会发现,被动均衡在容量衰减到一定程度后基本是杯水车薪——它只能把高电压电芯的多余能量以热量形式烧掉,均衡电流通常只有几十到一百毫安级别,面对几安时甚至几十安时的电芯,均衡一次要花几个小时,而且发热还会加速电芯老化。
我这次要聊的方案,是用MP2642GR-Z这颗双向升降压充电管理芯片,配合dsPIC33EP512MU814这款数字信号控制器,对两个串联电芯做主动均衡。主动均衡的核心思路是把高电压电芯的能量搬到低电压电芯去,而不是烧掉。效率高、速度快、发热小,代价是电路复杂度和控制逻辑上来了。
这套组合适合什么人参考?如果你正在做储能BMS的均衡模块、备用电源的电池管理板,或者单纯想搞清楚主动均衡到底怎么落地,这篇内容应该能帮你少走一些弯路。我会从芯片选型逻辑、硬件拓扑、控制算法、实测踩坑几个维度展开,尽量把每个决策背后的“为什么”讲清楚。
提示:本文涉及的芯片型号和电路参数均基于公开数据手册的典型应用整理,实际设计请以最新版数据手册和你的电芯规格为准。
2. MP2642GR-Z 与 dsPIC33EP512MU814 的选型逻辑
2.1 为什么是 MP2642GR-Z 而不是分立方案
MP2642GR-Z 是一颗双向升降压充电控制器,支持 Buck、Boost、Buck-Boost 三种工作模式,输入电压范围宽,特别适合单节锂电到多节串联的充电管理。用在两串电芯均衡场景里,它的价值在于双向能量流动——既能从高电压电芯抽能量,也能把能量灌到低电压电芯,一颗芯片搞定两个方向。
如果用分立方案,你需要至少两个MOSFET半桥、一个电感、电流采样电路、驱动电路,再加上自己写控制环路。分立方案不是不能做,但调试周期长,环路补偿稍有不慎就振荡。MP2642GR-Z 把功率级和控制逻辑集成得比较完整,外围只需要配置电感、采样电阻和少量补偿元件,开发门槛低不少。
选它还有一个实际原因:封装和散热。这颗芯片的封装热阻在合理布局下能控制在可接受范围,两串电芯均衡的功率等级通常在几瓦到十几瓦,不需要额外加散热片,对备用电源这种空间受限的场景很友好。
2.2 dsPIC33EP512MU814 在这里扮演什么角色
dsPIC33EP512MU814 是 Microchip 家的一款16位数字信号控制器,512KB Flash、48KB RAM,带PWM、ADC、DAC、比较器、运放,主频可以跑到70 MIPS。拿它做电池均衡控制,主要看中三点:
第一,ADC采样精度和速度。均衡算法需要实时采集两串电芯的电压、电流、温度,dsPIC33EP512MU814 的12位ADC配合DMA可以实现多通道高速采样,不用CPU频繁干预。第二,PWM分辨率。控制MP2642GR-Z的开关管需要高分辨率PWM,这颗DSC的PWM模块支持细粒度调节,对环路稳定性有帮助。第三,运算能力。主动均衡的控制算法涉及PI调节、状态机切换、保护逻辑,16位DSC跑这些绰绰有余,而且成本比32位MCU低。
注意:dsPIC33EP512MU814 的供电是3.3V,而MP2642GR-Z的使能和反馈引脚电平需要确认兼容性,必要时加电平转换。
2.3 两颗芯片的分工边界
简单说,MP2642GR-Z 管功率,dsPIC33EP512MU814 管逻辑。MP2642GR-Z 负责实际的能量搬运,包括开关管驱动、电流检测、过压过流保护;dsPIC33EP512MU814 负责采集电芯状态、判断均衡方向、计算目标电流、给出PWM指令、处理故障。
这个分工的好处是:功率级和控制级解耦,调试时可以单独验证功率级(给固定PWM看电流是否正常),再单独验证控制逻辑(用模拟电压源代替电芯),最后联调。如果混在一起做,出了问题很难定位是硬件还是软件。
3. 两串电芯主动均衡的硬件拓扑拆解
3.1 功率级连接方式:半桥还是全桥
两串电芯主动均衡最常见的拓扑是半桥+电感结构。两个电芯串联,中间节点引出,电感一端接中间节点,另一端通过两个MOSFET分别接到电池组正极和负极。这样通过控制两个MOSFET的导通时序,就能实现能量从高电压电芯到低电压电芯的转移。
MP2642GR-Z 内部集成了两个栅极驱动器,正好驱动这个半桥。实际布线时,电感的位置很关键——尽量靠近芯片的SW引脚,走线短而粗,减少寄生电感。我见过一个板子把电感放在离芯片3厘米远的地方,结果开关波形振铃严重,效率掉了5个百分点。
3.2 电流采样与信号调理
均衡电流的精确采样是控制环路的基础。方案里用了一个10毫欧的采样电阻串在电感回路里,配合MP2642GR-Z的电流检测放大器。采样信号送到dsPIC33EP512MU814的ADC通道,采样频率设为PWM频率的十分之一左右,既能捕捉电流变化,又不会给CPU太大负担。
这里有个细节:采样电阻的功耗。假设均衡电流2A,10毫欧上的功耗是40毫瓦,0603封装勉强够用,但长期跑建议用0805或1206。另外采样走线必须开尔文连接,否则焊点电阻会引入误差。
3.3 电芯电压采集与滤波
两串电芯的电压采集用电阻分压送到ADC。分压电阻的精度直接影响均衡判断的准确性,建议用0.1%精度的电阻。分压后加一个RC低通滤波,截止频率设在1kHz左右,滤掉开关噪声。
提示:ADC参考电压建议用外部基准,不要用MCU的VDD做参考,否则数字电路噪声会串进来。
3.4 保护电路:不能省的几个环节
主动均衡电路如果失控,可能把电芯过充或过放。硬件上必须加独立于MCU的保护:过压比较器直接关断MP2642GR-Z的使能,过流比较器触发后锁死,需要手动复位。dsPIC33EP512MU814内部也有比较器和DAC,可以生成保护阈值,但建议再加一层硬件比较器做冗余。
4. 控制算法:从电压差到PWM占空比
4.1 均衡启动条件与死区设置
不是一有电压差就启动均衡。电芯电压差在几毫伏以内属于正常波动,频繁启停反而增加损耗。我设的启动阈值是30mV,停止阈值是10mV,中间留20mV回差,避免在阈值附近反复切换。
另外,均衡只在静置或充电末期启动。放电过程中电压差受内阻影响大,这时候均衡容易误判。dsPIC33EP512MU814的状态机里,均衡使能条件包括:总电流小于0.05C、温度在10到45度之间、无故障标志。
4.2 PI调节器的参数整定
控制目标是让均衡电流跟随设定值。设定值怎么来?根据电压差查表:差30mV对应0.5A,差100mV对应2A,差200mV以上对应3A。这样小差小电流、大差大电流,既快又稳。
PI调节器的比例系数和积分系数需要根据功率级的小信号模型来算。实际调试时,我先把积分系数设为零,逐渐增大比例系数直到电流出现轻微振荡,然后回退30%,再慢慢加积分系数消除静差。最终参数:Kp=0.8,Ki=0.05,控制周期100微秒。
4.3 状态机设计:避免直通和反向电流
半桥拓扑最怕上下管直通。MP2642GR-Z内部有死区时间,但软件上还要加一层保险:状态机切换方向时,先关断所有PWM,延时500纳秒再开另一个方向。这个延时用dsPIC33EP512MU814的定时器实现,不占用CPU。
反向电流也要防。当低电压电芯电压被拉高到接近高电压电芯时,电感电流可能反向。方案里用比较器检测电流方向,一旦反向立即关断对应MOSFET,进入续流模式。
5. 实测中遇到的三个典型问题与排查过程
5.1 问题一:均衡电流上不去,只有设定值的一半
第一版板子回来,设定2A,实际只有1A左右。排查过程:先确认PWM占空比是否正确,用示波器看SW引脚波形,发现占空比只有理论值的一半。查寄存器配置,发现dsPIC33EP512MU814的PWM模块在中心对齐模式下,占空比寄存器的值和实际输出有对应关系,我按边沿对齐的公式算了,导致输出偏小。改成边沿对齐模式后,电流恢复正常。
这个坑的教训是:不同PWM模式的占空比计算方式不一样,数据手册里写得很清楚,但容易看漏。
5.2 问题二:轻载时电感发出可听噪声
均衡电流小于0.3A时,电感有“滋滋”声。原因是轻载下MP2642GR-Z进入了跳周期模式,开关频率在人耳可听范围内。解决办法有两个:一是提高轻载下的开关频率,让它超出可听范围;二是加一个最小负载,让芯片始终工作在连续导通模式。我选了后者,在电感两端并了一个1kΩ电阻,噪声消失,代价是多了几毫瓦损耗。
5.3 问题三:ADC采样值跳动大,导致均衡误判
电压差在阈值附近时,均衡状态频繁切换。用示波器看ADC输入引脚,发现开关噪声耦合进来了。解决:在分压电阻后加RC滤波,截止频率从10kHz降到1kHz,同时在软件里做滑动平均滤波,每5次采样取中值。处理后电压采样跳动从±15mV降到±3mV,误判消失。
6. 关键参数计算与元件选型参考
6.1 电感值的计算
电感值决定了电流纹波。公式是:
[ L = \frac{V_{bat} \times D \times (1-D)}{f_{sw} \times \Delta I} ]
其中V_bat是单节电芯电压(取3.7V),D是占空比(取0.5),f_sw是开关频率(取300kHz),ΔI是电流纹波(取设定电流的30%,即0.6A)。代入算得L≈5.1μH。实际选用了4.7μH的标准值,饱和电流要大于最大均衡电流的1.5倍,选6A以上。
6.2 采样电阻的选型
采样电阻的阻值权衡:阻值大,信号强,但功耗大;阻值小,功耗低,但信噪比差。10毫欧在2A时产生20mV信号,MP2642GR-Z的电流放大器增益设为50倍,输出1V,ADC满量程3.3V,余量充足。封装选0805,功率裕量足够。
6.3 MOSFET的选型
半桥的两个MOSFET需要低导通电阻、低栅极电荷。导通电阻影响效率,栅极电荷影响开关速度。选型时看Rds(on)和Qg的乘积,越小越好。耐压选30V,因为两串电芯最高电压约8.4V,留足裕量。实际用了某型号的N沟道MOSFET,Rds(on)为5毫欧,Qg为10纳库仑。
7. 软件实现:dsPIC33EP512MU814的配置要点
7.1 时钟与PWM配置
dsPIC33EP512MU814的PLL配置要跟外部晶振匹配。我用的是8MHz晶振,PLL倍频到70MHz。PWM模块配置为边沿对齐、互补输出、死区时间500纳秒。死区时间不能太小,否则直通风险大;也不能太大,否则效率下降。
7.2 ADC触发与DMA传输
ADC由PWM周期触发,在每个开关周期的中点采样,这时候电流纹波正好在平均值附近。采样结果通过DMA搬到RAM缓冲区,CPU在控制周期里直接读缓冲区,不用等ADC转换完成。这样CPU利用率从60%降到25%。
7.3 保护中断的优先级
过流保护中断设为最高优先级,一旦触发立即关断PWM并置故障标志。过压保护次之,温度保护再次。中断服务程序要短,只做关断和置标志,具体处理放到主循环。
8. 实测数据与效率分析
8.1 均衡速度对比
两串电芯初始电压差200mV,容量5Ah。被动均衡(100mA)需要约10小时才能把压差拉到10mV以内。这套主动均衡方案在2A电流下,约30分钟就把压差拉到10mV以内。速度提升了一个数量级。
8.2 效率曲线
在1A到3A范围内,均衡效率在88%到93%之间。轻载效率略低,因为开关损耗占比大。满载效率最高,导通损耗占主导。整体效率比被动均衡的“0%”(能量全烧掉)高得多。
8.3 温升情况
连续跑2A均衡1小时,MP2642GR-Z表面温度约45度,电感温度约50度,MOSFET温度约40度。环境温度25度,温升在可接受范围,不需要额外散热。
9. 几个容易忽略的实操细节
9.1 PCB布局的优先级
功率回路面积要最小,电感和采样电阻靠近芯片,采样走线开尔文连接,模拟地和数字地单点连接。这些是老生常谈,但实际画板时容易为了布线方便而妥协。我的经验是:功率级布局优先,控制级布局其次,不要为了走线好看牺牲功率回路。
9.2 上电时序
MP2642GR-Z的使能引脚不能悬空,否则可能随机启动。dsPIC33EP512MU814的IO在上电复位期间是高阻态,所以使能引脚要加下拉电阻。等MCU初始化完成后再拉高使能。
9.3 固件升级的考虑
dsPIC33EP512MU814支持在线升级,但升级过程中均衡必须停止。固件里加一个标志位,升级前先关断PWM,再进入Bootloader。这个逻辑要提前设计,不然后期加很麻烦。
提示:调试时建议先用电子负载代替电芯,确认功率级正常后再接真实电芯,避免意外过充过放。
10. 这套方案适合什么场景,不适合什么场景
这套主动均衡方案适合两串电芯、中等容量(5到20Ah)、对均衡速度有要求的场景,比如备用电源、小型储能、便携式设备。成本比被动均衡高,但换来的是速度和效率。
不适合的场景:电芯数量超过4串,MP2642GR-Z的单芯片方案就不够用了,需要多颗芯片级联或者换用专用均衡芯片。另外,如果电芯一致性极好,压差长期在10mV以内,被动均衡就够,没必要上主动。
我个人在实际操作中的体会是:主动均衡的硬件不难,难在控制算法的鲁棒性。电压采样滤波、状态机防抖、保护逻辑冗余,这三块做扎实了,方案就稳了。如果赶时间,可以先跑通固定占空比的开环模式,确认功率级没问题,再逐步加闭环。