新闻中心

EEPW首页>嵌入式系统>设计应用> 电量计在手持设备中的实现

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

—— 精确监控电池电压、电流、温度,并且实时输出电池电量
作者: 时间:2010-11-27 来源:电子产品世界 收藏

本文引用地址://m.amcfsurvey.com/article/114990.htm

  电流采样电阻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走线连接与电阻的地端,确保所有的电流都是流过该电阻的,避免产生电流的检测误差。

  3,软件设计与验证

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

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

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

  结论

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

  参考文档

  1, STC3100 数据手册;

  2, STC3100应用文档AN3064;

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


上一页 1 2 3 下一页

评论


相关推荐

技术专区

关闭