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

最新更新时间:2011-12-23来源: 与非网关键字:A/D转换器  单片机  差分放大器 手机看文章 扫描二维码
随时随地手机看文章

介绍一个以51系列单片机为主控单元的串联锂离子电池组监测系统。采用差分放大器和模拟开关轮流检测单体电池电压,利用单片机的IO接口和DS18B20实现单总线多点温度检测。系统简单经济,经过试验,能可靠、准确地对串联锂离子电池组进行监测。

具有高电压、高容量、循环寿命长、安全性能好等优点的锂离子电池,在便携式电子设备、电动汽车、空间技术、国防工业等多方面具有广阔的应用前景。由若干节锂离子电池经串联组成的动力锂离子电池组目前应用最为广泛。由于每节单体电池的电压不一致,使用中电池不允许过充电、过放电,电池的性能和寿命受温度影响较大等特点,必须对串联锂离子电池组进行监测,确保在使用中锂离子电池具有良好的状态,或者使用中电池出现问题立即报警,电源管理系统立即采取保障措施,并提醒相关人员检修。单体电压和电池组的温度是辨别串联锂离子电池组是否正常工作的主要技术指标。文献[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节电池正极的连接处。

每节锂离子电池最高电压为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所示。


图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的最大保护共模电压范围。

关键字:A/D转换器  单片机  差分放大器 编辑:探路者 引用地址:基于单片机的串联锂离子电池组监测系统设计

上一篇:高温微型的压力传感器的应用
下一篇:锂电池新改造:iPhone电量支撑一周

推荐阅读最新更新时间:2023-10-18 16:16

单片机典型论文竞赛题精华集锦(二)
单片机论文三 实用低频功率放大器   一、任务   设计并制作具有弱信号放大能力的低频功率放大器。其原理示意图如下:   二、要求   1.基本要求   (1)在放大通道的正弦信号输入电压幅度为(5~700)mV,等效负载电阻RL为8Ω下,放大通道应满足:   ① 额定输出功率POR≥10W;   ② 带宽BW≥(50~10000)Hz;   ③ 在POR下和BW内的非线性失真系数≤3%;   ④ 在POR下的效率≥55%;   ⑤ 在前置放大级输入端交流短接到地时,RL=8Ω上的交流声功率≤10mW。   (2)自行设计并制作满足本设计任务要求的稳压电源。
[模拟电子]
<font color='red'>单片机</font>典型论文竞赛题精华集锦(二)
MCS-51单片机定时系统
定时/计数器和中断源的多少直接决定单片机的性能。MCS-51单片机内部有两个可编程的16位定时/计数器和5个中断源,具有较强的实时处理能力和对外部应急事件的处理能力。要充分发挥单片机的功能,必须充分利用定时和中断。 定时器/计数器 一、定时和延时的区别 在单片机程序清单中,经常看到延时子程序和定时(中断)子程序。它们都能使单片机间隔一段时间后再做另一件事。例如,控制两组灯的交替闪亮。以1999年第38期九版图13为例,下面分别是用延时和定时方法的源程序。 程序1: ORG 0000H AJMP MAIN ORG 50H MAIN:MOV P1,#0AAH;第一组灯亮 ACALL DELAY ;调延时子程序 MOV P1,#55H
[单片机]
MCS-51<font color='red'>单片机</font>定时系统
51单片机的最小系统应用说明
本文我们来谈一谈51单片机的最小化应用系统的问题,相信你做了这个简单的最小系统试验以后,会对单片机逐渐感兴趣起来的,单片机要正常运行,必须具备一定的硬件条件,其中最主要的就是三个基本条件:1.电源正常;2.时钟正常;3.复位正常。下面就以我们实验用的51单片机AT89S51为例介绍其硬件连接方法。 下图就是AT89S51单片机构成的最小系统(仅驱动1个发光二极管)的电路,在AT89S51单片机的40个引脚中:电源引脚2根,晶振引脚2根,控制引脚4根,可编程输入输出引脚32根。 《51单片机的最小化应用系统电路图》 1、工作电源:电源是单片机工作的动力源泉,废话!没有电源当然不能工作啦:),对应的接线方法为:40脚(VCC)
[单片机]
51<font color='red'>单片机</font>的最小系统应用说明
AVR单片机驱动无源蜂鸣器
内部1 M晶振。 定时器实险,周期信号驱动无源蜂鸣器,些实验基于定时器的CTC模式,由硬件产生频率信号。 程序中实现单一频率的周期性提示音。 程序采用单任务方式,软件延时。 */ #include "iom16v.h" /*延时函数*/ void delay_ms(unsigned char i) { unsigned char a, b; for (a = 1; a i; a++) { for (b = 1; b; b++) { ; } } } void main(void) { unsigned char i; DDRA = 0x00; /*方向输入*/ PORTA = 0xFF;
[单片机]
温控系统中VB实现的PC机与单片机串行通迅
引言 现代的单片机测控系统中通常以PC机作为控制中心,单片机将采集到的数据通过串口送给PC机进行各种处理,为保证数据传送的及时性和正确性,就必须建立可靠的通讯。我们在开发全自动生化分析仪温度控制系统时,温度信号的测控及采集均由单片机系统自行完成,然后通过异步串行通信口将温度信号实时地传送给PC 机进行处理。上位PC机使用VB进行串口通信的编程,下位单片机使用C51进行编程。 1 VB下实现串口通信的方法 1.1 通信控件MSComm简介 VB下的串行端口通信是通过其提供的控件Microsoft Comm control(简称MSComm)实现的。该控件屏蔽了通信过程中的底层操作,程序员只需设置并监视MSComm控件的
[单片机]
温控系统中VB实现的PC机与<font color='red'>单片机</font>串行通迅
用C语言编程使51单片机的数码管左移循环显示
高手支招:请问用C语言编程使51单片机的数码管左移循环显示0-7的程序怎么编呀 由于我不懂得用中断和定时,请程序里不要用那两个函数,谢谢(*^__^*) 嘻嘻…… 悬赏分:0 - 解决时间:2010-7-31 18:09 问题补充:这个是我自己编的,可是运行起来就是不移动,麻烦你们帮修改一下,我没有编左移循环部分的程序。 //========================================================== 最佳答案: //--------------------------------------------------- #include REG51.H #define uint unsig
[单片机]
用C语言编程使51<font color='red'>单片机</font>的数码管左移循环显示
六款全新32位PIC32MX5/6/7单片机(Microchip)
Microchip Technology Inc.(美国微芯科技公司)宣布,推出六款全新32位PIC32MX5/6/7单片机系列产品,以全新的更具成本效益的存储容量选项提供相同的集成以太网、CAN、USB和串行连接外设。此外,经过设计提升后,工作电流可以低至0.5 mA/MHz,降低了功耗;闪存可承受高达2万次的读/写周期;而且EEPROM仿真能力更好。同时,通过保持通用引脚位,PIC32产品线为设计人员实现兼顾存储容量和成本的高性能应用提供了一个无缝移植路径。 嵌入式设计人员一直在寻找既降低成本又不牺牲性能或功能的方法。Microchip最新的80 MHz PIC32系列单片机系列保持了1.56 DMIPS/MHz的最佳性
[单片机]
STM32单片机智能温控风扇设计简介
一、功能简介 本项目使用Proteus8仿真STM32单片机控制器,使用LCD1602液晶、按键、蜂鸣器、L298N电机驱动模块、直流电机、DS18B20温度传感器等。 系统功能: 系统运行后,LCD1602显示传感器检测的温度值;默认以自动模式运行,若按下K4键切换为手动模式,此时可以通过K1和K2控制风扇加减速,风扇档位共5档(0-5)。当再次按下K4键切换为自动模式;自动模式下,实时检测温度值,当温度高于上限且在2C范围内,以3档运行。当温度高于上限且在4C范围内,以4档运行。当温度高于上限且在6C范围内,以5挡运行。当温度高于上限且超过6C范围,以5档运行且蜂鸣器报警。若温度在上下限范围内,风扇以2档运行。若
[单片机]
STM32<font color='red'>单片机</font>智能温控风扇设计简介
小广播
最新电源管理文章
换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved