首先,电池管理系统(BMS)是电池与用户之间的纽带,主要对象是二次电池,主要就是为了能够提高电池的利用率,防止电池出现过度充电和过度放电,可用于电动汽车,电瓶车,机器人,无人机等。
接下来,我会从信号采集,数据处理和控制逻辑,进行解析我眼中的BMS。
一、信号采集
顾名思义,电池管理系统,首先管理的对象是电池。我们就必须对当前电池的状态有一个细致的了解,也不能什么都不知道就用开始电池。电池的状态,主要表现为以下的几个方面。
电池的单芯电压
电池的温度
电池组的总电压
电池组的总电流
电池组的绝缘电阻
下面,我就对电池信息的采集,做一简单的说明:
1. 单芯电压的检测
电池的成组方式一般是串联加并联。以我的理解,串联主要是加大整个电池模组的电压,并联就是增加电池的可充放电电流。
我们都知道,想要能驱动电机工作,就必须给它一定的能量,能量怎么来的,学过物理的都知道
P= V*I
想要 P 变大,不就得使电流电压变大吗?
再说电池,一节电池的最大放电电流和最大充电电流都是固定的。并联简单的就是将这两个值成倍的放大。
那么,单芯电压到底怎么测?就是将并联的单芯当做一节电池使用,这节电池的两端电压,就是单芯电压了。很简单的,不是吗?
原理虽然说起来是很简单,不过精度要求却是挺高的,这是硬性要求。我们一般的电池OCV曲线,是上下抖中间平的的样子。电池的电压稍有变化,SOC的变化就很大了。
2. 电池的温度检测
相对于电压的高精度要求,温度的检测不是那么的严格了。一般来说在2°的误差内,都是可接受的。温度的检测,相对来说也是简单多了,我了解的大多数做BMS的厂商,用的都是NTC来做检测的。
NTC检测温度的原理,就是温度值和对应温度下电阻值一一对应,一般和另一个电阻分压一个标准电压。使用单片机ADC功能就可以简单的得到温度值。
3. 电池的总电压采集
总电压,即观察电池整个模组的电压状况。一般来说,没什么太大的用处,只是作为一个参考值,来用。总电压除以电池的串联数,就是一个大概的单芯电压平均值。
总电压的大小不定,这是由车辆本身的需求决定,就我所见到的电压等级150V~800V不等。
那么,总电压如何采集?
常用的一种方法就是,将总电压使用电阻等比例分压,AD采集采样电阻的两端电压。需要注意的是,动态电压的变化是十分不稳定的,所以必须的消抖电路和消抖程序都是需要的。
4. 电池的总电流采集
工作模式有充有放,电流因此有正有负。
电流,我认为这是所有电子设计中是最需要关注的一个参数。电流,是最容易引发故障,也是最为危险的。
在BMS系统中,电流在SOC的计算,电池均衡策略中都有不可忽视的作用。
5. 电池的绝缘电阻采集
什么是绝缘电阻? 简单来说,就是防触电保护的最小电阻。国标上的要求是0.1mA。我们一般来说都会放大余量,安全问题再怎么关注都不差。
那么,绝缘电阻又是怎么测量的呢?
当前主流的绝缘检测方法有两种,电桥法和交流注入法。使用较多的应该是前者,今天就介绍一种电桥检测法。
二、数据处理
之前一直在思考,什么是程序,程序的本质是什么?
我的理解“ 程序就是一种控制思想,一种因果变化 ”。
为了实现某个功能,具现化为某个状态变量的输出。就要从已有的输入变量中选择合适的变量作为输入。输入通过某种复杂的转换(控制实现/计算实现)得到输出的过程就是程序。
关键:
确保输入输出变量的准确性(数据处理)
从输入到输出实现的可能性(逻辑控制)
数据的处理可以从以下的两个方面考虑:
输出变量的处理
输入变量的处理
数据,我将它分为两类
功能数据
性能数据
功能数据:数据是作为算法的必要输入特意获取的数据,比如上面的采集数据,SOC等
性能数据:数据不作为功能逻辑上的输入,更多的是对软硬件的稳定性安全性的一个评估作用。比如板子的输入电压检测,继电器开关的状态检测,CAN出错等。
变量分两类:数据和状态,有以下的几种处理方式
数据:不同状态下,多个数据,取权重。
数据:
去除在范围之外的数据,多个采样,取有效值的均值。
对于超范围的数据,设置标志位,故障处理。
状态:连续一段时间维持某一状态不变(消抖)
数据,经过处理,如果没有问题就可以作为有效输入数据。在功能被触发的条件下,直接被调用。
那出错了呢?对于这个问题,专门有一个故障处理的模块。实时的将故障点检测出来,发给整车,并且存储起来。
故障等级大致是这样的分的:
一级:只是报警,不做任何处理,可消退
二级:报警,限速,可消退
三级:报警,限速,不可消退
四级:报警,制动,不可消退
具体的哪些故障对应哪个等级,就不说了。
三、逻辑控制
逻辑控制主要有以下的几个部分:
上电自检,确定系统状态
继电器控制,不同状态,不同的继电器数量有不同的控制方式
充电控制,分为快充和慢充,需要分开处理
均衡控制
电池加热控制
1. 上电自检
汽车一共有两个工作模式:放电,充电。其中充电再分为快充和慢充。确定工作模式的方式是,给BMS供电的到底是哪个24V电源,T15/快充/慢充
只有自检通过才允许上高压,也就是闭合对应的继电器。那么,观察哪些信号,就可以确认自检没问题?
所有继电器状态OK
总电流OK
绝缘电阻OK
只存在一个工作模式
自检OK,就可以使能对应的CAN通讯,也可以上高压放电和充电。
2. 继电器控制
继电器的控制逻辑更多的是一个先后顺序
开始放电
吸合负极继电器
吸合预充继电器
吸合放电继电器(正极和电机之间的继电器)
断开预充继电器
停止放电
断开负极继电器
断开放电继电器
开始充电
吸合负极继电器
吸合充电继电器(正极和充电机之间的继电器)
停止充电
断开负极继电器
断开充电继电器
先断负极,再断正极,是为了分担上下电的压力;这种说法保留
通过做过的项目来讲,继电器的控制,要根据不同的客户需求来定
3. 电池加热控制
电池加热主要是在电池充电的时候使用。
温度过低,电池的活性降低,所以需要先给电池加热,后续再充电。
基本的流程:吸合加热继电器,向充电机需求一个电流。此时动力和充电机同时给加热继电器提供电流,只是充电机电流比较大。加热结束,断开加热继电器,同时向充电机需求一个大的充电电流。
4. 充电(快充)控制
所有的控制逻辑在国标GBT 27930-2015中定义的很清楚。严格按照国标来基本不会出什么问题
5. 均衡控制
均衡,是一个比较大的概念,后续再讲
总结
梳理了BMS的一些基本概念,通过这个过程这才发现,我了解的还是太少太生疏了。
留下的问题:
SOC算法和均衡控制算法 这个确实是个难点
标准化设计的一些想法 有待学习
bootloader
自动化生产测试
上位机相关知识
电池知识的深入了解
等等
愿你出走半生,归来仍是少年…
BMS系统是电池管理系统,为了智能化管理及维护各个电池单元,防止电池出现过充电和过放电,延长电池的使用寿命,监控电池的状态。其主要对象是二次电池,可用于电动汽车,电瓶车,机器人,无人机等。
BA系统是楼宇设备自控系统,冷热源系统、空调通风系统、风机盘系统、电梯系统、给排水系统等系统的一个集成统称。系统主要通过运行状态监控与故障监测,对建筑物内各类设备进行高效率的管理与控制,在提供最佳舒适环境、现代化管理模式的同时,大大降低能量消耗。
扩展资料:
BMS电池系统实现以下功能:
1、准确估测SOC
准确估测动力电池组的荷电状态,即电池剩余电量,保证SOC维持在合理的范围内,防止由于过充电或过放电对电池造成损伤,并随时显示混合动力汽车储能电池的剩余能量,即储能电池的荷电状态。
2、动态监测
能够及时给出电池状况,挑选出有问题的电池,保持整组电池运行的可靠性和高效性,使剩余电量估计模型的实现成为可能。除此以外,还要建立每块电池的使用历史档案,为进一步优化和开发新型电、充电器、电动机等提供资料,为离线分析系统故障提供依据。
3、电池间的均衡
即为单体电池均衡充电,使电池组中各个电池都达到均衡一致的状态。均衡技术为世界正在致力研究与开发的一项电池能量管理系统的关键技术。
参考资料来源:百度百科-BMS
参考资料来源:百度百科-BMS电池系统
参考资料来源:百度百科-BA系统
新能源汽车bms电池管理软件是可以刷的,为了克服现有技术中存在的不足,技术提供一种电池包BMS软件自动刷写系统及方法。技术方案为解决问题,采用的技术方案为一种电池包BMS软件自动刷写系统,包括上位机,上位机分别与扫码qPLC控制器电源控制器BMS刷写程序模块一端相连接,PLC控制器电源控制器BMS刷写程序模块另一端和上位机还与刷写线束相连接。
bms系统新能源汽车特点
电池管理系统和动力锂电池组一起组成电池包整体与电池管理系统有通讯关系的两个部件,整车控制器和充电机电池管理系统。
向上通过CANbus与电动汽车整车控制器通讯,上报电池包状态参数,接收整车控制器指令,配合整车要确定功率输出向下,监控整个电池包的运行状态,保护电池包不受过放过热等非正常运行状态的侵害充电过程中,与充电机交互管理充电参数监控充电过程正常完成。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)