微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 电源设计 > 基于可编程逻辑的便携式设备多节锂电池管理

基于可编程逻辑的便携式设备多节锂电池管理

时间:11-11 来源:互联网 点击:
便携式设备的便携性是与电池的发展息息相关的,从最初的铅酸电池、镍镉(Ni-Cd)电池发展到镍氢(Ni-H)、锂离子(Li-ion)电池一直到最近的锂聚合物(Li-polymer)电池,能量密度逐步提高,移动性能越来越强,电池的缺点也不断被克服。本文就将介绍一个便携式锂聚合物电池的管理系统设计。

系统整体结构

本设计的应用实体是一个工业上使用的便携式设备,采用Altera的FPGA和其上的NIOS II嵌入式处理器,并使用USB接口与电脑相连接,面向的是大数据量应用。这个设备需要30V直流电压,所以计划使用4个1000mAh锂聚合物电池串联的电池组;另外,出于防水防尘的考虑,对外只使用一个方形的USB接口(USB B Type Socket),这个USB口同时兼具数据传输和充电的功能。

整体结构如图1所示。控制核心包括FPGA及其所连的接口、显示电路,需要3.3V的低电压,由高效率的DC/DC芯片从4芯锂电池组直接降压得到。这个电压很重要,所以需要保持稳定且连续,除非电池组低电量或者过流保护,否则此电压一直供给。



图1 系统整体结构框图

执行机构需要30V直流电压,电流大约80mA左右,使用一个升压DC/DC电路,这个电路由控制核心操纵,平时是不工作的,只在需要动作之前开启。

充电使用外部20V电源,通过USB接口连接。使用这种电源的考虑是为了进行1C或0.5C大电流高速充电。由于与普通USB共用一个端口,为了避免接入普通USB时进入充电程序,需要一个电压判断电路进行判断。

由于合乎需要的芯片解决方案市场上很难寻觅,决定使用FPGA的剩余逻辑资源来实现充电器的控制功能,添加少量的模拟电路来辅助。这就要求对控制电路的供电不能中断,电池组必须一直在线,并且电池负极需要一直与GND连接。

电池电路

1 电压采样

最重要的部分就是电压采样电路的设计,要求精度高并且受温度影响小。这个设计难点在于电池电压对于GND而言是浮动的。很多方案采取了差分运放转换到对地电压然后输入专用ADC进行AD变换的方案。但这个方案由于引入了差分运放,产生了许多问题。首先,电压比较高,运放很难找;其次,运放的电源与输入电压使用同一个电源,这样一来就要求运放需要轨到轨输入的功能;再次,可能还需要一个负电源,使用DC/DC又引入了噪声;另外,运放及使用匹配的电阻使得精度降低。



图2 RC充电电路

为了尽量简化电路,这里构造了积分型的ADC,将FPGA定时的高精度转化为电压测量的高精度。

这是一个简单的RC充电电路(见图2)。其工作流程是:J1先闭合,释放C1上的电荷;然后J1打开,由R1对C1进行充电;电压比较器U1将C1上的电压与参考电压V2比较,当C1电压超过V2时输出高电平。统计从J1打开到U1输出高电平之间的时间,便可以确定V1的电压大小。可以直观地看出,V1越高,这段时间越短。

实际的电路如图3所示,注意这幅图只画出了第一个电池的测量电路。其中,R1与C1便是积分使用的电阻与电容,Q1是常用的P-MOSFET,这里用来实现J1给电容放电的功能,U5同时实现电压基准与电压比较器双重功能。X1是放电控制,来自FPGA,X2是开关量输出,去往FPGA。电压比较器选用的是美信公司的MAX921。



图3 实际取样电路图

这个电路在静态时仅仅消耗MAX921的4μA电流和C1、Q1、Q2的漏电流,基本可以忽略不计,非常省电。

这个电路另外一个特色是省掉了经常使用的光电耦合器,而使用电容C2代替。静态时,C2两端达到电压平衡,不消耗电能,此时,X2电压为0。U5输出高电平时,因为C2两端电压不能瞬变,故X2电压被提升。D1与D2两个肖特基二极管是起限幅作用的。仔细调整C2与R4的值就能够顺利地传递开关量信息。

2 平衡充电

平衡充电是所有锂电池组所需要的充电方式,但是很多小功率的应用中实际是没有平衡充电的,如大多数的笔记本电脑电池组,这样做实际上对电池寿命的影响是相当大的。

现有的均衡技术主要分为电池间能量传递均衡和外部能量输入均衡。电池间能量均衡就是把高电量电池的能量给低电量电池充电。这种方法最大的问题就是控制起来很复杂。

现在很多专用芯片或者单片机解决方案使用的是外部均衡的方式,这种方式是通过可控制的耗能来实现的。这种方式中一般都是使用一个耗能元件来消耗能量,从而等待其他电池单元充满或者降低某些单元的电压。这种方案的缺陷在于稳压二极管上的耗能太大,造成的发热量是不能忍受的。



图4 实际充电方式图
实际使用的充电方式如图4所示,当然,这只是一个示意图,不包括电流检测电路(输入到变压器之间)和电压检测电路(变压器次级绕组)。其中,开关阵列是用功率MOSFET实现。

这种做法,管子都工作在开关状态,耗能很少,另外电池没有串联二极管,可以获得最大输出。不足之处还是电路比较复杂,由于要匹配每个电池的电压,所以要求输入充电电路是隔离的。这里采用T1变压器作为隔离,因为开关频率可以做得很高,T1变压器的体积很小。

整个充电电路工作在开关状态,不再添加任何的控制模块,由FPGA直接控制场效应管,电流检测和电压检测电路的输出也转化为开关量直接传给FPGA。

充电分为四个步骤:

a) 检测是否有电池单体低于2.5V,如有,使用5%的占空比对低于2.5V的电池轮流充电,使其升压到2.5V;

b) 打开J1和J8,对整体进行大电流充电,同时测量电池单体的电压,如果有电池单体达到4.2V,进入下个步骤;

c) 逐渐降低占空比,使单体电池的最高电压维持在4.2V,直到占空比<5%;

d) 对未到4.2V的电池进行轮流充电,当占空比均下降到5%时,充电结束。

这里需要说明的是,a)和d)步骤中轮流充电是通过开关矩阵实现的,并且轮流充电并不会延长充电时间,这是因为此时的占空比远远小于25%,可以在一个充电周期内分别给四个电池充电。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top