新闻中心

EEPW首页 > 电源与新能源 > 设计应用 > 锂电池管理系统的研究与实现 — 锂电池管理系统的软件实现

锂电池管理系统的研究与实现 — 锂电池管理系统的软件实现

作者:时间:2013-04-25来源:网络收藏

4.1管理系统的软件框图

锂电池管理系统的研究与实现 — 锂电池管理系统的软件实现

4.2管理系统的

硬件电路确定以后,控制系统的主要功能将依赖于系统软件的实现。控制系统能否正常可靠的工作,除了与硬件的合理设计外,与功能完善的软件设计也是分不开的。在软件设计时,首先要根据控制系统要求分析软件要实现的任务,然后进行软件的总体设计,包括程序总体结构设计和对程序进行模块化设计。按整体功能分成多个不同的模块,单独设计、编程、调试,然后将各个模块组合调试,实现软件的全部功能。

本系统软件是基于ATMEGA8L的C语言实现的,其中:电压测量模块,由单片机控制模拟开关,通过单片机的10位A/D模块测量单节电池电压值。为了提高测量的精度,软件采用“筛值平均”的软件虑波方法。在对每一节电池的模拟量测量时,连续测量多次,然后筛去最高值和最低值,再对剩余的测量值取平均,获得最佳的测量结果。然后根据电压的计算方式,获得电池的电压。在电压测量完成后,要运行“冒泡排序”的程序,对所有的电池电压进行排序,标记最低、最高电池,为均衡模块服务。

充电管理模块,通过检测到的单节电池电压判断电池所在的充电阶段,并利用单片机的脉宽调制输出(PWM)控制MOSFET实现预充阶段的小电流充电和保持充电阶段的脉冲充电。当检测到电池充电完毕后,自动断开充电回路,点亮充电完毕提示灯。充电管理模块通过检测到的电压,电流,温度值判断电池是否工作在正常状态,如出现过压,过流,温度过高等情况,马上通过MOSFET关闭充放电回路,并点亮故障提示灯。

剩余容量估计包括检测开路电压,通过开路电压与电池电量的对应关系计算,另外主要依靠安时积分法在充放电时对实时检测到的电流值作积分,这通过单片机的定时器产生定时中断来实现。

串口通信利用单片机的串口USART与PC机的RS232通信。在上位PC机中,主要完成的是对串口设置的选择控制、采集数据的读取显示,并对采集的数据存储。我们选择了VC++6.0完成界面设计,通讯串口设置和存储数据。VC++6.0开发串行通信程序主要有两种方法:

1、利用VC++6.0提供的MSComm控件;

2、利用专门的Windows的SDK提供的API函数。

本文采用了MSComm控件。MSComm控件在串口编程时非常方便。程序员不必花时间去了解较为复杂的API函数,只需要在串口通信资源的属性(Properties)一项中配置串口。串口通信的波特率、数据位数、停止位数、奇偶校验、发送缓冲区大小、接收缓冲区大小以及超时设置等均在此时进行配置。完成串口配置之后即可打开串口,进行数据读写。它只有一个事件,即OnComm事件。通过事件驱动,对时间的发生进行跟踪和处理,从而检测和处理通信错误以及进行对数据的处理显示等。

5系统调试

系统的现场调试在实验室进行,下图为管理系统的现场运行

锂电池管理系统的研究与实现 — 锂电池管理系统的软件实现

实验证明系统能进行较为精确的数据采样,电压测量精度可以达到0.05V,可实现对锂电池的分阶段充电控制,SOC估算基本可靠。下图为电路板和上位机的数据显示:


上一页 1 2 下一页

关键词: 锂电池 软件实现

评论


相关推荐

技术专区

关闭