本文为励展博览集团及NE时代于4月25-26日联合主办的 "第三届AWC2019新能源汽车三电系统开发与测试技术大会" 演讲嘉宾的现场实录。
演讲人:王成 亚德诺半导体(ADI)电池管理系统资深应用工程师
演讲主题:高性能模拟技术在锂电池管理系统中的应用
大家好,我是来自于亚德诺的王成,主要介绍一下半导体方案在BMS具体的一些技术上的问题,以及安全上的考虑。
按照惯例,介绍一下ADI在半导体的状态。ADI是1965年成立,总部位于美国,从名字当中可以看出,主要是在模拟器件上的研发和投入。模拟器件,大家知道如果采集、收集声光电,需要做一些处理,这个就是我们公司产品的主要内容。这边有介绍我们公司的基本情况,我们在全球有45个研发中心,是一个国际化的企业。目前产品四万五千多样。这是产品上,从传感方面的器件,包括振动信号,加速度信号,到测量、连接、甚至后续数据处理算法,都是有一些非常好的产品。ADI一直以高性能著称,目前大部分高精尖的设备,ADI基本上都是必选的供应商。
演讲内容分四个方面。第一,BMS在电气上面的设计,几个演讲嘉宾提到了BMS的结构以及设计如何做。今天我主要介绍在电气、数据处理上BMS如何设计。第二部分,有3个方面,主要是在BMS设计过程中,有哪些指标需要重点考虑,性能安全方面的考虑,以及在通讯上的设置。下面看一下BMS里面典型的图,介绍一下BMS结构,主要分为四个大类。第一个是热管理。第二部分是高压配电系统,电池通常是400伏左右,后续会有考虑升高到800伏,考虑到车架的线材,它可以用更细的线,为汽车做减重的考虑。高压配电系统内包括继电器,熔断器等等,包括一些开合状态,和绝缘监测等监控。第三和第四个是传统意义上讨论BMS,一个是CMU,一个是CSC。图中黑色的是BMU,这边有很多小的盒子就是CMU。CMU跟每个模组做一个连接,测量模组上每个电芯的电压状态。这边也有列出一些在设计中的挑战,主要针对在电气上的挑战,之前也讨论过很多。这边主要是功能安全,ISO26262这个标准大家都知道,在BMS设计过程中这也是很关键的地方,它是新能源汽车领域电气相关和人身安全、车辆安全直接相关的。功能安全的考虑也需要芯片做一些配合,做一些诊断。其次是测量精度,刚才有人提到电池会过压过充或者过放引起各种各样的故障,如何防止电池处在正常的工作电压范围内,监控电池电压这是必须要做的内容。但是如何保证监控的精度,比如这里测量的3.2伏,但是实际已经3.6了,误差比较大会带来很多问题。4.2伏电池或者4.1伏的电池不可以用满,肯定要留一些裕量,把最高充电电压设置到4.05甚至更高的容量,这样就限制了电池的可用容量,精度就受限了。其次是通讯抗干扰能力,电池包里面基本上没有特别多的干扰来源,主要是一些继电器、发动器。第四个是电流测量,对于整包来说,电流范围从禁止到加速,电流范围波动很大。最后一个是热处理,这个是非常关键的因素。
这是典型的BMS设计的框架图,首先BMS结构分为很多种,在这里给大家展示的是一个分布式的系统。这边是BMU,BMS最主要的控制和执行的主控。它这边会通过一些隔离通讯和子板通讯,我们这个子板都是高压电池,而BMU是由车内低压12V供电,两边是电气隔离的,这就涉及到绝缘监测,是不是存在漏电流的风险。绿色的是传统意义上CMU或者CSC的芯片,它的作用是直接跟每个模组相连,直接采集模组里面电芯的电压和温度,它的精度直接关系到BMU做的处理,应该停充还是放电。它的芯片准确度和可靠性直接关系到采集系统的可靠性和使用安全。另外,高压配电箱会监测继电器闭合的状态。
BMS系统,刚才介绍了它整个作用,主要用来监控,监控它的温度、电压还有电流,前面温度和电压是通过CMC检测的。因为串联系统,电流是相同的,所以在整个包里面只需要放一个电流采集单元就可以了。第二就是通讯,主要分为BMS通讯和CMU通讯。BMS通讯主要分为整车系统跟外部做通讯。现在电压电流状况和电池温度状况,控制快速充电桩让它继续充还是什么。内部CMU需要有一个数据交互,把信息采集给BMU。还有抗干扰能力还有均衡。这边看一下电池通常采用的连接方式,最常见的是e的方式,c也有,单串或者单串并联或者串联的,c和e两种方式每个电芯都是一个独立的个体,都会存在不一致性。如果在串联系统中,有些电池容量偏低,电池在放电过程中由于电流是一样的,释放出来的库伦量是一样的,因为电池有老化或者过热,导致容量衰减,它的电压达到了它的最低放电压之后,即使还有容量,电压还很高。这种情况下,需要考虑均衡,在充电过程中也是一样,把它进行放电,主动平衡设计得更复杂一点。
最后是保护,这是EMU的主要作用。然后诊断,诊断电池会有什么样的损伤,这个诊断功能在CMU上也会做一部分的处理。通常来说ISO26262有一个详细规范,有三个纬度去评估这样一个设备需要什么样的安全等级。ASILD是最高等级,分为五级,QM是一级,就是ACEQ的认证,ASILA是第一级。通常对BMS来说,至少是C级别的要求。最后是一个控制,这个就是所谓的CMU主要的功能和芯片简单的介绍,确保电池在安全范围内,从而把数据传输出来。
采集性能方面我们如何设计?电池电压的采集可以看到这两个图分别是两种电芯的放电曲线。第一个是三元电池,第二个是磷酸铁锂。蓝色这条线可以看到三元电池放电过程,电压其实是非常轻捷的状态,如果测量到某一个点,我可以很自然地找到它对应的SOC状态,当然这是在电池里面,我们称为开路电压,OCD对BOD放电表。如果比较倾斜的话,对于磷酸铁锂电池来说从75%开始,一直到30%的范围里面,电芯电压只有十几毫伏的变化,对于这样的系统来说精度要求非常高,如果误差一毫伏,就可能有5~10%的容量误差,很多情况下很困难。通常结合去判断SOC时,不光判断电压,负能量也是很重要的指标,我们会做电流积分,判断从满充到放出了多少库容量,这样就知道剩余多少,可以跑多远。电池是一个受温度和受寿命影响非常大的化学过程,所以需要考虑温度补偿和负担补偿,也要考虑寿命补偿,这对电池建模过程中需要做很多前期实验,在不同温度下、不同负担下的放电模型。所以电池的电压监控对于生产芯片的厂家来说比较重要,要能够提供给客户最好的,保证系统SOC有最好的精度,这样用户看到之后可以完全相信剩余公里数,如果估出来是一百公里,最后只能跑六七十,对他们来说影响非常大。
这是温度的测量,这块刚才有提到很多关于温度上的电芯的敏感程度,过温会影响它的寿命。温度测量如何保证一个芯片的测量?如何保证在某个部件失效的情况下,通常用NTC测量,我需不需要贴两个做冗余判断,是否需要另外一种的温度类型检测做比较。对于采集系统来说,之前我们称它为ADC,转成数字信号方便我们系统处理。对于整个电气系统来说,现在有3、4、8串的,通常以前比较多的是12、16、24串都有,这些串联的模组电池需要通过切换开关,切换选择每一节电池的正和负,输入到ADC里面去。有两个关键部件,一个是ADC,一个是参考,你的电压究竟是1伏还是2伏,还是5伏,我需要一个参照物。ADI做了很多工作,也是市面上精度最高的产品。考虑系统误差,如果光从芯片来讲,芯片可能只需要考虑进来的电压是多少,整个电池组到芯片,中间有些连接器,连接器有线材等等,最后会影响到实际看到的系统精度。光芯片精度非常高对客户意义不大,它最后看模组板子出来的精度,这里有生产过程中带来的误差来源,外面会有因素进来,会有Solder shift、外部的漏电,另外还有长期工作了几小时之后,芯片会处于长期的工作环境中,它会有一定的漂移。所有这些参数加起来之后,才是最后客户们看到的精度。
这是我们规格书截取出来的图,这是我们的误差,基本上在3.3伏电池电压,负40~125的范围,这是分布的PPM。这个是一千小时,两千小时之后的变化,也是以PPM为单位。ADI在这块可以给大家提供最好的整体系统精度,不管是什么精度,这都是最好的状态。除了参照之外,ADC也很重要。ADC在设计过程中有两种比较通用的方法,一种是误差累加型的,有什么特点?第一种转换速度很快,一秒能采200K,但是输入带宽很高,一个信号夹杂高频低频,它都会采进去,造成输出电压跳动很多。但是误差累加型它的输入截止频率很低,电池作为很稳定的变压源,我们想知道直流信号,并不知道那么多高频信息,所以第一种整个采集系统来说是非常好的选择。
比如正常温度负40~80度的环境,把一个东西设置成工作在100度的环境是不是一定是可靠的东西?确实是,但是不是一个功能安全的设置。我为这个设备功能做了额外的检测,一个设备工作在负40~80度环境,超过这个会有问题。如果做一些冗余设计,在这个环境下肯定没问题。如果额外增加了一个模块,我去校验这个温度,如果超过这个温度之后,我让这个设备停止工作,这样一个过程才能叫做功能安全,我为这样的功能添加了一层额外的检测。有了功能安全我们会看它的安全目标是什么?我们在26262提供了一个OV和OT的目标,意思说防止电池在过压和过温的状态下,这是我们的目标。包含了两层意思,一层电池在过压和过温状态下,我需要正确的判断出来,并且让整个电池处在安全状态里。还有一层意思,如果我的电池已经处在正常的范围内你不能误报。功能安全对整个系统的要求是,我需要加额外的诊断覆盖检测功能是否正常,比如开一个继电器,这个继电器给了一个信号让它开和关,最后开了和关了你不知道,所以你需要引入一根信号线检测继电器的开合状态,这样就知道发出的指令它正确执行了,这个就是符合功能安全设计的思路。
FTTI,正常操作的某一段时间,忽然有一个故障发生了,电池过热了,或者某一根线断掉了,发生这样一个事情之后,会经过多长时间产生危害,这个需要评估。比如电池现在是60度,过了几分钟变成80度,温度还在往上升,我们就要评估这个电池是不是两分钟之后就会燃烧爆炸,我可能会取一个裕量,这边可能会有一个允许故障存在时间,我允许故障存在一分钟或者两分钟,它就会发生燃烧爆炸,这个一分钟时间我们称为FTTI。根据这个时间我们可以看到,我需要多久诊断一次,诊断之后我需要做什么处理,做什么处理之后如果发现解决不了这个故障,可能需要做一个断电操作,帮助整个系统进入一个安全状态。
超过80度允许存在一分钟,每隔100毫秒检测一下温度,我就知道这个温度是不是有变化。监测到温度变化之后,这边可以做一些动作,可以开冷却剂,可以开车里面的风扇做一个循环冷却,也可以尝试检测一下是不是有故障。在这边我们会有一些处理时间,比如用了200毫秒处理完了,发现温度还是在持续上升,这个时候只有段充电器,断放电,提醒司机停车,远离车,这都是安全状态的考虑。对于电子系统来说,也会存在一些故障,对芯片做监控的话,我们会看BMS系统里面是不是有些部件失控,这都是在电子系统里面会出现的问题,这个也是我们需要考虑的。举一个例子,做芯片的话内部会有一些断线的诊断。如果电池电压断掉了,因为有电容的存在,它不会立刻显示电池电压是多少,我们内部会有一些电流源做项拉的动作,看看电压是否稳定。如果悬空了,这边充电放电的电压波动就会比较大,我就可以判断出来。如果CEll还连在上面,充放电时候电池电压是很稳定的源,这边就可以把电压控制得非常好。
为什么我们的是一款功能安全的芯片?刚才提到我们内部芯片会有一个参考,但是对于我们来说一个参考是不够的,我需要另外一个参考做一个反复的校验,如果有漏电和故障导致参考偏了,对整个系统来说就是很大的潜在风险。为了解决这个问题,我们在所有芯片里面都放了两颗参考,并且两个参考是不同的结构,放置在不同的位置。这个参考是独立的,如果大家对芯片了解的话,芯片里面有晶圆,一个晶圆专门独立地做参考,另外一个晶圆做控制和测量、诊断,这样防止两个晶圆之间有一个影响了另外一个工作,是一个冗余设计的思考。这个是我刚才提到的漏电检测,我的ADC输入有电子电容,对于整个电子器件来说,电容失效率非常高,长期会有漏电影响。如何检测漏电?我们会提供一个冗余测量记录,我们可以测这两个之间的电压和这两个之间的电压,我们可以比较出来电容是不是存在额外的漏电,甚至电池可能有一些连接上的问题,都可以通过内部检测功能做一些检测。这是软件上的考虑,因为芯片需要软件做一些配合,它的诊断机制和诊断的运行时间,有些故障需要100毫秒做一次,有些故障不需要,每次做点火时做一次开机诊断就可以了,不同故障会有不同分类和要求。
最后谈一下通讯。通讯对于整个系统来说是比较关键的部分,我的数据采集出来,如何可靠地传输给上一级系统,整体来说提出了叫做Reversible Communication Mode。单链通讯的话,中间任何一条链路发生断线,后面这几个都会没有通讯,直接得不到数据,只能得到前面几组电池的数据,后面几组没办法跟它联系,但是如果在这里多加一个传输芯片,就可以形成一个环线的链,这个通讯可以从这个方向走,也可以从这个方向走,所以是双向的。



沪公网安备31010702008139