硬件的设计必须要实现对动力锂电池组的合理管理,首先必须保证采集数据的准确性;其次是可靠稳定的系统控制;最后非常重要的是抗干扰性。在具体实现过程中,根据设计要求决定要采集动力锂电池组的数据类型;根据采集量以及精度要求决定硬件的设计。
本文设计的锂离子电池管理系统控制板附在锂离子电池组上,由锂离子电池组供电,作为在线管理系统实现实时管理功能基本功能如下:
1.电池信息实时采集及显示,包括单体电压、电池组总电压、温度、充放电电流;
2.剩余电量估计功能及显示;
3.8节锂离子电池充/放电智能管理,当电池电压、充放电电流、电池温度和剩余容量过低或过高时,发送报警信号;
4.在充、放电过程中对单体电池进行均衡和诊断;
5.故障电池智能检测/报警;
6.存储锂离子电池的充放电信息,可与上位机通信,在上位机检查锂离子电池的使用过程。
3.1锂离子电池管理系统的硬件结构
本锂离子电池管理系统重要由充电模块、数据采集模块(包括电压,电流,温度数据采集)、均衡模块、电量计算模块、数据显示模块和存储通信模块组成。系统框图如下:
其中数据采集模块负责采集电池的各种状态参数,如电流、电压、温度;充电控制模块按预充、恒流充电和恒压充电三个阶段进行自动充电,并根据采集的数据对充放电过程进行控制;均衡模块在适当的时候通过15W的开关电源对单个电池进行均衡充电,使电池组中的电池更加均衡一致;电量估测单元重要是分析采集过来的状态参数并根据研究试验得出的电量估测算法,对电池的当前电量进行估测;数据显示单元采用图文液晶显示屏,可显示各节电池电压,充放电电流,剩余电量,电池温度和充电时间;存储通信单元通过存储芯片按时把充放电信息(电压,电流,充放电时间等)存储起来,可通过串口与电脑通信,在电脑上显示充放电信息。
3.2ATMEGA8L处理器简介
ATMEGA8L是美国ATMEL公司推出的一种高性能8位单片机,它在吸收了pIC及8051单片机优点的基础上,做出了重大的改进,速度快,性价比高,能在线编程,在一个芯片内将增强性能的RISC8位CpU与可下载的FLASH相结合使其成为适合于许多要求、具有高度灵活性和低成本的嵌入式高效微控制器。它具有以下特性:
●高性能、低功耗的8位AVR微处理器
●先进的RISC结构
-130条指令大多数指令执行时间为单个时钟周期
-32个8位通用工作寄存器-全静态工作
-工作于16MHz时性能高达16MIpS
-只需两个时钟周期的硬件乘法器
●非易失性程序和数据存储器
-8K字节的系统内可编程Flash,擦写寿命:10,000次
-具有独立锁定位的可选Boot代码区通过片上Boot程序实现系统内编程,真正的同时读写操作
-512字节的EEpROM擦写,寿命:100,000次
-1K字节的片内SRAM-可以对锁定位进行编程以实现用户程序的加密
●外设特点
-两个具有独立预分频器8位按时器/计数器,其中之一有比较功能
-一个具有预分频器、比较功能和捕捉功能的16位按时器/计数器
-具有独立振荡器的实时计数器RTC
-三通道pWM-TQFp与MLF封装的8路ADC10位ADC
-pDIp封装的6路ADC10位ADC
-面向字节的两线接口-两个可编程的串行USART
-可工作于主机/从机模式的SpI串行接口
-具有独立片内振荡器的可编程看门狗按时器
-片内模拟比较器
●特殊的处理器特点
-上电复位以及可编程的掉电检测
-片内经过标定的RC振荡器
-片内/片外中断源-
5种睡眠模式:空闲模式、ADC噪声抑制模式、省电模式、掉电模式及Standby模式
3.3采样模块电路设计
3.3.1电压采样的实现
锂离子电池在充电时为防止过充损坏电池,要求其端电压严格控制在4.2V以下,本电池管理系统采用图3-1所示电压检测方法。
其工作原理是:
首先MCU控制的多路开关Kn-1、Kn-2(n=1,2,3,4,5,6,7),同步地将电容分别的接到各单元电池两端,使电容充电且使电容电压等于被测单元电池的电压;然后MCU控制多路开关n1K、n2K断开,同时合上开关K1和K2接入A/D进行测量。此方法可直接使用微处理器内的10位共地A/D,不要另外单独加入A/D,节省了设计成本[4]。在实际电路中模拟开关采用继电器实现。
3.3.2电流采样的实现
电流是电池容量估计的关键参数。因此对其电流的采样的精度,抗干扰能力,零飘、温飘和线性度误差的要求都很高。在实际中采用LEM公司的闭环电流传感器LTSR25-Np,该元件具有出色的精度、良好的线性度和最佳的反应时间。其额定电流为25A,最高可测80A的电流,满足系统设计的要求。该电流传感器可把充放电电流转为0-5V的电压信号,送至单片机的A/D转换可测得充放电电流。其工作原理如图3-3所示:
其工作特性曲线如图3-4所示:
图中VREF为参考点电压,默认为2.5V;Ip为被测量电流。
3.3.3温度采样的实现
3.3.3.1温度传感器DS18B20简介
电池温度是系统评估电池的SOC和判断电池能否正常使用的关键性参数,温度影响电池的充电效率,同时假如电池的温度超过一定值,有可能造成电池的不可恢复性破坏。电池组之间的温度差异造成电池组单体之间的不均衡,从而造成电池寿命的降低。
本电池管理系统中温度检测采用的是美国DALLAS半导体公司生产的数字温度传感器DS18B20.它是单片结构,无需外加A/D即可输出912位的数字量。通信采用单总线协议,对DS18B20的各种操作通过一条数据线即可完成,同时该数据线还可兼做电源线,即具有寄生电源模式。因为关于每个DS18B20都含有唯一的序列码,所以每条总线上可同时连接多个DS18B20.这使得DS18B20连线简单,系统设计灵活,适合于多种测温系统,特别是与单片机合用构成的温度检测与控制系统。
DS18B20的内部重要包括寄生电源、温度传感器、64位激光ROM单线接口、存放中间数据的高速暂存器、用于存储用户设定的温度上下限值的TH和TL触发器与控制逻辑、8位循环冗余校验码发生器等七部分。DS18B20温度传感器的内部存储器包括一个高速暂存RAM和一个非易失性可电擦除的EEpROM.后者用于存储用户设定的温度报警上下限值TH,TL.前者内部的配置寄存器可用于确定温度值的数字转换分辨率,设定的分辨率越高,所要的温度数据转换时间就越长。因此,在实际应用中要在分辨率和转换时间之间权衡考虑。
高速暂存存储器除了配置寄存器外,还有其他8个字节组成。其中第1,2字节为温度信息、第3,4字节为TH和TL值、第68字节未用,表现为全逻辑1;第9字节读出的是前面所有8个字节的CRC码,可用来保证通信正确。
DS18B20将转换的温度值以16位带符号扩展的二进制补码形式存储在高速暂存存储器的第1,2字节。对应的温度计算:当符号位S=0时,直接将二进制位转换为十进制;当S=1时,先将补码变换为原码,再计算十进制值。
工作中系统对DS18B20的操作以ROM命令和存储器命令形式出现。其中ROM操作指令分别为:读ROM(33H)、匹配ROM(55H)、跳过ROM(CCH)、搜索ROM(FOH)和告警搜索(ECH)
命令。暂存器指令分别为:写暂存存储器(4EH),读暂存存储器(BEH)、复制暂存存储器(48H)、温度转换(44H)和读电源供电方式(B4H)。
3.3.3.2温度检测电路设计及工作原理
温度检测系统,采用直接电源供电方式。当DS18B20处于写存储器操作和温度A/D变换操作时,总线上必须有强的上拉,上拉开启时间最大为10μs.由于单线制只有一根线,因此发送接收口必须是三态的。同时由于读写在操作上是分开的故不存在信号竞争问题。
在系统安装及工作之前,应将主机逐个与DS18B20挂接,读出其序列号。其工作过程为:主机发一个脉冲,待0电平大于480μs后,复位DS18B20,待DS18B20所发响应脉冲由主机接收后,主机再发读ROM命令代码33H(低位在前),然后发一个脉冲(15μs)并接着读取DS18B20序列号的一位。用同样方法读取序列号的56位。关于系统的DS18B20操作的总体流程图,它分三步完成:1.系统通过反复操作,搜索DS18B20序列号;2.启动所有在线DS18B20做温度A/D变换;3.读出在线DS18B20变换后的温度数据。主机启动温度变换并读取温度值;主机写入存储器数据。当有更多的检测点要测温时,利用ATMEGABL的其它口进行扩展。具体电路图如下:
3.4充电控制模块设计
常规充电法是按预充、恒流、定压三阶段进行,时序图如图3-6所示:
为提高充电效率,本电池管理系统的预充和定压充电阶段采用间歇式充电法,如图3-7所示:
对装有电池管理系统的锂离子电池组充电时,必须外接与之匹配的恒压限流型的电源括配器。其恒压值U为
U=4.2*N+损耗电压
式中:N为电池节数。
限流值为该动力锂离子电池的常规充电电流0.3C(C为电池容量),在实行充电前必须先进行系统的初始化,然后才按预充、恒流充电和恒压充电三个阶段进行自动充电。
1.初始化
虽然初始化阶段并未开始对电池充电,但却是整个充电过程很重要的一步。智能能源管理模块在此阶段对自身进行初始化和自检,以确定自身是否工作正常,同时检测充电条件是否符合充电要求:
(1)外接充电电源极性是否正确;
(2)外接充电电压是否在规定范围内;
(3)当时温度是否在允许范围内;
(4)锂离子电池端电压(各单体)是否在允许的最低充电电压以上;
(5)锂离子电池端电压(各单元)是否高于过充电检测电压;
2.预充
预充电不是每次都要进行,其目的是当电池过度放电、存放时间太长或电池已经损坏,电池端电压已经低于锂离子电池允许的最低充电压以下时,必须以小的电流(约为正常充电电流的1/10)进行预充,使锂离子电池端电压上升到最低允许充电电压以上,才能转为下一个充电程序恒流充电。
预充原理是电源适配器通过MCU控制向电池施加一个比较小的充电电流(约为正常充电电流的1/10),使得低于允许的最低充电压以下的电池在固定的时间内达到最低允许充电电压值,防止将深度放电的电池认为是不可充的电池。
如图3-8所示,本模块的预充是电源适配器通过预充开关管S1、电阻R4、S3向电池预充的,这时MCU通过程序控制放电开关管S3全导通,预充开关管S1做间歇式导通,采用较短的导通时间及间隔较长的关断时间(等效平均电流较小)向电池预充,直至电池的端电压上升到锂离子电池允许的最低充电电压(2.52.7V之间,与温度有关),然后进人下一充电阶段恒流充电;若长时间预充电池端电压都不能到达最低允许充电电压,则说明电池已损坏,程序进人充电禁止状态。
3.恒流充电
本电池管理系统对锂离子电池恒流充电要求外置充电电源是恒流的,其恒流值应小于锂离子电池的最大允许充电电流,本系统定为0.3C.MCU通过程序控制充电开关管S2、放电开关管S3全导通,电源适配器通过充电开关管S2、放电开关管S3向电池组恒流充电。电池电压将缓慢上升,一般充电时间为23小时,这时电池电量达到了满电量的70%80%.当单个电池单元电压达到所设定的终止电压时,恒流充电终止,充电电流快速递减,充电进入保持充电过程。
4.保持充电
本电池管理系统在保持充电阶段采用脉冲充电方式,在这一阶段中,脉冲充电方式以与恒流充电阶段相同的电流值间歇性的对电池进行恒流充电一段固定的时间t,然后关闭充电回路。由于充电电流的存在,电池电压将继续上升超过充电终止电压,在充电回路被切断后,电池电压又会慢慢下降。当电池电压恢复到充电终止电压时,重新打开充电回路,仍然对电池以恒流电流值进行充电,而后又关闭充电回路等待电池电压的下降。在脉冲充电电流的用途下,电池会被逐渐充满,电池端电压下降的速度也逐渐减慢。这一过程一直持续到电池电压恢复时间达到某个预设的值为止,可以认为电池己接近充满。
本系统的各种保护及工作状态都要用到大功率电子开关,本系统采用大功率、低导通电阻的MOSFET.使用MOSFET的原因是本电路既有充电回路,又有放电回路,为此电子开关器件应具有双向导通能力,而MOSFET具有此种能力。实际电路中的MOSFET采用IRF4905,其典型的导通电阻为20mΩ,Vds=55V,Id=74A.
3.5均衡模块原理与方法设计
3.5.1国内外锂离子电池组的均衡方法综述
当锂离子电池组由多个单体电池串联使用时,即使单节电池的性能再优良、质量再好,若配组使用的各单体电池特性不一致,都会导致电池组内部各单体电池过充和过放情况的严重不一致,就内部单体电池而言,串联使用比单个使用更容易发生过充和过放现象,且不易发现。任意一个电池的特性加剧恶化时,将导致电池组内其它电池发生多米诺骨牌效应的连锁性、加剧性损坏。电池组的品质由其中质量最差的一只电池决定,一只电池质量差不仅影响了整个电池组的性能,还会引起恶性的连锁反应,使差的更差,好的也会迅速变差。为解决上述问题,目前通用的做法是将单体电池精选配对,组合成优质的电池组,最大限度地减小单体电池间的差异。
就算动力锂离子电池组解决了配组的前期技术问题,电池组在使用中亦会使其特性出现变化,目前对电池组在使用中由于特性变化出现的导致电池组整体特性急剧衰退和部分电池加速损坏的现象,并无有效的解决办法,只能在电池组充、放电过程中检测到有一个电池处于过充或过放状态,保护电路就将整个充、放电电路关断。由于上述原因,动力锂离子电池组在实际使用中(特别是充电时)解决各单节锂离子电池在电池组中的平衡问题极为重要。目前国外采用的均衡方法重要有:能耗的方法和无能耗的方法。
3.5.1.1能耗均衡方法
典型的方法是利用发热电阻旁路分流,旁路分流均衡法原理图如图3-9所示。B1、B2Bn为组成锂离子电池组的各单元电池,K1、K2Kn为MCU控制的多路开关,R1、R2Rn,为放电平衡电阻。当电池组充电时充电电流I在各节电池中都相等。当某节(例如:B2)电池电压高于其他电池超过某值时,MCU控制的多路开关K2合上,B2通过R2分流,使B2电压下降,如此反复循环n次使得锂离子电池组各单元电池能平衡充电。此方法简单、可靠,但电阻会消耗电能并发热,使用中需注意选取电阻阻值及功率,其最大的缺点是放电(工作)使用中,各单元平衡则白白消耗了锂离子电池组的电能。
3.5.1.2无能耗的均衡方无能耗的均衡方法是利用一个活动的分流元件或电压或者电流转换器件来将能量从一节单体转移到另一节单体。这些器件可以是模拟的,也可以是数字的。两种重要的方法是电容平衡和能量转换。
电容平衡原理图如图3-9所示。B1、B2Bn为组成锂离子电池组的各单元电池,K1、K2Kn为MCU控制的多路开关,C为平衡电容。当电池组充电时,若某节(例如:B2)电池电压高于其他电池超过某值、而B3最低,MCU控制的多路开关K2,K3合上,KA、KB都切换在a点,B2通过K2、K3、KA、KB向C充电,在C充满电后,MCU控制的多路开关K3、K4合上,KA、KB切换都在b点,电容C通过K4、K3、KA、KB向B3释放电能,使B2电压下降,B3电压上升,如此反复循环n次使得锂离子电池组各单元电池能平衡充电。此方法亦较为简单、可靠,但使用中应注意掌握好电容充放电时间,其最大的优点是充、放电(工作)使用中,都可平衡各单元电池的功能,且不消耗锂离子电池组的电能。
用能量转换进行单体均衡是采用电感线圈或变压器来将能量从一节或一组电池转移到另一节或一组电池。两种积极的能量转换方法是开关变压器方法和共享变压器方法。
开关变压器方法共享一个与前面快速电容器相同的开关。拓扑如图3-10.整个电池组的电流I流入变压器T,变压器的输出经过二极管D校正后流入单体Bn.这由开关S的设置来决定,此外还要一个电子控制器件来选择目标电池和设置开关S.
这种方法的均衡速度较快,但要消耗整个电池组的能量。此外还有缺点包括设计复杂,元件众多,有控制器、电磁感应线圈和开关等,由于存在开关损耗和电磁损耗使得效率低下。
共享变压器法只有一根磁芯,次级有线圈分别接在每一节单体。如图3-11,电池组的电流I流入变压器的初级,每一个次级分别出现感应电流。单体电池的电压越低,它的电抗就越小,因而感应电流越大。用这种方法,每一节单体获得的均衡电流与其SOC成反比。
在共享变压器中,唯一的活动元件就是次级的转换晶体管。不要闭合线圈,共享变压器方法能快速而且低损耗的对电池组进行均衡。它的缺点也是复杂、元件众多,因为每一个次级都要整流器件。
3.5.2本电池管理系统所采用均衡方法
本电池管理系统所采用的均衡方法根据上述方法中开关变压器均衡法的原理,直接采用DC/DC开关电源,在充放电过程中根据检测到的各单体电池的电压值,判断出要均衡充电的单节电池,用电池组的电量对该节电池进行额外的均衡充电,原理图如下:
DC/DC开关电源选用了新星DOM-24D15S5,输入电压1836V,输出电压在4.65.5V可调,输出电流为3A,实物图如下:
3.6液晶显示的实现
本电池管理系统选用DM12864M汉字图形点阵液晶显示模块,可显示汉字及图形,内置8192个中文汉字(16*16点阵)、128个字符(8*16点阵)及64*256点阵显示RAM.重要技术参数和显示特性:
电源:VDD3.3V5V(内置升压电路,无需负压);
显示内容:128列*64行;LCD类型:STN;
与MCU接口:8位或4位并行/3位串行;
多种软件功能:光标显示、画面移位、自含义字符、睡眠模式等。
本系统使用串行接口,电路原理图如图3-14所示。通过液晶模块可显示电池组总电压,各单节电池电压,充放电电流,充放电时间,工作温度,剩余电量。
3.7串口通信的实现
锂离子电池管理系统在锂离子电池充放电过程中把充放电信息,包括各节电池的电压,充放电电流,工作温度,电池电量等经过采样实时的写入Flash存储芯片SST25VF020中保存,在锂离子电池充放电完毕后,可通过串口与上位pC机通信,在上位机检查锂离子电池的充放电过程,并可在上位机保存该次锂离子电池的使用信息备以后参阅。
SST25VF020是SST25VF系列Flash存储芯片。其芯片具有以下特点:总容量为2M;单电源读和写操作,工作电压为2.73.3V;低功耗,工作电流为7mA,等待电流为3uA;时钟频率高达33MHz,快速编程,快速擦除,快速读取;数据保存100年;CMOSI/O兼容等。其封装为SOIC和小尺寸的WSON封装。MCU对要的数据进行采样后,将采集到的数据通过SpI串行通信存储到FLASH中。当系统通过异步串口和pC机相连时,通过SpI串行通信将储存到FLASH中的数据读到pC机中,从而对采集的数据进行分析、处理。将采集到的数据保存后,即可擦除FLASH,为下一次采集做准备。存储电路如图3-15所示:
该系统串行接口UART要和pC的串行接口RS232之间进行双向通信,但是pC机的RS232接口电平采用负逻辑,即逻辑1:-3-15V,逻辑0:+3+15V.而单片机使用的TTL电平中,高电平(3.55V)为逻辑1,低电平(00.8V)为逻辑0.单片机要外接电平转换电路芯片把TTL高电平表示的1转换成RS232的负电压信号,把低电平表示的0转换成RS232的正电压信号。是要解决电平转换问题,本系统采用MAXIM公司的MAX232C电平转换芯片来实现,该芯片集成度高,+5V电源供电(内置了电压倍增电路及负电源电路),只需外接几个电容即可完成从TTL电平到RS232电平的转换。硬件连接电路如图3-16所示: