首页 / 资讯中心 / 文章详情

基于MP2642GR-Z与PIC18F85K90的双节电芯被动均衡方案设计

基于MP2642GR-Z与PIC18F85K90的双节电芯被动均衡方案设计 ★ FEATURED ARTICLE
1. 从两个串联电芯的电压差说起为什么被动均衡在储能场景里依然是主流选择如果你拆开过任何一套小型储能系统或者备用电源模块大概率会看到电池包并不是单节电芯而是两节甚至更多电芯串联使用。串联的目的很直接——把电压抬上去满足后级负载或者充电管理芯片的输入要求。但问题也随之而来两节电芯出厂时容量、内阻看着都差不多用上几十个循环之后电压差就慢慢拉开了。这个电压差如果不处理容量小的那节会先被充满、先被放空整组电池的有效容量就被它拖住了长期下去还会加速老化。均衡这件事说白了就是在充电过程中或者充电完成后把电压偏高的那节电芯多余的能量消耗掉让两节电芯的端电压尽量靠拢。我这次做的方案核心器件选的是MP2642GR-Z这颗均衡管理芯片主控用的是PIC18F85K90这颗8位单片机。整套系统面向的是储能和备用电源场景目标很明确两节串联电芯被动均衡成本可控可靠性要经得起长期浮充的考验。为什么不用主动均衡主动均衡效率高、发热小这没错但它的电路复杂度、器件数量和成本摆在那里。对于两节串联、容量不大的储能或备用电源系统来说被动均衡用一颗专用芯片加几个外围阻容就能搞定BOM成本低控制逻辑简单失效模式也容易分析。MP2642GR-Z 这颗芯片本身就是为多节电池均衡设计的内部集成了均衡开关和驱动逻辑配合外部均衡电阻就能工作省去了自己搭分立MOS管和驱动电路的麻烦。PIC18F85K90 则负责监控两节电芯的电压、控制均衡的启停、处理异常状态并且可以通过通信接口把状态上报给上位机。这套组合适合谁参考如果你正在做小容量储能BMS、备用电源电池管理、或者便携式电源的双节锂电均衡方案这篇文章里的选型思路、电路细节和固件逻辑都可以直接拿去用。如果你用的是其他型号的单片机或者均衡芯片原理层面的东西也是相通的。2. MP2642GR-Z 的工作边界与外围电路设计要点2.1 这颗芯片到底能管几节电芯均衡电流怎么定MP2642GR-Z 是一颗多节电池均衡管理芯片支持对串联电芯进行被动均衡。它的工作逻辑不复杂芯片内部对每节电芯的电压进行采样比较当某节电芯电压超过设定阈值并且和最低电压电芯的差值超过一定门限时对应的均衡开关导通外部均衡电阻开始放电。芯片本身不负责充电控制也不负责过充过放保护它只做均衡这一件事。这一点在选型时一定要搞清楚别指望它把保护功能也包了。均衡电流的大小由外部均衡电阻决定。假设单节电芯电压为3.9V均衡电阻取33Ω那么均衡电流大约是118mA。这个电流看着不大但对于两节容量在2000mAh到5000mAh之间的电芯来说已经足够在几个小时内把几十毫伏的压差拉平。电阻取值不能太小否则均衡电流过大电阻功耗和芯片内部开关的发热都会成为问题。以33Ω为例电阻上的功耗是3.9×3.9/33≈0.46W所以至少要选0805封装以上的电阻最好用1206或者2010封装留足功率余量。注意均衡电阻的功率计算要按电芯最高电压来算不能按标称电压。4.2V满电时33Ω电阻上的功耗会到0.53W左右选型时至少留50%降额。2.2 采样滤波和PCB布局里那些容易翻车的地方MP2642GR-Z 的电压采样引脚直接连到电芯正负极走线要尽量短并且每一路采样点都要加RC滤波。我一般用100Ω电阻串联再加0.1μF电容到地截止频率大概在16kHz左右能滤掉大部分开关噪声和均衡切换时的毛刺。这个RC参数不是随便定的——电阻太大会影响采样精度因为芯片采样引脚有输入漏电流100Ω带来的压降在微安级漏电流下可以忽略电容太小则滤波效果不够太大又会导致采样响应变慢。PCB布局上均衡电阻要远离采样走线否则电阻发热会影响采样精度。均衡电阻的地回路要和采样地分开走最后单点汇聚到电芯负极。芯片的电源引脚旁边必须放0.1μF和1μF的退耦电容越近越好。还有一点容易被忽略两节电芯之间的连接线要有足够的载流能力均衡电流虽然只有一百多毫安但充电和放电电流可能到几安培这条线细了会发热也会引入额外的压降影响采样准确性。2.3 均衡阈值和迟滞怎么设才不来回震荡均衡的启停阈值如果设得太接近会出现这样的情况均衡一开电压掉下来均衡一关电压又弹回去来回震荡。解决方法是设置迟滞。比如启动均衡的门限是压差大于30mV停止均衡的门限是压差小于10mV。这样一旦开始均衡就要等到压差降到10mV以下才停中间不会反复切换。MP2642GR-Z 本身可能没有内置这么灵活的迟滞设置这时候就需要PIC18F85K90来介入。单片机定期读取两节电芯的电压自己算压差然后通过控制芯片的使能引脚或者均衡控制引脚来决定是否允许均衡。这样做的好处是阈值和迟滞都可以在固件里灵活调整不用改硬件。我实测下来30mV启动、10mV停止这个组合对大多数应用都够用既不会频繁切换也不会让压差积累得太大。3. PIC18F85K90 在均衡控制里的角色不只是读电压那么简单3.1 用内部ADC采样两节电芯电压的精度够不够PIC18F85K90 内部有12位ADC参考电压可以选择内部固定参考或者外部参考。对于两节串联电芯单节电压范围在2.5V到4.2V之间如果直接用内部参考分辨率大概在1mV左右理论精度是够的。但实际用下来内部参考的绝对精度和温漂不如外部基准。如果对均衡精度要求比较高建议外接一颗2.5V或4.096V的基准芯片这样ADC的读数一致性会好很多。采样的时候要注意分压。两节电芯串联总电压最高8.4V超过ADC输入范围所以每节电芯的电压都要经过分压再进ADC。分压电阻用1%精度的金属膜电阻比例选1:1或者1:2都行看参考电压。分压电阻的阻值不能太小否则会持续消耗电芯电量也不能太大否则ADC采样保持电容充电时间不够读数会偏。我一般用100kΩ和100kΩ分压中间加0.1μF电容采样时间设长一点读数很稳。3.2 固件里的状态机待机、采样、均衡、故障固件的主循环我写成了一个状态机四个状态待机、采样、均衡、故障。上电后先进入待机等系统初始化完成、电压稳定后进入采样状态。采样状态里ADC轮流采集两节电芯电压连续采多次取平均值然后计算压差。如果压差超过启动阈值进入均衡状态打开MP2642GR-Z的均衡使能如果压差低于停止阈值回到待机。故障状态则是在检测到电压异常、温度异常或者通信超时后进入关闭均衡等待恢复条件。状态切换的时机很关键。采样不能太频繁否则CPU一直在跑ADC功耗下不来也不能太慢否则压差变化了还不知道。我设的是每500ms采样一次均衡状态下每200ms采样一次兼顾响应速度和功耗。每次采样取8个点去掉最大最小值再平均这样能有效抑制偶发干扰。3.3 和上位机通信把均衡状态说清楚PIC18F85K90 有多个串口和I2C接口我一般用UART和上位机通信协议用简单的自定义帧格式。每帧包含帧头、电芯1电压、电芯2电压、压差、均衡状态、故障码和校验和。上位机可以实时看到两节电芯的电压曲线和均衡开关的状态调试的时候非常方便。通信协议里我特意加了一个“均衡累计时间”字段记录本次上电以来均衡总共开了多久。这个数据对分析电池一致性很有用——如果发现某节电芯总是被均衡说明它的容量或者自放电和另一节差异比较大长期来看可能需要更换电芯。这个字段在标准BMS里不一定有但在实际运维中很有参考价值。4. 两节电芯均衡的实测数据与典型问题排查4.1 从压差50mV到5mV一次完整的均衡过程记录我拿两节标称容量3000mAh的18650电芯做测试初始状态一节4.05V另一节4.00V压差50mV。启动均衡后均衡电阻接在高压那节电芯上电流大约120mA。前30分钟压差下降很快从50mV降到25mV左右后面速度明显变慢从25mV降到5mV花了将近两个小时。这个曲线很典型——压差大的时候均衡电流相对压差的变化更有效压差小的时候电芯本身的极化恢复和自放电也会影响电压均衡效果就没那么立竿见影了。实测数据我整理了一个表时间电芯1电压电芯2电压压差均衡状态0min4.05V4.00V50mV开启30min4.02V4.00V20mV开启60min4.01V4.00V10mV开启120min4.005V4.00V5mV关闭从表里能看出来均衡后期电压下降很慢这是因为电芯在放电后会有电压回弹均衡电阻拉低的电压有一部分被回弹补回来了。所以均衡停止阈值不能设得太低否则均衡时间会拉得很长意义也不大。4.2 均衡电阻发热、采样跳变、状态卡死三个我踩过的坑第一个坑是均衡电阻发热导致采样跳变。最早我把均衡电阻和采样走线放在同一面距离也比较近结果均衡一开采样值就跳十几毫伏。后来把电阻移到板子另一面采样走线远离热源问题就解决了。均衡电阻的温升在密闭外壳里可能到五六十度对附近的热敏电阻和采样电路都有影响布局时一定要留出热隔离。第二个坑是采样跳变导致状态机卡死。有一次固件里没有做滤波ADC读数偶尔跳一下压差瞬间超过阈值状态机进入均衡然后下一次采样又低于阈值退出均衡来回切换均衡开关频繁动作芯片发热。后来加了滑动平均滤波和状态切换的最小保持时间问题消失。最小保持时间的意思是一旦进入均衡状态至少保持30秒才能退出避免频繁切换。第三个坑是通信超时导致故障状态锁死。上位机如果一段时间不发查询命令固件里设了通信超时故障关闭均衡并锁死。这个逻辑本身没问题但恢复条件写得太严格必须重新上电才能恢复。后来改成收到有效通信帧就自动恢复现场使用方便很多。4.3 电芯一致性变差之后均衡还管用吗均衡只能解决电压差解决不了容量差和内阻差。如果两节电芯的容量已经差了20%以上均衡做完之后充电时容量小的那节还是会先到截止电压放电时也会先放空。这时候均衡的作用就非常有限了只能延缓问题不能根治。我在实际项目里遇到过一组电芯用了两年之后容量差了将近30%均衡电路一直在工作但压差始终在30mV以上下不来。最后只能建议更换电芯。所以均衡策略要配合电芯筛选。新电芯配组时容量差控制在5%以内内阻差控制在10%以内这样均衡电路的工作压力小整组寿命也长。均衡是补救措施不是万能药。5. 把这套方案放进储能和备用电源系统时还需要考虑什么5.1 浮充场景下均衡策略的调整备用电源系统经常处于浮充状态电芯长期保持在4.1V到4.2V之间。这种场景下均衡的触发阈值可以设得低一些比如压差20mV就启动因为浮充时电芯电压稳定压差变化慢早点均衡能避免压差积累。但停止阈值不能太低浮充时电芯本身就有微小的电压波动设太低会导致均衡频繁启停。我一般设启动20mV、停止8mV配合30秒的最小保持时间浮充场景下运行很稳定。另外浮充时均衡电阻的发热是持续性的如果外壳散热不好电阻温度会一直比较高。选型时电阻功率要留够布局时尽量靠近板边或者加散热过孔。如果空间允许可以用两个电阻并联分担功耗每个电阻的温升会低不少。5.2 低功耗设计待机时怎么把静态电流压下去备用电源系统有时候会靠电池自身供电待机功耗就很关键。MP2642GR-Z 在均衡关闭时的静态电流很小但PIC18F85K90 如果一直全速运行功耗也不低。我的做法是让单片机在待机时进入休眠模式定时器唤醒醒来后快速采样、判断、处理然后继续休眠。休眠电流可以降到微安级整体待机功耗就下来了。休眠唤醒的周期要权衡。周期太短平均功耗上去了周期太长响应变慢。我设的是2秒唤醒一次每次醒来工作20ms左右平均电流在几十微安。对于容量几千毫安时的电池来说这个待机功耗可以接受。5.3 故障保护和恢复逻辑别让均衡变成新的风险点均衡电路本身也可能出故障。均衡电阻开路均衡就失效了但不会造成危险均衡开关短路电阻会一直放电把电芯拉亏。所以固件里要有均衡超时保护——如果均衡连续开启超过设定时间比如4小时强制关闭并报故障。这个时间根据电芯容量和均衡电流来算确保不会把电芯放亏。还有一点均衡期间如果检测到电芯电压低于欠压阈值要立即停止均衡。均衡的本意是让电芯更一致不是把电芯放坏。欠压保护阈值一般设3.0V左右低于这个值就禁止均衡等充电后再恢复。6. 写在最后一些个人经验和小技巧这套方案我前后做了几版从最早的分立MOS管搭均衡电路到后来用专用芯片加单片机稳定性和一致性提升很明显。MP2642GR-Z 加 PIC18F85K90 的组合硬件不复杂固件也不难写关键是细节要抠到位。分享几个我实际调试中总结的小技巧。第一均衡电阻不要用贴片电阻直接焊在芯片旁边芯片本身也会发热两个热源叠在一起温升很可观。可以把均衡电阻放在板子边缘用走线连过去热量更容易散。第二ADC采样的时候先采一节电芯等几个毫秒再采另一节不要连续快速切换通道否则采样保持电容还没稳定就采下一路读数会串。第三固件里加一个“均衡次数统计”每次均衡开启计数加一这个数据对分析电芯一致性变化趋势很有帮助比单看电压曲线更直观。如果你也在做类似的双节电芯均衡方案希望这些内容能帮你少走点弯路。均衡这件事硬件是基础固件是灵魂细节决定成败。
阅读完成 · 觉得有帮助?
咨询建站