关于ATJ2085 的电池监测的功能与使用

关于ATJ2085 的电池监测的功能与使用,第1张

引言

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

2、ATJ2085 的电池监测的功能的使用

ATJ2085 为 LQFP 封装,64 针脚,采用内嵌式的 MCU 和 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 能在更多点上监测电池电压。

关于ATJ2085 的电池监测的功能与使用,关于ATJ2085 的电池监测的功能与使用,第2张

举例如下:

假设 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 时,电池电量显示为缺 3 格,即空格,并闪烁。

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

3、电池检测系统设计

3.1 电路设计

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

关于ATJ2085 的电池监测的功能与使用,关于ATJ2085 的电池监测的功能与使用,第3张

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

3.2 电压检测

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

关于ATJ2085 的电池监测的功能与使用,关于ATJ2085 的电池监测的功能与使用,第4张

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

关于ATJ2085 的电池监测的功能与使用,关于ATJ2085 的电池监测的功能与使用,第5张

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

3.3 软件流程

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

关于ATJ2085 的电池监测的功能与使用,关于ATJ2085 的电池监测的功能与使用,第6张

首先清 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、结束语

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/dianzi/2484889.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-08-04
下一篇 2022-08-04

发表评论

登录后才能评论

评论列表(0条)

保存