DIY编程器网

 找回密码
 注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 1037|回复: 0
打印 上一主题 下一主题

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

[复制链接]
跳转到指定楼层
楼主
发表于 2014-10-11 08:18:53 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
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估算基本可靠。下图为电路板和上位机的数据显示:
       
       
       
       
        6总结与展望
        本文针对水下机器人的动力源——锂离子电池组提出一种电池管理系统的设计方法。该电池管理系统可直接检测及管理储能电池工作的全过程,包括电池充放电过程管理、电池温度检测、电池电压电流检测、电量估计、单体电池间的均衡、电池故障诊断等几个方面。在单电池电压测量、总电压、总电流、温度测量及SOC估计和其他功能方面均达到了要求。
       
        系统不可避免地存在一些不足,对进一步的研究工作有如下展望:
        (1)增加CAN通信模块,CAN(ControlArea Network)总线是德国BOSCH公司在80年代初为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信协议,具有实时性强、抗干扰能力强、结构简单、应用方便、价格低廉等特点,在现场总线中有一定的优势。通过CAN总线组成具有两级控制结构的可同时管理多组锂电池组的分布式锂电池管理系统。系统采用1个CECU(central electric control unit)和5个LECU(local electral control unit)组成,原理图如图6-1所示,8节锂电池为1个电池组,每个电池组由1个LECU管理,本文设计的锂电池管理系统只作为1个LECU管理1组电池组。CECU接收各LECU数据并对数据进行处理。
       
       
       
        (2)对于SOC估测方案的研究还没有达到较为理想的状态,需要进一步深入下去,把一些没有考虑到的对SOC有影响的因素引入到算法中来,如:电池老化引起电池容量的变化,单体电池对电池组的影响,温度和电池容量对自放电的影响等。
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友 微信微信
收藏收藏 分享分享 支持支持 反对反对
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|文字版|手机版|DIY编程器网 ( 桂ICP备14005565号-1 )

GMT+8, 2025-1-11 18:30 , 耗时 0.089107 秒, 21 个查询请求 , Gzip 开启.

各位嘉宾言论仅代表个人观点,非属DIY编程器网立场。

桂公网安备 45031202000115号

DIY编程器群(超员):41210778 DIY编程器

DIY编程器群1(满员):3044634 DIY编程器1

diy编程器群2:551025008 diy编程器群2

QQ:28000622;Email:libyoufer@sina.com

本站由桂林市临桂区技兴电子商务经营部独家赞助。旨在技术交流,请自觉遵守国家法律法规,一旦发现将做封号删号处理。

快速回复 返回顶部 返回列表