资讯详情

资讯详情

基于MP2642GR-Z与PIC18F55K42的两串储能BMS被动均衡设计实战

1. 从两个串联电芯说起为什么被动均衡在储能BMS里依然是主流选择储能系统和备用电源系统里电池组的安全与寿命很大程度上取决于电芯之间的一致性。两个串联电芯的架构看起来简单——很多便携式储能、小型UPS、通信基站备电模块都是这种结构——但恰恰是这种最基础的拓扑最容易让人忽略均衡设计。我见过不少方案两个电芯直接串起来用保护板只做欠压过压保护均衡电路干脆省掉结果用了半年一组电芯的容量衰减明显快于另一组整组可用容量被最弱的那颗电芯拖死。均衡的本质是把串联电芯之间因为制造差异、温度梯度、自放电率不同而累积的荷电状态偏差通过人为干预拉回到一个可接受的窗口内。被动均衡的做法很朴素谁电压高就给谁并联一个电阻放电把多出来的能量以热的形式消耗掉。听起来浪费但在两个串联电芯、容量不大的储能场景里被动均衡的可靠性、成本和静态功耗优势往往比主动均衡更划算。主动均衡需要变压器、电感、电容阵列和复杂的控制逻辑元件多、故障点多、待机功耗也高对于两串这种小规模架构投入产出比并不好看。这次要聊的方案核心是一颗专用均衡控制芯片配合一颗通用单片机MP2642GR-Z 负责电芯电压采集与均衡执行PIC18F55K42 负责逻辑判断、状态管理和对外通信。两颗芯片分工明确一颗管模拟前端一颗管数字大脑。这个组合的好处是均衡策略可以完全由固件定义阈值、延时、回差、故障保护都能按项目需求调整而不是被某颗一体化BMS芯片的固定逻辑框死。关键词里提到的“储能”“备用电源”“两个串联电池单元”“均衡”对应的正是一个典型的低压两串BMS设计场景。适合阅读这篇内容的人包括正在做小型储能或备电产品硬件设计的工程师、需要从零搭建两串均衡方案的嵌入式开发者、以及想理解被动均衡实际落地细节的技术爱好者。下面我会把选型理由、硬件连接、固件逻辑、参数计算和实测踩坑一层层拆开讲。2. MP2642GR-Z 与 PIC18F55K42 的分工逻辑为什么不是一颗芯片全包2.1 专用均衡芯片解决了哪些通用MCU搞不定的问题用通用单片机直接做两串电芯的电压采集和均衡理论上可行——ADC采样分压后的电压GPIO控制MOS管通断放电电阻。但实际做下来问题不少。首先是共模电压两颗电芯串联第二颗电芯的正极对地电压是两颗电芯电压之和MCU的ADC参考地是系统最低电位直接分压采样会引入分压电阻精度和温漂带来的误差。其次是均衡放电时的电流路径如果放电电阻和MOS管的地回路处理不好放电电流会在采样走线上产生压降导致电压读数偏移均衡判断失准。MP2642GR-Z 这类专用均衡控制芯片内部集成了针对每颗电芯的独立电压检测通道输入共模范围覆盖串联后的高边电压不需要外部复杂的分压网络。它内部通常还集成了均衡放电开关和驱动外部只需要接限流电阻和放电电阻芯片自己处理放电时序。更关键的是它把“检测”和“动作”放在同一颗芯片里采样点和放电点之间的寄生参数可控均衡判断的准确性比MCU分压采样高一个档次。从系统安全角度专用芯片一般还带有过压、欠压的硬件比较器响应速度是微秒级而MCU软件轮询ADC再判断响应时间受限于采样周期和程序流程通常是毫秒到几十毫秒级。对于电芯过压这种需要快速切断或报警的场景硬件比较器的存在是一道必要的安全冗余。2.2 PIC18F55K42 在方案里扮演的角色PIC18F55K42 是一颗带CAN FD、多路ADC和丰富外设的8位单片机放在这个方案里它不直接碰电芯的模拟信号而是通过数字接口通常是SPI或I2C读取MP2642GR-Z的状态寄存器拿到每颗电芯的电压值、均衡状态、故障标志。然后它做几件事判断是否需要启动均衡、决定均衡的占空比或持续时间、管理均衡的间歇周期以避免持续发热、通过CAN或UART把电池状态上报给系统主控、在异常时驱动保护MOS或报警信号。这种分工的好处是均衡策略的“智能”部分完全在固件里改策略不用动硬件。比如你想把均衡启动阈值从4.0V改成4.05V或者把均衡只在充电末期启用或者加入温度降额逻辑都只需要改PIC18F55K42的代码。MP2642GR-Z 只管忠实地执行“哪颗电芯需要放电”这个命令以及把准确的电压数据交出来。另外PIC18F55K42 的CAN FD外设对于储能和备电系统很实用。这类系统里BMS通常需要和PCS储能变流器或系统控制器通信CAN是常见接口。用一颗带CAN的单片机做BMS控制省掉了外挂CAN控制器的麻烦PCB面积和BOM成本都更友好。2.3 两颗芯片之间的接口设计要点MP2642GR-Z 和 PIC18F55K42 之间的通信接口需要根据具体型号的数据手册确认是SPI还是I2C。假设是SPI连接时要注意几点MP2642GR-Z 的SPI从机片选、时钟极性相位要和PIC18F55K42的SPI主机配置匹配如果两颗芯片供电域不同比如MP2642GR-Z由电池组直接供电而PIC18F55K42由LDO供电SPI信号线需要做电平匹配否则可能出现通信误码。我一般会在SPI线上串小电阻22Ω到100Ω并加对地小电容抑制电池组开关噪声耦合到通信线上。中断连接也很关键。MP2642GR-Z 如果有故障报警输出引脚一定要接到PIC18F55K42的外部中断脚上而不是让MCU轮询。电芯过压或欠压是安全事件轮询间隔内可能错过快速变化的异常。中断触发后MCU立即读取故障寄存器并采取行动响应链路最短。3. 两串电芯被动均衡的硬件落地从电阻选型到PCB布局3.1 均衡放电电阻和限流电阻的计算被动均衡的核心执行元件是放电电阻。假设电芯容量是5Ah我们希望均衡电流在100mA左右电芯满电电压4.2V那么放电电阻R V / I 4.2V / 0.1A 42Ω。实际选标准值39Ω或43Ω。放电功率P V² / R 4.2² / 39 ≈ 0.45W所以电阻封装至少要0805以上稳妥用1206或两个0805并联分担功率。如果均衡电流设得更大比如200mA电阻降到21Ω功率接近0.9W就需要2512封装甚至加散热铜箔。限流电阻是串在MP2642GR-Z的均衡驱动输出和放电电阻之间的作用是限制芯片内部开关管导通瞬间的峰值电流同时分担一部分功耗避免芯片内部MOS管过热。具体阻值要看芯片数据手册推荐的典型应用通常几欧到几十欧。这个电阻的功率也要算如果均衡电流100mA限流电阻10Ω功耗是0.1² × 10 0.1W0603封装够用。这里有个容易忽略的点放电电阻的精度和温漂。被动均衡的电流直接由电阻值决定如果电阻温漂大高温下阻值变化均衡电流就偏离设计值。建议选±1%精度、100ppm/℃以内的厚膜或薄膜电阻。我实测过用普通±5%碳膜电阻的方案夏天高温环境下均衡电流比常温时小了近15%均衡时间明显拉长。3.2 采样走线和放电走线的分离PCB布局上电芯电压采样点和均衡放电点必须分开走线从电芯端子分别引出。如果采样和放电共用一段走线放电电流在这段走线上的压降会叠加到采样电压上导致MP2642GR-Z读到的电压比实际电芯电压偏低放电时或偏高取决于走线位置。100mA电流在10mΩ走线电阻上产生1mV压降看起来不大但均衡判断阈值附近1mV可能决定均衡启不启动造成均衡振荡。正确的做法是从每颗电芯的正负极分别引出两条独立走线一条去MP2642GR-Z的电压检测输入一条去放电电阻网络。采样走线尽量细、尽量短、远离功率走线最好用地线包围做屏蔽。放电走线要够宽100mA用0.3mm线宽足够但如果是脉冲放电或更大电流按电流密度算线宽。3.3 芯片供电与滤波MP2642GR-Z 的供电如果直接从电池组取电要注意电池组电压范围。两串锂电满电8.4V放空可能到5.0V甚至更低芯片的供电范围必须覆盖这个区间。如果芯片最低工作电压是4.5V那放空到5.0V时还能工作但接近截止。稳妥做法是用一颗低压差稳压器从电池组取电输出稳定的3.3V或5V给两颗芯片这样即使电池组电压跌到5V以下芯片依然稳定工作电压检测精度不受供电波动影响。滤波方面MP2642GR-Z 的每个电芯电压检测输入脚建议加RC低通滤波截止频率设在几百Hz到1kHz滤掉开关噪声和电池组上的高频纹波。电阻用100Ω电容用0.1μF截止频率约16kHz对均衡判断够用。如果系统里有大功率开关电源噪声频谱更低可以把电容加大到1μF截止频率降到1.6kHz。4. 固件里的均衡策略阈值、回差、间歇周期怎么定4.1 均衡启动和停止的电压阈值设计均衡策略最核心的参数是启动阈值和停止阈值。对于三元锂电芯满电4.2V通常均衡启动阈值设在4.15V到4.18V之间停止阈值设在4.10V到4.12V。两者之间的差值就是回差回差的作用是防止电压在阈值附近波动时均衡反复启停。回差太小均衡会振荡回差太大均衡结束后电芯电压可能又漂回去。以4.15V启动、4.10V停止为例回差50mV。这个值对于两串小容量电芯够用。如果电芯自放电差异大回差可以适当加大到80mV。但回差加大意味着均衡结束后两颗电芯的电压差可能还有几十mV对于容量一致性要求高的场景这个残差需要评估是否可接受。还有一个参数是“均衡只在充电时启用”还是“随时启用”。充电时启用均衡可以利用充电电流补偿放电消耗均衡效率高但充电末期电流小均衡效果受限。随时启用均衡放电时也能均衡但放电时电芯电压本身在下降均衡判断容易受负载波动影响。我的经验是充电阶段电流大于某个阈值比如0.05C启用均衡放电和静置阶段只监测不均衡除非电压差超过一个更大的紧急阈值比如150mV才强制均衡。4.2 间歇均衡与热管理被动均衡把能量变成热持续均衡会让放电电阻和PCB局部温度升高。如果两颗电芯电压差大均衡可能持续几十分钟甚至几小时电阻温度可能超过100℃。所以固件里要做间歇均衡均衡开启一段时间比如10秒然后关闭一段时间比如20秒循环进行。占空比1/3平均功耗降到持续均衡的1/3电阻温升明显改善。间歇周期的设定要看热时间常数。放电电阻的热时间常数通常几秒到几十秒10秒开、20秒关电阻温度在开的时候上升关的时候下降最终稳定在一个比环境温度高但可接受的水平。我实测39Ω/0.5W电阻100mA均衡10s/20s间歇电阻表面温度稳定在65℃左右环境25℃持续均衡则超过110℃。如果空间允许放电电阻下面铺铜散热温度还能再降10到15℃。固件里还要加温度监测。如果板上有NTC测放电电阻附近温度超过85℃就暂停均衡等温度降下来再继续。没有NTC的话至少要在固件里限制单次均衡的最长时间比如连续均衡不超过30分钟然后强制休息10分钟。4.3 电压采集的滤波与异常剔除MP2642GR-Z 读回来的电压值不能直接拿来做均衡判断要先滤波。最简单的做法是滑动平均比如连续采8次去掉最大最小值剩下6次取平均。这样能滤掉偶发的ADC噪声和电池组上的瞬态干扰。如果某次读数和前几次平均值偏差超过50mV直接丢弃不参与平均防止单次误读触发误均衡。还要做合理性检查电压超过4.5V或低于2.0V对于三元锂直接判定为采集异常停止均衡并报故障。这个检查能防止MP2642GR-Z通信错误或寄存器读取错误导致的误动作。我遇到过SPI通信受干扰读回来的电压值跳变到6V以上如果没有合理性检查固件会以为电芯过压触发保护整机停机。5. 实测中暴露的问题与排查过程5.1 均衡不启动从寄存器读到走线压降的完整排查第一版板子回来两颗电芯电压差明明有80mV但均衡死活不启动。排查过程是这样的先用万用表直接量两颗电芯的电压确认差值确实存在。然后通过调试接口读MP2642GR-Z的电压寄存器发现读回来的两颗电芯电压差只有20mV和万用表差很多。问题定位到采集环节。检查采样走线发现第二颗电芯的采样线从放电电阻旁边经过放电电阻虽然没在工作但走线上有电池组的地电流流过产生了压降。把采样线改到从电芯端子直接引出远离功率路径重新打板后寄存器读数和万用表差值在5mV以内均衡正常启动。这个坑的教训是采样走线一定要从电芯端子单独引出不要图省事从放电电阻焊盘或功率走线上分叉。电池组的地电流路径上任何一段走线电阻都会影响采样精度。5.2 均衡振荡回差设置过小导致的反复启停第二版固件里启动阈值4.15V停止阈值4.14V回差只有10mV。实测发现均衡启动后电芯电压因为放电略微下降很快降到4.14V以下均衡停止停止后电压又回升到4.15V以上均衡再次启动。如此反复均衡MOS管和电阻温度快速上升但两颗电芯的电压差几乎没缩小。把停止阈值改成4.10V回差50mV振荡消失。均衡启动后持续放电到4.10V才停期间电压差有效缩小。这个案例说明回差必须大于均衡放电引起的电压下降幅度。100mA均衡电流对5Ah电芯放电10秒电压下降约0.1Ah/5Ah×4.2V≈0.08V不对算一下100mA×10s1As0.000278Ah对5Ah电芯SOC变化0.0056%电压变化约0.2mV。所以10秒均衡引起的电压下降只有0.2mV回差10mV理论上够。但实际振荡是因为电压采集噪声和电池组内阻导致的电压波动噪声幅度可能就有几mV加上负载波动10mV回差不够。50mV回差提供了足够的噪声容限。5.3 通信误码SPI时钟太快导致的寄存器读取错误调试时发现偶尔读回来的电压值异常比如某颗电芯电压突然变成0V或8V。用逻辑分析仪抓SPI波形发现时钟频率设到了10MHz而MP2642GR-Z的SPI最高支持1MHz。时钟太快导致从机采样错误返回了错误数据。把SPI时钟降到500kHz误码消失。同时把SPI模式从模式0改成模式1根据MP2642GR-Z数据手册确认通信稳定。这个坑提醒我专用芯片的通信速率不能想当然一定要查数据手册的时序参数留足余量。500kHz对于电压采集这种低速数据完全够用没必要追求高速。6. 从两串到多串这套方案的扩展边界与替代思路两串均衡方案跑通后如果想扩展到三串、四串MP2642GR-Z 可能就不够用了需要换支持更多串数的均衡芯片或者用多颗MP2642GR-Z级联。级联时要注意芯片间的地电位不同高边芯片的通信接口需要电平转换或隔离。PIC18F55K42 的固件逻辑可以复用但电压采集和均衡控制的寄存器映射要改均衡策略的阈值和回差也要根据电芯数量和容量重新计算。如果系统对均衡效率要求高比如电芯容量大、均衡电流需要500mA以上被动均衡的发热就难以接受这时候要考虑主动均衡。主动均衡用Buck-Boost或开关电容架构把高电压电芯的能量搬到低电压电芯效率能到80%以上发热小。但主动均衡的硬件复杂度和成本高很多对于两串小容量场景被动均衡依然是性价比最高的选择。还有一个替代思路是用带均衡功能的AFE芯片把电压采集、均衡驱动、保护逻辑集成在一颗芯片里MCU只做通信和策略。这种方案BOM更简洁但均衡策略的灵活性不如MP2642GR-Z加PIC18F55K42的组合。选哪种取决于项目对成本、开发周期和策略灵活性的权衡。我个人在实际操作中的体会是两串被动均衡方案的关键不在芯片选型而在采样精度和均衡策略的鲁棒性。采样走线没处理好再好的芯片也读不准电压回差和间歇周期没设对均衡要么振荡要么过热。把这两个细节做扎实MP2642GR-Z加PIC18F55K42的组合能稳定跑很多年。最后分享一个小技巧在放电电阻旁边留一个NTC焊盘即使第一版不装后续调试温度问题时可以直接补上不用改板。
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →