前言
最近阅读了《便携式设备的电池电源管理》和《大规模锂离子电池管理系统》这两本书,都是比较容易入门的BMS书籍,书中作者做了很多深层次的思考,所以我摘抄了一些部分;同时结合我个人的项目经验及一些理解,整理成这篇文章。本文旨在抛开深奥的模型建立、复杂的算法和繁琐的设计验证过程,从理论层面设计简单的电池管理系统,让我这种菜鸟也能掌握设计BMS的要点。
想要理解并设计BMS,我个人认为,不能一上来就去搞那些复杂的算法,像是最小二乘算法,卡尔曼滤波、模糊控制、BP神经网络。而是要了解电池的内在联系,了解单纯由电芯组成的电池存在什么样的问题,为了解决这些问题,我们需要一个什么样功能的电池管理系统(BMS)。要想做好这个BMS,需要什么样的硬件支持,需要用到什么样的算法,为什么这个算法应用在这里更合适。循序渐进,逐步掌握并精通。
1. 我们希望把电池当做什么来对待?
在实际应用中,工程师在设计用电池供电的设备时,希望将电池当做恒压源来对待,以简化电路分析和设计过程。基本上是一个可以设定到特定电压然后忘掉它的电源。
但很可惜,世上没有这样的东西存在,为了设备的便携性而装上电池,就同样需要考虑电池的不便性。电池就像是一个具有有限资源的便携式化工厂。由于其化学性质,电池对施加的负载有着复杂的电压响应,这有时会影响设备性能,并且电池的运行时间受限于系统中的负载类型。这种响应还强烈依赖于温度和电池的年龄。
所以,我们不得不去考虑电池的内阻、电压变化、温度、SOC、各电芯电压差异等问题。因为这些问题直接关系到电池的性能、安全性、使用寿命以及整体系统的稳定性和效率。
2. 我们需要一个怎样的BMS?
为了电池的性能、安全性、使用寿命以及整体系统的稳定性和效率,需要设计一个BMS电池管理系统,这个系统可以非常复杂,也可以很简单,但有几个核心点是必须要确保的。也即:监测、保护和控制。
关于锂离子电池的危险性,这里就不过多叙述了。我们重点要了解,BMS需要去监测什么数据,在什么情况下进行保护,如何通过软硬件去做控制。
锂离子单体电池的安全运行区域由电流、温度和电压这三个关键因素共同确定的。这三个参数对于电池的性能、寿命以及安全性都至关重要。
电流:
放电电流:过大的放电电流会导致电池内部温度升高,加速电池老化,甚至可能引发安全问题。因此,电池需要在规定的放电电流范围内运行。
充电电流:同样,充电电流也需要控制在一定范围内。过大的充电电流不仅会导致电池发热,还可能造成电池内部结构的损坏,影响电池性能和安全。
温度:
工作温度范围:锂离子电池有一个适宜的工作温度范围,通常在这个范围内电池的性能和安全性都能得到保证。温度过高或过低都会影响电池的化学反应速率,进而影响电池的容量、内阻等性能参数。
过温保护:为了防止电池因温度过高而引发安全问题,BMS(电池管理系统)通常会设置过温保护机制。当电池温度超过设定阈值时,系统会采取相应措施(如降低充电/放电电流、启动散热系统等)来降低电池温度。
电压:
放电电压范围:电池的放电电压需要控制在一定范围内,以避免电池过放。过放会导致电池内部活性物质结构破坏,严重影响电池寿命和性能。
充电电压限制:同样,充电电压也需要控制在一定范围内。过高的充电电压可能导致电池内部产生气体、电解液分解等不良反应,甚至引发电池热失控等安全问题。
综上所述,为了确保锂离子单体电池的安全运行,需要严格控制其电流、温度和电压这三个参数。通过合理的电池管理系统设计和控制策略,可以实现对这些参数的精确监测和调节,从而确保电池在最佳状态下运行。
3. 为什么各电芯容量要做到均衡
对于锂离子单体电池来说,电流、温度和电压决定其安全运行区域。但在系统层级,还有一个更为重要的因素需要考虑,即各电芯容量的平衡问题。
考虑一个简单的情况,消费品中常用的聚合物锂离子电池一般由两个单体电池串联而成。充电器对这样的电池包进行充电时,基本是对其进行串联式充电,即以最大充电电压加在电池包两端。 当以8.4V电压其充电时,如果电压均衡,那么每个单体电池电压为4.2V。 但是如果电压不均衡, 最差的情况下放电最深的单体电池电压为 3. 3V, 而另一个单体电池电压为 4.9V。4.9V已经超过了聚合物锂离子电池的最大允许工作电压 (一般为 4.2V)。
在实际应用中,由于电池组中各个单体电池之间存在电压不均衡的现象,这会导致一个或多个单体电池在充电过程中可能率先达到满电状态,进而进入过充状态。特别是对于锂离子单体电池而言,它们自身并不具备有效处理过充的能力。一旦某个单体电池充满,它不仅无法继续像其他未充满的电池一样吸收电流,反而其电压会迅速上升,可能达到危险水平,这对电池组的安全性和整体性能构成了严重威胁。
传统的充电管理方式,如恒流恒压充电器,通常依赖于监测电池组的整体电压来判断充电是否完成。然而,这种方法在单体电池电压不均衡的情况下存在明显缺陷,因为它无法准确反映每个单体电池的实际状态,从而可能误导用户认为充电过程已经安全完成,而实际上某些单体电池已经过充。这种安全错觉可能导致严重的安全问题。
在电池组的放电过程中,如果各个电芯之间存在不均衡,那么较弱的电芯(即容量较小或内阻较大的电芯)会率先达到其放电截止电压,从而限制了整个电池组的总运行时间。即使其他电芯中还有相当数量的能量未被完全使用,电池组的整体性能也会受到这个较弱电芯的制约。
因此,引入电池管理系统(BMS)对电池组进行精细化管理显得尤为重要,以保证任何单体电池都不会因过充或过放而损毁。
4 .什么因素导致各电芯之间的容量不平衡
各电芯之间的容量不平衡主要受到多种因素的影响,这些因素可以归纳为以下几个方面:
一、电芯制造过程中的差异
工艺和材料差异:在电芯的制造过程中,由于工艺控制、材料选择及生产设备的精度等因素,即使同批次的电芯也可能存在容量和内阻的差异。这种差异是电芯容量不平衡的根源之一。
质量不均:电芯的质量不均也是导致容量不平衡的重要原因。由于制造过程中的微小差异,如电极材料的涂布厚度、压实密度等,都可能影响电芯的容量。
二、使用过程中的差异
充放电循环:电芯在使用过程中会经历连续的充放电循环,这会导致电芯之间的容量差异逐渐增大。某些电芯可能由于内部化学反应的不均匀性,在充放电过程中容量衰减更快。
荷电状态(SOC)不一致:在串联电池组中,由于各电芯的初始SOC可能不同,或者在使用过程中由于充放电效率的差异导致SOC进一步不一致,这也会导致电芯之间的容量不平衡。
自放电率不同:电芯的自放电率也会因制造差异和使用环境的不同而有所差异。长时间使用后,自放电率较高的电芯容量会相对较低。
三、环境因素
温度差异:电池组中的电芯在使用过程中可能受到不同的温度影响。高温会加速电芯内部化学反应的速率,导致容量衰减加快;而低温则可能降低电芯的活性,影响充放电效率。这种温度差异也会导致电芯之间的容量不平衡。
外部条件:如电池组的组装方式、散热条件等外部因素也可能对电芯的容量产生影响。例如,如果电池组中的某些电芯散热不良,其温度会相对较高,从而加速容量衰减。
四、其他因素
充电方式:不正确的充电方式(如过充、过放、充电电流过大等)也可能导致电芯之间的容量不平衡。过充或过放会损害电芯的内部结构,降低其容量;而充电电流过大则可能导致电芯发热严重,加速容量衰减。
老化程度:新旧电芯在容量、内阻等方面存在差异。旧电芯由于长期使用和老化,其容量会逐渐降低;而新电芯则具有较高的容量和较好的性能。这种差异在串联电池组中尤为明显。
综上所述,电芯之间的容量不平衡是由多种因素共同作用的结果。为了减小这种不平衡对电池组性能的影响,需要采取有效的措施进行管理和控制。例如,通过电池管理系统(BMS)对电芯进行实时监测和均衡控制;优化充电策略和充电方式;改善电池组的散热条件等。
5.主动均衡与被动均衡
因为电芯容量的不均衡,导致总容量受到限制,如果问题不处理,可能会导致电池不可逆的损坏,甚至发生危险。因此,需要对电池中各电芯做均衡处理。
被动均衡:为了防止容量较小的电芯过放,被动均衡系统被引入,通过消耗容量较大电芯的电量来保持电芯间的电压平衡,从而延长整个电池组的放电时间。被动均衡主要通过电阻放电的方式来实现。当电池组中的某个电芯电压高于其他电芯时,被动均衡系统会在该电芯上并联一个电阻,通过电阻将多余的电量以热能的形式耗散掉,从而使电芯间的电压趋于平衡。
在较为简单的BMS中(如3-5串电池包系统),往往采用被动均衡的方式; 但在复杂系统中,被动均衡不再被广泛使用。
被动均衡因为其简单的电路实现,可以在一定程度上解决电芯间的不平衡问题,但其缺点也较为明显。首先,电阻放电会产生大量热量,降低系统效率;其次,被动均衡只能实现电压的平衡,而无法真正提升容量较小的电芯的电量;同时在均衡过程中,部分电量以热能形式耗散,造成能量浪费。
主动均衡:为了克服被动均衡的这些缺点,主动均衡技术被引入。主动均衡采用更加高效的方式,通过能量转移来实现电芯间的平衡。它利用变压器、电容或电感等元件,在电芯间建立能量传输通道,将高电压电芯中的电量转移到低电压电芯中,从而实现电芯间的电量均衡,提高了电池组的整体性能和能量利用率。同时,由于减少了热量的产生和能量的浪费,主动均衡也提升了系统的安全性和可靠性。
以下是对主动均衡与被动均衡的优缺点:
主动均衡 | 被动均衡 | |
---|---|---|
原理 | 利用电路与控制芯片组成的电路结构,通过能量转移的方式,将高电量电芯中的能量转移到低电量电芯中,实现电量均衡。 | 通过在电压较高的电芯上并联电阻,以电阻放电的方式消耗多余电量,使电芯间的电压趋于平衡。 |
优点 | 1. 效率高:能量以电能形式转移,减少能量损失。 | 1. 成本低:电路设计相对简单,不需要复杂的控制芯片和能量转移元件。 |
2. 能量利用率高:能够充分利用电池组中的能量,延长系统运行时间。 | 2. 实现简单:不需要复杂的控制算法和实时监测系统。 | |
3. 可扩展性强:适用于大容量、高串数的电池组。 | 3. 安全性高:通过电阻放电限制电芯电压,防止过充。 | |
4. 延长电池寿命:通过均衡充电和放电,减少电芯间的差异,延缓电池老化。 | ||
缺点 | 1. 成本较高:需要额外的控制芯片、能量转移元件和复杂的电路设计。 | 1. 能量损失大:电阻放电会产生大量热量,导致能量以热能形式浪费。 |
2. 复杂性高:需要实时监测电芯的电压、电流等参数,并进行复杂的控制算法计算。 | 2. 均衡效果有限:只能实现电压平衡,无法真正提升低电量电芯的电量。 | |
3. 对电池有一定影响:频繁的能量转移可能对电芯造成一定的损害。 | 3. 热量问题:电阻放电产生的热量可能增加系统的散热负担。 | |
适用场景 | 适用于对能量利用率、系统运行时间和电池寿命要求较高的场景,如电动汽车、太阳能储能系统等。 | 适用于对成本敏感、对能量利用率要求不高的场景,如小型电子设备、便携式电源等。 |
6.热管理与温度控制
对于简单的电池系统:BMS可以根据电芯的温度调整充电和放电的功率,以避免电芯过热。例如,在电芯温度过高时,可以降低充电电流或暂停充电,以减缓电芯的温升速度。
如果把充电器也看成BMS的一部分,智能电池充电器可以内置风冷系统,在快速充电时,根据电池温度智能调控充电功率,或者是控制鼓风机的功率对电池包进行智能控温,防止其充电过程中因高温而发生不可逆的损害。
在给设备供电时,BMS应具备热失控保护功能,一旦发现电芯温度异常升高或达到预设的安全阈值,应立即切断充放电电源,并采取其他必要的保护措施,以防止热失控事故的发生。
对于电动汽车BMS:电池是电动汽车核心部件,其性能和寿命直接受到温度的影响。在高温环境下,电池会产生过热现象,影响其性能和安全性;在低温环境下,电池的充放电效率会下降,导致续航里程减少。因此,BMS热管理的应用可以有效提高电池的工作效率和安全性,延长电池的使用寿命。
7.充电管理
对于简单的BMS,充电可以分为以下几个阶段,预充、恒流、恒压模式。
在更为复杂的充电器软件设计中,往往会对深度过放电池进行脉冲充电。如果开关电源直接对深度过放的电池进行充电,可能会因为电池电压过低而拉挂充电器(具体原因涉及到开关电源相关知识,这里不去讨论),所以需要对电池进行脉冲充电,例如周期为100ms,占空比为10%,控制充电器的MOS进行脉冲充电,让电池电量进行恢复。
但是脉冲充电需要注意的是,需要设置计时器。如果因为电池内部短路,在脉冲充电10S内单节电芯电压还是低于1V,需要关闭脉冲充电并报警;如果是不可恢复的电池,在脉冲充电10分钟内无法恢复到单节2V,同样也需要关闭脉冲充电并报警。
关于更为详细的充电器软件设计,后续可以再写一篇文章,这里不再叙述。
8.充放电过流检测
在小型BMS系统中,可以用差分放大电路,检测电池充放电的电流,这种电路的好处是可以放在高侧和低侧进行检测,同时其抗共模干扰的能力较为显著。运放电流检测采样电路电压采样电路_电流采样电路-CSDN博客
简单的 BMS, 可能在任意的电流方向与时间长度都固定设置为电池最大电流。
只有更复杂的 BMS 才会具备不同的电流限制方式。锂离子单体电池在充电和放电时对电流的限制是不同的,放电时要求短时内可以承受尖峰大电流放电。 因此, 电池制造商定义了 4 种描述单体电池充放电电流的典型参数:连续充电电流、充电电流峰值、连续放电电流、放电电流峰值。
由于电池放电的场景更为复杂,所以这里重点讨论放电过流的情况。
当电池供电的设备或系统遇到负载突然增加时,如电机启动、急加速等,电池需要瞬间提供大量电流以满足需求。而如果电池内部发生短路,电流会急剧增加,可能导致电池过热、膨胀甚至爆炸。所以这里需要对不同的放电电流做差异性控制。
电动车加速时,瞬时电流可能会很高,但又不能因为捕捉到一次过流就立即切断。例如低于100A的电流判断为正常运行,高于100A判断为过流,但又不能仅判断一次就切断电池输出,电流越大,做出保护/切断的时间越短。总体目标是既要保证设备的正常运行,即防止BMS误动作,又要做好保护与控制,防止电池热失控。
9.如何最大化地利用电池电量?
每块电池都有有限的能量,对于使用者来说,总是希望最大化地利用电池的电量,也即尽可能多地对电池进行充电,尽可能多地“榨取电池的电量”,但是充多少才算满,放多少才算放完?如何避免过充,如何避免过放?
在简单的BMS中,我们可以认为电池电压与其容量存在一一对应的关系,虽然不是线性关系,但是至少可以用较为简单的算法(如线性插值算法)估算其电量。之前我提到过这种算法。
在复杂的BMS系统中,显然不能简单地通过监测电池的开路电压来判断其充放电状态,因为电池在充放电过程中会因为其内阻而产生电压降,且电压降会随着电流和电阻的增大而增大。
电池的电压还受到温度的影响。一般来说,随着温度的升高,电池的内阻会减小,从而在一定程度上减小了电压降。但是,高温也可能导致电池内部的化学反应加速,进而影响电池的电压和性能。另一方面,低温会导致电池内部的化学反应减缓,电池的可用容量减小,同时内阻可能增大,使得电压降更加明显。
单体电池的容量损失,一部分归因于单体电池内部的活性物质损耗, 另一部分容量并未损失, 而是没有被使用; 单体电池充放电不足是由内阻的增加和厂商设定的固定截止电压决定的。因内阻增大而产生的那部分容量损失可以通过提高充电截止电压或降低放电截止电压来恢复, 即通过 IR 进行补偿,通过提高充电截止电压和降低放电截止电压, 可以使因单体电池内阻增大而导致的电压损耗得到补偿, 最终达到恢复单体电池容量的目的。
为了更准确地评估电池的充放电状态,需要采用更复杂的监测和管理策略。
10.怎么样才是好的SOC算法?
对于开发者和用户来说,想最大化地利用电池容量,想实时了解电池剩余电量,需要算法来对电池电量进行估算。
SOC估算能够确保电池能源的合理利用。这表现在,快充满电时,尽可能使电池充电电量最大化,同时又不会因为过充而损坏设备。在电量不足时,则可以进行节能管理或及时充电。同时,SOC估算能够向用户提供准确的电池剩余电量信息,使用户能够及时了解电池的使用情况,避免因为电量不足而影响使用。
在电动汽车中,SOC值尤为重要。它不仅可以用来计算电池的可用容量,从而估算车辆的续航里程,还可以用来控制电池的充放电,以保证电池的寿命和安全。此外,高精度的SOC估算还可以帮助优化电池的能量管理策略,提高电动汽车的能源利用效率。
好的SOC算法,应该做到如下几点:
1. 准确性
高精度估算:SOC算法应能准确估算电池的剩余电量,误差应尽可能小。高精度的SOC估算能够为用户提供可靠的剩余续航里程信息,避免用户因电量估算不准确而遭遇行驶中断的尴尬情况。
考虑多种因素:好的SOC算法应能综合考虑电池的电化学特性、内阻变化、温度影响、充放电历史等多种因素,以提高估算的准确性。
2. 稳定性
适应性强:SOC算法应能在不同的工况和环境下保持稳定的性能,包括不同的充放电速率、温度范围等。
长期可靠性:随着电池的老化和使用次数的增加,SOC算法应能持续提供准确的估算结果,不因电池性能的变化而显著下降。
3. 实时性
快速响应:SOC算法应能实时或接近实时地反映电池的当前状态,以便用户及时了解电池电量情况。
动态调整:在电池充放电过程中,SOC算法应能根据电池的实时状态进行动态调整,确保估算结果的准确性。
实际上,还得考虑算法实现与代码维护的问题,我们不能要求简单的产品用上复杂的SOC算法,也无法要求我这样低水平的开发者去将高级的算法进行实现。所以具体用哪一种算法,需要看产品和项目而定。
高级的SOC算法往往涉及到复杂的电化学模型、数据驱动的方法以及多种先进算法的结合,这些算法的复杂性使得它们难以在简短的篇幅内完全阐述清楚。不过,尽管如此,我们仍然可以概括性地理解这些高级SOC算法的一些核心思想和特点。
高级SOC算法的核心目标通常是提高SOC估算的准确性和稳定性,以适应复杂多变的工况和环境条件。为了实现这一目标,这些算法通常会采用以下一种或多种策略:
11.我们真的需要SOH吗?
我曾经做过SOH的估算,当然也较为随意,就是通过计算其充放电次数及其短时直流放电内阻来估算其健康度。但是SOH往往与多方面因素相关,需要用到数据融合以实现更为精确的SOH估算。
电池的 SOH 对于电池本身或者电池管理系统来说并没有什么意义, 但是对于使用者和在应用中能够比较实时 SOH 值和限定值的外部系统来说是非常有意义的。 由此:
• 它可以用于决定处于当前状态的电池是否适用于某个应用场景。
• 它可以根据实际应用条件对电池的寿命进行估算。
对于 SOH 的估算通常情况下也是较为随意的, 因为它并不是通过测量电池的实际物理参数获得的。 电池管理系统通常使用一个或多个下面提到的权重参数对 SOH 进行估算: 电池内阻的增大、 实际容量缩减、 充放电循环次数、 自放电速率以及充放电时间。 有时, 接受电荷的能力也在估算参数的自变量列表中, 但是此参数可以通过转化以电池内阻的形式出现, 因此其不算作一个独立参数。 电池管理系统估算 SOH 所使用的公式、 算法以及模型通常都是商业机密。
结语
最初,我们只想把电池当成一个恒压源来使用,但是没想到因为电芯的特性,由此引申出这么复杂的BMS系统,引申出这么多的学问出来。
在总结关于电池管理系统(BMS)的探讨时,我感慨于这一技术在现代能源存储与利用领域所扮演的关键角色。BMS不仅是电池性能的守护者,更是电池安全与寿命的保障者。通过精准地监测、控制与管理电池的各项参数,BMS确保了电池系统在各种应用场景下的高效、稳定运行。
随着科技的不断进步和电池技术的日益成熟,BMS的功能将更加完善,算法将更加优化,为电池行业的发展注入更强大的动力。
在BMS领域,我深知自己仍是并且将一直是一名学习者,在把BMS的逻辑理顺,形成这篇相对来说比较自洽的文章后,后续有机会我将会探讨一些复杂的算法,一些复杂的系统方案实现。