基于Labview的蓄电池在线监测系统设计
2012-07-13陈辉煌
陈辉煌
(湄洲湾职业技术学院 福建 莆田 351254)
由于交流市电在供应的过程中可能会出现停电、电压下陷上涌、持续欠压过压以及频率波动等不确定的干扰因素,这些因素会对网络的持续运行造成影响,甚至对处于运行状态的网络设备和服务器造成损坏。各个企业在构建网络系统的时候,在计算机网络供电方面都会采取必要的措施以提供高质量的UPS电源[1]。这其中蓄电池组作为动力供应的最后保障,无疑是电源中的最后保险。而蓄电池的工作状态将直接影响UPS系统的稳定性,所以必须对电池组的工作状态进行实时监测。可见,对电源中蓄电池的准确监测变得非常重要。为了实现对蓄电池各参数的准确检测,在做了需求分析的基础上,提出并设计了一种基于Labview的蓄电池在线监测系统(以下简称“监测系统”)设计方案。该系统能够完成对其准确检测。
1 监测需求分析
针对为满足某型UPS电源蓄电池参数进行检测的需求,对电池智能化综合监控管理系统的分析,得到系统采集信号共分为以下4个参数:电池的电压、电流、温度、电量等主要参数进行采样等信号。要想完成对以上信号的测试,需要做好以下几个方面。首先该监测系统应能检测处于各种工作状况的输入信号;其次,应能将检测的数据与PC机通信;再次,还应具有将数据显示并处理。
2 总体设计
该监测系统结构图如图1所示,在对蓄电池参数的检测过程中,通过采集模块监测蓄电池运行的情况,监测电流是否在正常范围内,监测单电池电压是否正常,利用MCU控制器(AT89S52)及DS2438器件采集蓄电池各参数;采集到的数据经过RS232串行接口[2]电路送达计算机;同时根据采集上传的数据,进行容量的预估与测算,借助蓄电池数据(电压、电流、温度、电量),构筑蓄电池的监测系统。
图1 系统总体结构图Fig.1 Structure diagram of the power control unit test system
3 系统硬件设计
监测系统硬件主要由RS232串行通信接口电路、AT89S52控制器、DS2438蓄电池参数采集电路[3]等组成,系统硬件结构图如图2所示。系统是基于Labview的串行通信进行数据采集,以PC机作为上位机,单 片机 (AT89S52)作下位机,上位机发送采集指令触发下位机通过P2口读取DS2438采集的电池参数值,并利用P3.0和P3.1的串行输入输出端,通过串口芯片MAX232传输给上位机的串口,利用Labview采集并转换为十进制,再通过Labview进行数据的处理。
图2 系统硬件结构图Fig.2 Structure diagram of the hardware system
3.1 电池温度参数的测量
电池温度测量通过内部的温度传感器将测量结果存放在DS2438温度寄存器(第0页1、2字节)中,通过单总线输入输出端口(DQ)与单片机P2.0端口完成串行数据传送。电池参数采集电路如图3所示。
图3 电池参数检测电路图Fig.3 Battery parameters detection circuit diagram
3.2 电池电压参数的测量
DS2438内置了一个10位的电压A/D转换器,当选定一个电阻 R1=1 MΩ, 通过公式 14×1 MΩ/(1 MΩ+R)=10 V 得R2=390 kΩ,U实际为实际单节蓄电池的电压,U测量为DS2438测量的电压值,根据如下公式,U实际=U测量(1 MΩ+0.39 MΩ)/1 MΩ,可以在单片机中完成测量值转换为实际值。
3.3 电池电流参数的测量
DS2438内置了一个电流A/D转换器,当单片机发出A/D转换器使能信号,DS2438对流过采样电阻电流自动进行测量,测量的结果存放于电流寄存器(第0页5、6字节)中。对电流的采集电阻的选择,应不影响电池的使用,故选择小阻值电阻,且电阻精度要求高。设计采用Rsens=0.025 Ω电阻。
为了抵抗电池干扰,设计RC低通滤波器。通过计算选择R:100 kΩ,C:0.1 μF,截至频率为:
对于DS2438的AD转换频率是36.41 Hz,该低通滤波器有效地滤除剑锋脉冲,保障电流累加器准确获取采样信号。
3.4 电池剩余电量的测量
电池的剩余电量用集成电流累加器(ICA)的值求得。ICA是一个累积电池组投入使用后的全部流入和流出电池电流的寄存器,其值是由DS2438定时自动测量外接电阻Rsens幅的电压后更改的,无需对其进行控制,只需单片机读出ICA寄存器的值,然后由下式计算得出电池的剩余电量[4]:
其中Rsens的单位为Ω。
4 测试系统软件设计
该监测系统的软件采用Labview[5]编程,Labview是美国国家仪器公司(NI公司)推出的专为数据采集、仪器控制、数据分析与数据表达的图形化编程环境,它是一个开放的开发环境,具有 PCI,PXI, RS-232/485,USB 等各种仪器通讯总线标准的所有功能函数,开发者可以利用这些函数与不同总线标准接口的数据采集硬件交互工作。本系统采用NI_VISA串口Serial函数来访问和控制串口,从而实现串口通信功能。首先,利用VISA Con2figure Serial Port.vi进行串口初始化,然后利用VISA write.vi向写缓冲区发送数据读取指令,最后利用VISA read.vi以字符串形式读取数据缓冲区的8位二进制数,并利用 HexadecimalString T o Number节点将8位字符串数据转变成数字型数据,提供给控制电路[6]。
在设计过程中采用模块化编程,方便更新、维护与拓展,整个系统由温度数据采集模块、电压数据采集模块、电流数据采集模块、电量数据采集模块、通信模块和系统帮助模块等组成。监测系统利用Labview程序发送16进制数据给单片机,启动各采集模块采集数据,实时记录参数,利用上位机进行数据处理和显示。既实现了采集监控的功能,又可以进行数据的进一步处理和分析。系统软件设计的结构图如图4所示。
图4 系统软件设计结构图Fig.4 Schematic diagram of the software test system
下位机软件采用C语言编写,包括DS2438的读写和串口通信两个主要部分。上位机软件采用Labview编写。相关程序段如下所示。
系统下位机主函数:
5 实验应用
该测试系统用于某型蓄电池温度的测试。在进行测试时,首先运行该监测应用软件,初始化后,通过完成检测设置和通信配置等相关设置后,然后通过点击主程序界面的相应模块检测按钮进行相应的测试,其中上位机发送控制命令字,然后接收下位机发回的数据;并将结果进行显示,程序面板的部分界面如图5所示。通过实际应用发现,该测试系统测试结果准确、稳定可靠。
图5 测试界面图Fig.5 Interface chart of the test system
6 结 论
文中设计的蓄电池在线监测系统,既可对电池参数进行实时的采集与显示,又可实现数据远程的控制,能够满足系统的测量需求。对该测试系统已用于某型蓄电池系统进行测试,实际应用表明该测试系统具有检测准确、稳定可靠、人机界面友好等特点,达到了设计要求。而且系统扩展后可运用于UPS电源电池组的远程数据采集与测控。
[1]王志秀.浅谈UPS电源设计[J].黑龙江科技信息,2010(11):70,16.
WANG Zhi-xiu.Showing UPS power design[J].Heilongjiang Science and Technology Information,2010(11):70,16.
[2]范逸之.Visual Basic与RS-232串行通信控制 [M].北京:清华大学出版社,2006.
[3]陈辉煌.基于DS2438的多功能智能蓄电池充电器的设计[J].江西电力职业技术学院学报,2011(3):53-55.
CHEN Hui-huang.The program of multifunctional intelligent battery charger based on DS2438[J].Journal of Jiangxi Vocational and Technical College of Electricity,2011(3):53-55.
[4]DS2438 Smart Battery Monitor.DALLAS SEMICONDUCTOR[EB/OL]. (2011)http://datasheets.maxim-ic.com/en/ds/DS2438.pdf.
[5]吴成东.LabVIEW虚拟仪器程序设计及应用 [M].北京:人民邮电出版社,2008.
[6]李元,姜鑫.基于LabVIEW平台的远程虚拟数据采集系统的研究[J].沈阳化工学院学报,2008(9):269-270.
LI Yuan,JIANG Xin.Based on the platform of LabVIEW virtual remote data acquisition system of the research[J].Journal of Shenyang University of Chemical Technology,2008(9):269-270.