本系统采用充电管理芯片MAX1555,它可以通过USB和AC适配器电源为单节锂离子电池充电,可以接受最高7V的输入电压。通过优化充电速率,当达到MAX1555温度限制时,充电器并不关断,而是逐渐降低充电电流使其可以在电池状况和输入电压处于最糟糕的情况下不受散热问题的制约[3]。
系统采用线性充电方式,当电池电压低于3V时,器件进入充电电流为40mA的预充电模式,直至电压高于3V进入恒流模式。如果连接的是USB口但无直流电源时,充电电流被设定为100mA(最大值);如果是DC电源充电,充电电流被自动设定为280mA(典型值)。当电池电压超过4V时,芯片以固定4.20V+/-0.04V左右的恒定电压给电池充电(恒压模式),如果充电电流小于50mA,则芯片停止充电,结束一个充电周期,通过状态引脚CHG的高电平传输到单片机中。
采用MAX1555芯片成本低、外围电路简单、体积小、发热量低、充电策略可靠。当采用交流适配器充电时,500mAh的锂电池只需两个小时即能冲满,完全能够满足充电器设计的要求。
2.2 安全保护
图3为本系统的电池保护电路,主要采用理光(RICOH)的R5421N111C和用于电源开关、低导通电阻的N沟道场效应管S-19926构成锂电池保护电路,实现过充、过放、过电流和短路保护等功能。
在正常状态下电路中U2的“Cout”与“Dout”脚都输出高电压,两个MOSFET(Q1、Q2)都处于导通状态,电池可以自由地进行充电和放电。由于MOSFET的导通阻抗也很小(<30mΩ),因此其导通电阻对电路的性能影响也很小。
当电池电压超过4.28V(过充)、低于2.5V(过放)、场效应管两端的电压大于0.1V(过流,具体数值是根据场效应管导通电阻及相关公式计算而得)或场效应管两端的电压大于0.9V(短路时,该值由控制IC决定)时,芯片通过对两个MOSFET的控制,实现对电池的保护[4]。
2.3 测量部分
为了实现对电池当前各种状态的监测,包括当前电池的充/放电状态、电压、电流、温度、剩余电量、消逝时间等参数的监测,这里采用智能电池检测芯片DS2438来完成。
DS2438芯片是DALLAS公司推出的新一代智能电池监测芯片,具有功能强大、体积小、硬件接线简单等优点(通过一线与单片机进行数据指令通信);内含数字温度传感器对电池温度进行测量;片内模数转换器对电池电压进行监测,从而可判定充电和放电的结束;片内的积分电流累加器可实时记录电池流入、流出电流的总量,便于统计电量;内含记录相对于内部基准时间的电池充电完毕、其脱离系统的精确时刻消逝时间表;内含40字节可用于存放电池特殊参数的掉电保护的用户访问存储器[5]。
2.4 计算通信部分
计算通信部分使用Silabs公司的低成本单片机C8051F305,它具有采用流水线指令结构的高速8051微控制器内核、256B RAM、2KBFlash存储器、8个I/O口、标准SMBus串口、采用3V供电、功耗低[5]。
采用单片机系统对DS2438的数据进行读取、运算、存储,通过标准的SMBus接口对数据和指令与主系统传输,同时多余的I/O口用来控制电源的开关等其他功能。
3 软件设计
软件编写主要采用模块化的方式,编译环境Keil 7.50 完成C51的编程。这里主要介绍对智能电池系统协议SBData的定制和对DS2438的读写控制。
3.1 智能电池系统通信协议的定制
SBData1.1协议规定了34个数值[6]。该系统根据需要做出修改,只占用22个数值,在实际应用中可以根据所需数据进行读取,同时也可以将冲放电控制策略应用于系统,对智能锂电池系统起到软保护的作用。这些数值都是通过DS2438测量或预先定义存放在C8051的Flash存储器中,主系统通过SMBus或用I/O口模拟I2C时序,向智能电池系统发送命令码,获取所需的值。智能电池数据功能表如表1所示。具体值的定义由于篇幅限制这里不做介绍。
3.2 DS2438的读写控制
3.2.1 供电方式的测量
首先单片机控制DS2438使其电流A/D转换器使能,而后DS2438对流入、流出电池块的电流自动进行测量,结果存放于电流寄存器中。电流寄存器的高字节的高6位是流入电池电流的符号位,为1表示电池正在充电;为0表示电池正在放电。单片机对电流寄存器的值的高6位进行判断就可获得供电方式,同时也获得电流值。供电方式测量程序流程图如图4所示。
3.2.2 电池电压、温度、剩余电流的测量
要获得电池的电压和温度,只需要由单片机对DS2438发出采集电压、温度的控制命令,然后等待其采集完毕并自动将电压、温度测量值存入相对应的寄存器后,再由单片机读取寄存器的内容即可。在读取寄存器值时,注意只有当数据线为高电平时,才能正确地读取。其程序流程与图4类似。
电池的剩余电量可用电流积分累加(ICA)寄存器的值求得。只需单片机读出ICA寄存器的值,然后将读出的值代入公式:剩余电量=ICA/(2048×RSENS),便可得到电池的剩余电量。
该智能电池系统引入了国际标准,具有笔记本智能电池系统的优点。在实际应用中该系统改进了便携式电源的管理;延长了电池的工作时间;确保了安全温度内的充放电;缩短了充电时间;可选用多种商家的电池;易于升级,为便携式仪器提供了很好的解决方案。
参考文献
1 Friel D. SBS简化便携式电源系统设计.电子工程专辑,1999;(6):26~30
2 Fukatsu S, Dunstan R. Smart battery system manager specifi-cation revision 1.0 www.SBSIF.org,1998-12-04~12
3 郭海帆,宣宗强.基于DS2438芯片的智能电池监测系统.今日电子,2003;(9):32~34
4 The datasheet of R5421NXXX series NO.EA-069-0006.www.dianyuan.com,2002-10
5 童长飞.C8051系列单片机开发与C语言编程.北京:北京航空航天大学出版社,2005
6 PS501现场可编程单电池管理. Microchip Technology Inc,2004:25~29