基于DELPHI的镍氢电池管理系统软件设计

2007-03-09 19:03:27来源: 互联网
摘要:通过对镍氢电池性能的研究,给出了一个应用ISA总线技术构建的、基于DELPHI编程平台的镍氢电池管理系统的设计方案,重点介绍了该系统的软件技术和实现方法。 关键词:DELPHI;充放电;软件;模块;SOC 1 前言 [b]镍氢电池是目前大容量电池的主要品种,已在通讯、交通、电力等部门得到广泛的应用,同时它也是其它智能仪表中最为常用的备用电池。但在实际使用中,由于充放电控制不合理而损坏的电池占大多数。实际上,若镍氢电池充放电适当,通常可以工作10年时间。为此,笔者研制了镍氢电池自动充放电控制系统。该系统由恒流源充电器和恒流源放电器对电池进行充放电因此电流、电压、温度控制是该电池控制系统的重要部分。为此,该系统在总体考虑电流、电压、温度控制系统的基础上,选用微机控制系统对电压 、电流、温度进行控制及模拟曲线处理,用得出的数据库对数据进行研究,并对电池性能及SOC进行预测。应用软件可在 Windows平台上用面向对象的 DELPHI6编程软件编写 这对整个系统控制软件的可靠性、易编制性大有益处。 2 DELPHI软件介绍[/b] [b]采用PC机作为上位机对采集的数据进行分析处理,是实现这种小型系统实时数据采集和分析的有效方法。Borland公司的Delphi是当今最优秀的Windows开发工具之一,它的可视化开发环境和面向对象的快速应用程序开发工具RAD,可使程序开发人员在Windows平台上快速开发出32位的应用程序。由于它采用面向对象的编程语言,能嵌入汇编和实现多线程操作,且开发数据库功能强大,因而是控制工程师极好的编程工具。 3 系统硬件设计 [/b] [b]本文所设计的电池控制系统的硬件主要由工控机、PCL 711BI/ O接口板、光电隔离及采集板、恒流源充电器和恒流源放电器构成,其整体框图如图1所示,其各部分的硬件原理在此不再详述。 4 系统软件设计[/b] 图2所示是该系统的软件模块图。其中程序初始化包括关闭所有继电器选择开关(充放电选择继电器,充放电使能继电器)、接收数据模块的图象处理初始化、数据库初始化、充放电条件的选择(包括充电电池容量选择、充放电切换选择以及是否按预定曲线充放电)等,同样,程序退出也需实现一系列清零操作。 4.1 数据发送模块 数据发送模块用于完成电流信号的产生、调制以及通过对PCL711-B卡的编程操作来实现数据的发送和电流信号的形成。 由于充放电电流一般较大,考虑到安全问题,操作应严格按照操作规程来处理,本软件模拟了各项操作工序,并配以图文指示。 为了灵活地充放电,系统分为手动和自动充放电两种方式,如对电池有一定的了解,可以选择手动充电并通过一定的试验了解电池的性能,然后向数据库中或者预存曲线库中添加想要的充放电形式,从而实现充放电的智能控制。 若选择自动充电,可以选择不同情况下的充放电形式。电池充放电与许多因素有关,如夏天和冬天的情况不同,不同温度下充放电的要求也不一样,不同循环次数的电池充放电表现出来的SOC值也不一样,本系统在设计充放电预定库时都有基于此方面的考虑。一般电池充放电有2种主要形式:恒压充电和恒流充电,本系统选择的是恒流充电(恒流源自制,电路原理图可向作者索取),并通过软件和硬件相结合的方式实现电流的智能充电。 [b]电池充放电就充电来说主要表现为三个阶段:电池恢复阶段、大电流充电阶段、涓流补充充电阶段。刚开始充电由于电池内阻较大,故需要用小电流充电以恢复电池,充电电流不宜高于0.3C,大电流充电阶段控制到0.5C-2C之间,待到电池电压上升到预定充电电压时(预定额度时),可以改为小电流补充充电方式,从而使其能量SOCState of charge达到满额(90%以上)。 [/b] 而当基于DELPHI设计软件时,要综合考虑以上要素,然后在预定曲线图和数据库中给出理想的充放电方案。 利用DELPHI软件实现D/A卡的定时发送时,可通过系统的中断来实现。 4.2 数据采集模块 镍氢电池充放电系统一般需要采集4种数据:充放电电压、充放电电流、电池温度、充放电器温度。为了保证采样的准确性,可采用三次采样取平均值的算法来实现采样。 利用DLL提供的功能函数,再配以DELPHI软件,就能很容易地通过PCL911-B采集卡实现对设定通道内数据的采集。下面是其简单的例程: {打开设备} ErrCde:= DRV_ DeviceOpen(dwDeviceNum, De-viceHandle); {设置采集通道,采集开始} AiVolIn1.chan:= ptAIConfig1.DasChan; AiVolIn1.gain := ptAIConfig1.DasGain; AiVolIn1.TrigMode = AiCtrMode1; AiVolIn1.voltage := @Voltage1; ................ ErrCde1:= DRV_ AIVoltageIn(DeviceHandle_AiVolIn1); ................ ErrCde :=ErrCde1*ErrCde2*ErrCde3*Er-rCde7*ErrCde8*ErrCde9; {获取采集卡的数据} Edit1.Text:=FloatToStrF(Voltage1/5,ffFixed 6,4); {采集结束,保存、退出} lpDioWritePort.port := lpDioPortMode.port; lpDioWritePort.mask := 255; lpDioWritePort.state:= 0; ErrCde := DRV_ DioWritePortByte(DeviceHandle, lpDioWritePort); 4.3 数据处理模块 通过数据处理模块可以完成信号的存贮、显示、分析以及信号的调节、系统报警及紧急停止等功能。 信号的保存分为图象和数据库的保存,这些都可以利用DELPHI的SaveDialog对话框以及Pic-ture.SaveToFile事件来实现。 数据的显示可以利用DELPHI的Tcanvas对象,也可以用简单的绘图语句在图象框等控件中实时地复现出数据波形,还可以通过Teechart统计图表对采集数据进行波形复现和简单的分析。若要对其采集数据线性度以及信号的频率、幅度、变化率做进一步的分析,可以调用MATLAB进行高级处理。 有关数据库的操作可以围绕Table或者Query控件来完成,并通过ODBC数据源以及DELPHI的BDE数据管理器来进行连接。但Query控件需调用SQL语言来从事设计。 信号的分析主要包括通过采集的电流、电压、以及温度、循环次数来研究电池的能量-SOC(State of charge),电池荷电状态可反映电池的剩余容量。其数值上定义为电池剩余容量占电池容量的比值。 SOC建模的正确与否关系到电池的工作效率、电池的寿命、电池所能释放的能量和继续充放电的时间,所以SOC建模是电池管理系统的重要一环。因篇幅有限,这里不作介绍。 [b]本系统还可利用经典的PID调节方式,并通过DELPHI软件来保证输出的线性度和稳定性。由于充放电需要恒流源 ,并且充放电时间都较长,故可采用常见的PID调节(可消除偏差)方法来满足系统要求。 5 结束语[/b] 利用DELPHI软件进行基于ISA总线的检测系统开发,可以与各类数据采集卡、数模转换卡进行无缝集成。实际使用证明:该系统稳定可靠,功能强大,可实现电池的自动化监控,并能够得出有价值的信息。目前,该系统已成功应用于某新型汽车研发平台。 [b] [/b]
编辑: 引用地址:http://www.eeworld.com.cn/designarticles/power/200703/12528.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部

小广播

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

北京市海淀区知春路23号集成电路设计园量子银座1305 电话:(010)82350740 邮编:100191

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved