基于LabVIEW的电动汽车电池监测预警系统
芯片必须在规定的时间点上对采集到的模拟信号进行采样,并将采样数值转换成数字量发送给单片机。
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开发平台的多线程及其灵活的接口技术,利用其强大的数据处理能力以及丰富实用的程序结构,对适用于纯电动汽车的电池实时监测预警系统进行了研究,主要实现了电池基本信息测量、电量估计、故障报警等功能。
STC89C52单片机 纯电动汽车 电池监测预警 LabVIEW 相关文章:
- STC89C52单片机定时器2的使用(12-02)
- STC89C52单片机驱动CC1101无线模块的接收C语言程序(11-30)
- STC89C52单片机驱动CC1101无线模块的发送C语言程序(11-30)
- A7105(2.4G)与STC89C52单片机无线收发程序(接收程序)(11-27)
- A7105(2.4G)与STC89C52单片机无线收发程序(发射程序)(11-27)
- STC89C52单片机数码管静态显示(11-21)