BMS中的SOC的计算其实可以分为三大部分:1、电芯层级的SOC计算(软件中最真实的SOC计算,不涉及任何滤波处理);2、模组或者电池包层级的SOC计算(电芯到电池包级别的SOC映射,即电池包的SOC是更接近于电芯的SOCmin还是SOCmax);3、最终呈现给客户的显示SOC的计算(客户端显示永远在0%-100%,具有放电不增加、充电不减小、不跳变等特性;将电芯的使用区间(20%-90%)映射至0%-100%,还是涉及到滤波算法等)。

1、电芯层级的SOC的计算:

式1:SOC的安时积分计算公式

式1中给出了安时积分的SOC计算公式,这是大家所熟悉的,可是式中的分母Q如何选取,目前有两种常见的选取方式:(1)Q为最大容量;(2)Q为额定容量。(以1C从4.25V放电至2.8V,至于温度我们后面详细讨论)。

Q为最大容量,比较好理解,但是电芯的最大容量是在整个电芯处于化学性能最活跃时能放出的容量,所以只能化学公式进行推动(电化学的同事告诉我的),工程中,可以用55℃的容量近似作为最大容量(三元电芯在60℃禁止使用,实际试验数据可以说明55℃的容量与最大容量差值一定在1Ah以内,且三元的电芯随着温度的升高,容量是变大的)。

Q为额定容量(25℃的容量),这是大部分人会使用的,但是有个问题,对于HEV的电芯,电芯额定容量小,比如37Ah,在55℃时电芯的容量会达到41Ah,那么在55℃满充时的SOC就会达到110%以上,这样的SOC数值,是肯定不可以显示在客户端的;一般在这样情况下,会通过一些算法进行处理,保证客户端的显示SOC是100%。

其实本人还是建议使用最大容量作为分母,因为这样方便处理,毕竟电芯层级的SOC需要最真实的计算值;PS,纠正一个误区:电芯本身的SOC与温度是没有关系的;大家一直觉得低温时,电芯不耐用,其原因是因为电芯的内阻变大,可用容量变小了;打个形象的比喻:一杯水,温度越低,结冰的部分越多,倒出的液体越少,等温度回升后,冰还是可以化成水的;

因此SOC的计算与温度是没有关系的(当然了,电芯的老化与内阻是关系,只是老化是个长时间尺度的过程),客户端的SOC处理方式是会涉及到温度的,毕竟用户并不是那么专业的;

除了式1中的安时积分,大家常见的还有OCV-SOC查表修正,还有卡尔曼滤波等算法,对于卡尔曼滤波,https://blog.csdn.net/qq_18163961/article/details/52505591,这个是我见过最好的卡尔曼滤波介绍;最近一直在弄卡尔曼滤波,难点其实就是过程噪声方差Q以及测量噪声方差R如何选取(之后的文章可以跟大家一起分享);先给个结果,目前卡尔曼滤波可以将开路电压的预测误差控制在-5mV-10mV(计算值与测量值的差值)以内,SOC的误差可以控制在4%以内(与安时积分相比),而且是在芯片里实时跑的代码;

图1:EKF估算的SOC与OCV电压

对于SOC的计算我想说的有以下几点:1、SOC的误差一定针对某种参考计算方法而言,比如相对于安时积分而言的误差,SOC的误差是个相对误差,不是绝对的,因为所有的参考方法本身也不是100%正确;2、对于端电压或者OCV的预测也是计算值与测量值的误差,因为电压采样芯片本身会在行车或者充电过程中吗,因为EMC干扰或者PCB的layout布置导致电压采样有3-5mV的偏差。

2、电池包层级的SOC计算

其实电池包层级的SOC的意义更多的是用于限制电池包的使用,用于象征,比如整个电池包是1并96串的,也就是1P96S,因为容量不一致性导致,93个单体的SOC是90%,3个单体是80%,那么如何去定义PackSOC呢?分充电工况和放电工况两种情况,放电的时候让PackSOC更靠近SOCmin,充电的时候让PackSOC更靠近SOCmax,方法有归一法等;

3、客户端的显示SOC(DispSOC)

客户端的显示SOC一般会包含以下几个特性:(1)放电时,SOC不能增加;(2)充电时,SOC不能减小;(3)SOC不发生跳变(当电芯的SOC计算值被修正时,电芯的SOC是会跳变的);(4)在车不能行驶时,DispSOC要在0%-1%,车辆满充时,DispSOC要为100%;(5)将电池包使用的DOD区间mapping到[0%,100%];

为了满足以上4个特性,需要设计一个良好的跟随策略,当然该策略有效的前提是,真实的SOC计算是OK的;

比如:保证DispSOC(t+1)/PackSOC(t+1)=PackSOC(t)/DispSOC(t)=DispSOC(0)/PackSOC(0),如下图2所示:

BMS中SOC的计算(一)相关推荐

  1. bms中soh计算方式_BMS电池管理系统由浅入深全方位解析

    何为BMS? BMS电池管理系统(BATTERY MANAGEMENT SYSTEM)俗称电池保姆或电池管家,主要就是为了智能化管理及维护各个电池单元,防止电池出现过充电和过放电,延长电池的使用寿命, ...

  2. bms中soh计算方式_BMS算法设计之电池SOH介绍(上)

    无论是读万卷书,还是行万里路,都源于点点滴滴的积累.祝愿大家五一劳动节快乐! 大家好,不知不觉,2020就过去大半了,真的是光阴似箭啊!本期跟大家聊一聊电池包的SOH,一起来学习交流吧!介绍 电池包的 ...

  3. 电池管理系统(BMS)-SOC算法

    原文:电池管理系统(BMS)-SOC算法概述 - 知乎 大家好,经过前面几个文章,大家对电池管理系统大概有了一个了解,下面着重介绍以下电池管理系统中核心的SOX算法中的核心SOC的算法,文章介绍以实际 ...

  4. Linux数组计算平均值,从数组中读取并计算平均值

    我正在尝试编写从数组中读取一行字符的代码,将这些字符分配给一个整数,然后对该行的所有整数进行平均,然后对数组中的每一行执行此操作.以下是我迄今为止:从数组中读取并计算平均值 Scanner in = ...

  5. Spark中的内存计算是什么?

    由于计算的融合只发生在 Stages 内部,而 Shuffle 是切割 Stages 的边界,因此一旦发生 Shuffle,内存计算的代码融合就会中断. 在 Spark 中,内存计算有两层含义: 第一 ...

  6. 如何利用计算机计算天数,如何应用Win10系统电脑中的计算器计算两个日期之间的天数?...

    如何应用Win10系统电脑中的计算器计算两个日期之间的天数? 相信很多小伙伴都有在使用windows10系统的电脑,其中的计算器如何才能用来计算两个日期之间的天数呢?方法很简单,下面小编就来为大家介绍 ...

  7. ARCore中根据屏幕坐标计算射线的算法

    ARCore中根据屏幕坐标计算射线的算法 ARCore中提供了根据屏幕坐标.视口大小及view. project矩阵计算从屏幕坐标发射一条射线的方法,此方法用于3D拾取. 1 class Ray { ...

  8. Shell脚本笔记(三)shell中的数学计算

    shell中的数学计算 一.使用方括号 #!/bin/bash a=10 b=29 c=88res=$[$a * ($c-$b)] echo $res 二.使用(()) echo $((1+9)) ( ...

  9. 全球及中国通信中的量子计算行业十四五规划方向与运营前景研究报告2022版

    全球及中国通信中的量子计算行业十四五规划方向与运营前景研究报告2022版 --------------------------------------- [修订日期]:2021年12月 [搜索鸿晟信合 ...

最新文章

  1. 数据挖掘流程(三):特征工程
  2. A3 没有装入任何送纸器
  3. iOS音乐播放器相关
  4. 基于DHT网络的BT磁力链蜘蛛源码
  5. 发几个vb整人小程序代码.第一次发帖.希望大家多多支持
  6. 2021网安保研之路-----中科院信工所
  7. 松柏先生:从《功守道》看电商品牌最后的机会!
  8. unity3d 地面印花_unity冬季场景地面地形白雪纹理材质贴图游戏素材Winter Ground Pack v1.1...
  9. java闹钟程序_java 闹钟程序
  10. Leetcode| 216. 组合总和III、17. 电话号码的字母组合 Day25
  11. 网络学习之网络通信设备辨析
  12. Android单元测试的步骤
  13. 小程序项目:微信小程序美容理发店预约系统app——计算机毕业设计
  14. 谢国忠:大数据在金融(视频+图文)
  15. 错误方法修改用户名后,开机提示无法登录到你的账户的正确解决方法
  16. http://www.dewen.net.cn/q/14665/个人感觉用二分法最完美的,需要操作系统支持随机读取指定一行的数据,貌似现在还不行,江湖救急呀...
  17. 【Android】蓝牙开发——经典蓝牙配对介绍(通过手机系统蓝牙演示)
  18. 【网络教程】如何删除微软云Microsoft Azure绑定的信用卡(解绑信用卡)
  19. 手把手教你如何搭建一个网红教师的网络教学环境
  20. 跨不同导向序列的Cas9结合和切割的定量描绘了靶接合的前景

热门文章

  1. 关于监听切换应用,app从后台返回进入锁屏界面
  2. 大数据治理入门系列:数据血缘关系
  3. 服务器硬盘型号表示,服务器硬盘尺寸规格
  4. word如何设置长宽高_word页面高度怎么设置
  5. 水质检测传感器在不同行业中的应用
  6. 3D场景设计和渲染软件Adobe Substance 3D Stager中文版
  7. lambda python什么意思_python中lambda是指什么
  8. 瀚高数据库安全版v4.5.7_凝思v6.0.60_root 运行部署
  9. 前端里的button怎么去除点击自带边框_这款系统自带的视频剪辑软件,了解一下...
  10. 基于SpringBoot的开源免费微信管家平台,Jeewx-Boot 1.0.3 版本发布