• 注册 / 登录
  • 切换到窄版
  • 查看: 3712|回复: 0

    BMS系统设计入门分析(上)

    [复制链接]

    676

    主题

    690

    帖子

    6810

    积分

    版主

    Rank: 7Rank: 7Rank: 7

    积分
    6810
    发表于 2022-2-9 10:32:55 | 显示全部楼层 |阅读模式

    路线栈欢迎您!

    您需要 登录 才可以下载或查看,没有帐号?立即注册

    x
    BMS的设计需求是什么?

    请看 BMS电池管理系统是什么?

    本文便从一个底层工程师的角度,以电动车用的BMS模块作为例子专门对锂电池的保护板设计进行一些探讨,并且会给出一个参考方案,当然由于笔者能力有限,水平一般,如果文中出现了错误或者纰漏,请直接指出。

    当设计团队拿到一个项目,开始开发的时候,首先必须要搞清楚的便是项目的需求,这个需求可不仅仅是老板口头上说几句话,而是需要一个切实的、详细的、标准的文档,文档要以1、2、3为结构,明确的把所有的需求点给罗列出来。

    我们现在拿到了一个项目:低速电动车的BMS板。

    只要项目立项成功,那么作为产品经理,或者团队leader,则列出需求文档是必须要做的事情。

    锂电池管理系统,其中重点二字在于“管理”,要想实现管理功能,必然需要两个模块,第一:监测。第二:控制。只有在我能够监测这个系统的前提下,我才能控制这个系统。由此为核心点,我便可以慢慢的罗列出大致需求:
    • 监测能源系统,能够实时读出锂电池的所有状态。
    • 控制能源系统,根据锂电池的状态,在需要的时候进行干预(比如断开/闭合充放电回路的MOS管)。

    保护功能如何实现?

    数据采集:电池系统的大致需求分为采集和控制,那么采集的都会有什么数据?
    • 电压
    • 电流
    • 温度

    作为一个以管理锂电池的系统而言,以上3点是我们要重点监测的数据,如果系统超级简单,采集的点只有3、4个,那么直接使用MCU的AD接口进行读取信息便可,但在实际中几乎不可能存在这种情况,通常所用的采集的方式一般是使用模拟前端。

    系统信息

    • 电压:锂电池本身的化学特性决定了我们必须要对电压进行保护,所谓的电压保护,是我们必须要保证锂电池的电压永远在合适的范围之类,不能让电压过低,因为其内部存储电能是靠电化学一种可逆的化学变化实现的,过度的放电会导致这种化学变化有不可逆的反应发生,因此锂电池最怕过放电,一旦放电电压低于2.7V,将可能导致电池永久性损坏,也就是报废。同时也不能让电压过高,因为电池一旦过度充电,导致的危害远远大于过放,过放最多损坏电池,不会对周围造成危害,而过充则可能导致电池温度升高,以至于发生自燃甚至爆炸,这种危害是致命的。
    • 电流:所谓的电流保护,也是我们必须要保证,无论是充电还是放电,电流都不能过大,大家都清楚的短路便是过流的一种体现,当系统正负极直接接触,导线电阻极小,导致电流极大,极大的电流又会产生大量的热,从而引发的燃烧和爆炸是很致命的。其实,就算不是短路,但过大的电流依然会导致电池内部发热,这样也极有可能会造成永久性的损害。
    • 温度:温度保护不用多言,除开锂电池本身的化学特性导致它不能在极端温度下使用之外,我想任何一个类似的系统,为了安全起见都应该考虑到温度。

    看到这里大家也应该明白了,锂电池保护系统的逻辑其实很简单,无非就是一些判断,以及MOS管的控制,这些东西只要是有过软件基础的大学生应该都能实现;后面再将保护细分:

    电压保护

    一个锂电池包,本身并不是一个整体,如果拆开它的外包装就能发现,它其实是由N个18650电池经过串并连所组成。

    1.png 2.png

    比如我们手上的48V20AH的锂电池包,它的组成是,每N个锂电池并联,作为一个子单元,然后在由16个这样的子单元串联,最终才形成一个锂电池包,若论单个18650电池的数量,至少有上百个之多。

    由此,如果我们想要监测并且保护系统的电压情况,自然不能简单的只采集一个总体电压,考虑到电池均衡等特性,虽然不用对每个电池进行采集和控制,但作为组成电池包的每一串的单体电压是必须要监测的。

    如果一个16串的锂电池包,那么需要监控的电压点自然不能低于16个(这就是为什么需要模拟前端的原因,系统采集点过多,一般的MCU不可能满足)。

    3.jpg

    等采集到了单体电压和总电压以后,我们就可以进行逻辑设计了。

    电压保护相关的项目:
    1.总体电压
    • 总体过压保护
    • 总体欠压保护

    2.单体电压
    • 单体过压保护
    • 单体欠压保护

    ※一般更容易触发的保护当然是单体,如果每一串电池的电压的都没问题,那么总体电压自然也不会有问题。

    保护过程:系统采集电压量,进行判断,一旦检测到某项指标超过设定的保护值,并且系统的状态符合保护条件(充电时不进行欠压保护,放电时不进行过压保护),然后持续了一定时间(防止抖动),那么断开充放电回路并进行报警,至于是断开充电还是放电,根据实际情况决定。

    那么保护之后该如何恢复?总不能让电动车一次过充电后就永远报废吧?

    系统发生了保护,今后自然还有恢复的时候,如果系统发生了单体电压保护,那么可以设定恢复值,等待电压自然恢复到合适范围,并且持续了一定时间以后(防止抖动),便可以重新打开充放电回路。

    ※恢复值和保护值最好不要完全一样,这样可以给系统留出一些余量,也可以防止抖动的发生。

    以下是关于电压保护简易的逻辑表:

    4.png

    电流保护

    电流的保护与电压不同,它自然不会分为总体和单体,下面的锂电池由几个串组成对电流这个信息而言毫无意义,它关心的只是一个在负载/充电机回路上的总体量。

    5.png

    保护过程:电流是有方向的,因此我们在保护中也要考虑到这一点,放电过程中,电流从电池正极流出,经过负载后再回到电池负极,充电过程中,电流从充电机的正极流出,经过了电池后再回到充电机负极,这是两个完全相反的过程。

    假设我们设定充电过程的电流为正,那么放电时电流必然为负,在保护判断中,等进入了模块后,我们用其绝对值与保护参数比较,当超过正常值时断开充放电回路(电流保护只关心最大值,不用关心最小值),这个过程与电压保护大同小异。

    ※电流过大产生热量累积这是一个持续的过程,所以在电流上一般会有两重保护,第一重保护的设定值比较小,延时时间比较长,第二重保护的设定值比较大,延时时间很短。比如说电流>1A,500ms后保护,电流>5A,10ms后保护。

    当电流保护发生以后,我们并不能像电压恢复一样实时读取数据,因为一旦我们把充放电回路断开以后,回路上的电流瞬间就变成了0A,要想恢复保护状态,一般有两种条件:第一,不需要人工干预,在经过一段时间之后,自动打开回路,如果此刻依然为过流状态,那么系统又会进入保护,这样反复来个几次,便可以将系统的状态设置为故障了。第二,需要人工干预,等负载或者充电机移除后,打开回路。

    短路保护其实也是电流保护的一种,只不过当系统短路以后,电流理论上会变成无限大,这样产生的热量也是无限大,如果要等到软件反应过来然后保护,系统说不定早就完蛋了,因此,对于短路保护一般是采用硬件来自动触发,触发后传递给MCU一个信号即可。

    温度保护

    温度保护比较简单,一般的逻辑就可以实现,温度值有上限也有下限,甚至在细分还可以分为充电时的温度保护以及放电时的温度保护,根据项目的实际需要设计逻辑即可。

    需要注意的是,在实际的测试中发现,温度是一个比较容易抖动的值(这和选用的传感器有关,比如使用热敏电阻),所以在判断的时候保护值和恢复值一定要做出一个合理的区间,不然系统会不稳定。

    均衡控制

    锂电池系统中除了以上3个正常的保护量之外,还需要有一个保护措施,那便是均衡保护。

    上面说过,一个锂电池包由N串电池组成,根据化学特性,如果某两串电池的电压相差过大,这就会造成电量的不均衡,比如一串电池的电压是3.6V,另一串电池的电压是2.5V,相差如此之大,那么这样的电池基本上已经可以说是报废了。

    所以系统中也需要这样的判断,最大单体电压和最小单体电压的差值如果达到了某个极限,导致出现故障的概率极大,那么无论是放电还是充电都不应该在继续进行。

    为了尽量避免这种情的出现,在BMS系统中就应该设计电压均衡功能。

    电压均衡分为主动与被动,被动均衡是设计硬件电压,使用电压比较器,当某串电池电压与其它电池电压相比过高时(比如相差达到50ms),或是使用别的元件来消耗掉高电压电池的电量,或是将高电压电池的电量灌入低电压电池中。

    主动均衡在原理上也一样,只不过可以由程序来控制均衡的更多细节,用串转并的译码器作成开关电路,控制系统只在充电过程中均衡,可以更为灵活的设定均衡的电压阈值等等。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    小黑屋|路丝栈 ( 粤ICP备2021053448号 )

    GMT+8, 2024-12-22 20:02 , Processed in 0.051862 second(s), 21 queries .

    Powered by Discuz! X3.4

    Copyright © 2001-2021, Tencent Cloud.

    快速回复 返回顶部 返回列表