在当今的汽车中,电气负载的不断新增给电池带来了挑战。超过半数由于电气系统导致的汽车故障都可以归因为铅酸电池,假如了解电池状态,这些故障是可以防止的。此外,诸如起停系统或交流发电机智能控制等微型混合动力汽车的新功能也要求确切地了解电池状态。
电池管理系统(BMS)可根据起动能力对充电状态(SoC)、健康状态(SoH)和功能状态(SoF)进行快速、可靠的监测,以供应必要的信息。因此,BMS能够最大限度地降低因为电池意外失效而导致的汽车故障次数,从而尽可能地提升电池使用寿命和电池效率,并实现CO2减排功能。BMS的关键元件是智能电池传感器(IBS),它可以测量电池的端电压、电流和温度,并计算出电池的状态。
本文将介绍如何使用最先进的算法计算SoC、SoH和SoF来实现BMS,以及它们在飞思卡尔(Freescale)铅酸电池IBS上的有效实现。
技术简介
过去,汽车电池的充电等级一直是一项未被了解的因素,它在许多情况下会导致汽车故障。根据汽车的生命期不同,与电池有关的故障率可能攀升至10000ppm。
关于现存的严峻形势而言,汽车电池还面对着来自于不断上升的电能和功耗,同时减小CO2减放等要求的其他挑战。
由于电子技术在汽车创新领域起着非常重要的用途,因此随着汽车的舒适性、安全相关功能电气化、动力混合、驾驶辅助和信息娱乐等功能不断发展,对能量的需求也越来越高。
另一方面,越来越多的法规出台呼吁降低CO2排放和燃料消耗。
为了应对上述互为对立的要求,要采用先进的能源管理系统,来确保在各种工作场合中电池都能为引擎起动供应足够的电能。
电能管理系统
用来为起停系统供电的典型供电网络包含一个车身控制模块(BCM)、一个电池管理系统(BMS)、一个发电机和一个DC/DC转换器(见图1)。
BMS借助专用的负载管理算法为BCM供应电池状态信息,BCM通过对发电机和DC/DC转换器进行控制来稳定和管理供电网络。DC/DC转换器为汽车内部的各个用电部件分配电能。
通常,铅酸电池的BMS直接安装在电池夹上的智能连接器中。该连接器包括一个低阻值的分流电阻(通常在100Ω范围内)和一个带有高度集成器件(具有准确测量和处理功能)的小型pCB,称为智能电池传感器(IBS,见图2)。IBS即便是在最恶劣的条件下以及在整个使用寿命中都能以高分辨率和高精确度测量电池电压、电流和温度,从而正确预测电池的充电状态(SoC)、健康状态(SoH)和功能状态(SoF)。这些参数定期或根据要求通过已获汽车行业认证的车载网络传送至BCM。
除上述功能与参数性能外,对IBS提出的其它关键要求包括低功耗、能够在恶劣的汽车环境中(即EMC、ESD)工作、进行汽车OEM厂商验收的车载通信接口一致性测试(即LIN)、满足汽车等级测试限制(针对被测参数的6σ限制),另外还需符合AEC-Q100标准要求。
飞思卡尔宣布推出一款完全集成的基于FreescaleS12MCU技术的LIN电池监控器件,这种技术能够满足上述所有参数要求。该器件包括三个独立的测量通道:通过外部分流电阻测量电流;通过直接安装在电池正极的串联电阻测量电池电压;通过集成传感器测量温度。采用一个集成的LIN2.1接口直接将传感器连接至LIN总线,无需其他元件。飞思卡尔IBS完全符合汽车行业的AEC-Q100标准要求。
下文我们将为您介绍的是使用飞思卡尔IBS器件的BMS实现方法,以及如何通过利用IBS的硬件特性和定点算法实现高效率的BMS。
电池监控
正如前一段中所提到的,IBS的重要用途是监控电池状态,并根据要将状态变量传送至BCM或者其他ECU。将测量到的电池电流、电池电压和温度采样值作为电池监控输入。电池监控输出为SoC、SoH和SoF。
1.充电状态(SoC)
SoC的含义非常直观,通常以百分数的形式表示。完全充电的电池SoC为100%,完全放电的电池SoC为0%。SoC值随电池的充电和放电而改变。
Thisleadstoformula(1),whereCristheremaining(dischargeable)capacityofthebatteryandCaisthetotalavailablebatterycapacity:
该值通过公式(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定律。它表述了在不同放电率情况下铅酸电池的电量。当放电率提高时,电池的可用电量会降低。另一个影响可用电量的参数是温度。温度越高,可用电量也就越高。两种效率都使用α描述,因此α值要采用一个2维数组(温度和放电率)。根据测量到的温度和放电率,相应的值被分别用于每一个积分步骤。α值在很大程度上取决于电池的设计和化学组成,通常情况下即便是同一家制造商的不同型号的电池,该值也会有所不同。他们通常是在实验室里通过充电和放电测试获得。
虽然peukert定律只适用于放电的情况,但也有一个与α值类似的效率因子被用于充电周期。除了温度和充电率以外,实际的SoC也要考虑在内,因为SoC较高时的充电效率要小于中等SoC情况下的充电效率。
由于整合了电流值和α值,因而电池状况改变时出现的误差以及电流测量和量化误差将随着时间的推移而变大。因此,参数Q(t0)(电流积分的起点)通常通过一种能够供应更高精确度的不同方法来获得:OCV方法。OCV是在没有用电器件从电池中汲取电流时电池两极间的电压。
铅酸电池显示OCV与SoC之间具有良好的线性关系。因此,通过测量OCV,SoC可被直接计算出来。OCV和SoC之间的确切因子(exactfactor)必须被表征出来。
这种方法的唯一缺陷是,OCV只能在停车以后测量,即(几乎)所有的用电器件都关闭后,而且要在汽车熄火后经过数十分钟甚至数小时再测量。
因此,OCV法常被用于重校准库仑计数,而库仑计数法持续运行。这种组合供应了一种良好的SoC计算方法,并且可在较长的停车时间内,用自放电率校正SoC来使计算结果更加精确。
2.健康状态(SoH)
铅酸电池的各种老化效应会对电池造成不同的影响。由于很难通过IBS分别对这些老化效应进行监测和量化,因此SoH通常不直接根据这些老化效应来评定。取而代之的是,SoH是通过使用寿命内电池容量的减少来评定的,这是老化的重要结果。与电池老化相关的另一个非常重要的参数是起动性能,但是它通常用起动能力的功能状态(SoF)来表述。
由此,SoH可通过公式(3)来估算,其中Caged代表老化的电池容量,Cn代表按照SoC的计算作为参考的标称容量。
由于Cn是已知的,因此计算SoH的关键任务是找到Caged。一种可能的方法是在电池的整个使用寿命内跟踪所达到的最大电量(或SoC)。假如在随后进行的若干次完全充电后,电池的最大充电水平低于之前计算的老化容量,则表示老化容量变小。相应地,Caged和SoH必须根据库仑计数和OCV方法确定的容量进行调整。完全充电状态可以在充电电流降至特定阈值以下时监测。
确定SoH的另一个方法是跟踪充电和放电周期,以电池制造商所供应的周期稳定性来进行评估。通常,制造商会确保在指定温度下关于某一深度的充放电周期总量,例如,27℃、25%放电深度时为500个周期。通过用这些数字对所有周期进行评估,并应用温度和充电状态校正因子,可供应对上文提到的Caged的跟踪。这些校正因子必须通过对电池特性的表征来确定。
但是,这两种方法通常还会与其他专用算法结合使用,这些算法与电池使用寿命中的多个电池参数紧密结合。在实验室中通过大量的电池特性分析可确定这些电池参数,它们通常只适用于一个特定的电池型号。
3.功能状态(SoF)
对铅酸电池来说,发动汽车引擎即便不是最重要的功能,也是非常重要的功能。因此,BMS的一个非常重要的任务是在实际条件下预测汽车能否起动。起动预测通过SoF参数表示。
除了传统的停车后再起动,通过在微型混合动力汽车中引入起停系统,起动预测功能正变得更加重要。BMS必须决定是否可在引擎关闭后再次起动,以及是否可以安全地进入停止模式,并与BCM进行通信。
获取SoF参数的一个非常好的方法是对最近的引擎起动情况、剩余电量(作为SoC和SoH的函数)和实际温度进行分析。在起动期间,电池内阻Ri(通过电压降和电流来计算)要被记录下来。因为Ri在电池的使用寿命中是相对一致的,并且只是在电池使用寿命结束前显著升高,因此Ri平均值要低于某个特定的阈值,以确保安全起动。老化电池的另一个影响是,在起动阶段,从电压和电流采样中计算出的Ri值会趋向于非线性,即关于相同的电压采样值会有不同的电流值。而关于新电池来说,Ri是线性的。参见图3和图4了解起动过程中常见的电压和电流变化趋势。
综合Ri(通过电压降和电流来计算)、电池剩余电量和实际温度,可以很好地表征起动能力。此外,这些阈值也必须通过电池的特性分析来确定。
为了以必要的准确度确定Ri的线性性或非线性性,所有起动阶段取样的电压和电流值都要使用线性滤波器来过滤,最好采用带通滤波器。
高效实现BMS的硬件和软件
电能效率是新型汽车一个最重要的特性,由BMS来实现。除了管理一些节电功能外,BMS还要具有高能效,因为它是一种始终运行的系统,当发电机不工作时要通过铅酸电池供电。为满足这一要求,IBS的功耗必须尽可能低。
为实现这一目标,飞思卡尔的IBS执行采用两种低功耗模型,其中CpU和其他不要的硬件(HW)模块被关闭。为降低正常运行模式时的功耗,并减少客户端的软件(SW)开发工作,新增了额外的硬件模块以降低软件复杂性。这样便可以使用尺寸更小、功耗更低、性价比更高的16位微控制器。另一种降低软件复杂性的方法是在整个使用寿命期间确保产品参数,并将厂调校值存储在非易失性存储器(NVM)中。作为产品下线测试的一部分,这些调校值针对每个芯片分别进行表征描述,并相应地存储。因此,在软件中无需使用复杂的校准算法。
除了在硬件中执行的这三种技术以外,本文还介绍了电池监控算法的高效软件实现方法。
1.低功耗模式
实现低功耗模式是一种非常好的降低功耗的方法。实现方法是,在不要SoC的部件(尤其是CpU)时将其关闭、并仅在要时切换到正常模式(即激活所有硬件模块)。正如前面所提到的,共有两种低功耗模型,其不同之处仅在于CpU被唤醒后使用的程序入口点。
但是,在低功耗(即没有软件交互)模式下,也要监控电池状态。首先,要跟踪电流,用库仑计数法计算出SoC。相应地,可支持低功耗模式下的电流测量和电流采样值的自动求和(即库仑计数)。
IBS必须能够对电池和汽车的状态变更做出反应,即电池传感器必须在各种事件发生时被唤醒。相应地,也要测量低功耗模式时的电流和温度。电流变化通常表明汽车状态发生变化(用电器件的开和关),而温度改变时有时要重新校准测量通道参数。可以配置电流和温度采样值的阈值,假如超出阈值则唤醒。还可以使用自动库仑计数器阈值唤醒机制。
除了那些针对被测参数的唤醒事件以外,还可实现其它唤醒机制,允许BCM或汽车中的其它电子器件唤醒IBS(通过LIN消息或直接导线连接),此外还有按时唤醒机制。
上述低功耗模式和唤醒机制的实现允许IBS在大多数时间里都运行在低功耗模式下(通常约为70%),包括引擎运行时。在正常运行模式期间,SoC、SoH和SoF参数将被重新计算。
2.将软件任务移至硬件模块
采用专用硬件模块来承担软件的任务是降低软件复杂性和节省电能的一种有效方式。在将此类硬件模块用于电池监控算法以前,可以非常有效地将其用于电压、电流和温度测量采样值的预处理。这一点非常有必要,因为汽车的电源线经常受到干扰,而且关于IBS来说,采样值的测量精度要求很高。
带有抽取滤波器和抗干扰滤波器的高精度16位Σ-ADC非常适合这种应用,因为与其他ADC技术相比它具有高测量精确度。结合误差补偿功能,已经能够供应非常好的精确度。但是,在信号处理链后常常要对采样值进行再滤波。这样做的原因是可以去除汽车中其它电子器件的噪音,因此滤波器要有可自由转换的频率特性。另一个原因是,作为电池监控的一部分而被观测的特定电池参数,与激励频率(由电池的化学组成决定)紧密联系在一起。例如Ri就是如此。
可编程线性滤波器可以满足这些要求:滤波器系数可经过寄存器传送到硬件滤波器模块。这些寄存器被编程后,在软件中就不再要完成滤波任务。
电流测量面对着要对小电流进行高精度测量,同时还必须支持宽测量范围的挑战。所要求的精度要高于10mA,这意味着在100Ω的分流器上出现1V的压降。而在汽车起动过程中,会出现1000A甚至更高的电流。为支持上述两种要同时防止在软件上进行手动测量重配置,要引入一个自动增益放大器。可选增益因子用来调节输入信号,使其与ADC的参考电压达到最优匹配。增益因子的调节可以自动完成,在整个运行过程中,无需对软件进行重配置。出于测试的目的,或者当存在特殊的应用需求,也可以选择固定增益因子。
3.简化校准工作
确保器件在整个使用寿命期间都保持高精确度的一个非常重要的任务是调整和校准。为此,之前测试得到的校正因子被应用到关键的器件参数中。作为产品线器件测试的一部分,这些因子在各种温度下被测试,并存储到IBS的NVM中。在器件启动时,各调整参数需由软件写入到器件的寄存器中。要调整的参数可在电流和电压测量链中得到。另外,振荡器、电压基准和LIN按时也要被校准。在运行期间要进行重校准,例如要定期校准或在温度出现急剧变化时进行校准。假如有的话,不同的校正因子需再次写入到各自的寄存器中。
上面提到的校准方法可以防止客户对这些参数进行昂贵的产品下线测试。另外,通过简单地应用参数,还可以降低软件校准的复杂性。
4.软件实现
在前文中提到的电池管理算法要采用处理器密集型计算和控制算法。通常是在pC机上利用基于模型的仿真工具来完成这些算法的初次实现。这些工具通常使用浮点数据格式。在随后的开发过程中,这些算法被移植到IBS上。但是,由于成本和功耗的原因,IBS所用的微控制器上并不供应浮点硬件。因此,为获得合适的运行时间,在算法中所使用的数据类型必须映射到定点整数格式。有多种数据类型及相应的取值范围可用。例如,下表列出了在飞思卡尔的IBS上供应的数据类型。
数据类型范围(无符号)范围(有符号)
char(8位)0–255-128–127
int(16位)0–65535-32768–32767
longint(32位)0–4294967295-2147483648–2147483647
为了表示小于1的值,LSB被映射为特定的值。该值由所需的分辨率决定。通过选择其中一个可用的数据类型,可以得出该变量的可用值范围和虚拟固定小数点(定点格式)。例如,分辨率为1mV,采用无符号整型时所能表示的范围为0~65.535V。
由于飞思卡尔IBS中有一个16位S12CpU,因此整型数据类型可以供应16位的精度。这意味着8位和16位变量处理起来较32位性能更优。因此,一般首选8位及16位变量。
上述计算SoC、SoH和SoF所用算法的实现范例显示,在许多情况下,16位变量可以供应足够的数值精度和范围。这是因为电压和温度输入值都是16位精度(通过使用16位ADC)。其它的一些16位精度就已足够的数值包括SoC、SoH、Ri和校正因子α。即使采用具有24位精度的电流采样值,也可以在大多数情况下映射到16位数据。例如在3mA的精度上,通过使用带符号16位整型格式,可表示达±98.3A的电流值,而无需对数字格式做进一步的修改。这足以满足汽车在行驶和停止时的要求。在起动过程中,电流采样值会超出边界,必须使用32位数据格式。要32位格式的参数是与电池充电有关的值(例如,库仑计数器)。
本文小结
本文介绍了如何采用飞思卡尔IBS来有效实现微型混合动力汽车中的BMS。讨论了最先进的电池状态计算算法(SoC、SoH和SoF)。从中可以了解到,在功耗方面可以采用什么特殊的硬件特性来提高IBS的效率。本文还介绍了具有自动电池状态观测(无需软件交互)和复杂唤醒机制的低功耗模式的使用。因此,IBS能够在大多数情况下都处于低功耗模式。另外,通过采用合适的硬件信号处理、可编程滤波和简化的校准方式,软件复杂性得以降低。本文还介绍了定点运算原理,分析结果表明,关于BMS算法中的变量来说,16位定点数据格式一般能够满足要求,仅在少数时候需采用32位格式。