电量计在手持设备中的实现

2010-12-14 11:25:51 来源:意法半导体

本文结合锂电池充放电特性,详细介绍和比较了三种锂电池电量的计算方法:电压估算法、模型查表法和电流检测法,分析了系统侧电量计量和电池侧计量的优缺点,并以意法半导体电量计量芯片STC3100为例,介绍了其使用方法和设计中的注意事项,在其Demo板上实现1%精度的电量计量,同时说明和实现了锂电池的电量初次预估和减小电量计量偏差的软件算法。实验证明,电流检测法具有更高的精度和稳定性,并且能消除由于电池老化带来的测量误差,更适合应用在电池组中或手持设备的主电路板中。

锂电池具有高存储能量、寿命长、重量轻和无记忆效应等优点,已经在现行便携式设备中得到了广泛的使用,尤其是在手机、多媒体播放器、GPS终端等消费类电子设备中。这些设备不但单纯地只是支持单一的通讯功能,还支持流媒体播放和高速的无线发送和接收等等功能。随着越来越多功能的加入且要获得更长单次充电的使用时间,便携式设备中锂电池的容量也不断地增大,以智能手机为例,主流的电池容量已经800mAH增长到现在1500mAH,并且还有继续增长的趋势。

随着大容量电池的使用,如果设备能够精确的了解电池的电量,不仅能够很好地保护了电池,防止其过放电,同时也能够让用户精确地知道剩余电量来估算所能使用的时间,及时地保存重要数据。因此,在PMP和GPS中,电量计不断加入到设备中,并且电量计也在智能手机中得到了应用,尤其是在一些Windows Mobile操作系统的智能手机中,如图1所示,电池电量的显示已由原来的柱状图变为了数字显示。

本文介绍和比较三种种不同电量计的实现方法,并且以意法半导体的STC3100电池监控IC为例,在其Demo实现了1%精度的电池精度计量。

图1:Windows Mobile 手机中电量计量。

1,电量计的实现方法和分类。

据统计,现行设备中有三种电量计,分别是:

直接电池电压监控方法,也就是说,电池电量的估计是通过简单地监控电池的电压得来的,尽管该方法精度较低和缺乏对电池的有效保护,但其简单易行,所以在现行的设备中得到最广泛的应用。然而锂电池本身特有的放电特性,如图2所示。不难从中发现,电池的电量与其电压不是一个线性的关系,这种非线性导致电压直接检测方法的不准确性,电量测量精度超过20%。电池电量只能用分段式显示,,如图1.a所示,无法用数字显示精确的电池电量。手机用户经常发现,在手机显示还有两格电的时候,电池的电量下降得非常快,也就是因为这时候电池已经进入Phase3。

图2:锂电池放电曲线。

电池建模方法,根据锂电池的放电曲线,建立一个数据表,每测量一个电压值,根据该电压去表中查出所对应的电量。该方法有效地提高电量的测量精度,可以达到5%,且简单易用,无需做电池的初次预估,但是该数据表的建立是一个复杂的过程,尤其是考虑到电池的温度、自放电、老化等因素的影响,并且对不同容量或类型的电池的兼容性也是一个问题。该表需要结合温度和电池寿命等因素进行修正,才能得到较高的测量精度。

库仑计,如图3所示,在电池的正极或者负极串入一个电流检测电阻,一旦有电流流入或者流出电池时,就会在电阻的两端产生电压Vsense,通过检测Vsense就可以计算出流过电池的电流。该电流与时间做积分就是变化的电量,因此其可以精确跟踪电池的电量变化,精度可达1%。尽管库仑计存在电池初次预估的问题,且电流电阻的精度直接影响了电量的精度。但是配合电池电压和温度的监控,一些软件算法可以较好地减小锂初次电量预估、电池老化、电流检测电阻精度等等因素对测量结果的影响。该方法在现行的设备和电池组中得到最为广泛的应用,下文以意法半导体带库仑计的电池监控芯片 STC3100为例,详细介绍该方法实现高精度的电量计量。

电量计按其位置来分,可以分为两种:电池侧电量计和系统侧电量计。电池侧电量计解释电量计量芯片直接设计在电池组中,电量计芯片永远检测一个电池,能够实时检测电池的充放电、自放电和自身老化等等,即使电池未被使用时,这些电池参数在实时地检测。该种电量比较精确,但是成本较高,电池接口复杂,系统对电池的兼容性较差。

而系统侧电量计是指电量计设计在系统侧而不是在电池组里,这样可以避免电池组的重新设计,减小的电池的管脚,系统可以兼容更多的电池。并且便携式设备要求电池体积越来越小,而容量越来越大,在系统侧实现电量计比在电池中实现更为简单便捷。但是,系统侧的电量计需要更为复杂的软件算法,解决电池的初次预估的问题、兼容不同特性电池的问题等等。

2,STC3100介绍和设计注意事项

STC3100是意法半导体带库仑计的电池监控芯片,它能够监控电池的电压、温度、和电流,集成一个可编程的12~14位的ADC,硬件积分器用于库仑计功能的计算,所测电流最大可达2.5A,积分器可以用7000mAh的电池,分辨率可达0.2mAh. 其内部框图如图4所示。

图4:STC3100内部框图。

STC3100带有一个I2C接口与处理器端进行通讯,并且集成了32bytes的RAM,用于存储电池的电量或其他特性信息。GPIO管脚可以用来作为电池低压报警使用,其应用框图如图5所示。

图5:STC3100电量计量框图。

STC3100中的库仑计需要一个32.768kHz的时钟,用于作为计算电量的时基,其精度直接影响电量的计算精度。 STC3100支持内部和外部的时钟,外部时钟优先的原则,并且能够自动检测是否存在外部时钟源,也可以通过设置寄存器设置成强制使用外部时钟源。如图6所示,如果用内部时钟,一个200kohm 0.1%的电阻连接与Rosc管脚和地之间,内部时钟精度在其供电电压和工作温度范围内为2.5%。为得到更高的精度,只能采用外部输入高精度时钟源的方式。

图6:STC3100的两种时钟源。

电流采样电阻Rcg是用采集流入或流出电池的电流,由于ADC采样的限制,该电阻的压降不能超过+/-80mV,所以,该阻值由应用中最大的峰值电流决定,如式一。如果峰值电流为2A,那么该阻值可以选择33mohm。

电流电阻上的电压经ADC采样后放置于REG_CURRET(06H和07H)寄存器中,而ADC的LSB是11.7uV,这样就可以按式二计算实际流过的电流值:

同时,STC3100会把Rcg两端的电压值与采样周期相乘后放入28位的累加器中,其中的高16位会放入REG_CHARGE(02h和03h)寄存器中,其实际的电量可以按式三计算。

STC3100自身的供电管脚Vcc和电池电压检测管脚Vin是分开的,如图7所示,这样很容易可以在电压检测管脚加入R2(1kohm)和C2(47nF~220nF)组成的ESD 保护和滤波电路,而电阻R1(150ohm)和齐纳二极管D1(5.6V)组成对Vcc的ESD保护电路,从而不会影响对电池电压的检测精度。电池电压和温度经ADC采样后分别放于REG_VOLTAGE 和REG_TEMPERATURE寄存器中,按照式三和式四可以分别计算出电池的实际电压和温度值。

STC3100的GND管脚要用一个PCB走线连接与电阻的地端,确保所有的电流都是流过该电阻的,避免产生电流的检测误差。

图7:STC3100的电源管脚和电池电压监控管脚。

3,软件设计与验证

STC3100寄存器中可以直接读出电量的变化值、电池电压、电流、温度等数据,系统处理器需要在上电时,配置STC3100的寄存器,启动其电量计数功能,如果是第一次上电,需要通过检测的电池电压进行电池容量的初次预估。完成初次预估后就可以进行实时的电池电量的实时计算,软件的流程如图所8示。

图8:软件流程框图。

电池的容量会随温度、充放电次数和使用时间的长短变化而变化,因此,为得到精确的电池电量,仅仅获得电池电压、电流是不够的,还要考虑温度、电池老化、电流检测电阻精度等因素造成的累计误差,因此,建议在使用中定期一次电池的完全的充放电过程,进行消除累计误差,不断保持电量的精度。上述软件在STC3100的demo板(STEVAL-ISB0011V1)进行了验证,如图9所示。该Demo板使用STM32进行软件处理,其上电池的充电芯片是具有800mA充电能力的STC4054,16*2矩阵的液晶LCD可是实时显示电池的容量、电压、电流和温度等参数,同时支持通过USB接口和PC通讯的功能,能够把电池的信息上传给上位机。

图9:STC3100 Demo板。

该实验采用1800mAh的电池,实时监控数据如图10所示,其中包括了电池电压、温度、电流、剩余电量、电池容量和STC3100芯片的ID号。并且我们分别对STC3100施加外部和内部的32K时钟,测试结果证明,采用外部时钟测量结果更为准确。

图10:电池监控数据。

结论

现在便携式设备集成越来越多的功能,精确的电量计可以用于提示用户剩余的使用时间,甚至可以在电池低电量时,可以提示用户关闭耗电较大的设备,这样可以给用户以更好的使用体验。意法半导体的STC3100是用在系统侧的电池电量监控芯片,可以精确地监控电池电压、电流、温度,并且实时输出电池电量,减轻了系统的工作量,并且它本身具有较小的功耗,比较适合便携式设备的应用。

参考文档

1, STC3100 数据手册;

2, STC3100应用文档AN3064;

3, STEVAL-ISB0011V1使用说明手册UM0903;

本文为哔哥哔特资讯原创文章,未经允许和授权,不得转载,否则将严格追究法律责任;
Big-Bit 商务网

请使用微信扫码登陆

x
凌鸥学园天地 广告