摘要:在当今的汽车中,不断增加的电力负荷给电池带来了巨大的挑战。超过半数因为电力系统导致的汽车故障都可以向上追溯到铅酸电池,如果了解电池状态,这些故障是可以避免的。另外,诸如起停系统(start-stop)或智能交流发电机控制等微型混合动力汽车的新功能也要求确切地了解电池状态。
电池管理系统(BMS)可通过快速、可靠地监测启动能力中的充电状态(SoC)、健康状态(SoH)和功能状态(SoF),提供必要的信息。因此,BMS可以最大限度地降低因为电池意外故障而导致的汽车故障次数,从而实现最长电池使用时间和最大电池能效,并可以支持二氧化碳减排功能。BMS的主要元件是智能电池传感器(IBS),它可以测量电池端电压、电流和温度,并计算出电池的状态。
本文将介绍如何实施使用最先进的算法来计算SoC、SoH和SoF的BMS,以及如何在飞思卡尔的铅酸电池IBS中高效地实施上述功能。
1) 简介
过去,汽车电池的充电级别一直是一项无法了解的因素,在许多情况下会导致汽车故障。根据汽车使用寿命的不同,与电池有关的故障率可能攀升至10000 ppm [1]。
对汽车电池来说另一个已经存在的非常严峻的挑战来自不断增长的电力与功耗需求,同时还需要降低二氧化碳排放。
因为电子系统在汽车创新领域里起着非常重要的作用,所以随着汽车在舒适性功能、安全相关功能电子化、混合动力汽车、驾驶辅助和信息娱乐方面的发展,对电力供应的需求也越来越高。
在另一方面,越来越多的法规出台呼吁减少二氧化碳排放和燃油消耗。
为了应对上述限制要求,需要采用高级电力管理系统,来确保在各种工作场景中电池都能为引擎启动提供足够的电力。
2) 电力管理系统
通常,支持启动-停止系统所用的典型供电网络包括一个车身控制模块(BCM)、一个电池管理系统(BMS)、一个发电机和一个DC/DC转换器(请参见图1)。
BMS通过专用的负载管理算法为BCM提供电池状态信息,通过控制发电机和DC/DC转换器稳固和管理供电网络。DC/DC转换器为汽车内部的各个电气元件供电。 (图片)
图1:典型启动-停止系统中使用的供电网络示例 通常,铅酸电池的BMS直接安装在电池夹的智能连接器中。连接器包括一个低阻值分流电阻(通常在100uOhm范围内)和一个带有高度集成设备的小型PCB,该集成设备具有准确的测量和处理功能,称之为智能电池传感器(IBS, 参见图2)。IBS即便在最恶劣的条件下也能以高解析度和精确度测量电池电压、电流和温度,并能够在电池的整个使用寿命中准确地预测电池的充电状态(SoC)、健康状态(SoH)和功能状态(SoF)。这些参数定期或根据要求通过一个获得汽车行业认证的车载网络传送至BCM。(图片)
图2:铅酸电池的典型智能电池传感器 除上述功能和参数功能外,对IBS提出的其他主要要求包括低功耗、能够在恶劣的汽车行驶环境中(即EMC和ESD)工作、进行汽车OEM厂商验收的车载通信接口一致性测试(即,LIN)、满足汽车等级测试限制(针对被测参数的六西格玛限制),另外还需符合AEC-Q100标准要求。
飞思卡尔宣布推出一款完全集成的LIN电池监控设备,它基于Freescale S12 MCU技术[2],能够满足上述所有参数要求。该设备包括三个独立的测量通道:通过外部分流电阻测量电流;通过直接安装在电池负极的串联电阻测量电池电压;通过集成传感器测量温度。采用一个集成LIN 2.1接口直接将传感器连接至LIN总线,无需其他部件。飞思卡尔IBS完全符合汽车行业的AEC-Q100标准要求。
在下面几章里,我们将为您介绍使用飞思卡尔IBS的BMS的实施方案,以及如何通过使用IBS的硬件特性和定点算法来实现BMS的高效运行。
3) 电池监控
正如第2)部分中所提到的,IBS的主要用途是监控电池状态,并根据需要将状态变量传送至BCM或其他ECU。电池监控输入值将使用已测量的电池电流、电池电压和温度采样值。电池监控输出值是SoC、SoH和SoF值。
3.1) 充电状态 (SoC)
SoC的定义非常直观,通常以百分数的形式表示。完全充电的电池SoC为100%,完全放电的电池SoC为0%。SoC值随电池的充电和放电改变。
该值通过公式(1)计算,其中Cr代表电池的剩余(可放电)电量,Ca代表电池的可用总电量:(图片) 但是,有一个问题是可用电池电量常常与电池的标称容量(通常标注在电池外壳的标签上)不同。对于一个新电池,它可能比标称容量稍高,对于已经使用一段的电池来说,可用电量会降低。另一个问题是,实际可用电量很难根据IBS的输入值来确定。
因此,SoC通常额定为标称容量Cn,它具有多项优势:
特定SoC的电池的可用总充电电量是已知的,包括旧电池。
测试Cn点的电流(I=Cn/20h)和温度(27 °C)是可确定的
共有2种常用的SoC计算方法:库仑计数算法,也称为电流集成或安培-小时平衡,以及开路电压(OCV)测量。
库仑计数算法是跟踪SoC快速变化的最佳算法。它基于流进和流出电池集成电流并根据实际情况采纳经过计算的SoC。公式(2)用于SoC计算,其中Q(t0)表示电池的初始电量,α表示效能因子,i(t)表示电流(正向或负向),Cn表示电池的标称容量。(图片) 除了α因子以外,公式中的参数都非常直观。这是一个用来描述效能的因子,也称为Peukert定律[3] [4]。它表述了在不同放电率的情况下铅酸电池的电量。当放电率提高时,电池的可用电量将降低。另外一个影响可用电量的参数是温度。温度越高,可用电量也就越高。两种效能都使用α描述,因此α值需要采用一个2维数组(温度和放电率)。根据测量到的温度和放电率,相应的值分别用于每一个集成步骤。α值在很大程度上取决于电池的设计和化学组成,通常情况下即使是同一家制造商的不同型号的电池该值也会有所不同。他们通常已经在实验室里通过充电和放电测试。
虽然Peukert定律只适用于放电的情况,但也有一个与α值类似的效能因子用于充电周期。除了温度和充电率以外,实际的SoC 也需要考虑在内,因为在高SoC情况下的充电效能小于中等SoC情况下的充电效能。
因为综合了电流值和α值,因此在更改电池条件时产生的误差、以及电流测量和量化误差随着时间的增加变得越来越多。因此,参数Q(t0)(电流集成的起始点)通常通过一种能够提供更高精度的不同方法获得:OCV 方法。OCV是当没有电气元件从电池中获取电流时电池两极之间的电压。
铅酸电池显示OCV和SoC之间有良好的线性关系。因此,通过测量OCV,SoC可以直接计算出来。OCV和SoC之间的确切因子必须表征出来。
这种方法的唯一缺陷是,OCV只能在汽车停好以后测量,例如(几乎)所有电气元件都关闭后,或者在汽车熄火后经过数十分钟甚至小时后再测量。
因此,OCV方法常常用于校准库仑计数,库仑计数算法连续运行。这种组合方式提供了一个良好的SoC计算方法,并且可以在一个较长的停车时间内,用自放电率纠正SoC来使计算结果更加精确。
3.2) 健康状态 (SoH)
铅酸电池的各种老化效应会对电池使用造成不同的影响[5]。由于很难通过IBS逐个对这些老化效应进行监测和量化,因此SoH的额定值通常不直接与这些老化效应挂钩。相反,会随着电池的使用时间增长,容量额定值降低,这是老化的主要结果。与电池老化有关的另一个非常重要的参数是启动性能;但是它通常表述为启动能力的功能状态(SoF) (请参见第3.3节)。
因此,SoH通过公式(3)来估计,其中Caged代表老化的电池容量,Cn代表在每个SoC计算中引用的标称容量。(图片) 因为Cn 是已知的,因此计算SoH的关键任务是找到Caged。一种可能的方法是在电池的整个使用寿命内跟踪可以到达的最大电量(或SoC)。如果在随后进行的若干次完全充电后,电池的最大电量水平低于以前计算的老化容量,则表示老化容量变小。相应的,Caged 和SoH必须根据库仑计数和OCV方法确定的容量进行调整。完全充电状态可以在充电电流降低至特定门限值以下时监测。
确定SoH的另外一个方法是跟踪充电和放电周期,以电池制造商提供的周期稳定点取其额定值。通常,制造商会确保在指定温度和深度下的充电/放电周期总量,例如,在27摄氏度、25%放电深度时500个周期。通过将所有周期额定为上述数量,并应用温度和充电状态校正因子,可支持跟踪上面提到的Caged值。这些校正因子必须通过表征电池的参数来确定。
但是,这两种方法通常还会与其他专用算法结合使用,这些算法考虑了电池使用寿命中的多个电池参数。
在实验室中进行大量的电池参数表征可确定这些电池参数,通常只适用于一个特定的电池型号。
3.3) 功能状态 (SoF)
对铅酸电池来说,发动汽车引擎即便不是最重要的功能,也是非常重要的功能。因此,BMS一个非常重要的任务是预测在实际电量条件下是否能够启动汽车。启动预测通过SoF参数表示。
除了过去“传统的”停车后再启动,通过在微型混合动力汽车中引入启动-停止系统,启动预测功能正变得越来越重要。BMS必须与BCM通信并决定是否可以在引擎关闭后再次启动,以及是否可以安全地进入停止模式。
获取SoF参数的一个非常好的途径是通过分析最近的引擎启动情况、剩余电量(作为SoC和SoH的函数)和实际温度。在启动期间,电池的内部电阻(Ri)需要被记录下来(通过电压降和电流来计算)。因为Ri在电池的使用寿命中是相对一致的、并且只是在电池使用寿命结束前显著升高,因此Ri平均值需要在一个特定的门限值以下,以确保安全启动。在启动阶段老化电池的另一个影响是,从电压和电流采样中计算出的Ri值会表现出非线性的趋势[5],即,对于同等电压样本会有不同的电流值。而对于新电池来说,Ri是线性的。请参见图3和图4了解启动过程中常见的电压和电流趋势。(图片)
图3:启动电压趋势 (图片)
图4:启动电流趋势 综合Ri(通过电压降和电流来计算)、电池剩余电量和实际温度,可以很好地指示启动能力。同样,这些门限值也必须通过电池参数表征来确定。
为了使用必要的准确值来确定Ri的线性或非线性行为,所有在启动阶段取样的电压和电流值都需要使用一个线性过滤器来过滤,优选采用带通过滤器。
4) BMS在硬件和软件中的高效实施
电气能效是新型汽车一个最重要的特性,由BMS提供支持。除了管理一些节电功能外,BMS还需要具有高能效,因为它是始终开启的系统之一,当发电机不工作时需要通过铅酸电池供电。为了满足这一要求,IBS的能耗必须尽可能低。
为了实现这一目标,飞思卡尔的IBS实施采用两种低功耗模型,其中CPU和其他不需要开启的硬件(HW)模块都可以关闭。为了降低正常运行模式中的能耗,并减少客户的软件(SW)开发工作,添加了额外的硬件模块以降低软件复杂性。为了实现这一目标,可以使用规模更小、功耗更低同时也更为经济高效的16位微控制器。另外一种降低软件复杂性的方法是在整个使用寿命期间确保产品参数,并将工厂调校值存储在非易失性存储器(NVM)中。作为产品下线测试的一部分,这些调教值针对每个芯片逐个进行参数表征描述,并相应地存储。因此,在软件中无需使用复杂的校准算法。
除了在硬件中实施的这三种技术以外,本章还介绍了电池监控算法的高效软件实施方案(请参见图3)。
4.1) 低功耗模式
实施低功耗模式是一种非常好的降低功耗的方法。实现方法是,在不需要SoC部件(尤其是CPU)时将其关闭、并仅在需要时更改为正常模式(例如,激活所有硬件模块)。正如前面所提到的,共有两种低功耗模型,其不同之处仅在于CPU被唤醒后使用的程序进入点。
但是,在低功耗(即没有软件交互)模式下,也需要监控电池状态。首先,需要跟踪电流,通过库仑计数方法计算出SoC。相应地,可以支持低功耗模式下的电流测量(即,库仑计数)和电流采样值的自动求和。
IBS必须能够对电池和汽车的状态更改作出反应,即电池传感器必须在发生各种事件时唤醒。相应地,也需要测量低功耗模式期间的电流和温度。电流变化通常表明汽车状态发生变化(电气元件打开或关闭),而温度改变时有时需要重新校准测量通道参数(请参见4.3)。可以配置电流和温度采样值的门限值,如果超出门限值则触发唤醒。还可以使用自动库仑计数器门限值唤醒机制。
除了那些针对被测量参数的唤醒事件以外,还可实施其他唤醒机制,允许BCM或汽车中的其他电气设备唤醒IBS (通过LIN消息或直接导线连接),还有定时唤醒机制。
上述低功耗模式和唤醒机制的实施允许IBS在大多数时间里都运行在低功耗模式下(通常约为70%),包括引擎运行时。在正常运行模式期间,SoC、SoH和SoF参数将被重新计算。
4.2) 将软件任务迁移至硬件模块
实施专用硬件模块来承担软件中的任务是降低软件复杂性和节省电力的一种有效方式。在将此类硬件模块用于电池监控算法以前,可以非常高效地将其用于电压、电流和温度测量样本的预处理。这一点非常必要,因为汽车的电线中常常会出现干扰,并且IBS的采样值的测量准确度要求非常高。
带有抽取和抗干扰过滤器的高精度16位sigma-delta ADC非常适合这种应用,因为与其他ADC技术相比它具有高测量精确度。结合误差补偿功能(请参见4.3),已能够提供非常好的精确度。但是,在信号处理序列之后常常需要对样本再次过滤。这样做的原因是可以去除汽车中其他电气设备中的噪音,因此需要自由转换过滤器的频率特征。另外一个原因是,被观察的特定电池参数作为电池监控的一部分,与激励频率(由电池的化学组成决定)紧密联系在一起。例如,Ri就是这种情况。一个可以编程的线性过滤器可以满足所有这些要求:过滤器系数可以通过寄存器传输到硬件过滤器模块。这些寄存器可以编程一次,然后在软件中不再需要完成过滤任务。
电流测量结果面临一个挑战,因为需要针对微小电流进行高度精确的测量,同时还必须支持大范围测量。所要求的精确度要高于10mA,这意味着在100 μOhm的分流上出现1μV的压降;在汽车启动过程中,会出现1000A和更高的电流。为了支持上述两种需要同时避免出现从软件执行手动测量重新配置,需要实施一个自动增益放大器。一个可选择的增益因子将调节输入信号,使其经过优化与ADC的参考电压匹配。增益因子的调节可以自动完成,在整个运行过程中,无需对软件进行重新配置。为了便于测试目的,或如果存在特殊的应用环境,也可以选择固定增益因子。
4.3) 简化校准工作
确保设备在整个使用寿命期间都保持高精确度的一个非常重要的任务是微调和校准。为此,以前测试的纠正因子也可以应用至关键的设备参数中。作为产品线设备测试的一部分,这些因子针对不同的温度进行测试,并且存储在IBS的NVM中。在设备启动时,各个微调参数必须由软件写入至设备寄存器中。需要微调的参数可以在电流和电压测量序列中找到。另外,振荡器、电压基准和LIN计时也需要被校准。在运行期间,也会需要进行重新校准,例如需要定期执行校准或在出现温度急剧变化时执行校准。如果适合,不同的纠正因子必须再次写入至各自的寄存器。
上面提到的校准功能可以避免客户针对这些参数进行成本昂贵的产品下线测试。另外,通过简单地应用参数,还可以降低校准的软件复杂性。
4.4) 软件实施方案
在3)章节中提到的电池管理算法需要处理器密集型计算和控制算法。通常,在PC上使用基于模型的模拟工具来完成这些算法的首次实施。这些工具通常使用浮点数据格式。在之后的开发流程中,这些算法会导入到IBS上。但是,由于成本和功耗的原因,IBS所用的微控制器类上并不提供浮点硬件。因此,为了实现适用的运行时间,在算法中使用的数据类型必须转换为定点整数格式。共有多种数据类型和内在值范围可用。例如,下面列出了在飞思卡尔的IBS上提供的数据类型:(图片) 为了表示小于1的值,LSB被映射为特定的值。
该值由所需的解析度决定。通过选择其中一个可用的数据类型,可以导出该变量的可用值范围和虚拟固定小数点(固定点格式)。例如,解析度为1mV,采用标记整数数据类型,则范围为0至65.535伏特。
因为飞思卡尔IBS中有一个16位S12 CPU,因此整数数据类型可提供16位精度。这意味着8位和16位变量处理起来比32位值具有更高性能。因此,一般都是首选8位和16位变量。
从上面提到的计算SoC、SoH和SoF所用的算法实施范例中可以发现,在许多情况下,16位变量可以提供充足的值精确度和范围。这是因为电压和温度输入值都具有16位精确度(通过使用16位ADC)。其他16位精确度就已足够的值,包括SoC、SoH、Ri和纠正因子α(请参见第3章了解详细说明)。即使采用24位精确度的电流采样值,也可以在大多数时间里映射至16位。在类似3mA的精确度上,通过使用带标记的16位整数格式,可以表示+/- 98.3 A范围的电流值,无需针对数字格式进行进一步的修改。这足可以满足汽车行驶和停止期间的要求。在启动过程中,电流采样值会超过边界,必须使用32位数据格式。需要32位格式的参数是与电池充电有关的值 (例如,库仑计数器)。
5) 总结
本白皮书介绍了如何在使用飞思卡尔IBS的微型混合动力汽车中有效实施BMS。讨论了最先进的电池状态计算算法(SoC、SoH和SoF)。从中可以了解到,在功耗方面可以采用哪些特殊的硬件特性来提供IBS的效率。另外,本文还介绍了具有自动电池状态监控功能(无需软件交互)和复杂的唤醒机制的低功耗模式的使用。结果显示,IBS能够在大多数时间内处在低功耗模式中。另外,通过正确的硬件信号处理、可编程的过滤器和简化的校准方式,我们可以发现软件复杂性已经显著降低。本文还介绍了定点算法原则,结果显示,对于BMS算法中的变量来说,16位定点数据格式常常能够满足要求,只在少数时候需要32位格式。
参考文献
[1] Allgemeiner Deutscher Automobil-Club e.V., Aggregate supplier indicative data for 2004-5 Europe and North America
[2] Datasheet Freescale intelligent Precision Battery Sensor, MM912J637
[3] W. Peukert, über die Abhängigkeit der Kapazität von der Entladestromstärke bei Bleiakkumulatoren, Elektrotechnische Zeitschrift 20 (1897)
[4] D. Doerffel, S.A. Sharkh, A critical review of using the Peukert equation for determining the remaining capacity of lead-acid and lithium-ion batteries, Journal of Power Sources, 155 (2006) 395–400
[5] Grube, Ryan J., Automotive Battery State-of-Health Monitoring Methods, Master Thesis, Wright State University, 2008
9/21/2012
|