尧图网站设计 尧图网站设计YAOTU DESIGN
ARTICLE DETAIL

资讯详情

深耕网站设计与一线实操的经验洞察。

磷酸铁锂电池OCV曲线、滞回效应与老化机制:BMS SOC估算工程实践

磷酸铁锂电池OCV曲线、滞回效应与老化机制:BMS SOC估算工程实践 1. 磷酸铁锂电池为什么值得单独拎出来讲磷酸铁锂LiFePO4下文简称LFP这几年在储能电站、家用光伏储能、低速电动车、启停电源这些场景里几乎是绕不开的选项。做BMS的、做PACK的、做储能系统集成的甚至只是自己攒一套家庭储能柜的玩家都会碰到同一个问题LFP的电压曲线太平了平到你用电压去估算SOC剩余电量的时候心里完全没底。三元锂那边电压从4.2V到3.0V一路斜着下来你随便采个电压都能大致猜出电量LFP这边从满电到放空中间一大段电压就趴在3.2V到3.3V之间动都不怎么动。这就是为什么搞LFP的人必须把三件事吃透OCV曲线、滞回效应、老化机制。OCV曲线决定了你静态估算SOC的理论上限滞回效应决定了你充放电来回切换时电压会“骗”你老化机制决定了你用了两年之后这条曲线整体会怎么漂移。这三件事是连在一起的单独看任何一个都会在实际标定和运维里翻车。我写这篇东西的出发点很简单网上讲LFP的文章要么是电化学教材式的一堆嵌锂脱锂的公式要么是厂家宣传式的只告诉你循环寿命多少次。真正做工程的人需要的是——这条曲线长什么样、为什么长这样、我拿它怎么用、用的时候哪里会踩坑。下面我就按这个思路把OCV、滞回、老化这三块拆开讲中间穿插我自己在标定和数据分析里踩过的坑。适合谁看做BMS算法标定的、做储能系统SOC估算的、做电池测试数据分析的以及有一定动手能力、想自己测电池特性的DIY玩家。不需要你有电化学博士学位但需要你对“电压、电流、SOC、温度”这几个量有基本的工程直觉。2. OCV曲线LFP最核心也最“坑”的一张图2.1 OCV到底是什么和端电压差在哪先把概念理清楚因为很多人把OCV和端电压混着用标定的时候就会出问题。OCVOpen Circuit Voltage开路电压指的是电池在没有任何电流流过、并且已经充分静置达到电化学平衡状态时正负极之间的电位差。注意两个关键词无电流和平衡。这两个条件缺一个你测到的就不是OCV。端电压Terminal Voltage是你实际在电池正负极上量到的电压它等于端电压 OCV − I×R_internal放电时 或 端电压 OCV I×R_internal充电时这里的R_internal是电池内阻包括欧姆内阻和极化内阻。放电的时候电流在电池内部产生压降所以端电压比OCV低充电的时候反过来端电压比OCV高。这个区别为什么重要因为BMS在车上、在储能柜里绝大多数时候电池都是有电流的你采到的永远是端电压不是OCV。你要用OCV去查SOC就必须先想办法把内阻压降和极化补偿掉或者等电池静置到电流为零。这就是为什么很多BMS在停车静置一段时间后才会做一次“OCV校正”运行过程中只能靠安时积分加各种修正。我见过不少新手标定的时候直接把带载测到的电压当成OCV去拟合曲线结果整条曲线整体偏移了几十毫伏SOC估算在平台区直接错出去百分之十几。这个坑后面讲实操的时候还会细说。2.2 LFP的OCV曲线长什么样三段式结构LFP的OCV-SOC曲线如果你把它画出来大致是一个“两头陡、中间平”的形状我习惯把它分成三段高SOC段约90%~100%电压从3.4V左右快速爬升到3.45V甚至更高这一段斜率比较大电压对SOC比较敏感。平台段约10%~90%电压基本趴在3.2V到3.33V之间斜率极小典型值大概每10% SOC电压变化不到20mV。这一段就是让所有做SOC估算的人头疼的地方。低SOC段约0%~10%电压从3.2V快速下降到3.0V甚至2.5V取决于放电截止条件斜率又变大了。用一句话概括LFP的OCV曲线是一个中间极度平坦、两端翘起的“S形变体”。平台段占了整个SOC区间的80%左右但电压变化可能只有100mV出头。这意味着什么意味着在平台段你电压测量上哪怕有5mV的误差换算成SOC可能就是5%甚至更多的偏差。而一般的电压采集电路加上线束压降、ADC精度、温漂5mV的误差太容易出现了。所以业内有个共识单纯靠OCV查表来估算LFP的SOC在平台段是不可靠的。OCV曲线真正的价值在于两个地方一是静置后的校正基准点二是配合安时积分做长期漂移修正。2.3 为什么LFP的曲线这么平从材料层面理解要理解这条曲线为什么平得从LFP的正极材料结构说起。LFP是橄榄石结构锂离子在充放电过程中是在FePO4和LiFePO4两相之间做相变反应。这个相变反应的一个特点就是在两相共存区锂的化学势变化非常小反映到宏观上就是电压平台极其平坦。打个比方这就像冰水混合物在融化过程中温度一直停在0度——你不断加热但温度不升能量都用来完成相变了。LFP在平台段也是这样你不断充放电锂离子在进出但电压就是不怎么变因为大部分能量用在两相转变上了。这个特性带来两个后果。好处是电压平台稳定对用电设备友好很多设备在3.2V附近工作得很舒服。坏处是电压对SOC不敏感SOC估算难度大。三元锂那边是固溶体反应锂脱嵌过程中电压连续变化所以曲线斜好估算LFP这边是两相反应曲线平难估算。这是材料本性决定的不是BMS算法能完全绕过去的。2.4 OCV曲线的标准测法小电流充放电加静置那这条曲线怎么测出来实验室里标准做法是小电流充放电充分静置具体步骤我列一下这是可以直接抄的准备电池选一只状态良好的LFP电芯记录额定容量、标称电压。满充用0.05C比如10Ah电芯用0.5A恒流充电到3.65V然后转恒压充电到电流降到0.01C认为满电。静置开路静置2小时以上让电压稳定。记录此时的OCV对应SOC100%。放电到下一个点用0.05C放电放出5%的额定容量比如10Ah电芯放出0.5Ah然后停止。再静置同样静置2小时记录OCV。重复一直重复到放电截止电压比如2.5V得到SOC从100%到0%每隔5%的OCV点。充电方向再测一遍从0%开始用同样的小电流充电每隔5%静置记录OCV直到100%。为什么要充放电两个方向都测因为LFP有滞回效应充电方向的OCV和放电方向的OCV不一样这个下一章专门讲。你如果只测一个方向得到的曲线在另一个方向用就会偏。这里的关键参数是静置时间。2小时是经验值实际上LFP的电压弛豫比较快大电流之后可能几十分钟就基本稳了但小电流之后要完全平衡2小时是比较保险的。有些严谨的测试会静置4小时甚至过夜。静置时间不够你测到的OCV会偏高充电后或偏低放电后曲线就会“胖”一圈。注意测OCV曲线时环境温度要控制住。LFP的OCV对温度有一定敏感性虽然不像内阻那么明显但0度和25度测出来的曲线还是有差别的。一般标定都要求在25±2度下做如果你要在低温用得单独测低温曲线。2.5 实测数据长什么样给一组参考值我手头有一组25度下某10Ah LFP电芯的实测OCV数据放电方向分享出来给大家一个直观感受SOC (%)OCV (V)相邻点压差 (mV)1003.432—953.35577903.33025803.3255703.3223603.3202503.3182403.3162303.3133203.3085103.2951353.2702503.000270你看这个表就明白了从80%到20%这60%的SOC区间OCV总共才变了17mV。而100%到95%这5%就变了77mV。这就是平台区的恐怖之处。你的电压采集如果只有1mV分辨率在平台区理论分辨力也就5% SOC左右实际加上噪声和温漂能到10%就不错了。所以我在实际项目里从来不会在平台区只靠OCV。平台区主要靠安时积分OCV只在两端高SOC和低SOC做校正中间靠电流积分和模型修正。3. 滞回效应充放电来回切换时电压的“记忆”3.1 滞回是什么同一SOC两个电压滞回效应Hysteresis是LFP的一个显著特征同一个SOC下充电方向测到的OCV和放电方向测到的OCV不一样。充电方向的OCV偏高放电方向的OCV偏低两者之间有一个差值这个差值就是滞回电压。用生活化的例子解释就像你推一个有点卡涩的抽屉往里推的时候要用力拉出来的时候也要用力但停在同一个位置时你松手后它可能停在稍微不同的地方——因为它有“记忆”上次是往里推还是往外拉会影响它现在的状态。LFP的滞回也是类似的锂离子在正极材料里的嵌入和脱出路径不完全可逆导致电压有“方向记忆”。这个滞回电压有多大根据我的实测和文献数据LFP的滞回电压典型值在10mV到50mV之间取决于SOC区间和电池状态。在平台区滞回可能只有10~20mV在两端滞回可能更大一些。别小看这几十毫伏在平台区20mV的滞回对应的SOC误差可能就是10%以上。3.2 滞回对SOC估算的实际影响滞回效应最直接的后果就是你不能用一条OCV曲线打天下。如果你只用放电方向的OCV曲线那在充电过程中用OCV查表SOC会被低估反过来只用充电曲线放电时SOC会被高估。我举个实际场景。假设你的BMS在充电结束后静置测到OCV是3.32V查放电曲线对应SOC约60%查充电曲线可能对应SOC约50%。如果你不知道当前是充电后还是放电后你根本不知道该用哪条曲线。而如果你用错了SOC直接错10%。更麻烦的是在实际运行中电池经常是充放电交替的比如光伏储能白天充电、晚上放电中间还有负载波动导致的微充微放。这时候电池的滞回状态是“混”的你很难判断它当前更接近充电曲线还是放电曲线。3.3 工程上怎么处理滞回几个实用策略完全消除滞回对SOC估算的影响很难但可以把它控制在一个可接受的范围内。我总结了几种实际可用的策略策略一双OCV曲线切换。维护两条OCV曲线充电时用充电曲线放电时用放电曲线静置时根据上一次的方向选择。这个方法简单但切换点附近会有跳变需要做平滑处理。策略二滞回建模。把滞回电压作为一个状态量用模型去估计它。常见的是用一阶滞回模型滞回电压的变化跟电流方向和历史有关。这个方法精度高但参数标定麻烦计算量也大适合有较强算法能力的团队。策略三只用OCV做端点校正。在平台区不用OCV只在高SOC90%和低SOC10%用OCV校正因为这两端滞回相对小而且曲线斜率大电压对SOC敏感。中间靠安时积分。这是最务实的做法我大部分项目都这么干。策略四静置后取平均。如果电池静置时间足够长比如几小时滞回会部分弛豫充电和放电的OCV会向中间靠拢。这时候可以用一个“平均OCV”来查表误差会小一些。但静置时间要求长很多场景等不起。实操心得滞回电压的大小和电池的充放电历史有关。如果电池长期只在一个方向工作比如一直浅充浅放滞回会变小如果经常深度充放电来回切换滞回会变大。所以标定滞回参数时要模拟实际工况不能只测一次。3.4 滞回的测量方法充放电循环加静置测滞回的方法和测OCV类似但要成对测。具体步骤从满电开始放电到某个SOC点比如50%静置2小时记录放电方向OCV。从该点继续放电到下一个点再静置记录直到0%。然后从0%开始充电充到50%静置2小时记录充电方向OCV。对比同一SOC下充电和放电的OCV差值就是滞回电压。如果你想测得更细可以在同一个SOC点做多次充放电循环看滞回是否稳定。有些电池前几次循环滞回会变化后面才稳定。我实测过的一组数据某电芯在50% SOC下放电OCV是3.318V充电OCV是3.338V滞回20mV。在20% SOC下放电OCV是3.308V充电OCV是3.335V滞回27mV。在90% SOC下放电OCV是3.330V充电OCV是3.352V滞回22mV。可以看到滞回在整个区间都存在大小略有波动。4. 老化机制用两年之后曲线会怎么变4.1 LFP老化的两种主要模式LFP的循环寿命长是出了名的但“长”不等于“不变”。随着循环次数增加和日历时间推移LFP的容量会衰减内阻会增大OCV曲线也会漂移。老化的主要模式有两种容量衰减Capacity Fade可用容量越来越少。比如新电池10Ah循环2000次后可能只剩8.5Ah。容量衰减主要来自正极材料的锂损失和负极SEI膜的持续生长。内阻增大Resistance Rise电池内部阻抗变大同样电流下压降更大端电压更容易触及截止条件。内阻增大主要来自SEI膜增厚、电解液分解、集流体腐蚀等。这两种老化对OCV曲线的影响是不一样的。容量衰减会让曲线在SOC轴上“压缩”——同样的电压对应的SOC变了内阻增大主要影响带载时的端电压对静态OCV影响相对小但会影响你从端电压推算OCV的准确性。4.2 老化后OCV曲线怎么漂实测对比我对比过同一款电芯在新鲜状态和循环1000次后的OCV曲线放电方向25度差异很明显SOC (%)新鲜OCV (V)老化后OCV (V)差值 (mV)1003.4323.420-12903.3303.315-15703.3223.305-17503.3183.298-20303.3133.290-23103.2953.268-2703.0002.950-50可以看到老化后整条曲线整体下移平台区下移了15~25mV低SOC端下移更多。这意味着如果你还用新鲜电池的OCV曲线去查老化电池的SOC你会高估SOC——因为同样的电压在老化电池上对应的SOC更低。这个偏差在平台区尤其危险。假设老化后OCV在50% SOC时是3.298V你用新鲜曲线查3.298V可能对应55% SOC你就高估了5%。如果老化更严重高估10%都有可能。而SOC高估的后果是你以为还有电实际已经快空了可能导致过放。4.3 老化对滞回的影响老化不仅改变OCV曲线还会改变滞回特性。我的观察是老化后滞回电压通常会增大。新鲜电池滞回20mV循环1000次后可能变成30~40mV。原因可能是老化导致材料相变路径更不可逆或者内阻增大让极化更明显。滞回增大对SOC估算的影响是如果你还用原来的滞回模型误差会变大。所以一个负责任的BMS应该随着电池老化在线更新滞回参数或者至少定期做一次标定。4.4 怎么在工程上应对老化SOH估计与曲线修正应对老化的核心是SOHState of Health健康状态估计然后根据SOH修正OCV曲线和容量参数。SOH通常用容量保持率或内阻增长率来定义。容量保持率 当前可用容量 / 额定容量。比如额定10Ah现在8.5AhSOH就是85%。内阻增长率 (当前内阻 − 初始内阻) / 初始内阻。比如初始内阻20mΩ现在30mΩ增长率50%。有了SOH你可以做几件事修正SOC计算中的额定容量安时积分时用当前实际容量而不是额定容量。修正OCV曲线根据SOH对曲线做平移或缩放。简单做法是按SOH线性插值新鲜曲线和老化曲线。修正内阻参数用于端电压到OCV的补偿计算。SOH估计本身也是个难题常见方法有基于容量标定的需要完整充放电、基于内阻测量的、基于模型参数辨识的。这里不展开但你要知道不做SOH修正的BMS用一年以后SOC精度会明显下降。实操心得LFP的老化在前期前200次循环比较快后面会放缓但不会停止。我见过一些储能项目前半年SOC还挺准一年后就开始飘就是因为没有做老化修正。建议至少每半年做一次容量标定更新SOH和OCV曲线参数。5. 把三件事串起来从标定到运维的完整思路5.1 标定阶段一次把曲线测全标定阶段的目标是拿到尽可能完整的电池特性数据。我的建议是测充电和放电两个方向的OCV曲线每个方向至少13个点每5%或10%一个点。测不同温度下的OCV曲线至少覆盖0度、25度、45度三个温度点。测滞回电压在几个典型SOC点如90%、50%、10%做充放电循环对比。记录初始内阻和初始容量作为SOH的基准。这些数据测下来工作量不小但一次测好后面算法开发和运维都有依据。我见过一些团队为了赶进度只测一条25度放电曲线就开始写算法结果到了冬天或者电池老化后SOC误差大得没法看回头返工成本更高。5.2 运行阶段OCV校正的时机选择运行阶段OCV校正不能随便做要选时机静置足够长时间后比如电动车停了一夜储能柜在待机状态几小时后。这时候电流为零电压弛豫基本完成测到的接近真实OCV。高SOC或低SOC端点在90%以上或10%以下曲线斜率大OCV对SOC敏感校正效果好。避免在平台区单独用OCV校正平台区电压变化太小测量误差和滞回误差会直接放大成SOC误差。校正时还要注意如果电池刚经历大电流充放电即使静置了电压可能还在弛豫要多等一会儿。我一般要求静置2小时以上才做OCV校正如果条件允许4小时更稳。5.3 老化阶段定期标定与参数更新电池用了一段时间后要定期做标定。频率取决于使用强度高强度使用每天一次完整循环建议每3个月做一次容量标定。中等强度每周几次循环每半年一次。低强度偶尔用每年一次。标定内容主要是满充满放测当前容量静置测OCV曲线测内阻。然后更新BMS里的SOH、容量、OCV曲线参数。如果做不到定期标定至少要在BMS里做一个“老化补偿”逻辑根据累计安时吞吐量或循环次数估算SOH然后对OCV曲线做经验性平移。这个精度不如实测但比不做好。5.4 一个完整的SOC估算框架把OCV、滞回、老化都考虑进去一个务实的LFP SOC估算框架大概是这样的主算法安时积分。用当前实际容量根据SOH修正做积分得到SOC的连续估计。OCV校正在静置且满足条件时用OCV查表根据充放电方向选择曲线根据SOH修正曲线得到SOC校正值对安时积分结果做缓慢修正。滞回补偿在充放电切换时根据电流方向和滞回模型对OCV查表结果做补偿。端点修正在充满和放空时强制SOC为100%和0%消除累积误差。温度补偿根据温度修正容量和OCV曲线。这个框架不复杂但每一步都要有数据支撑。OCV曲线、滞回参数、SOH修正系数这些都需要标定和实测。没有这些数据再好的算法也是空中楼阁。6. 常见问题与排查技巧实录6.1 SOC跳变静置后一上电SOC就变了这是最常见的问题。原因通常是静置后BMS做了OCV校正而校正值和之前的安时积分值差得多导致SOC跳变。排查思路检查OCV曲线是否准确特别是平台区的曲线。检查静置时间是否足够电压是否真的稳定了。检查是否用了错误方向的OCV曲线充电后用放电曲线。检查SOH修正是否合理老化后曲线是否更新过。解决办法OCV校正不要一步到位用限幅或缓慢逼近的方式比如每次校正最多改变5% SOC分多次完成。这样即使校正值有误差也不会导致SOC剧烈跳变。6.2 平台区SOC估算误差大这是LFP的固有问题但可以通过以下方式缓解不在平台区单独用OCV校正主要靠安时积分。提高电流采集精度减少积分累积误差。定期在端点做校正消除累积误差。如果条件允许用模型算法如卡尔曼滤波融合电压和电流信息。6.3 老化后SOC显示偏高前面讲过老化后OCV曲线下移用新鲜曲线查表会高估SOC。解决办法就是定期标定更新OCV曲线和SOH。如果做不到至少在BMS里加一个基于循环次数的经验补偿。6.4 低温下SOC不准低温下LFP的内阻增大端电压压降更大而且OCV曲线本身也会变化。解决办法测低温OCV曲线运行时根据温度切换。低温下安时积分容量要修正因为可用容量减少了。低温下避免大电流减少极化影响。6.5 滞回导致的充放电SOC不一致充电时显示50%放电时显示45%这就是滞回在作怪。解决办法用双OCV曲线充放电分别查表。加滞回补偿模型。在SOC显示上做平滑不要频繁跳变。最后分享一个我自己的小技巧在BMS里维护一个“上次静置方向”的标志位充电后静置标记为充电方向放电后静置标记为放电方向。OCV校正时根据这个标志位选择曲线。这个逻辑简单但能解决大部分滞回导致的校正错误。如果电池经历了充放电交替标志位取最后一次大电流的方向。实测下来这个做法在储能场景里很稳。
返回列表