基于DELPHI的镍氢电池管理系统软件设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
基于 DELPHI 的镍氢电池管理系统软件设计 摘要通过对镍氢电池性能的研究,给出了一个应用总线技术构建的、 基于编程平台的镍氢电池管理系统的设计方案,重点介绍了该系统的软件 技术和实现方法。
关键词;充放电;软件;模块;1前言镍氢电池是目前大容量电池的 主要品种,已在通讯、交通、电力等部门得到广泛的应用,同时它也是其 它智能仪表中最为常用的备用电池。
但在实际使用中,由于充放电控制不合理而损坏的电池占大多数。
实际上,若镍氢电池充放电适当,通常可以工作10年时间。
为此,笔者研制了镍氢电池自动充放电控制系统。
该系统由恒流源充电器和恒流源放电器对电池进行充放电 流、电压、温度控制是该电池控制系统的重要部分。
为此,该系统在总体考虑电流、电压、温度控制系统的基础上,选用 微机控制系统对电压、电流、温度进行控制及模拟曲线处理,用得出的数 据库对数据进行研究,并对电池性能及SOC进行预测。
应用软件可在Windows平台上用面向对象的DELPHI6 编程软件编写 2 这对整个系统控制软件的可靠性、易编制性大有益处。
因此电
DELPHI软件介绍采用PC机作为上位机对采集的数据进行分 析处理,是实现这种小型系统实时数据采集和分析的有效方法。
Borland公司的Delphi是当今最优秀的Window s开发工具之一,它的可视化开发环境和面向对象的快速应用程序开发工 具RAD,可使程序开发人员在Windows平台上快速开发出32位 的应用程序。
由于它采用面向对象的编程语言,能嵌入汇编和实现多线程操作,且 开发数据库功能强大,因而是控制工程师极好的编程工具。
3 系统硬件设计范文先生网收集整理本文所设计的电池控制系统的硬 件主要由工控机、PCL711BI/O接口板、光电隔离及采集板、恒 流源充电器和恒流源放电器构成,其整体框图如图1所示,其各部分的硬 件原理在此不再详述。
4 系统软件设计图2所示是该系统的软件模块图。
其中程序初始化包括关闭所有继电器选择开关充放电选择继电器,充 放电使能继电器、接收数据模块的图象处理初始化、数据库初始化、充放 电条件的选择包括充电电池容量选择、充放电切换选择以及是否按预定曲 线充放电等,同样,程序退出也需实现一系列清零操作。
4.1数据发送模块数据发送模块用于完成电流信号的产生、调制以 及通过对PCL711-B卡的编程操作来实现数据的发送和电流信号 的形成。
由于充放电电流一般较大,考虑到安全问题,操作应严格按照操作规 程来处理,本软件模拟了各项操作工序,并配以图文指示。
为了灵活地充放电,系统分为手动和自动充放电两种方式,如对电池 有一定的了解,可以选择手动充电并通过一定的试验了解电池的性能,然 后向数据库中或者预存曲线库中添加想要的充放电形式,从而实现充放电 的智能控制。
若选择自动充电,可以选择不同情况下的充放电形式。
电池充放电与许多因素有关,如夏天和冬天的情况不同,不同温度下 充放电的要求也不一样,不同循环次数的电池充放电表现出来的SOC值 也不一样,本系统在设计充放电预定库时都有基于此方面的考虑。
一般电池充放电有2种主要形式恒压充电和恒流充电,本系统选择的 是恒流充电恒流源自制,电路原理图可向作者索取,并通过软件和硬件相 结合的方式实现电流的智能充电。
电池充放电就充电来说主要表现为三个阶段电池恢复阶段、大电流充 电阶段、涓流补充充电阶段。
刚开始充电由于电池内阻较大,故需要用小电流充电以恢复电池,充 电电流不宜高于0.3C,大电流充电阶段控制到0.5C-2C之间, 待到电池电压上升到预定充电电压时预定额度时,可以改为小电流补充充 电方式,从而使其能量SOC 90%以上。
而当基于DELP HI设计软件时,要综合考虑以上要素,然后在预定曲线图和数据库 Stateofcharge 达到满额
中给出理想的充放电方案。
利用DELPHI软件实现D/A卡的定时发送时,可通过系统的中 断来实现。
4.2数据采集模块镍氢电池充放电系统一般需要采集4种数据充放 电电压、充放电电流、电池温度、充放电器温度。
为了保证采样的准确性,可采用三次采样取平均值的算法来实现采样。
利用DLL提供的功能函数,再配以DELPHI软件,就能很容易 地通过PCL911-B采集卡实现对设定通道内数据的采集。
下面是其简单的例程 {打开设备}ErrCde=DRV _Devic eOpendwDeviceNum ,De-viceHandle ;{设置 采集通道,采集开始}AiVolIn1.chan=ptAIConfi g1.DasChan;AiVolIn1.gain=ptAIConf ig1.DasGain;AiVolIn1.TrigMode CtrMode1;AiVolIn1. voltage =Ai
=@Volta
ge1;................ErrCde1=DRV _A IVoltageInDeviceHandle _ AiVolIn 1;................ErrCde=ErrCde1* ErrCde2*ErrCde3*Er -rCde7*ErrCde8 *ErrCde9;{获取采集卡的数据}Edit1.Text=Floa tToStrFVoltage1/5, ffFixed 6 ,4;{采集结
束,保存、退出}lpDioWritePort.port=lpDio PortMode.port;lpDioWritePort.mask
=255;lpDioWritePort.state=0 ;ErrCd e=DRV_DioWritePortByteDeviceHand le,lpDioWritePort ;4.3数据处理模块通过数据处理 模块可以完成信号的存贮、显示、分析以及信号的调节、系统报警及紧急 停止等功能。
信号的保存分为图象和数据库的保存,这些都可以利用DELPHI 的SaveDialog对话框以及Pic-ture. SaveToFi le事件来实现。
数据的显示可以利用DELPHI的Tcanv as对象,也可以用简单的绘图语句在图象框等控件中实时地复现出 数据波形,还可以通过Teechart统计图表对采集数据进行波形复 现和简单的分析。
若要对其采集数据线性度以及信号的频率、幅度、变化率做进一步的 分析,可以调用MATLAB进行高级处理。
有关数据库的操作可以围绕Table或者Query控件来完成, 并通过ODBC数据源以及DELPHI的BDE数据管理器来进行连 接。
但Query控件需调用SQL语言来从事设计。
信号的分析主要包括通过采集的电流、电压、以及温度、循环次数来 研究电池的能量-SOCStateofcharge , 电池荷电状态可 反映电池的剩余容量。
其数值上定义为电池剩余容量占电池容量的比值。
SOC建模的正确与否关系到电池的工作效率、电池的寿命、电池所 能释放的能量和继续充放电的时间,所以SOC建模是电池管理系统的重 要一环。
因篇幅有限,这里不作介绍。
本系统还可利用经典的PID调节方式,并通过DELPHI软件来 保证输出的线性度和稳定性。
由于充放电需要恒流源,并且充放电时间都较长,故可采用常见的P ID调节可消除偏差方法来满足系统要求。
5 结束语利用DELPHI软件进行基于ISA总线的检测系统开发, 可以与各类数据采集卡、数模转换卡进行无缝集成。
实际使用证明该系统稳定可靠, 功能强大, 可实现电池的自动化监控, 并能够得出有价值的信息。
目前,该系统已成功应用于某新型汽车研发平台。
。