第一步,认识电池管理系统的硬件架构
图1
面对汽车逐步的电动化、智能化、网联化,汽车电子的软件开发也越来越复杂,所以AUTOSAR联盟也就应运而生了。
AUTOSAR即是Automotive Open System Architecture(汽车开发系统架构),AUTOSAR的分层模型架构使得主机厂、供应商、科研机构可以联合开发、高效配合,构造出强大的软件系统。
图2
成熟的BMS软件开发通常是基于AUTOSAR架构开发。AUTOSAR架构将运行在Microcontroller之上的ECU软件分为:Application、RTE、BSW三层,如图2,接下来简单介绍下AUTOSAR各分层的分工情况:
图3
每层的BSW都保护不同的功能模块,介绍如下:
Service Layer,服务层,位于BSW最上层,将各种基础软件功能以服务的形式封转起来,供应用层调用,包括RTOS、通讯与网络管理、内存管理、诊断服务、状态管理、程序监控等服务。
ECU Abstraction Layer,电控单元抽象层,封转了微控制器层以及外围驱动设备的驱动,将微控制器内外设的访问进行统一,使上层软件应用与ECU硬件相剥离。
Microcontroller Abstraction Layer,微控制器抽象层,位于BSW的最底层,包含访问微控制器的驱动,使上层软件与微控制器相分离,便于应用的移植。
Complex Drivers Layer,复杂驱动层,为了满足实时性等要求,可以利用复杂驱动让应用层通过RTE直接访问硬件,也可以利用复杂驱动封转已有的非分层的软件,以实现项AUTOSAR软件架构逐步实施。
可能这么说题主还不太理解,举个形象的例子。
我们假设搭建BMS的过程和盖一栋大楼差不多(先不管这栋大楼是干什么用的)。
那么,BSW基础软件层,就是我们这栋大楼的地基以及地下基础设施建设部分。比如,外部供电设备,内部发电机,机房,监控室,仓库,排水系统等等……基础设备。
有了这些基础设施和设备,我们才可以在地面上盖出我们想要的大楼,并且为大楼稳定的运行提供最基础的条件。
RTE运行环境呢,就是这栋大楼主机房及主配电室,遍布大楼的网线,电线以及通风等一些基础运行通讯设备,包括电信号和网络信号等等。
Application应用层,就是我们这栋大楼用来做什么的最终的体现了。
如果是办公大楼,我们就装修成OFFICE;
如果是科研大楼,我们就装修成实验室;
如果只是个皮包公司,我们就装修成夜总会风格就好;
所以通俗的解释,应用层软件的编译,就是这个“装修”的过程,为了实现不同的功能,要开发不同的逻辑。
以上,帮助大家稍微理解一下,底层,环境,应用层,到底是怎样的一种东西。
最最重点的内容,终于粉墨登场了。
电池管理系统的功能可分为测量功能、核心算法和应用功能,如图4。
BMS功能这块,往细节了说,那篇幅就如滔滔江水延绵不绝了,既然题主是想自学,就走马观花的介绍一番,有个系统性的认知就好。
BMS中大致包含三个大的功能模块。
第一,测量功能主要包含:
模组的电压采样和温度采样、Pack的总电压采样和总电流采样、高压互锁检测、绝缘检测。测量功能实时监控着电池的基本状态,是BMS所有功能的基础,离开了这些测量,BMS所有核心算法、应用功能都难以执行。
第二,核心算法主要包含:
SOC(电池荷电状态)算法、SOH(寿命状态)算法、SOP(功率状态)算法、电池均衡算法。喜欢挑战算法的朋友可以挑战。
其中,SOC算法,行业内典型的方案有安时积分、开路电压、人工神经网络、卡尔曼滤波,单单某一种方案都会存在缺点,目前主流的方案是使用安时积分加上卡尔曼滤波的方式。
SOH算法,目前常用的算法有库仑计算法加上开路电压,还有卡尔曼滤波等等算法。
SOP算法,目前可靠的方法还是靠试验数据,用查表法实现。
均衡功能的原理,可以联想木桶原理,有主动均衡和被动均衡两种方法。主动均衡就是长木板裁剪后来补短木板,使得所有木板平均;被动均衡就是长木板都进行裁剪,保持所有长木板与最短木板一样长。
第三,应用功能主要包含:
高压上下电与低压上下电、交流充电与直流充电、电池系统热管理、电池系统故障诊断。
其中,高压上下电与低压上下电是需要其他控制器,比如VCU与BMS配合来实现,BMS完成高压上电后,才能给整车高压负载供电或进行充电(也有厂家做的集成度高的,BMS自己就能搞定上下电的过程)。
交流充电是通过交流充电桩、车载充电机为动力电池充电;直流充电是通过直流充电桩为动力电池充电。充电功能有相关的国标规定。
电池热管理主要是保证电池处在一个合理的温度范围,保证充放电功能处于最佳状态。
故障诊断这块,内容较多,电池的安全就全靠这块,包含过欠压保护、过流保护、继电器粘黏检测、电池压差保护等等功能。