基于单片机的串联锂离子电池组监测系统设计

发布者:Qingfang最新更新时间:2012-05-25 来源: 电子科技关键字:单片机  串联锂离子  电池组监测系统 手机看文章 扫描二维码
随时随地手机看文章

具有高电压、高容量、循环寿命长、安全性能好等优点的锂离子电池,在便携式电子设备、电动汽车、空间技术、国防工业等多方面具有广阔的应用前景。由若干节锂离子电池经串联组成的动力锂离子电池组目前应用最为广泛。由于每节单体电池的电压不一致,使用中电池不允许过充电、过放电,电池的性能和寿命受温度影响较大等特点,必须对串联锂离子电池组进行监测,确保在使用中锂离子电池具有良好的状态,或者使用中电池出现问题立即报警,电源管理系统立即采取保障措施,并提醒相关人员检修。单体电压和电池组的温度是辨别串联锂离子电池组是否正常工作的主要技术指标。文献[1]采用直接采样法,将要测量的单体电池电压存储在非电容上进行测量。该方法反应时间慢、误差较大、控制复杂;文献[2]采用运放和光藕继电器来测量串联电池组的单体电压。该方法对光耦的线性度要求很高,导致硬件成本较高。目前,直接采用集成芯片的串联锂离子电池组监控系统受到青睐,但该方法串联电池的数目固定,导致应用不灵活、硬件成本高等缺点。文中研制了一种动力锂离子电池组监测系统,对串联锂离子电池组的单体电压和电池组的温度进行在线监测,当单体电池电压偏离规定区间时,监测系统启动报警程序进行声、光报警;当电池组温度偏离规定的区间时,监测系统启动风扇或加热控制电路,并存储有关数据,确保电池组正常工作。整个监测系统具有连续测量分量、简单经济、精度高和可靠性高的特点。

1 技术和方案

1.1 系统结构

串联锂离子电池组监测系统包括采用51系列单片机的核心控制模块、锂离子电池组状态采集模块、信号调理模块,报警及处理系统模块,监测系统可以通过RS485接口与PC机组成分布式监测系统,实现一台PC监测多个串联电池组,系统结构框图如图1所示。

状态采集模块包括对单体电池的电压和电池组的温度等参数进行采集,然后待测量信号进行处理,通过A/D转换器采样后传输给单片机进行数据处理,将有效数据通过串口传到本地PC机,监测人员可以通过对状态数据的进行分析从而掌握电池组的工作情况,对不安全的状态进行及时的处理,确保其工作的可靠性。

基于单片机的串联锂离子电池组监测系统设计
     图1 串联锂离子电池组监测系统结构图

1.2 串联锂离子电池组的共地问题

串联锂离子电池组电压测量的方法有多种,最简单的是电阻分压测量方法,该方法缺点是大阻值电阻的漂移误差和电阻漏电流导致测量精度低,且影响电池组的一致性。另外一种较为常用的方法是每一个单体电池用一个隔离运算放大器,但是它的体积大且价格高,适于测量精度要求高且不考虑漏电流和成本的场合。设计选用德州仪器公司的INA117来解决串联锂离子电池组的共地问题[3]。INA117的失真为0.001%;共模拟制比最小86dB,共模输入电压范围±200V,适合于高精度的测量。

INA117内置了380kΩ、20kΩ和21.1kΩ 3个电阻,因此外部电路省去精密电阻,减少了精密电阻带来的误差和系统复杂程度。图2是INA117输出1节电池电压的接法,6脚和1脚之间的电压就是1节电池两端的电压差。

基于单片机的串联锂离子电池组监测系统设计
     图2 INA117输出电压是两输入电压之差的接法

该检测系统采用16个INA117分别把16节锂离子电池的单体电压挑选出来。如果它们的1脚都接相同的地,就可以使16个INA117都有相同的信号地,A/D转换器进行采样。共地点选在第8节电池负极和第9节电池正极的连接处。[page]

每节锂离子电池最高电压为5V,由图3可得,第1个INA117的3脚的输入电势最高为40V。同理,第16个INA117的2脚输入电势最低为-40V。第1至8个INA117的输出电压为正,第9至16个INA117的输出电压为负,所以多选一模拟开关和A/D转换器都要求可以输入正、负电压。多选一模拟开关选用MUX16,为16选1可正负电压输入模拟开关,因此16节电池只需1个MUX16.但由于单片机IO口有限,文中用一片74LS154扩展了IO口,仅用单片机的4个IO口即可控制MUX16分别选通单节锂离子电池进行电压采样。

基于单片机的串联锂离子电池组监测系统设计
     图3 16个INA117的共地点接法

1.3 A/D转换器

监测电池组无需用很高的采样速度采样每节电池的电压,16节电池电压的采样共用1个A/D转换器[4]。各节电池输入的测量电压通过多选一模拟开关MUX16与A/D转换器连接。根据电池电压的更新周期和电压要求,A/D转换器传送给单片机的电压转换值误差最大为10mV。选择美信公司MAX1272。

MAX1272是具有故障保护、可通过软件选择输入范围的12位串行模拟数字转换器,使用SPI三线通信协议,+5V供电,模拟输入电压范围0~10V,0~5V,±10V,±5V。内部自带+4.096V参考电压。当采用内部+4.096V参考电压时,理想情况下模拟电压输入对应的数字输出,如表1所示。

表1 理想情况下模拟电压输入对应的数字输出
     基于单片机的串联锂离子电池组监测系统设计

由表1可知,MAX1272输出的数字量最高位是符号位,余下的11位是数据。负数以补码的形式给出。

参考电压为+4.096V时,1LSB=1.2207mV。

MAX1272的最大量化误差,加上非线性、失调等误差的影响,总误差约为5mV。INA117精度高,正常情况下,误差在1mV以内。因此,使用INA117和MAX1272的组合,可以满足串联锂离子电池组电池监测系统在电压误差10mV以下的要求。需要更高的电压精度,需要选用更高分辨率的A/D转换器。

MAX1272的线路连接图如图4所示。

基于单片机的串联锂离子电池组监测系统设计
     图4 MAX1272的线路连接图

图4中MAX1272采用了内部参考电压,6脚VREF 和地之间接2.2μF钽电容和0.1μF陶瓷电容。

PCB布线时,这两个电容都要求尽量接近MAX1272。

1.4 温度监测

针对串联电池组,传统的测温方法多采用模拟温度传感器进行测量,在数据的采集和传输过程中易受外界环境的干扰,从而使测得的结果误差较大,且当测量点较多时,连线较复杂。文中采用单片机和单总线数字式温度传感器DS18B20来解决上述问题[5]。其原理如图5所示。[page]

基于单片机的串联锂离子电池组监测系统设计
     图5 温度巡回检测系统框图

采用外部5V供电,总线上可挂接多片DS18B20,且可以同时进行精确的温度转换,而无需外接驱动电路。测温范围-55~ +125℃;测温精度:在-10~ +85℃范围内的精度为±0.5℃;在温度采集过程中,单片机芯片需对DS18B20发命令字,同时也需要读取由DS18B20采集到的温度。因此,单片机控制器的I/O必须被设置为具有双向传输数据能力。

本检测系统每隔一节锂离子电池在总线上挂接一片DS18B20,设置8个温度监测点,同时检测8点温度。实际应用时由单片机软件判断出需要显示的温度值:当温度高于10℃时,显示8个温度点中最高的温度值;当温度低于10℃时,显示8个温度点中最低的温度值,达到有效合理的温度监控效果。

1.5 风扇及加热控制电路

对于电池的散热问题,设计了风扇控制电路,通过对测量到的电池温度值进行判断,决定风扇的开启或关闭。当温度过高时,单片机将发出信号开启风扇。

电路如图6所示,FAN为低电平时,晶体管9014不导通,此时继电器无动作;当FAN为高电平时,晶体管9014导通,使得继电器触点吸合,风扇在24V电源电压的供电下开始工作。

基于单片机的串联锂离子电池组监测系统设计
     图6 风扇控制电路

对于应用环境复杂的串联锂离子电池组,除了要考虑温度过高的情况,还要考虑温度过低的情况。因为电池在温度过低的环境下运行时,会使锂离子活性变差,嵌入和脱出能力下降,容易在石墨晶体表面沉积,形成锂金属。形成的锂金属会与电解液发生不可逆的反应。

如果锂离子电池长期在低温下工作,则将使电池的容量下降明显。因此根据需要设计了加热器控制电路,原理如风扇控制电路。

2 监测系统的性能

实测证明,使用INA117、16选1模拟开关MUX16、MAX1272、51单片机和DS18B20的串联锂离子电池组监测系统监测16节3.7V锂离子电池,电压的测量误差完全在10mV以内。温度方面,由于DS18B20精度较高,温度误差在1℃以内。电压和温度的测量均达到要求,系统运行可靠。当串联锂离子电池组任何一节电池电压<2.2V时,单片机调用轻度报警程序进行声光报警,并通报存在问题的电池。

当串联锂离子电池组任何一节电池电压>5V时,单片机调用严重报警程序进行声光报警。如果温度值超出预设温度值的容许范围,串联锂离子电池组监测系统进行声光报警。风扇和加热控制电路均能根据设定温度正常启动控制电路。当温度低于5℃时,启动加热控制电路;温度高于50℃时,启动风扇控制电路。

3 结束语

串联锂离子电池组检测系统,采用高共模抑制比差分运放INA117解决了共地问题,监测电压误差正负10mV,如要进一步提高检测精度,可以选用高位A/D转换器。检测时,锂离子电池是串联接在检测模块上的,要保证接线正确。根据实际应用,可把几个检测系统串接起来检测更多的串联锂离子电池组,但要确保共模电压不超过INA117的最大保护共模电压范围。

参考文献

[1] 谭磊。多单元电池组单元电池电压测量[J]。电测与仪表,1999(11):17 - 19.
     [2] 蒋新华,雷娟,冯毅,等。串联电池组电压测量的新方法[J]。仪器仪表学报,2007,28(4):734 - 737.
     [3] 孙肖子,楼顺天,李先锐,等。模拟及数模混合器件的原理与应用[M]。北京:科学出版社,2009.
     [4] 彭明杰,钟汉枢。串联电池组监测系统[J]。仪表技术与传感器,2005(5):42 - 44.
     [5] 付进军,齐铂金,吴红杰,等。动力电池组管理系统单总线测温技术研究[J]。中国测试技术,2004,6(30):10 - 12.

关键字:单片机  串联锂离子  电池组监测系统 引用地址:基于单片机的串联锂离子电池组监测系统设计

上一篇:基于AT89S52单片机的花卉自动浇灌系统的设计
下一篇:基于DSP和单片机通信的液晶显示设计方案

推荐阅读最新更新时间:2024-03-16 13:00

单片机---HLK-W801移植Nes模拟器(一)
背景介绍 年关将至,不过学习的脚步不能停,最近在着手研究一个能在单片机上运行的Nes模拟器,就是我们小时候常玩的红白机。 参考了网上的各位高手的文档,发现STM32上的居多,但是要能够存储和运行Nes模拟器,对rom和ram的要求,相对来说还是高一些,手中的103FC8T6目前还不能用,因为存不下也运行不起来。 不过还是被我发现了一个绝世高手的文章,最终运行ram居然只需要30多Kb,2013年的文章,这个真是不服不行。 传送至大佬文章 所以准备试一下前一阵买的HLK801,毕竟这个主频和存储,都没大问题。 开搞!! 代码准备 LCD驱动 目前是采用了之前用过的SPI总线的LCD,驱动芯片是ili9341。这块就不
[单片机]
<font color='red'>单片机</font>---HLK-W801移植Nes模拟器(一)
基于PIC18单片机的新颖Bootloader设计
Bootloader是操作系统在内核运行之前运行的一段小程序,其功能主要是完成软硬件设备初始化,建立内存空间映射,从而将系统的软硬件环境带到一个合适的状态,或者加载操作系统映像文件实现系统软件升级,以便为最终调用操作系统内核准备好正确的环境。通常,BootLoader是严重地依赖于硬件而实现的,特别是在嵌入式世界。因此,在嵌入式世界里建立一个通用的BootLoader几乎是不可能的。   针对PIC18系列单片机,目前市面上仅存在HI-TECH公司提供的Bootloader程序,并且需要借助串口调试助手。本文基于Microchip公司的MPLAB软件开发环境设计了一种新颖的Bootloader,并配套编写了PC机端上位机界面
[单片机]
基于PIC18<font color='red'>单片机</font>的新颖Bootloader设计
STM8L151C8单片机学习例程(4)——串口发送字符,字符串
STM8L_4_USART: 1.User:工程及main文件 2.Hardware:USART,CLK,LED,Delay 3.STM8L15x_StdPeriph_Driver:STM8自带库文件 4.Debug:hex文件存放于EXE文件夹 5.Function: 发送字符,字符串,整形,浮点,hex等 /** ****************************************************************************** * @file main.c * @author Alex——小白 * @version V1.0 * @date
[单片机]
STM8L151C8<font color='red'>单片机</font>学习例程(4)——串口发送字符,字符串
AVR单片机TO定时器快速PWM模式范例
AVR单片机TO定时器快速PWM模式范例: /*/////////////////////////////////////////////// ///////定时器TO的使用例程 快速PWM模式///////// //编译环境:ICCV7 for AVR //晶体: 11.0592Mhz ///////////////////////////////////////////////*/ #include #include void port_init(void) { PORTA = 0x00; DDRA = 0x00; PORTB = 0x00; DDRB = 0x08; //PB3为PWM输出 PORTC = 0x00; /
[单片机]
对于51单片机和arm9开发板串口通信问题的分析
距离毕设的时间还剩20天左右,这几天一直忙着做毕设,今天终于将51单片机和串口通信的问题解决了,抽出点时间,写一下遇到的问题。不然,过几天又忘了,记录下来也给后续学习的技术宅能提供一点帮助。 我的串口实验是:ARM9 控制板通过串口发送一个指令,51接受到这个指令后,根据这个指令控制小车的运行方式。(为什么不用arm9直接控制小车而采用51控制小车呢? 答:我的想法是电机驱动这一块直接交付给下一级控制器,程序简单,容易实现,况且通过串口,只需解析一个指令就可以实现)。 1、做此类串口通信一定要记得共地,我采用的方法是直接用5v直流输出引出了两个接口,分别为两个控制板供电,这样的话串口通讯的电压没有一点问题。 2、做串口通讯的
[单片机]
avr单片机功能特性介绍
RISC 优先选取使用频率最高的简单指令,避免复杂指令:并固定指令宽度,减少指令格式和寻址方式的种类,从而缩短指令周期,提高运行速度。由于 AVR 采用了 RISC 的这种结构,使AVR系列单片机都具备了1MIPS/MHz(百万条指令每秒/兆赫兹)的高速处理能力。 早期单片机主要由于工艺及设计水平不高、功耗高和抗干扰性能差等原因,所以采取稳妥方案:即采用较高的分频系数对时钟分频,使得指令周期长,执行速度慢。以后的CMOS单片机虽然采用提高时钟频率和缩小分频系数等措施,但这种状态并未被彻底改观(51以及51兼容)。此间虽有某些精简指令集单片机(RISC)问世,但依然沿袭对时钟分频的作法。 AVR单片机的推出,彻底打破这种旧设
[单片机]
avr<font color='red'>单片机</font>功能特性介绍
pic单片机汇编语言讲解(上)
Pic 单片机为最常用单片机之一,许多程序均基于 pic 单片机进行开发。因此,熟练 pic 单片机编程尤为重要。为保证大家能准确、熟练掌握 pic 单片机的使用,本文特带来 pic 单片机的各种汇编语言指令的讲解上篇,下篇将在后期文章中予以讲解。如果你对本文即将讲解的内容充满兴趣,不妨继续往下阅读哦。 一、pic 的指令系统 pic8 位单片机共有三个级别,有相对应的指令集。基本级 pic 系列芯片共有指令 33 条,每条指令是 12 位字长;中级 pic 系列芯片共有指令 35 条,每条指令是 14 位字长;高级 pic 系列芯片共有指令 58 条,每条指令是 16 位字长。其指令向下兼容。 二、pic 汇编语言指令格
[单片机]
pic<font color='red'>单片机</font>汇编语言讲解(上)
基于C8051F系列单片机和CAN总线技术实现电动汽车数字控制系统的设计
电动汽车是集计算机技术、通信技术、电子技术、新材料技术等一体化的高科技产品,其结构复杂,有多种相互作用却又相对独立的部件,且车载环境较恶劣,有很强的干扰,用模拟量的控制可靠性不高。先进高效的控制体系结构,可以使电动汽车各系统之间的数据交换满足简单迅速、可靠性高、抗干扰能力强、实时性好、系统错误检测和隔离能力强等要求。本文采用了先进的计算机技术和CAN总线技术,集智能控制、信号采集、数据处理和通信于一体,控制实时性好,可实现整车控制智能化和多传感器信息的有效融合。 1 CAN总线的简介 CAN(ControllerAreaNewtork)即控制器局域网,是一种先进的串行通信协议,属于现场总线范围。CAN总线是最初由德国Bosch
[单片机]
基于C8051F系列<font color='red'>单片机</font>和CAN总线技术实现电动汽车数字控制系统的设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

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