微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于数据采集卡的蓄电池测试系统

基于数据采集卡的蓄电池测试系统

时间:12-25 来源:互联网 点击:
1. 前言
  
  阀控密封铅酸电池(VRLA)由于具有蓄能大、安全和密封性能好、寿命长、免维护等优点[1],在电力保护、电动汽车和自行车、以及包括光伏系统在内的许多地方大量采用。同时,各用户都希望了解他们使用的蓄电池还有多少能量和还能使用多久,以便能够及时的充电或更换。目前蓄电池容量预测及寿命估算方法不是很有效,为进行蓄电池容量预测及寿命估算研究,需要完成对蓄电池的检测,特研制了一套测试系统。


2.系统要求

  要了解VRLA蓄电池的特性,实现无损检测,只有测试它的电能输入、输出的特性。同时由于温度对蓄电池的特性有较大影响,因而除测试它的端电压和输入(出)电流外,还必须检测它工作时的温升。

  由于蓄电池的内阻能反映出其“健康状况”[2],而且在放电测试期间的在线阻抗测量有发展潜能[3],进行蓄电池的阻抗计算很有必要。为排除温度的影响,实现阻抗值可比较,将各种温度下的检测值换算成标准温度25℃下的,其补偿算法[4]:

              R25℃ = R+0.015×R×(T-25)

  其中,R为实测动态电阻,R25℃为25℃时的换算值,T为实测温度的算术平均值。


3.系统组成

  系统由个人计算机、数据采集/控制卡和检测电路构成,框图如图1所示。采集卡采用研祥PCL-812PG卡,它包括16路12位A/D、2路D/A以及数字16入/16出,允许以DMA、中断以及查询方式进行数据采集[5]。

  检测电路主要完成对蓄电池的电压(开路、充电与放电)、电流(充电、放电)以及温度的转换。电压信号采用直接在蓄电池上并联电阻分压的方法来得到;电流则采用穿孔式霍尔电流传感器,可以方便地通过改变原边绕组数,得到最佳的输出精度;为采集到蓄电池产生的温升,温度测量采用两路,一个采集蓄电池本身温度,另一路采集环境温度,它们都采用了高精度温度传感器AD590,信号经运放放大输出。

  另外,系统还设计了测试控制开关,由数字口送出,有利于测试的开始控制(开路电压的测试)以及与各种充、放电设备的接口(简单的充、放电设备没有充、放电结束控制)。为充分利用采集卡资源,系统设计了四组蓄电池测试端口,它们可以同时测量。检测电路如图2所示。两路温度检测电路相同,图中给出了一路。




4.软件的实现

  由于对蓄电池测试的参数都不是高速变化量,数据要求的实时性不高,采用Visual Basic6.0作为编程语言,具有各种控件多,界面设计容易的优点,同时也能够满足本系统测试要求。

  程序主要包括:开机界面、运行窗口界面(检测数据实时显示、实时数据变化曲线、选择菜单、运行控制等)、数据存贮以及历史记录显示、退出界面等,其流程框图如图3所示。采集卡的驱动程序由板卡厂家以动态链接库(DLL)的形式提供。使用时只需在程序中加以声明,如要使用I/O口的输出口,则作如下声明[6]:

  Declare Function W_812PG_DO Lib "812pg.dll" (ByVal port_number As Long, ByVal do_data As Byte) As Long



  开机界面及退出界面的设计比较简单,开机界面是以命令按钮的方式退出,而关机界面是利用Timer控件延时退出。

  运行窗口界面这部分是程序的核心,它包括采集卡的设置、数据的检测、数据处理及显示、曲线的绘制、数据的存贮其中包括对文件的操作处理、充电电压高、放电电压低的停机处理的程序块。实时曲线的显示是以从左向右推进方式进行,这里采用VB的绘图命令Line。格式语句如下:

         [pic1].Line (x1, y1)-(x2, y0), picColor(n)

  pic1为当前绘图的图形控件,x1,x2为X轴位置,x1为起始,x2为结束,(x2-x1)为每次绘图的宽度,y0,y1 是Y轴位置,picColor(n)指出绘制线的颜色。在本系统中由于新值总是固定从左边输入,因此x1固定;y1是当前要绘制的新点,y0为上一次的位置值。

  由于在这里图形显示是一个推进的动态过程,也就说是在同一的X轴位置后面的数据要不断地替代前面的数据。为实现这一功能,这里采用了屏幕拷贝功能,利用windows 的内部库“GDI32.DLL”函数BitBlt()来完成,其格式如下:

  result = BitBlt(pic1.hDC, 2, 0, pic1.Width / Screen.TwipsPerPixelX, pic1.Height / Screen.TwipsPerPixelY, pic1.hDC, 0, 0, SRCCOPY)    (1)

  对于每一条曲线都要指定一个图像控件,结合画线命令,就能看到漂亮的移动曲线,移动的速度(步距)可以在开始阶段设定函数BitBlt()中参数来实现,这个参数就是式(1)中的常数2,这个步距也决定了采集参数的显示个数,因为指定图像控件的显示宽度是一定的。运行窗口界面如图4所示。图中U 、I、T1与T2分别表示电池电压、电流、电池温度及环境温度。曲线图的标值为A/D转换对应输入,而图下端给出了每个采集量的实际结果。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top