《电子技术应用》
您所在的位置:首页 > 电源技术 > 设计应用 > 基于ATJ2085的锂电池检测系统设计
基于ATJ2085的锂电池检测系统设计
摘要: 锂离子电池能量密度高、工作电压高、无记忆效应、自放电率低,因此成为目前便携式电子产品的理想电源。但是,由于锂离子电池固有的特性,必须防止过充、过放、过温以提高它的安全性和使用寿命。于是对于锂电池的检测受到越来越多的重视。该文利用具有自主知识产权的SOC芯片ATJ2085作为主控芯片(MCU)设计兼容USB的便携式设备锂电池的检测系统。该设计方法简单易行,成本低,易于在便携式电子产品中实现。
Abstract:
Key words :

  1、引言

  近年来,便携式电子产品的迅猛发展促进了电池技术的更新换代。锂离子电池由于其具有高能量密度、长寿命、低自放电率、无污染等特性,迅速成为市场的主流电池产品。为了防止电池出现过充电或过放电状态、保证电池的安全性能和避免出现电池特性恶化现象,必须在锂离子电池组中安装保护电路[1]。同时要锂电池能够稳定可靠的为设备提供能量,对于电池的智能检测与监控是必须考虑的环节。锂电池供电是现代便携式设备最合适的供电方案,但其充放电安全性不如镍铬电池、镍氢电池及普通一次性干电池的传统电源[5]。如果充放电方法不对,将会导致锂电池发生安全问题,甚至爆炸,故锂电池有必要加入监控电路以实时监控充放电过程[4]。本文以珠海炬力SOC芯片ATJ2085来设计锂电池的外围检测系统,该设计方案以微处理器作为各种功能控制的核心, 除了对锂离子电池组提供过充、过放、过流保护外, 还可有效的对锂离子电池组内各单节锂电的充、放电提供平衡保护、能够实时检测出电池所处状态并对锂电池进行保护。

  2、ATJ2085的电池监测的功能的使用[6] [7]

  ATJ2085为LQFP封装,64针脚,采用内嵌式的M

 

CU和24-bit DSP双处理器体系结构,分别完成针对操作事件控制和多媒体数据编/解码算法的系统级优化,通过数模混合信号技术,在单一硅片上集成了高精度ADC/DAC转换器、USB控制器,实时时钟RTC等。支持USB2.0(FULLSPEED),支援MP3/WMA/WAV/WMV/ASF等格式媒体播放;支持MTV电影播放;支持JPG、GIF、BMP图片浏览。其系统集成度高,外围应用电路简单,拥有功能完善而成熟的开发工具和环境。

  在ATJ2085中,电池电压从电池电压检测引脚VBATPIN输入,VBAT的电压范围小于3.0伏,所以无论一节碱性电池(1.5V)供电还是两节碱性电池(3.0V)供电,在外部电池供电电压小于3.0伏时外部都无需要加分压电阻。ATJ2085中有一个4bit的ADC,它把0.9-1.5伏之间的电压16等分为:0.90V,0.94V,0.98V,1.02V,1.06V,1.10V,1.14V,1.18V,1.22V,1.26V,1.30V,1.34V,1.38V,1.42V,1.46V,1.50V。当电池电压大于3.0伏供电时,BATSEL接高电平,决定了从VBATPIN脚输入的电压在比较前会被分压。并且A/D变换出来的数值会每2秒一次被记录在IO PORT(D8H).BIT[3:0]里,这样软件就可以读回IO PORT(D8H)中的值,与功能规格表(表1)中的值作比较,来确定要显示的电池电量及采取的动作。很明显ATJ2085能在更多点上监测电池电压。

  表1   功能规格表
功能规格表

  举例如下:

  假设VL0>VL1>VL2>VL3,电池电量显示为3格

  选VL0=1.30V, 即IO PORT(D8H).BIT[3:0]=0AH,

  VL1=1.10V, 即IO PORT(D8H).BIT[3:0]=05H,

  VL2=0.98V, 即IO PORT(D8H).BIT[3:0]=02H,

  当VBAT>VL0时,电池电量显示为满格;

  当VL0>VBAT>VL1时,电池电量显示为缺1格;

  当VL1>VBAT>VL2时,电池电量显示为缺2格;

  当VBAT

  另外,当电池的电压低于某个电压时(假设VL2),软件把一些耗电大的电路关断(利用IO PORT控制),如DSP,DAC等等。当VBAT PIN脚上的电压低于LBD PIN脚的电压时,ATJ2085仍会被无条件复位。

  3、电池检测系统设计

  3.1 电路设计

  在本文中检测电路仅仅列出锂电池检测电路的原理图,该设计考虑到了锂电池的过压特性,于是选用SC805电池检测芯片来进行硬件电路的设计。如下图所示,电路图一部分是对于USB充电和过压的保护设计,另一部分为电池电量检测

检测电路

 

  图1   检测电路

  正如ATJ2085的电池监测的功能的使用描述一样,需要在电池两端连接电阻R424和电阻R422(理想状态下电阻R424和电阻R422比值应该为1:2)来分压。但是考虑到非理想ADC的量化间隔是非等宽的,这势必导致ADC器件不能完全正确地把模拟信号转化成相应的二进制码,从而造成信噪比的下降;且ADC每个量化的二进制码所对应的量化间隔都不同,为了使设计的系统参数尽可能准确,我们需要克服微分非线性量化误差[3]。于是需要调整R424和R422的组值(如图1所示)。

 

  3.2 电压检测

 

  ATJ2085内部有一个4 Bit非理想 ADC.作为检测电源电压之用。此4 bit ADC可以根据固件(F/W)设定的电压值,产生LB-和LBNMI-信号。对于锂电池,由于自身特性不可能使产生的电压直接可以达到0~1.5,需要利用如下公式分压:
公式分压

  将分压后的值与锂电池实际值进行对应,其电压检测如表2所示:

  表2   锂电池电压检测表
锂电池电压检测表

  通过硬件后可以将表2的值对应到表1中去通过调用以下软件流程进行处理。

  3.3 软件流程

  该检测系统软件设计流程如图2所示:

软件设计流程

  首先清watchdog,然后通过GPIO_A0检测USB状态,接下来进行充电引脚GPIO确认并开始充电,充电时将GPIO_A0(如检测电路图)寄存器的对应位置高电平,同时利用GPIO_B6进行电池状态检测[6][7]。当需要对4位ADC寄存器读写数据时,需要设置其端口值参数,通过电池状态检测后,最后将检测到的电池参数通过显示函数显示在LCD上。

  其初始化代码如下:

  output8(0x4e,input8(0x4e)|0x08)//清watchdog

 

 

     output8(0xee,input8(0xee)|0x01); //初始化端口参数,开始充电

 

      output8(0xf0,input8(0xf0)&0xbf);

      output8(0xf1,input8(0xf1)|0x40);

                  output8(0xee,input8(0xee)& 0xfe);

                  if((input8(0x50)&0x40)!=0x40)

                  if(!(input8(0xee)&0x04))   //防止充电黑屏后拔掉USB不开

  4、结束语

  通过该方法设计的锂电池检测系统不仅可以有效防止电池的过压、过充、过放、过温,同时可以智能监控电池的电压状态;该设计方案简单易行,稳定可靠,对于嵌入式系统的设计与研发具有一定的指导意义和实践价值。该方法的创新之处在于不管外接干电池、锂电池还是镍氢电池均可以用该电路设计方法对电池进行监控。

  参考文献:

  [1] 邓绍刚,汪艳等,锂电池保护电路的设计[J],电子科技2006年第l0期(总第205期)

  [2] 陆安江,张正平,唐薇, 兼容USB的便携式设备锂电池充电电路设计[J],2007年中国仪器仪表交流论文集,2007

  [3] 刘京南,电子电路基础[M],电子工业出版社,2003年7月

  [4] 上海东钜电子有限公司,现代锂电保护IC 的特点和应用[J],电子设计应用,2003

  [5] 李凯,张斌,一种新型智能动力锂电池组能源管理模块[J],微计算机信息 2006年第9-1期

  [6] Actions ATJ2085 Data sheet Version 1.0, 2004

  [7] Actions ATJ2085 Programming Guide, Version 2.7 ,2004

此内容为AET网站原创,未经授权禁止转载。