电动车 BMS 中锂电池 SOC 算法探究

电动车电池bms电池管理系统 锂电池算法SOC代码 获取锂电池SOC采用的是电流积分法,电化学阻抗法 电流积分法又称为安时积分法或库伦计数,通过将电池电流对时间进行积分来计算电池的荷电状态。 这种方法对于计算电池放出的电量有一定的准确度,但缺乏参照点,不能计算电池的初始SOC,也无法预测电池因为自放电而产生的容量衰减。 除此之外,电流积分法的误差具有累积性,会随着时间的增加而逐渐增大。 而且电池充放电效率的确定也需要有大量的实验数据建立起经验公式,对SOC的可靠性也有一定的影响。 因此,采用这种方法时常常需要定期对电池荷电状态进行重新标定。 电化学阻抗法有交流内阻和直流内阻之分,它们都与电池荷电状态有密切关系。 电池交流阻抗是电池电压与电流之间的传递函数,是一个复数变量,表示电池对交流电的反抗能力,要用交流阻抗仪来测量。 电池交流阻抗受温度影响大,是在电池处于静置后的开路状态还是在电池充放电过程中进行交流阻抗测量,存在争议。 直流内阻表示电池对直流电的反抗能力,在实际测量中,将电池从开路状态开始恒流充电或放电,相同时间内负载电压和开路电压的差值除以电流值就是直流内阻。 对于铅蓄电池在放电后期,直流内阻明显增大,可用来估计电池荷电状态;镍氢电池和锂离子电池直流内阻变化规律与铅蓄电池不同,应用较少。

在电动车的电池管理系统(BMS)里,锂电池荷电状态(SOC)的精准计算至关重要,它直接关乎电池性能评估与电动车的安全高效运行。今天咱就唠唠获取锂电池 SOC 常用的电流积分法和电化学阻抗法,还会穿插点代码示例帮助理解。

电流积分法(安时积分法/库伦计数)

电流积分法原理简单直接,就是把电池电流对时间做积分来算出电池的荷电状态。打个比方,就好像你记录水龙头流出的水量,把水流速度(类似电流)乘以时间,就能知道总共流出多少水(类似电池放出多少电量)。

下面是简单模拟电流积分法计算 SOC 的代码(以 Python 为例):

python 复制代码
# 假设初始电量为100Ah
initial_soc = 100
# 电流值,单位A,假设放电电流为5A
current = -5
# 时间间隔,单位h,假设时间间隔为1h
time_interval = 1
# 计算SOC变化量
soc_change = current * time_interval
# 新的SOC
new_soc = initial_soc + soc_change
print(f"新的SOC为: {new_soc}%")

在这段代码里,initialsoc**设定了初始电量,current 是当前电流,这里负值代表放电。time interval 是时间间隔,通过 current * time_interval 算出这段时间电量的变化,从而得到新的 SOC

但这方法有不少毛病。首先它没个参照点,算不出电池初始 SOC,要是一开始电量不知道,后面算的再准也白搭。而且它没法预测电池自放电导致的容量衰减,电池放着不用也会跑电呀,这部分就预测不了。还有,这方法误差会累积,时间越长,误差越大,就像你每次量东西都有点小偏差,量的次数多了,偏差加起来就大了。并且确定电池充放电效率得靠大量实验数据建立经验公式,这对 SOC 的可靠性也有影响。所以用这方法得定期重新标定电池荷电状态。

电化学阻抗法

电化学阻抗法分交流内阻和直流内阻两种,它们和电池荷电状态关系紧密。

交流内阻

电池交流阻抗是电池电压与电流之间的传递函数,是个复数变量,反映电池对交流电的反抗能力,得用交流阻抗仪测量。这就好比电池对交流电的"阻力",不同的电池状态,这个"阻力"不一样。但它受温度影响大,而且在哪种状态下测量(静置后的开路状态还是充放电过程中)还存在争议。

直流内阻

直流内阻表示电池对直流电的反抗能力。实际测量时,把电池从开路状态开始恒流充电或放电,相同时间内负载电压和开路电压的差值除以电流值就是直流内阻。比如对于铅蓄电池,放电后期直流内阻明显增大,就能用来估计电池荷电状态。但镍氢电池和锂离子电池直流内阻变化规律和铅蓄电池不同,应用就少些。

总的来说,这两种计算锂电池 SOC 的方法各有优劣。在实际的电动车 BMS 开发中,往往会综合多种方法,取长补短,力求更精准地获取电池的 SOC,保障电动车的良好性能和安全运行。

相关推荐
观熵9 小时前
SaaS 系统的自动化部署结构设计实战指南:基于 K8s + Helm 的工程落地路径
运维·kubernetes·自动化·saas 架构
视觉震撼12 小时前
逐步指南:为大模型构建自动化知识图谱
运维·自动化·知识图谱
北京耐用通信13 小时前
耐达讯自动化Profibus光纤链路模块:跨行业通信的“隐形桥梁”,让控制更丝滑!
人工智能·网络协议·自动化·信息与通信
玩大数据的龙威13 小时前
【乱占耕地建房】—试点工作平台自动化填报系统
运维·自动化
小白学大数据13 小时前
绕过拼多多 App 反抓包机制的综合逆向解决方案
开发语言·爬虫·python·自动化
weixin_4624462316 小时前
使用 Python 脚本自动化管理 Docker 容器:启动、修改密码、删除及系统资源监控
python·docker·自动化·系统监控
徐1117 小时前
自动化检测系统投资回报分析:思看科技如何助力企业降本增效
python·科技·物联网·自动化
小程故事多_8017 小时前
打破传统桎梏,LLM 让智能运维实现从 “自动化” 到 “自进化”
运维·人工智能·自动化·aigc
oh,huoyuyan17 小时前
火语言 RPA “按住滑块拖动到最右边” 自动化案例
运维·自动化·rpa
合合技术团队18 小时前
5分钟自动化财报抽取:基于TextIn+Coze的实践方案
自动化·coze·textln