基于LabVIEW的电动汽车电池监测预警系统
扫描二维码
随时随地手机看文章
摘要 车载电池作为电动汽车的核心部件,如何有效的管理和利用蓄电池的能量,增加电池的使用寿命成为关键问题。文中介绍了一种基于STC89C52的蓄电池信息采集硬件平台,通过对A/D转换、串口通信、温度传感器控制等部分的完善,开发了完整的硬件数据采集系统,实现了对单体电池电压、电流、温度等基本信息的采集功能,运用LabVIEW搭建上位机数据处理平台,对适用于纯电动汽车的电池实时监测预警系统的研究,实现了电池基本信息测量、电量估计、故障报警等功能,以及对电池组进行合理有效的管理和控制,该系统工作中运行稳定,在实际应用中具有良好的参考价值。
能源枯竭和环境破坏的矛盾日益突出,基于电动汽车的节能和环保性,电动汽车的发展已成为必然趋势。车载电池是电动汽车的核心部位,而电池管理系统研究的关键是如何有效利用蓄电池的能量,增加电池的使用寿命。电池管理系统能够估计出剩余电量SOC,确保SOC在合理的工作范围,又可以对故障电池进行早期预测,避免由于单体电池的破坏不能及时发现而降低整组电池的使用寿命。因此,电池能量管理系统(BMS)的研究越来越受到人们重视。
宋雪桦等设计了适用混合电动汽车上动态均衡式的电池管理系统(BMS),优化了SOC估算,满足了系统估算5%以内的误差要求,实验最终结果误差为3.3%;王波等基于LTC 6803电池管理系统的电压采集滤波、温度采集扩展、电压均衡、SPI通讯等外围电路的设计方法,最大限度地减少了外围器件的使用;张华辉等基于DSP的锂离子电池管理系统,实现单体电池电压、总电压、电流、温度的检测,具有SOC估算、通讯、计算机监测等功能。
本文运用基于STC89C52的蓄电池信息采集硬件平台,实现对单体电池电压、电流、温度等基本信息的采集功能,在LabVIEW中搭建上位机数据处理平台,对适用于纯电动汽车的电池实时监测预警系统进行研究,实现了电池基本信息测量(电压、电流、温度)、电量估计、故障报警等功能。
1 研究方法
电池监测预警系统需具备监测电池工作状态的功能,包括电池的电压、电流和温度,并在其超出工作范围时进行报警,最大限度发挥电池的功效。
1.1 系统方案选择
监控平台是基于电池管理系统设计,包括硬件和软件两个部分。硬件部分是基于STC89C52蓄电池的信息采集硬件平台,对单体电池的电压、电流、温度等基本信息进行采集。软件部分是运用LabVIEW实现电池基本信息测量、电量估计、故障报警等功能。
目前,市面上成型的电池监测预警系统主要包括集中型、分散型和集成型3种。该研究采用以STC89C52单片机为处理芯片的下位机,对单体锂离子电池的基本信息进行采集和上传,而在上位机基于LabVIEW搭建监测预警平台,进行实时数据的显示和报警。
1.2 电池的状态监测
电池监测预警系统的主要功能是实时监测锂离子电池的运行状况,并将其反馈到上位机进行显示和处理。该研究以单体磷酸铁锂电池为例进行运行测试。
电压的监测:单体磷酸铁锂电池的正常工作电压范围是2~3.7 V,若不在这一区间,系统将自动报警。
电流的监测:放电电流的大小对于电动汽车的安全工作至关重要,若超过正常工作范围,将可能引起电池组起火甚至爆炸。
温度的监测:单体磷酸铁锂电池的正常工作温度是-20~50℃,若超出范围,平台将自动指示报警。
1.3 串行口通信设置
下位机与PC机的通信方式通常有并行和串行两种方式。在现代单片机测控系统的设计实现中,信息的交互通常采用串行通信方式。其中,串行通信又包含异步串行通信和同步串行通信两种方式。异步串行通信方式中,通信的发送与接收设备使用各自时钟控制数据的发送和接收过程,因为这种方式不要求收发双方时钟的严格一致,实现起来相对简单,设备开销较小。因此,本研究使用的通信方式为异步串行通信方式。
目前,最常用的串行接口标准是美国电子工业协会(EIA)所制定的异步串行通信标准RS-232,它可以实现单片机与PC机的数据通信,其通信原理电路图如图1所示。
由于单片机使用TTL电平,而RS-232使用的是RS-232电平,为保证通信稳定性,该论文使用电平转换芯片MAX232,同时集成RS-232电平和TTL电平之间的互转。电路原理图如图2所示。
2 电池监测预警系统的硬件实现
2.1 电池监测预警系统的硬件结构
硬件部分使用STC89C52蓄电池信息采集硬件平台,实现对单体电池电压、电流、温度等基本信息的采集功能。单体磷酸铁锂电池的电压、电流、温度采集的硬件部分结构如图3所示。
2.2 A/D工作原理
在A/D转换芯片中,采集到的模拟信号在时间上是连续的,而发送给单片机的数字信号是离散的。因此,A/D芯片必须在规定的时间点上对采集到的模拟信号进行采样,并将采样数值转换成数字量发送给单片机。
A/D转换分为3个阶段:采样保持、量化和编码。为提高数据转化效率,需采用逐次比较型的A/D转换芯片,通过数次与不同的参考电压进行比较,获取差距最小的电压值,即转换的输出值,原理如图4所示。
在采集电压和电流方面,该研究采用ADC0804芯片,该芯片属于集成逐次比较型A/D转换芯片。
2.3 ADC0804电压、电流采集实现电路
ADC0804引脚和功能参见文献。该研究中ADC0804芯片外围电路与单片机的连接原理如图5所示。
(1)VIN(+)接电位器的中间滑动端,VIN(-)接地。调节电位器时,中间滑动端的电压在0~5 V的范围内变化,ADC0804的数字输出端在0x00~0xFF变化。
(2)WR、RD分别接单片机的P3.6和P3.7引脚,数字输出端接P1口。
2.4 温度采集实现电路
温度采集实现电路采用DS18B20温度传感器。该装置采用单总线协议,仅占用一个I/O端口,直接将外界温度转化成数字信号,串行输出。DS18B20介绍参见文献,测量实现电路如图6所示。
在电路连接方面,将DS18B20与STC89C51相连进行通信。在实际应用中,通常采用多点采集对电池温度进行测量时,故需将所有传感器的I/O口连接在一起,在程序编写时,通过传感器内部芯片序列号识别,进行多点扩展,设计多通道的温度采集硬件系统。
3 LabVIEW上位机监测平台
3.1 LabVIEW虚拟仪器软件介绍
LabVIEW是美国NI(National Instruments)推出的一种程序开发环境,开创G语言——一种用图标代替文本行创建应用程序的图形化编程的语言,使用更为方便直观。该图形化程序编译平台具有多种功能包括:DLL(Dynamic Link Library)、多线程、数据记录、运行控制等,可对程序设计进行深入的原理分析、细化的结构设计及灵活的接口实现,确保电池监测预警监控平台的高效性与稳定性。
该研究使用LabVIEW进行测控,将下位机实时采集到的基本信息的16进制通过串口上传至PC。图7为LabVIEW平台的整体界面。
3.2 模拟电压、电流采集
图8和图9分别为电压、电流的实时采集图像。
图10~图12为LabVIEW中处理电压、电流部分的程序图。串口初始化设置的波特率与下位机相同,均为9 600 bit·s-1,数据位为8,无校验位,停止位为1。该部分程序采用层叠式顺序结构,包含3个帧(0~2)。程序中还使用了VISA串口的相关知识、索引数组等相关知识。
下位机部分接收变化的模拟电压(0~5 V),PC接收单片机发送的电压值(16进制,1 Byte),并转换成十进制形式,以数字、曲线的方式输出。
电压值设定的合理范围是2~3.7 V(磷酸铁锂电池的正常电压范围),低于或高于该范围红灯亮起,电流值设定的上限为50 A(磷酸铁锂电池的持续工作电流约为50 A),当电流高于此值时红灯亮起报警。
3.3 单体锂电池温度采集
图14~图16为温度采集的上位机程序。串口初始化设置的波特率与下位机相同,均为9 600 bit·s-1,数据位为8,无校验位,停止位为1。该部分程序层叠式顺序结构,包含3个帧(0~2)。另外,程序中使用了VISA串口、索引数组等相关知识。
下位机部分接收变化的温度,PC接收单片机发送的温度值,并转换成十进制形式,以数字、曲线的方式输出。温度值设定的合理范围是-20~60℃,低于或者高于该范围红灯亮起,进行报警。
4 结束语
本研究基于STC89C52的蓄电池信息采集硬件平台,通过对A/D转换、串口通信、温度传感器控制等部分的完善,开发了完整的硬件数据采集系统。借助LabVIEW开发平台的多线程及其灵活的接口技术,利用其强大的数据处理能力以及丰富实用的程序结构,对适用于纯电动汽车的电池实时监测预警系统进行了研究,主要实现了电池基本信息测量、电量估计、故障报警等功能。