钜大LARGE | 点击量:1155次 | 2020年07月01日
一机两用的锂离子电池充电系统的设计方法
0引言
鉴于市场上镍镉电池和锂离子电池共存的局面,本文设计的充电器可以对这两种电池进行充电,对镍镉电池组采用脉冲充电方式,对锂离子电池组采用恒流充电方式,这是依据电池的不同机理而设计的,真正做到了一机两用,此为该充电器的创新点,也是设计的难点。充电器的宽屏LCD可以同时显示4组充电器的充电状态,也可单独显示一组充电器上电池的各项参数,做到了对电池充电过程的实时监测。
1系统整体设计
系统设计目标是:
1.可同时对4组8.4V的锂离子电池或9.2V的镍镉电池进行充放电。
2.可与电池组中的芯片通信,判断电池的化学性质。
3.关于不同化学性质的电池,将采用相应的充电方式。
4.可与电池组中的芯片通信,得到该电池组的电压、充电电流、容量等参数。
5.充电器带有LCD,可显示电池的各项数据。
该充电器的功能框图如图1所示。
图1系统总体设计的结构图
2系统硬件设计
2.1总控单元的设计与实现
总控单元是由微控制器pIC16F873和键盘控制芯片ZLG7289A构成的。重要任务是负责与各个充电单元通信,并处理用户输入与LCD显示信息。键盘控制芯片在这里负责6个按键和12个LED的控制。
ZLG7289A与微控制器之间通过SpI总线进行双向通信。主控单元每秒查询一次各个充电单元,获取当前充电单元的信息,如有无电池、电池性质、电池电压等。之后由LCD模块向用户显示。
2.2充电单元的设计与实现
Tp8002锂离子电池
充电控制芯片
Tp8002是一款高效独立开关模式锂离子电池充电控制器。该控制器有4.2V和8.4V两个版本。
Tp8002-8.4具有500kHz开关频率,是高效电流模式的pWM控制器。通过驱动一个外部p沟道MOSFET,它可以供应4A的充电电流,而效率可高达90%.输出电压设置为8.4V,最终浮动电压并具1%的精度,而充电准确度为5%.此外,该器件可在9V~22V范围内的多种墙上适配器上运行。与迟滞拓扑结构充电器相比,Tp8002-8.4的快速运行频率与电流模式架构使之能够使用小型电感器和电容器。
2.3锂离子/镍镉电池两用
充电单元的总体设计
从前面对Tp8002的分析可知,该芯片是针对锂离子电池的充电控制器,要实现对镍镉电池充电要解决以下问题:首先,Tp8002对电池电压进行监测,保证电池电压不超过8.4V.但关于镍镉电池组,充电截止电压可以达到9.2V.其次,镍镉电池充电即将结束时,要对电池进行以正常电流30%和10%的涓流充电。所以,第二个要解决的问题是如何控制恒流充电的电流大小。此外,对镍镉电池充电应使用脉冲充电方式。即以1s为周期,95%的时间用来充电,1%的时间用来放电,其余时间不充电也不放电。最后,如何判断某一个电池是锂离子电池还是镍镉电池,因为若把锂离子电池误判为镍镉电池,会使充电电压高于8.4V,这对锂离子电池是十分危险的,而将镍镉电池误判为锂离子电池,则可能造成电池充电不足。因此,必须保证极低的误判率。
本部分根据Tp8002的工作原理,设计了既可以对锂离子电池进行恒流-恒压充电,又可以对镍镉电池进行脉冲式充电的电路。充电单元的总体功能框图如图2所示。其中,信号调理电路使充电器既可以对8.4V的锂离子电池充电,又可以对9.2V的镍镉电池充电,同时也起到控制充电电流大小的用途。
图2充电单元的总体功能框图
利用微控制器控制Tp8002的工作状态,配合放电电路使充电器可以对镍镉电池进行脉冲方式充电。
微控制器通过一定的通信协议(HDQ16)与智能电池通信,确定其容量、化学性质等关键参数。
2.5信号调理电路的设计
为了使Tp8002可对高于8.4V的电池进行恒流充电,并可调节充电电流,在Tp8002的BAT和SENSE端与采样电阻之间加入一级信号调理电路。该电路的重要功能是对采样电阻两端的信号进行运算,针对不同化学性质的电池,将相应的信号送给Tp8002.该信号调理电路如图3所示。
图3信号调理电路的功能图
这里含义采样电阻两端的电压值是VBAT和Vsense,那么充电电流在采样电阻上的压降VRS为:VRS=Vsense-VBAT,该信号为减法器的输出。设乘法器的乘系数为K,那么乘法器的输出为KVRS.关于锂子电池,二选一开关将选通电池电压VBAT;关于镍镉电池,二选一开关将选通7V恒定电压。这里设二选一模拟开关的输出为V1,那么加法器的输出Vs应为:Vs=KVRS+V1,这样一来,送到Tp8002的BAT和SENSE两端的电压之差应为KVRS.只要正确控制K值,就可以使充电电流为正常充电电流的1/K.因此,可以通过二选一开关控制电流为恒流充电时的10%或30%.
关于Tp8002的BAT端输入值,当开关选通锂离子电池时,BAT的输入即是电池电压。此时,Tp8002可以控制整个锂离子的充电过程。不需任何外界的干预。
当开关选通了7V恒定电压后,BAT端的输入恒定为7V,此时,Tp8002无法了解电池的真实电压,只认为电池电压为7V.所以,尽管电池电压高于8.4V,仍会以恒定电流对电池进行充电。在这种情况下,要微控制器的干预,否则,会造成电池的过充。由于微控制器内部带有ADC,可以监测电池电压的变化。当电池电压达到指定值时,减小充电电流,直至电池充满。这样就可以对9.2V的镍镉电池进行充电了。
2.5脉冲充放电电路的设计
由于Tp8002是恒流充电控制芯片,因此,必须使用微控制器控制其充电使能引脚COMp.当要Tp8002输出充电脉冲时,使控制COMp引脚的端口变为高阻态,使COMp引脚自行升至360mV以上时,便有充电电流输出。放电时,必须将COMp引脚拉低,使Tp8002关断充电电流。之后,再打开放电电路。微控制器选用pIC16F873,它是一款基于Flash的8位微控制器。内部有按时器、看门狗电路、10位ADC等模块。微控制器以1s为周期对镍镉电池进行脉冲充放电。
3系统软件设计
充电单元中的微控制器重要负责充电过程的控制和与总控板的通信,系统软件设计程序流程如图4所示。充电单元首先判断是否有电池,假如有电池放入,则判断充放电状态,默认是充电状态,该状态可由总控单元改变。若充电单元处于充电状态,则继续判断电池的化学性质,针对不同的电池采用不同的充电方式。若处于放电状态,则对电池组进行放电,直到电池电压低于阈值电压后,转为充电状态。
图4充电单元主程序流程图
除主程序外,总控单元与充电单元的通信是在中断服务程序中实现的。当充电单元收到总控单元的指令后,进入中断。若指令是查询数据指令,则向总控单元发送要的数据。若是充电状态设置指令,则依据指令设置充电单元的充电状态。
4通信协议的实现
通过与电池组中电能计量芯片通信的方法来判断电池的性质。本系统可以与遵循HDQ16接口协议的智能电池组进行通信,除了电池组的化学性质外,还可以将电池组的容量、电压、充电电流、编号等数据一并读取,供充电器显示之用。
充电单元可以通过HDQ总线对智能电池进行读操作。HDQ16接口协议是基于指令的协议。一个处理器发送8位指令码给智能电池,这个8位的指令码由两部分组成,7位HDQ16指令码(位0~6)和1位读/写指令。读/写指令指示智能电池存储接下来的16位数据到一个指定的寄存器,或者从指定的寄存器输出16位数据。在HDQ16里,数据字节(指令)或者字(数据)的最不重要的位会优先传输。
一个块的传输包括三个不同的部分。第一部分经由主机或者智能电池把HDQ16引脚置逻辑低状态一个tSTRH:B时间后开始发送。接下来的部分是真正的数据传输,数据位在tDSU:B时间间隔里是有效的,负边界用来开始通信。数据位被保持一个tDH:DV时间间隔,以便允许主机或智能电池采样数据位。
在负边界开始通信后,最后一部分通过返回给HDQ16引脚一个逻辑高状态,至少保持tSSU:B时间间隔来停止传输。最后一个逻辑高状态必须保持一个tCYCH:B时间间隔,以便有时间让块传输完全停止。
假如发生通信错误(e.g.,tCYCB250ms),主机就发送给智能电池一个brEAK信号,让其控制串行接口。当HDQ16引脚在一个时间间隔,或者更长时间里为逻辑低状态时,智能电池就会侦测brEAK.然后,HDQ16引脚回到其正常预设高逻辑状态一个tbr时间间隔。然后,智能电池就准备从主机那里接收指令。
5结语
本方法中介绍的充电系统从技术上很好地解决了上述问题,通过LCD显示屏可以清晰便捷地读出电源的剩余容量、已有充放电次数、充电及放电电流、电池电压、容量统计和电池特性等重要内容,并且通过设定,可以判断电源是否达到报废标准,及时提醒操作者更新电源。相关经验证,本方法具有较强的实用性。