• 回复
  • 收藏
  • 点赞
  • 分享
  • 发新帖

[原]电池管理系统(BMS) 设计详述

看到最近电池管理系统(BMS)最近挺热的,尤其是电动汽车电池管理系统。所以结合以前做过的产品的一些经验,将一些具体设计发出来,抛砖引玉,还希望能有高手出来指点。大家一起讨论,一起提高。每天时间比较少,可能需要一段时间才能写完。其中的内容,主要以电动汽车的BMS为例。

BMSbattery management system电池管理系统是电池与用户之间的纽带,主要对象是二次电池。 二次电池存在下面的一些缺点,如存储能量少、寿命短、串并联使用问题、使用安全性、电池电量估算困难等。电池的性能是很复杂的,不同类型的电池特性亦相差很大。 电池管理系统(BMS)主要就是为了能够提高电池的利用率,防止电池出现过充电和过放电,延长电池的使用寿命,监控电池的状态。-------引自百度百科名片:)

 

电池管理系统(BMS)主要涵盖以下几个功能

1)  电池工作状态监控:主要指在电池的工作过程中,对电池的电压,温度,工作电流,电池电量等一系列电池相关参数进行实时监测或计算,并根据这些参数判断目前电池的状态,以进行相应的操作,防止电池的过充或过放。

2)  电池充放电管理:在电池的充电或放电的过程中,根据环境状态,电池状态等相关参数对电池的充电或放电进行管理,设置电池的最佳充电或放电曲线(如充电电流,充电上限电压值,放电下限电压值等)

3)  单体电池间均衡:即为单体电池均衡充电,使电池组中各个电池都达到均衡一致的状态。均衡器是电池管理系统的核心部件,但目前国内在这方面的技术还不成熟。

 

注:目前很多电动汽车上都会专门区分BMSBBSBATTERY BALANCE SYSTEM),这很容易让人产生一种误解,觉得是两个各自独立的部件,实际上是一种从属关系。且当前国内汽车上在充放电管理和均衡器这两个部分的功能上比较弱,BMS实际上仅仅是进行电量的计算和实现一个过欠压(组与单体)保护及通信的功能。

 

电池管理系统主要包括以下几个部分

1)  信号采集模块:主要用于对电池组电压,充电电流,放电电流,单体电压,电池温度,等参数进行采集。通常采用隔离处理的方式。(除温度信号)

2)  电池保护电路模块:通常这部分是采用软件控制一些外部器件来实现的。如通过信号控制继电器的通断来允许或禁止充放电设备或电池的工作以实现对电池保护。

3)  均衡电路模块:主要用于对电池组单体电压的采集,并进行单体间的均衡充电使组中各电池达到均衡一致的状态。目前主要有主动均衡和被动均衡两种均衡方式。(实在想不出来还会有第三种么?)也可称之为无损均衡和有损均衡。

4)  下位机模块:信号处理,控制。 通讯。

 

系统框图

 

以下以电动汽车风冷电池系统为例,在此处,将整个电源系统和管理系统放在一个系统中进行处理。

 

目前高压电动汽车通常采用330V左右的系统,以磷酸铁锂电池组为例,大约为110串左右。目前通常采用36800 26650 单体进行多个并联的方式。也有一些采用多个大容量软包电池进行模组封装。目前采用钢壳大容量锂离子电池的比较少。电池方面我也不是很深入,据说主要是出于安全方面的考虑。软包主要是体积小,重量轻。而采用小容量电芯主要是目前技术较成熟,可靠性高,并且在试产阶段成本较低。根据电动汽车国家补贴标准,全额补贴标准是20KWh,则电池通常采用60Ah。图就不方便贴了,请大家理解。

 

个人点评:无论硬封装还是软包,目前车上通常都采用单组电池供电模式。作为电动汽车的核心组件,尤其在单体数目特别多的情况下,若采用单组供电模式,极大降低了整车的可靠性,目前很多高可靠性系统应用中多采用两组电池并联输出的方式,若采用两组30Ah电池来代替60Ah电池,可大大提高电池组的可靠性,虽然会提高一定的成本,但我相信,可靠性和安全性的提高要远远超出这部分额外成本的价值。这样的话,相信很难发生因为某一节单体故障就导致车趴在路上了。赫赫:)。这个可是目前电动汽车经常发生的问题。

 

(一)   信号采集系统

 

信号采集系统主要用于采集以下信号

1 蓄电池组相关信号:蓄电池组电压,充电电流,放电电流,蓄电池组温度信号。

2 蓄电池单体相关信号:蓄电池单体电压。

3 外设设备状态信号:充放电开关状态,风机开关状态,高压电路对地绝缘状态,充电口状态。

4 其它信号:其它一些车辆上的有关的状态信号。

 

注:由于人在江湖,不方便将电路原理图直接贴出来,赫赫。如果有问题,可以发邮件,大家一起交流。我尽量把框图做详细点,基本上都是最基本的电路模块。

采集电路主要有以下两种方式。

信号隔离采集:

主要用于电压信号,电流信号

电路图如图2

这里可以把模拟开关和隔离采样部分调换位置,但在信号多的时候,器件会增多。

 

信号非隔离采样:

主要用于温度信号采样和状态量采样。电路图如图3

3是状态量测量电路,温度信号采样电路,可使用桥式检测法,精度高,但电路复杂。除非在对温度响应要求非常高的场合下,比如镍镉电池,否则不建议使用。通常采用电阻串联采样方式,虽然精度和抗干扰药差点,但成本低,应用很广泛。:)

 

其中比较特殊的是充电口状态检测和绝缘状态检测。

充电口状态检测可以参考电动车充电口标准规范(QC/T 841-2010,内有相关电路。

 

在线绝缘检测目前主要采用桥式检测法,也有少数采用母线接地法。母线接地法由于无法检测对地电容,很容易产生误报,不建议使用。由于汽车上绝缘检测要求不高,采用桥式检测基本能满足需求。

 

电池管理系统设计简述    

全部回复(35)
正序查看
倒序查看
2011-10-09 09:50
后续会逐渐发出来 上班 也没有太多时间来写 不过我一定会坚持写完 希望各位大家能多多指点。
0
回复
2011-10-09 09:55
学习中...期待楼主继续...
0
回复
2011-10-11 15:12

(一)   充电调节器

    电动汽车用充电器主要有两种,车载充电器和非车载充电器(如充电站等快充设备),在这里主要是分析车载充电器,对于非车载充电设备与整车的接口,目前还没有统一的标准,电接口和机械借口都没有规范化,这里就不做详细的描述了。

    针对20KWh电池,车载充电机至少要配置3KW以上功率才可以满足。这样才能满足8~10个小时内能保证将电池充满的要求。

充电机原理框图如下:

PFC部分目前流行的是交错BOOST的方式,单路软开关应用较少,主要是不稳定。

 

主充部分主要是用LLC或者移相全桥的方式,LLC的我没有做过,我用的是移相全桥的方式,据说效率要比LLC低上12个百分点。

 

电路都是比较成熟的应用,其实车载充电机最主要的难题在于散热和体积,由于功率密度要求高,散热就成了最大的问题,应用在车上,由于安装位置的不同,有的地方不方便使用风冷的方式,所以尽可能的选择水冷或者自然冷却的方式,选择水冷方式通常需要与整车配合进行控制和调剂,存在一定局限性。但是水冷方式功率密度最高。自然冷却最大问题就是散热。这给设计带来很多困难。

 

具体的充电机电路图就不贴出来了,比较多,有兴趣的可以直接联系。

(一)   放电调节器

实际上就是一个的DC/DC充电模块,主要是用于给车上12V小电池充电的,输入就是车上电池组。这个没有什么好说的。和我们常用的12V铅酸电池充电器没有什么区别,只是增加了一个通信部分和MCU进行通信。

 

目前有部分厂家将充电器和放电调节器放在一起,其实个人觉得这个方案是很好的,在车上应用时,这两个模块不会同时工作,放在一起的话,可以节省一个通信模块,增大体积,有利于散热。同时充电机本身是带有一个12V充电模块的,若将两者做在一起的话,实际可以将充电机上的这个模块节省掉,可以有效降低产品的成本。

 

当然,这个我自己也没有做过,不过可以画一个框图上来 :如下

  

0
回复
2011-10-11 15:14
@dongjiating
(一)  充电调节器   电动汽车用充电器主要有两种,车载充电器和非车载充电器(如充电站等快充设备),在这里主要是分析车载充电器,对于非车载充电设备与整车的接口,目前还没有统一的标准,电接口和机械借口都没有规范化,这里就不做详细的描述了。   针对20KWh电池,车载充电机至少要配置3KW以上功率才可以满足。这样才能满足8~10个小时内能保证将电池充满的要求。充电机原理框图如下:PFC部分目前流行的是交错BOOST的方式,单路软开关应用较少,主要是不稳定。 主充部分主要是用LLC或者移相全桥的方式,LLC的我没有做过,我用的是移相全桥的方式,据说效率要比LLC低上1到2个百分点。 电路都是比较成熟的应用,其实车载充电机最主要的难题在于散热和体积,由于功率密度要求高,散热就成了最大的问题,应用在车上,由于安装位置的不同,有的地方不方便使用风冷的方式,所以尽可能的选择水冷或者自然冷却的方式,选择水冷方式通常需要与整车配合进行控制和调剂,存在一定局限性。但是水冷方式功率密度最高。自然冷却最大问题就是散热。这给设计带来很多困难。 具体的充电机电路图就不贴出来了,比较多,有兴趣的可以直接联系。(一)  放电调节器实际上就是一个的DC/DC充电模块,主要是用于给车上12V小电池充电的,输入就是车上电池组。这个没有什么好说的。和我们常用的12V铅酸电池充电器没有什么区别,只是增加了一个通信部分和MCU进行通信。 目前有部分厂家将充电器和放电调节器放在一起,其实个人觉得这个方案是很好的,在车上应用时,这两个模块不会同时工作,放在一起的话,可以节省一个通信模块,增大体积,有利于散热。同时充电机本身是带有一个12V充电模块的,若将两者做在一起的话,实际可以将充电机上的这个模块节省掉,可以有效降低产品的成本。 当然,这个我自己也没有做过,不过可以画一个框图上来:如下  

斑竹能不能把这个作为讨论贴阿 ?

0
回复
2011-10-12 08:11
@dongjiating
(一)  充电调节器   电动汽车用充电器主要有两种,车载充电器和非车载充电器(如充电站等快充设备),在这里主要是分析车载充电器,对于非车载充电设备与整车的接口,目前还没有统一的标准,电接口和机械借口都没有规范化,这里就不做详细的描述了。   针对20KWh电池,车载充电机至少要配置3KW以上功率才可以满足。这样才能满足8~10个小时内能保证将电池充满的要求。充电机原理框图如下:PFC部分目前流行的是交错BOOST的方式,单路软开关应用较少,主要是不稳定。 主充部分主要是用LLC或者移相全桥的方式,LLC的我没有做过,我用的是移相全桥的方式,据说效率要比LLC低上1到2个百分点。 电路都是比较成熟的应用,其实车载充电机最主要的难题在于散热和体积,由于功率密度要求高,散热就成了最大的问题,应用在车上,由于安装位置的不同,有的地方不方便使用风冷的方式,所以尽可能的选择水冷或者自然冷却的方式,选择水冷方式通常需要与整车配合进行控制和调剂,存在一定局限性。但是水冷方式功率密度最高。自然冷却最大问题就是散热。这给设计带来很多困难。 具体的充电机电路图就不贴出来了,比较多,有兴趣的可以直接联系。(一)  放电调节器实际上就是一个的DC/DC充电模块,主要是用于给车上12V小电池充电的,输入就是车上电池组。这个没有什么好说的。和我们常用的12V铅酸电池充电器没有什么区别,只是增加了一个通信部分和MCU进行通信。 目前有部分厂家将充电器和放电调节器放在一起,其实个人觉得这个方案是很好的,在车上应用时,这两个模块不会同时工作,放在一起的话,可以节省一个通信模块,增大体积,有利于散热。同时充电机本身是带有一个12V充电模块的,若将两者做在一起的话,实际可以将充电机上的这个模块节省掉,可以有效降低产品的成本。 当然,这个我自己也没有做过,不过可以画一个框图上来:如下  

伤心了,都没有反应的,没人做这个么?

0
回复
2011-10-12 17:02
@dongjiating
伤心了,都没有反应的,没人做这个么?
顶起~~~
0
回复
2011-10-12 21:44
@无敌司马亮
顶起~~~
正想学习这方面的知识呢,顶一下吧
0
回复
2011-10-13 09:48
@dongjiating
(一)  充电调节器   电动汽车用充电器主要有两种,车载充电器和非车载充电器(如充电站等快充设备),在这里主要是分析车载充电器,对于非车载充电设备与整车的接口,目前还没有统一的标准,电接口和机械借口都没有规范化,这里就不做详细的描述了。   针对20KWh电池,车载充电机至少要配置3KW以上功率才可以满足。这样才能满足8~10个小时内能保证将电池充满的要求。充电机原理框图如下:PFC部分目前流行的是交错BOOST的方式,单路软开关应用较少,主要是不稳定。 主充部分主要是用LLC或者移相全桥的方式,LLC的我没有做过,我用的是移相全桥的方式,据说效率要比LLC低上1到2个百分点。 电路都是比较成熟的应用,其实车载充电机最主要的难题在于散热和体积,由于功率密度要求高,散热就成了最大的问题,应用在车上,由于安装位置的不同,有的地方不方便使用风冷的方式,所以尽可能的选择水冷或者自然冷却的方式,选择水冷方式通常需要与整车配合进行控制和调剂,存在一定局限性。但是水冷方式功率密度最高。自然冷却最大问题就是散热。这给设计带来很多困难。 具体的充电机电路图就不贴出来了,比较多,有兴趣的可以直接联系。(一)  放电调节器实际上就是一个的DC/DC充电模块,主要是用于给车上12V小电池充电的,输入就是车上电池组。这个没有什么好说的。和我们常用的12V铅酸电池充电器没有什么区别,只是增加了一个通信部分和MCU进行通信。 目前有部分厂家将充电器和放电调节器放在一起,其实个人觉得这个方案是很好的,在车上应用时,这两个模块不会同时工作,放在一起的话,可以节省一个通信模块,增大体积,有利于散热。同时充电机本身是带有一个12V充电模块的,若将两者做在一起的话,实际可以将充电机上的这个模块节省掉,可以有效降低产品的成本。 当然,这个我自己也没有做过,不过可以画一个框图上来:如下  

(一)   均衡电路

      这章是重点之一,要好好考虑一下怎么写,要引用的东西比较多,这个我自己做了试验板,不过还没有调试完。等做完了再补充一些心得。主要引用的还是以前做过的一些均衡方式。

 

     这里主要是根据我自己的理解来做的介绍,可能部分内容不是很准确 还请大家见谅。

 

    根据均衡的时段 可以分为 充电均衡 和放电均衡。在有些场合的应用下(通常是DOD不是非常深的情况下),可以不使用放电均衡。由于在电动汽车的应用上,通常DOD都要超过80%,为避免单个电池的过放而保护,再充电和放电状态下均加入均衡功能。在实际应用中,车载电池放电电流要远远大于充电电流,放电电流能达到1C,最大甚至能达到3C,要想做这么大电流的均衡会造成均衡器的性价比很低,所以我们选择的时候按照车辆匀速30KM/H的速度行使时的放电电流来计算均衡电流。在此处我们选择的均衡电流为3A。大约为10%的放电电流。

 

    根据均衡器处理能量的可能流向分单向和双向均衡,双向型使用双向变换器,输入输出方向动态调整。比较而言,双向型更具优势,基于均衡效率考虑,单向型均衡器,使用自组高压到单体低压的变换器适用于放电均衡,使用自单体低压到组高压的逆变器适合充电均衡。

上图只是一个框图,我曾经试制过一个组到单体的均衡器,输出采用多绕组一一对应的方式,均衡电流是最大5A,功率回路采用反激的方式,7串均衡,均衡精度50mV,充电均衡。是两年前和别人一起做的,有些记得不是非常清楚了。主要问题大概有以下几个:

1 均衡电路输出纹波要小于20mV,这个我们最后也没有达到,因为是在电池以30A充电时开启均衡时测试。我们当时纹波好像到了100mV

2 整个系统的温度系数,虽然在采样环节加入了温度补偿,但在实际应用中,随着温度变化,均衡精度相差很大。最大大约有几十mV

3 均衡转换非常频繁,往往一个单体尚未均衡完成,就转到另一个,修改软件后,在充电完成后,总有一个单体电压过高。

4转换效率低,其实这个当时根本没有去考虑,因为功能还没有完成,那还考虑性能阿。不过由于输出是低压,所以在功率回路的设计中还是要考虑这方面问题,以提高转换效率。

由于个人原因,最后这个项目并没有完成,感觉挺遗憾的,里面有很多问题也没有深入去发掘。现在很多资料都找不到了。

         

    最先进的均衡方案是从单体到单体, 从高压单体直接把能量变换到低压单体, 具有最佳的均衡效率, 实现难度也较大。 按单体容量大小排序 C1>C2>

>Cnn 是串联单体数量,平均容量为 Ca=(C1+C2+Cn)/n,设第 k 只单体容量最接近平均值,即 Ck=Ca,则均衡系统的目标是从 C1,C2,,Ck-1 取出能量

Cout=(C1+C2++Ck-1)-(k-1)Ca,转移到 Ck+1,Ck+2,,Cn。考虑到能量变换效率 dk 值需要适当后移。

这个是目前我正在试制的均衡器采样的方案,均衡电流1A~5A,均衡精度30mV。(因为采用的是磷酸铁锂电池,充放电平台实在太平了:(,30mV实在是没有把握。)当然实际应用中不可能同时将C1Ck-1的容量都通过变换器去给剩余的电池补充充电,实际上我只采用了一个变换器,去均衡10串电池,(可扩容到14串)到后期如果不行的话考虑使用两个变换器去均衡。

 

当把上述单向和双向变换器接向组电压的所有绕组合并为一个绕组后,就得到图 2所示的集中式变换器,优点是变换器成本和技术复杂度大幅降低,主要缺点有:低压绕组到各单体之间的导线长度和形状不同,变比有差异,均衡误差大。另一方面,变换器与电池组之间的 n+1条功率导线的布线工艺不容易设计,车辆行驶过程中对导线的拉伸和剪切给安全带来隐患。

 

0
回复
2011-10-13 09:57

楼主你好!最好把图直接贴在你文字描述的后面啊。

0
回复
dongjiating
LV.3
11
2011-10-13 10:00
@笨小孩1114
楼主你好!最好把图直接贴在你文字描述的后面啊。

图贴不上来,所以我把文档传上来了 你可以下文档看

0
回复
dongjiating
LV.3
12
2011-10-17 10:59

上图是目前大多数均衡采用的方式,大家可以作为参考,目前我采用的方案就是借鉴飞渡电容法,只是将电容变为DC/DC了。而且使用单体到单体,大大缩短了均衡的时间。等到样板做出来,测试完后,我会把结果发上来大家再讨论。下图是我的均衡电路的框图

以上所说的都是能量转移的均衡方式。但在小电流均衡(通常在500mA以下)时,采用最多的则是电阻放电法。原理很简单,通过每串单体上并联一个串接的开关和电阻,一旦某串单体电压高出均衡阈值,则接通开关,通过电阻将多余的能量释放掉。电路简单。但大电流情况下就不能使用。原理图如下:

以上叙述的主要是均衡电路的硬件设计,下面要说的就是均衡电路的软件设计。

针对硬件设计的补充:

上文主要叙述的是单模块均衡电路的设计,在实际应用中,每个模块10个单体,共11个模块,外加一个组模块,共有12个模块。MCU选用的是Infineon XC888。本身带有810ADCAN接口,基本能够满足要求了。

首先申明,我本身不是专业做软件出身,而且所有的代码都是自己手写的,设计过程也不规范,还请大家见谅。

 

软件部分主要包括以下几个模块:

I/O模块

 

AD模块

 

数据处理模块

 

均衡控制模块

 

CAN 模块

 

软件流程图 如下:

10 均衡软件流程图

 

各部分功能如下:

I/O 模块

主要是对外控制一些外设和进行选址。主要有均衡电路输入,输出单体地址,信号采集地址,功率电路启动控制,均衡启动控制,均衡关闭控制等。

 

AD模块

电路中使用XC888 P2.3作为模拟信号的输入脚,采用查询方式进行AD转换。采样结果存储在数组中,共有10个单体电压信号,一个组电压信号,一个均衡电流信号,共12个模拟信号。通过DG406接入XC888

 

数据处理模块

数据处理模块主要包括两个部分,一是AD采样的数据处理,主要是滤波平均。将处理后数据最为最终数据。我采用的方式就是最简单的单点连续采样在去除5个最高最低后取平均值得方式。各位有什么好的采样方面的C例程可以发过来让我抄袭一下,赫赫。第二部分实际就是保护模块,主要将各个采样数据与各自对应的阈值进行比较,一旦超出阈值范围,则启动相应的保护措施,以防止电池过充,过放,及均衡电路是否正常工作。

 

均衡控制模块

均衡控制模块是整个的核心模块。通过对各个单体电压值进行一系列处理后对电池进行均衡控制。

流程图如下

11 均衡控制流程图

0
回复
dongjiating
LV.3
13
2011-10-20 13:42
@dongjiating
上图是目前大多数均衡采用的方式,大家可以作为参考,目前我采用的方案就是借鉴飞渡电容法,只是将电容变为DC/DC了。而且使用单体到单体,大大缩短了均衡的时间。等到样板做出来,测试完后,我会把结果发上来大家再讨论。下图是我的均衡电路的框图以上所说的都是能量转移的均衡方式。但在小电流均衡(通常在500mA以下)时,采用最多的则是电阻放电法。原理很简单,通过每串单体上并联一个串接的开关和电阻,一旦某串单体电压高出均衡阈值,则接通开关,通过电阻将多余的能量释放掉。电路简单。但大电流情况下就不能使用。原理图如下:以上叙述的主要是均衡电路的硬件设计,下面要说的就是均衡电路的软件设计。针对硬件设计的补充:上文主要叙述的是单模块均衡电路的设计,在实际应用中,每个模块10个单体,共11个模块,外加一个组模块,共有12个模块。MCU选用的是Infineon的XC888。本身带有8路10位AD,CAN接口,基本能够满足要求了。首先申明,我本身不是专业做软件出身,而且所有的代码都是自己手写的,设计过程也不规范,还请大家见谅。 软件部分主要包括以下几个模块:I/O模块 AD模块 数据处理模块 均衡控制模块 CAN模块 软件流程图如下:图10均衡软件流程图 各部分功能如下:I/O模块主要是对外控制一些外设和进行选址。主要有均衡电路输入,输出单体地址,信号采集地址,功率电路启动控制,均衡启动控制,均衡关闭控制等。 AD模块电路中使用XC888的P2.3作为模拟信号的输入脚,采用查询方式进行AD转换。采样结果存储在数组中,共有10个单体电压信号,一个组电压信号,一个均衡电流信号,共12个模拟信号。通过DG406接入XC888。 数据处理模块数据处理模块主要包括两个部分,一是AD采样的数据处理,主要是滤波平均。将处理后数据最为最终数据。我采用的方式就是最简单的单点连续采样在去除5个最高最低后取平均值得方式。各位有什么好的采样方面的C例程可以发过来让我抄袭一下,赫赫。第二部分实际就是保护模块,主要将各个采样数据与各自对应的阈值进行比较,一旦超出阈值范围,则启动相应的保护措施,以防止电池过充,过放,及均衡电路是否正常工作。 均衡控制模块均衡控制模块是整个的核心模块。通过对各个单体电压值进行一系列处理后对电池进行均衡控制。流程图如下图11均衡控制流程图

没有人看阿 伤心了

0
回复
2011-11-02 09:35

帮顶下

0
回复
zcyzvs
LV.3
15
2011-11-02 12:45
@dongjiating
没有人看阿伤心了

    今天才看到这个帖子,写的非常不错,我对BMS非常的有兴趣的,大师能不能留过联系方式呢?

0
回复
123000a
LV.2
16
2011-11-04 14:40
@dongjiating
没有人看阿伤心了

有在看啊。。。

写的不错,容易看懂。

0
回复
dongjiating
LV.3
17
2011-11-05 08:32
@zcyzvs
   今天才看到这个帖子,写的非常不错,我对BMS非常的有兴趣的,大师能不能留过联系方式呢?
QQ:50859954
0
回复
2011-11-07 13:14
多谢分享,学习了
0
回复
st.you
LV.9
19
2011-11-07 14:20
一度对磷酸铁锂电池组的均衡比较感兴趣,还为此设计过双向的DC-Dc,只是后来对电池的研究发现其放电平台的原因导致只有到了放电后期均衡电路才能起作用,为了使电池不至于过放电损坏,需要超大电流的DC-DC,可靠性会很差,就没往下研究了。
0
回复
dongjiating
LV.3
20
2011-11-08 09:44
@dongjiating
上图是目前大多数均衡采用的方式,大家可以作为参考,目前我采用的方案就是借鉴飞渡电容法,只是将电容变为DC/DC了。而且使用单体到单体,大大缩短了均衡的时间。等到样板做出来,测试完后,我会把结果发上来大家再讨论。下图是我的均衡电路的框图以上所说的都是能量转移的均衡方式。但在小电流均衡(通常在500mA以下)时,采用最多的则是电阻放电法。原理很简单,通过每串单体上并联一个串接的开关和电阻,一旦某串单体电压高出均衡阈值,则接通开关,通过电阻将多余的能量释放掉。电路简单。但大电流情况下就不能使用。原理图如下:以上叙述的主要是均衡电路的硬件设计,下面要说的就是均衡电路的软件设计。针对硬件设计的补充:上文主要叙述的是单模块均衡电路的设计,在实际应用中,每个模块10个单体,共11个模块,外加一个组模块,共有12个模块。MCU选用的是Infineon的XC888。本身带有8路10位AD,CAN接口,基本能够满足要求了。首先申明,我本身不是专业做软件出身,而且所有的代码都是自己手写的,设计过程也不规范,还请大家见谅。 软件部分主要包括以下几个模块:I/O模块 AD模块 数据处理模块 均衡控制模块 CAN模块 软件流程图如下:图10均衡软件流程图 各部分功能如下:I/O模块主要是对外控制一些外设和进行选址。主要有均衡电路输入,输出单体地址,信号采集地址,功率电路启动控制,均衡启动控制,均衡关闭控制等。 AD模块电路中使用XC888的P2.3作为模拟信号的输入脚,采用查询方式进行AD转换。采样结果存储在数组中,共有10个单体电压信号,一个组电压信号,一个均衡电流信号,共12个模拟信号。通过DG406接入XC888。 数据处理模块数据处理模块主要包括两个部分,一是AD采样的数据处理,主要是滤波平均。将处理后数据最为最终数据。我采用的方式就是最简单的单点连续采样在去除5个最高最低后取平均值得方式。各位有什么好的采样方面的C例程可以发过来让我抄袭一下,赫赫。第二部分实际就是保护模块,主要将各个采样数据与各自对应的阈值进行比较,一旦超出阈值范围,则启动相应的保护措施,以防止电池过充,过放,及均衡电路是否正常工作。 均衡控制模块均衡控制模块是整个的核心模块。通过对各个单体电压值进行一系列处理后对电池进行均衡控制。流程图如下图11均衡控制流程图

11 均衡控制流程图

迟滞均衡的名字是我自己起的,类似迟滞比较器的作用 觉得比较形象而以。

 

具体差值目前设置的最大窗口是50mv-70mv。迟滞周期是2个周期。

 

由于均衡控制判据采用电压判据的方式,在实际应用中,对于钴酸锂的电池效果还不错,(实际我以前做的都是锰酸锂类的)但针对磷酸铁锂,一方面还没有做过实际的试验,再者,根据铁锂的测试数据,

 

铁锂放电曲线

 

钴酸锂放电曲线

由上图可知,铁锂的放电平台较钴酸锂的平台要更加平缓,故这个会导致在铁锂电池平台阶段的均衡会非常困难,故均衡主要放在末期,这个就需要更长的均衡时间,所以在电池的放电控制策略上需要做出调整。(注:充电则相对要好很多,充电末期本身恒压阶段就有充足的时间,而且这个阶段充电电流较小,均衡电流相对较大,可以有效快速的均衡。)

CAN模块:主要是将系统所需要的数据发送到总线上。通信用。

 

 

(一)   其它外设

主要外部设备就是充放电开关,风机控制开关,充电机断开开关,DC/DC断开开关,放浪涌控制信号等。一般都通过输出高低电平信号进行控制。

 

下面进行一个实例设计

 

要求:设计一个110串,60Ah磷酸铁锂电池报的电池管理系统,系统采用风冷的方式。放电DOD不大于95%。(暂时不考虑两组电池,这个涉及到电机控制,我不是很熟悉,所以不好讨论)

  

设计过程

  1 首先,根据电池特性,电池平台电压是3.3V,放电截止电压为2.8 *110 V,单体保护电压为2.5V,充电恒压段电压为3.7*110V,单体保护电压是3.8V

  2 根据负载特性,按照平均放电电流为30A,基本上为60km/h以上的速度了(不同的车情况不一样),足够城市状态下使用了。充电电流为8A。均衡电流为5A。采用主动均衡的方式。

 

  3 第一步 是布局设计,当然这个涉及到不同的车又不同的状况,不可一概而论,这里仅仅是针对电池管理系统而言,从尽可能有利的布局方式来考虑。

   

电池为110串,共分成10个模组,每个模组11个单体,每块单体配备一块单体均衡板,整包配置一块模组均衡板。布置图如下。

 

其中,各个模组的均衡板越靠近电池模组越好,一方面降低了传输线路上寄生参数所导致的干扰,其次减少了传输线路上的损耗。可借鉴收集电池或笔记本电池上的保护板安装方式。而模组之间的均衡板(母板)则安装在公共机箱内,这样有利于散热。

公共机箱内主要安装模组间的均衡板,MCU,信号采集系统(除单体电压和温度信号,这些信号在均衡板上采集)及一些外设(如充放电继电器,防浪涌开关等)。

公共机箱一般是贴近电池安装,有利于减少干扰。

 

第二步 电路设计

均衡板硬件电路设计:

主功率回路采用反激拓扑 输入2.7~4.2V,输出2.7~4.2V,电流0~5ADC/DC电路。工作电源通过模组电压变换后得到。

11路单体电压信号+1路组电压信号+1路均衡电流信号采用光耦隔离采样,11路温度信号采用电阻分压采样。

控制芯片使用Infineon公司的XC8888位单片机,10AD)。

 

0
回复
dongjiating
LV.3
21
2011-11-08 09:48
@dongjiating
图11均衡控制流程图迟滞均衡的名字是我自己起的,类似迟滞比较器的作用觉得比较形象而以。 具体差值目前设置的最大窗口是50mv-70mv。迟滞周期是2个周期。 由于均衡控制判据采用电压判据的方式,在实际应用中,对于钴酸锂的电池效果还不错,(实际我以前做的都是锰酸锂类的)但针对磷酸铁锂,一方面还没有做过实际的试验,再者,根据铁锂的测试数据, 铁锂放电曲线 钴酸锂放电曲线由上图可知,铁锂的放电平台较钴酸锂的平台要更加平缓,故这个会导致在铁锂电池平台阶段的均衡会非常困难,故均衡主要放在末期,这个就需要更长的均衡时间,所以在电池的放电控制策略上需要做出调整。(注:充电则相对要好很多,充电末期本身恒压阶段就有充足的时间,而且这个阶段充电电流较小,均衡电流相对较大,可以有效快速的均衡。)CAN模块:主要是将系统所需要的数据发送到总线上。通信用。  (一)  其它外设主要外部设备就是充放电开关,风机控制开关,充电机断开开关,DC/DC断开开关,放浪涌控制信号等。一般都通过输出高低电平信号进行控制。 下面进行一个实例设计 要求:设计一个110串,60Ah磷酸铁锂电池报的电池管理系统,系统采用风冷的方式。放电DOD不大于95%。(暂时不考虑两组电池,这个涉及到电机控制,我不是很熟悉,所以不好讨论)  设计过程 1首先,根据电池特性,电池平台电压是3.3V,放电截止电压为2.8*110V,单体保护电压为2.5V,充电恒压段电压为3.7*110V,单体保护电压是3.8V。 2根据负载特性,按照平均放电电流为30A,基本上为60km/h以上的速度了(不同的车情况不一样),足够城市状态下使用了。充电电流为8A。均衡电流为5A。采用主动均衡的方式。  3第一步是布局设计,当然这个涉及到不同的车又不同的状况,不可一概而论,这里仅仅是针对电池管理系统而言,从尽可能有利的布局方式来考虑。   电池为110串,共分成10个模组,每个模组11个单体,每块单体配备一块单体均衡板,整包配置一块模组均衡板。布置图如下。 其中,各个模组的均衡板越靠近电池模组越好,一方面降低了传输线路上寄生参数所导致的干扰,其次减少了传输线路上的损耗。可借鉴收集电池或笔记本电池上的保护板安装方式。而模组之间的均衡板(母板)则安装在公共机箱内,这样有利于散热。公共机箱内主要安装模组间的均衡板,MCU,信号采集系统(除单体电压和温度信号,这些信号在均衡板上采集)及一些外设(如充放电继电器,防浪涌开关等)。公共机箱一般是贴近电池安装,有利于减少干扰。 第二步电路设计均衡板硬件电路设计:主功率回路采用反激拓扑输入2.7~4.2V,输出2.7~4.2V,电流0~5A的DC/DC电路。工作电源通过模组电压变换后得到。11路单体电压信号+1路组电压信号+1路均衡电流信号采用光耦隔离采样,11路温度信号采用电阻分压采样。控制芯片使用Infineon公司的XC888(8位单片机,10位AD)。 

MCU及外围电路原理图如下

采样电路原理图如下(本图针对的是10串单体)

单体选择开关及外围电路原理图如下

主功率电路原理图

供电电源原理图

以上是11串(图中为10串)一个模组所配对的均衡器(子板)

 

另需要一个模组间均衡用的均衡板,也称为母板

 

与子板不同之处:主功率回路的输入和输出改为 输入 29.7~46.2V,输出29.7~46.2V,电流0~5A,拓扑换为双管正激或半桥(本人选择的是半桥,好像有点浪费啊,赫赫)。供电则使用外接12V电源供电。

         其余部分与子板一样。

 

至此,均衡部分硬件电路设计完毕

 

BMS主控板设计,MCU选用的是MC9S12.

         主要还是描述一下一些设计的基础,由于均衡板设计已经完成,整个系统采用CAN总线通讯方式,各均衡子板及母板将温度信号,单体电压信号,模组电压信号通过CAN总线传输至主控板,主控板主要功能:

1 热控系统

 

主要是进行电池的散热。系统采用风冷方式,具体的风道,风扇之类有专人设计。使用可调速风扇。BMS只负责进行启动和关闭控制。

控制策略如下图

2 电池保护系统

主要预防电池单体过压欠压保护,单点过温保护,组过压欠压保护,组过电流保护,绝缘检测,12V小电池检测及保护。

         电压及电流的保护均通过数据采集处理后和保护点阈值比较。

通常情况下:

过压采用双阈值保护,低阈值一般报警,不影响正常工作,但将报警上报,需处理。高阈值严重报警,直接断开功率回路,并不可恢复。

过流采用单阈值保护,直接断开功率回路,恢复后,连续产生3次后,断开后不再恢复。

单点过温采用窗口保护方式,断开电池功率回路后,单点恢复到可启动值后恢复正常工作。

绝缘检测目前使用的是桥式采样法,采用双阈值保护法,低阈值一般报警,不影响正常工作,高阈值断开功率回路,且不可恢复。

12V小电池检测采用不间断检测法,使用纯硬件检测,一旦低于阈值,直接报警。

 

 

0
回复
dongjiating
LV.3
22
2011-11-08 09:49
@dongjiating
MCU及外围电路原理图如下采样电路原理图如下(本图针对的是10串单体)单体选择开关及外围电路原理图如下主功率电路原理图供电电源原理图以上是11串(图中为10串)一个模组所配对的均衡器(子板) 另需要一个模组间均衡用的均衡板,也称为母板 与子板不同之处:主功率回路的输入和输出改为输入29.7~46.2V,输出29.7~46.2V,电流0~5A,拓扑换为双管正激或半桥(本人选择的是半桥,好像有点浪费啊,赫赫)。供电则使用外接12V电源供电。        其余部分与子板一样。 至此,均衡部分硬件电路设计完毕 BMS主控板设计,MCU选用的是MC9S12.        主要还是描述一下一些设计的基础,由于均衡板设计已经完成,整个系统采用CAN总线通讯方式,各均衡子板及母板将温度信号,单体电压信号,模组电压信号通过CAN总线传输至主控板,主控板主要功能:1热控系统 主要是进行电池的散热。系统采用风冷方式,具体的风道,风扇之类有专人设计。使用可调速风扇。BMS只负责进行启动和关闭控制。控制策略如下图2电池保护系统主要预防电池单体过压欠压保护,单点过温保护,组过压欠压保护,组过电流保护,绝缘检测,12V小电池检测及保护。        电压及电流的保护均通过数据采集处理后和保护点阈值比较。通常情况下:过压采用双阈值保护,低阈值一般报警,不影响正常工作,但将报警上报,需处理。高阈值严重报警,直接断开功率回路,并不可恢复。过流采用单阈值保护,直接断开功率回路,恢复后,连续产生3次后,断开后不再恢复。单点过温采用窗口保护方式,断开电池功率回路后,单点恢复到可启动值后恢复正常工作。绝缘检测目前使用的是桥式采样法,采用双阈值保护法,低阈值一般报警,不影响正常工作,高阈值断开功率回路,且不可恢复。12V小电池检测采用不间断检测法,使用纯硬件检测,一旦低于阈值,直接报警。  

3 充电控制系统

         锂离子电池充电控制一般都是通过充电机自主控制的方式,BMS通过CAN发送充电曲线,但由于种种原因,目前电池的充电曲线中并未加入温度因素,充电曲线通常根据预先设定值给出,并没有发挥出其优势。仅给出恒压点3.7*110V,恒流值8A,截止电流0.35A,输入电压保护值220V+15%,220V-15%,输入电流限流值16A,充电机限温值(壳体温度)65摄氏度。充电机具备恒压,限流,输入电流跟随,温度跟随,防反接,输入输出保护等功能。

         充电机的设计在上文已经叙述过了,这里就不再重复了。当然了,理想化的设计是在充电控制中加入电池寿命和环境温度的制约因素。当然这个就比较多了,目前也没有成熟的数据或者例子可以参考。这个需要电池方面做出大量的试验及能够提供准确的数据。        

 

4 放电控制系统

         放电控制系统并不是针对DC-DC所做出的一些控制,12V小电池主要由DC-DC自主监控,并外加一个硬件监控电路。放电控制系统主要针对电池在放电过程中根据电池的剩余SOC及电池组和单体的电压状况,电池组温度状况来调节电池的放电状态。(若能够从电池方面得到一个V-T的曲线会更有利于保护设计)

         通常根据温度,电池状态,剩余容量来设置放电状态。

在本设计中,采用以下的控制策略,如图

在本设计中,因试验数据不足,并未加入电池寿命的影响因素,在电池寿命末期,会对使用有一定影响。

 

 

5  SOC计算

         对于目前对SOC计算网上的讨论很多,有很多种方法,但实际上我个人认为,本身对电池的保护,使用电压参考相对SOC参考来说,要容易实现的多,毕竟使用电压参考,只需要引入环境温度,电池寿命状态(循环次数)这两个变量,再辅以SOC和放电电流即可,而使用SOC,涉及到环境温度,电池寿命,放电电流,充放电效率,电池寿命状态(循环次数),SOC修正,初始SOC修正等很多因素。当然,使用电压参考很难准确的去判断续航里程等车辆状态,所以在本设计中,最终判据通常是根据电压和环境温度来作为电池保护依据,辅以SOC,当然这个是个人的设计思想,未必准确。

         本设计中,SOC计算使用安时积分法,通过每次充电来修正SOC,设置为标称容量。当然这种方法的SOC在寿命中期和后期误差会非常大。

         计划将来修改方法:除初次使用采用充电来修正SOC,设置为标称容量,再后续使用中,通过电压和温度来修正SOC,这种方法准确率不知如何,要等待后续试验来验证。

 

6 代码整合

         基本按照上述的模块和流程图进行代码编写。然后再结合一些底层如CAN数据收发,ADI/O口(通常这些可以通过软件自动生成)。需要自己去完成的主要是SOC计算,和充放电管理这块。具体的程序代码在这里就不赘述了。

7 设计总结

         在本设计中采用的是分-总式设计,其中MCU借鉴的是几年前别人设计的,所以芯片也没有改,在后续改进中会去做一些修改,尽量使用一家公司的芯片。在均衡器的设计中采用了分布式系统,11个子系统各自独立管理,母板又可以将各个子板之间均衡一致,但不参与10块子板之间的管理,这11个子系统进行均衡处理和电池状态检测,判断,但不作任何处理,只将检测结果上报主控板,由主控板统一处理。主控板根据各子系统的检测结果进行相应处理,同时对电池的充放电进行管理。

 

好了,基本的BMS的设计就完成了,车上用的还会有一些额外的要求,比如充电口接入信号,KEY启动信号等,这个都可以按照要求加入进来就可以了。

 

当然了,上述的都是一些基本设计,不过应该可以大致的了解BMS的一些基本功能和作用了。具体设计时还会有些具体的要求。如果大家有兴趣可以发邮件给我,大家一起讨论。

 yuan.fu0511@gmail.com

 

图中间插入不了,大家可以下载附件,那里面很完整.(附件在1楼)

0
回复
dongjiating
LV.3
23
2011-11-08 11:04
@dongjiating
3充电控制系统        锂离子电池充电控制一般都是通过充电机自主控制的方式,BMS通过CAN发送充电曲线,但由于种种原因,目前电池的充电曲线中并未加入温度因素,充电曲线通常根据预先设定值给出,并没有发挥出其优势。仅给出恒压点3.7*110V,恒流值8A,截止电流0.35A,输入电压保护值220V+15%,220V-15%,输入电流限流值16A,充电机限温值(壳体温度)65摄氏度。充电机具备恒压,限流,输入电流跟随,温度跟随,防反接,输入输出保护等功能。        充电机的设计在上文已经叙述过了,这里就不再重复了。当然了,理想化的设计是在充电控制中加入电池寿命和环境温度的制约因素。当然这个就比较多了,目前也没有成熟的数据或者例子可以参考。这个需要电池方面做出大量的试验及能够提供准确的数据。         4放电控制系统        放电控制系统并不是针对DC-DC所做出的一些控制,12V小电池主要由DC-DC自主监控,并外加一个硬件监控电路。放电控制系统主要针对电池在放电过程中根据电池的剩余SOC及电池组和单体的电压状况,电池组温度状况来调节电池的放电状态。(若能够从电池方面得到一个V-T的曲线会更有利于保护设计)        通常根据温度,电池状态,剩余容量来设置放电状态。在本设计中,采用以下的控制策略,如图在本设计中,因试验数据不足,并未加入电池寿命的影响因素,在电池寿命末期,会对使用有一定影响。  5 SOC计算        对于目前对SOC计算网上的讨论很多,有很多种方法,但实际上我个人认为,本身对电池的保护,使用电压参考相对SOC参考来说,要容易实现的多,毕竟使用电压参考,只需要引入环境温度,电池寿命状态(循环次数)这两个变量,再辅以SOC和放电电流即可,而使用SOC,涉及到环境温度,电池寿命,放电电流,充放电效率,电池寿命状态(循环次数),SOC修正,初始SOC修正等很多因素。当然,使用电压参考很难准确的去判断续航里程等车辆状态,所以在本设计中,最终判据通常是根据电压和环境温度来作为电池保护依据,辅以SOC,当然这个是个人的设计思想,未必准确。        本设计中,SOC计算使用安时积分法,通过每次充电来修正SOC,设置为标称容量。当然这种方法的SOC在寿命中期和后期误差会非常大。        计划将来修改方法:除初次使用采用充电来修正SOC,设置为标称容量,再后续使用中,通过电压和温度来修正SOC,这种方法准确率不知如何,要等待后续试验来验证。 6代码整合        基本按照上述的模块和流程图进行代码编写。然后再结合一些底层如CAN数据收发,AD,I/O口(通常这些可以通过软件自动生成)。需要自己去完成的主要是SOC计算,和充放电管理这块。具体的程序代码在这里就不赘述了。7设计总结        在本设计中采用的是分-总式设计,其中MCU借鉴的是几年前别人设计的,所以芯片也没有改,在后续改进中会去做一些修改,尽量使用一家公司的芯片。在均衡器的设计中采用了分布式系统,11个子系统各自独立管理,母板又可以将各个子板之间均衡一致,但不参与10块子板之间的管理,这11个子系统进行均衡处理和电池状态检测,判断,但不作任何处理,只将检测结果上报主控板,由主控板统一处理。主控板根据各子系统的检测结果进行相应处理,同时对电池的充放电进行管理。 好了,基本的BMS的设计就完成了,车上用的还会有一些额外的要求,比如充电口接入信号,KEY启动信号等,这个都可以按照要求加入进来就可以了。 当然了,上述的都是一些基本设计,不过应该可以大致的了解BMS的一些基本功能和作用了。具体设计时还会有些具体的要求。如果大家有兴趣可以发邮件给我,大家一起讨论。 yuan.fu0511@gmail.com 图中间插入不了,大家可以下载附件,那里面很完整.(附件在1楼)

终于写完了 要求加精,累死了 哈哈哈哈哈

0
回复
dongjiating
LV.3
24
2011-11-09 09:04
@st.you
一度对磷酸铁锂电池组的均衡比较感兴趣,还为此设计过双向的DC-Dc,只是后来对电池的研究发现其放电平台的原因导致只有到了放电后期均衡电路才能起作用,为了使电池不至于过放电损坏,需要超大电流的DC-DC,可靠性会很差,就没往下研究了。
这么辛苦写完了,没有人关注阿 ,要求置顶
0
回复
zcyzvs
LV.3
25
2011-11-09 09:13
@dongjiating
这么辛苦写完了,没有人关注阿 ,要求置顶[图片]

大师,你写的非常的经典啊,顶你,膜拜

0
回复
ice007
LV.1
26
2011-11-09 09:44
@zcyzvs
大师,你写的非常的经典啊,顶你,膜拜
大师,你写的非常的经典啊大师,你写的非常的经典啊
0
回复
guyan6175
LV.5
27
2011-11-09 10:25
@dongjiating
这么辛苦写完了,没有人关注阿 ,要求置顶[图片]

学习中,顶一下

0
回复
dongjiating
LV.3
28
2011-11-09 10:44
@guyan6175
学习中,顶一下

满足一下虚荣心 哈哈哈哈

0
回复
dongjiating
LV.3
29
2011-11-10 09:07
@st.you
一度对磷酸铁锂电池组的均衡比较感兴趣,还为此设计过双向的DC-Dc,只是后来对电池的研究发现其放电平台的原因导致只有到了放电后期均衡电路才能起作用,为了使电池不至于过放电损坏,需要超大电流的DC-DC,可靠性会很差,就没往下研究了。

也不会,这个要结合你的管理策略的,文中关于放电控制策略有描述,应该是足够时间均衡了

0
回复
隐形专家
LV.10
30
2011-11-10 10:52
@dongjiating
也不会,这个要结合你的管理策略的,文中关于放电控制策略有描述,应该是足够时间均衡了
 
0
回复
doctor_liu
LV.4
31
2011-11-26 08:00
学习
0
回复