基于MSP430锂电池充放电系统的设计与实现
2022-03-07林蔚
林 蔚
(漳州职业技术学院电子工程系,福建漳州 363000)
0 引言
近年来,随着便携式设备的快速发展,使得可循环充放电的电池得到了广泛的应用.锂离子电池凭借着使用寿命长等优势在众多电池材料中脱颖而出[1],但由于锂电池本身有着较为复杂的化学性质,过充、过放、过流以及短路都会影响电池的寿命损害电池性能甚至出现安全事故.因此需要设计一款安全有效的锂电池充放电系统对锂电池组的各项参数进行实时监控测量,从而实现对整个锂电池组的保护.
我国电池管理系统的研究正处于发展阶段,苏州兴恒电力有限公司率先研究开发了应用于汽车领域的锂离子动力电池组及其管理系统;北京航空航天大学设计的系统不仅可以完成温度、电流、电压的常规采集,同时增加了荷电状态估算以及电池健康状态的管理等功能[2-3].但目前锂电池管理系统设计存在功能单一,硬件采样电路复杂,无法实现实时监控与管理等不足.
针对以上问题,提出了一款锂电池充放电管理系统,其具有以下优点:根据BQ76930芯片进行电池电压和电流的采集,电路设计简单,多参数实时采集,控制充放电回路智能保护电路[4-5],多功能综合,使得电池能够正常地进行充放电,提高锂电池的工作性能和使用寿命.
1 总体设计
本设计为6串1并的锂电池充放电管理系统,整个系统主要由单片机、电池前端采集芯片、6颗18650的锂电池电芯、LED显示模块、USB转串口通讯以及上位机组成,系统整体框架如图1所示.锂电池充放电系统的设计选用MSP430系列的单片机作为系统的控制芯片,在硬件电路中分别对电压采集部分、电流采集部分以及温度采集部分进行功能设计,通过BQ76930芯片完成对6串1并的锂电池组每一节电芯的电压、电流以及温度等关键参数进行实时监测.在保护电路中设计了充放电回路的控制电路,对这些采集部分加以保护,防止锂电池在使用过程中出现过度充电、过度放电、电流过大以及短路等现象,保证系统处于稳定安全的工作状态.与此同时通过外部通信接口,将采集部分检测到的主要参数通过串口通讯,可以进行电路扩展发送给上位机进行数据显示.本系统可以延长锂电池的使用寿命,提高锂电池能源的利用率,降低锂电池在使用过程中的安全隐患.
图1 系统整体框架图
2 硬件电路设计
本文主要对系统的硬件部分进行设计,包括了以下几个部分:
(1)数据采集部分.数据采集部分完成锂电池电压、电流以及温度等主要参数的采集,分别设计了专门的采集电路,采集精度较高,通过采集到的数据完成对锂电池状态信息的实时监控.
(2)保护模块.通过数据采集部分采集来的数据,搭建了过压保护、欠压保护、过流保护以及短路保护等电路,保证锂电池处于安全的工作状态,延长了锂电池的使用寿命.
2.1 最小系统设计
采用MSP430单片机为主控芯片,MSP430系列单片机是一种新型的16位单片机,主要特点就是功耗小,速度快,共有27条指令,多个寄存器供使用,可进行多种运算[6].由3.3 V的电源供电,P1.1和P1.2口接外部通讯数据口RXD和TXD,P1.4接开关信号源T Trig,P1.5接报警引脚ALERT,P2.1、P2.2和P2.3分别接三个绿色LED灯,P3.5接DCH保护恢复条件,P1.6和P1.7接时钟线SCL和双向数据线SDA,RST和TEST接程序烧写口,MSP430G2553控制电路如图2所示.
图2 MSP430G2553控制电路图
2.2 采集模块电路设计
2.2.1 电压采集电路设计 采用BQ7693003芯片实现电池电压A/D采样,电池电压的计算公式如公式1所示[7],其中电压值存储14位的寄存器中,寄存器的数据格式为10-XXXX-XXXX-1000,在芯片出厂的时候已经校正,GAIN增益值为8.44 μV,offset偏移值为0 V.ADCcell是利用BQ7693003芯片的VC1到VC10引脚采集到的ADC值.
Vcell=GAIN*ADCcell+offset
(1)
图3为电压采集电路图,BAT是芯片供电的引脚,接的是最高节电池的正极,VCO-VC1采样第一节电池,VC2-VC4采样第二节电池,VC5采样第三节电池,VC5B引脚作为高5节电池的基准,VC6采样第四节电池,VC7-VC9采样第五节电池,VC10采样第六节电池.电阻R12、R18、R20、R24-R26以及电容C7、C8、C10-C15构成RC滤波器电路,连接在每一个电池电压的输入端口,该电路的作用是过滤输入噪声,提高电池电压采集精度.各节电芯电压由BQ79630采集后传送至MSP430.
图3 电压采集电路图
2.2.2 电流采集电路设计 测量电流i方法是通过欧姆定律求得,对检流电阻R两端的电压u进行采样,通过i=u/R可计算出流经该电阻的电流.取样后通过放大,采用ADC方法能得到线性的变化,电阻上的电流与电压成正比.短路电流检测电压及时间的配置保护寄存器protecion1用于设计短路电流和延迟.其中4-3位为短路延时时间,2-0位为短路电流.过流电压及时间的配置保护寄存器protecion2用于设置电流值和延迟时间.其中6-4位为过流延迟时间,3-0位为过流电流.
本设计选用的精密电阻只有1 mΩ且误差为1%.测量原理是在电流采样引脚两端串接一个精密电阻R49,当电路进行充放电时精密电阻R49两端会产生一个电压,通过测量这个电压值就可以准确计算出该电路的电流值.C18、C19、C20、R43、R44构成一个滤波器的作用,通过此电路滤除输入产生的干扰信号,大大提高了回路电流的采集精度,使得电路更加地稳定.电流数据由MSP430通过I2C总线从BQ76930中读取,电流采集电路图如图4中所示.
图4 电流采集电路图
2.2.3 温度采集电路设计 温度值由BQ7693003芯片的温度检测模块对外接的NTC阻值采样,用TS2引脚来连接热敏电阻.电池里的热敏电阻的阻值会跟随着电池温度变化,采集点的电压值也会随着温度变化,温度采集每隔2 s采样一次,根据采样到的电压值,根据分压比换算成电阻值,热敏电阻的阻值的计算如公式2,其中VTSX值的计算如公式3,将采集到ADC转为十进制小数,382uV/LSB表示一个ADC值对应382 uV电压,再代入公式2进行计算则得出热敏电阻的阻值[8].根据热敏电阻的阻值和电池温度表查表获取温度值[9].
Rrs=(10 000*VTSX)+(3.3-VTSX)
(2)
VTSX=(ADCinDecimal)*382uV/LSB
(3)
2.3 保护电路设计
2.3.1 正端回路电路设计 正端回路保护[10]是将放电正端和电池正端通过两个20 A的保险丝并联相接,可承受40 A的放电电流,预防放电MOSFET管损坏导致电芯直接短路.
2.3.2 负端回路电路设计 放电负端和电池负端分别接了充电的MOSFET管和放电的MOSFET管,通过控制BQ76930 CHG和DSG引脚上的电平高低来实现充放电MOSFET管的的通断.在系统常规运行的条件下,BQ76930芯片上CHG与DSH引脚都置高,充电MOSFET管和放电MOSFET管工作在导通状态,系统可任意地进行充电或者放电.当CHG引脚为高电平时,Q7导通,从而控制Q11、Q13的导通,锂电池进入充电状态;当DSG引脚为高电平时,Q10、Q12导通,锂电池开始进行放电.锂电池组进行充电和放电时各使用了两个型号为NCEP40T15GY的MOSFET管,目的是为了增大放电的电流以及增强电路的驱动能力,图5为负端回路电路图.
图5 负端回路电路图
3 软件设计
软件程序设计首先将系统初始化,开关确定为输出状态时,系统开始检测电压、电流、温度等参数,再进行判断是否达到保护条件,当满足保护条件时开始执行保护动作,如果没满足保护条件系统直接进入休眠判断,系统程序设计主要包括数据采集模块、保护模块及休眠控制模块程序设计.
3.1 数据采集模块的软件设计
数据采集模块主要有电压采集、电流采集、温度采集.MSP430G2553单片机通过BQ7693003芯片和NTC阻值完成电压和温度采集任务.利用BQ7693003芯片,通过A/D转换器将锂电池的电压、电流、温度模拟量转为数字量,利用定时采集的方式,每间隔一段进行采样,获得锂电池的参数信息.首先开始判断是否过了100 S,如果过了100 S就从BQ7693003芯片获取状态与温度寄存器,将温度寄存器值转换为温度值,再从BQ7693003芯片获取电芯电压寄存器,将电压寄存器值转换为电压值,又从BQ7693003芯片获取电流寄存器值,将电流寄存器值转换为电流值.如果条件不满足则将返回主程序(图略).
3.2 保护模块的软件设计
锂电池的过充、过放、短路的保护特别重要,因此需要对锂电池的工作状态进行实时判断,从而发出相应的指令,所以判断保护条件的程序对于整个系统是非常重要的.
首先系统开始判断是否触发了电压的相关保护,触发了就设置电压保护位标志,否则就接下去判断是否达到电压保护恢复条件,如果达到电压保护恢复条件就清除相应电压保护标志位,继续判断是否触发电流相关保护,如果满足电流相关保护条件就设置相应电流保护标志位,否则判断是否触发温度相关保护,如果温度相关保护条件满足就设置相应温度保护标志位,否则继续判断是否达到温度保护恢复条件,如果条件满足就清除相应温度保护标志位,否则根据保护标志操作充放电管状态,结束后返回主程序.保护条件判断流程图如图6所示.
图6 保护条件判断流程图
其中电流短路的放电门限及短路放电电流恢复,为了能够短路保护和检测保护使能.过载放电门限和过载放电恢复,充电过流保护使能;电芯过压是电池过压保护使能;电芯欠压是电池欠压保护使能.保护包括为放电时的低温保护使能,充电时的低温保护使能,放电时的过温是放电过温保护使能,充电时的过温为充电过温保护使能.
4 调试与分析
关于测试产品,本文采用应用范围较广的比较典型的锂离子电芯--SAMSUNG公司生产的型号为INR18650-25R的锂离子电芯作为测试产品[11].该型号的电芯单节容量为2 500 mAH;额定电压为3.6 V;内阻为20 mΩ;充电饱和电压为4.2 V;放电截止电压为2.5 V;充电电流为1 A;放电电流为1.25 A;最大放电电流为30 A,通过锂电池充放电系统对电池组进行检测,将每一节电芯实际的电压值与采集来的电压值进行比较分析,测量数据如表1所示,由表中数据可知采样电压值与实际值误差很小,几乎相等,电池组实际总电压为25.08 V,系统采集到的总电压为24.93 V,电芯实际电压与采集电压的误差控制在1%以内,由此可以看出该系统具有较高的采集精度.
表1 测量数据表
电池包由锂离子电芯、充放电控制、采集模块、保护模块、通信模块等组成,电池包额定电压为21.6 V,额定容量为2 500 mAh,输出电压最小值为16.5 V,输出电压最大值为25.2 V,最大持续输出电流值为23 A,内阻为120 mΩ,正常运行电流值为3 mA,休眠电流值为5 μA.此设计的充电设备选用为电源适配器,放电设备选用为24 V的小风扇,实验过程具体介绍如下:
在放电实验中,电池包满电状态,LED1、LED2、LED3常亮,将电路板上放电端口的正负极和小风扇的正负极相连,打开电源开关,电池包进入放电状态,小风扇开始转动.电池包在放电过程中电池的电压随着放电时间的增加而逐渐降低,当电池包电压达到电压保护值的时候,放电MOS管切断放电回路,避免电池包处于欠压状态.在充电实验中,将电路板上充电端口的正负极和电源适配器的正负极相连,电池包采用CC-CV的方式充电.首先使用恒定的电流进行充电,锂电池快充满时,使用恒定的电压进行充电,充电电流不断减小,当电池包电压达到充电电压保护值的时候,充电MOS管关断充电回路,避免电池包处于过压状态.
5 结语
本系统采用MSP430为控制器,BQ76930为电池模拟前端,完成了对电池电压、电流以及温度等参数的实时采集;控制充放电回路为锂电池提供硬件以及软件方案的保护,对锂电池过压、欠压、过流以及短路具有显著的保护作用,实现对锂电池进行保护、监控和管理,实时反应锂电池的工作状态,防止锂电池过充过放,避免电池损坏,提高系统安全性和可靠性,从而提高锂电池的工作性能和使用寿命.不足之处:目前只能通过电池组电压的大小来判断锂电池的电量以及系统并没有均衡管理的能力,今后可以对此加以改进,首先增加SOC电池剩余电量的估算功能,实时计算出当前电池所剩余的电量,对锂电池起到调节和保护的作用.其次是加入均衡管理[12]的功能,对控制电路进行均衡设计,使每节锂电池的电压偏差控制在合理的范围内,通过让每节锂电池保持相同的工作状态,从而更好地保护锂电池.