一、前言
使用便携式电子产品,希望能够随时知道电池的所剩电量,所能持续的工作时间,并且据此调节相关应用,这无疑将是一个非常方便的事情,尤其适合使用智能手机的商务人士。电池电量检测技术在笔记本电脑中已经屡见不鲜,多数笔记本电脑都有电源管理的选项,提供不同的电源工作模式以及电池报警功能。但是在更加小型化的便携产品市场,这一技术却还不多见。
便携式产品提供的功能越来越纷繁,用户日益需要准确地监测电池电量,以便灵活管理可用电源,明确显示剩余工作时间,尽可能延长系统运行的时间。目前主流的检测方法是简单测量电池电压,估算相对应的电池剩余电量。总电量除以4或5,也就是通常能在手机屏幕上看见的4格或者5格的电量Bar,所以每格的精确度即是25%或者20%,这样的精度显然无法满足高精度要求的应用。
许多可携式产品都利用电压测量值来估计电池剩馀电量,但是电池电压与剩馀电量的关系却会随着放电率、温度和电池老化程度而改变,使这种方法的误差率最高可达50%。市场对使用时间更长的产品需求不断增强,因此系统设计人员需要更加精确的解决方案。使用电量检测计吧来测量电池充人或消耗的电量,将能够在很宽的应用电源级别范围内提供更精确的电池电量估测。
这种电压估测电量的方法通常如下:一块电池在放电的时候,电池的电压会随着电池电量的流失逐渐地下降。这样就可以得到一个比较简单而有效的对应关系,就是电压对应容量。通过电池正常使用(比如100mA放电)的放电曲线,对时间进行4等分,以充电限制电压为4.2V的锂电池为例,可以列出这样一个对应关系,4.20V—100%,3.85V—75%,3.75V—50%,3.60V—25%,3.40V—5。很显然,这种精度最高只有25%。另外,电池电压会随着RFPA的功率发射发生突变,通常会变小0.2V-0.3V。如果一味的使用电压模拟电量方法,就会误差更大。为了解决电池电压突然变小的测量问题,当前工程师们的普遍方法是利用软件算法进行均值滤波,对一段时间内的电池电压进行均值化,如果该时间段的平均电池电压确实下降了,则预估电量确实变少了,否则即认为电量并未变化。
电量检测算法应用举例之一,功能完整的单\双电池便携式应用电池组设计
电量检测原理。较好的电量检测计至少要具备电池电压、电池组温度和电流、测量方法;一个微处理9a;和一套及业经验证的电量检测算法。bq2650x及bq27x00是功能完整的电量检测计,具有一个测量电压与温度的模数转换器(ADC)和一个测量电流与充电感测的模数转换器。这些电量检测计还具有一个微处理器,负责执行德州仪器的电量检测算法。这些演算法会补偿锂离子电池的自放电、老化、温度和放电率等因素。晶片内含微处理器为主机系统处理器省下这些计算负担。
VCC及BAT引脚会连到电池电压,以便为,C供电及测量电池电压。电池接地端连接了一个电阻值较小的检测电阻器,让电量检测计的高阻抗SRP及SRN输入端能够监控感测电阻两端的电压。通过流经检测电阻器的电流可用来判断电池充入或释放的电量。设计人员选择检测电阻值时必须考虑电阻两端的电压不能超过100mV,过低的电阻值可能会在电流较小时产生误差。电路板布局必须确保从SRP及SRN到检测电阻器的连接要尽可能靠近感测电阻端;换言之,它们应该是采用Kelvin连线。
HDQ引脚需要外部上拉电阻器,该电阻应位于主机或主应用端,这样电量检测计才能在电池组与便携式设备连接断开时启用睡眠功能。建议上拉电阻值选用10kΩ。
双电池应用。使用bq26500支持双体锂离子电池的典型应用电路。为了支持多颗电池,此电路增加一个可调稳压器。电量检测计的BAT引脚与最下面一节电池的负极相连,以完成可变电池组电压的测量。
电量检测算法应用举例之二,能适用于各种通用电量计的新型IC
当今不少制造厂商可提供种类丰富的电量计IC,,用户可从中选取合适的功能器件,以优化产品的性价比。利用电量计贮测量的电池参数,这种分离式架构允许用户在主机内定制电量计量算法。从而省去电池组内嵌处理器的成本。值此以Dallasesemicconductor公司名为例的DS2762芯片作典型分析。一新型分离式电量计IC,
DS2762应用特征
其主要特征为;单节锂电池保护器;高精度电流(电量计量)、电压和温度测量;可选的集成25mΩ检测电阻,每个DS2762经过单独微调;0V电池恢复充电;32字节可加锁EEPROM,16字节SRAM,64位ROM;1-Wire,多节点,数字通信接口;支持多电池组电源管理,并通过保护FET实现系统电源控制;休眠模式下电源电流仅2?A(最大);工作模式下电源电流为90?A(最大);2.46mm×2.74mm倒装片封装或16引脚下SSOP封装,两者均可选择带或不带检测电阻;复具有备有评估板。
电池电压模拟剩余电量的方法确实存在着缺陷,而通过库仑计实时监测电池消耗电量而计算剩余电量的方法则非常准确。Fairchild的 FAN4010是这种应用的典型器件。
二、硬件电路的典型设计
为了满足高精度的电池电量监测需求,FAN4010外加合适的应用电路并加上特定的软件控制算法,就能够很好的达到要求。如图1是FAN4010 的典型应用框图。外围只需要两个电阻Rsense、Rout即构成高精度的放大电路。如图2是内部结构原理示意图,所以存在Vsense = I_load * Rsense, Vout = 0.01 * Vsense * Rout,由此两关系式可以等到I_load=100*Vout/(Rout*Rsense),所以只要用ADC监测Vout上的电压,再除以已知的电阻值Rout和Rsense,就可以得到准确的负载消耗电流,而电流对时间进行积分,MCCC_formula01,即可以达到所消耗的电量准确值。用总电量减去准确的电量消耗值,即可得到准确的剩余电量。充电电路,则同理。
图1 FAN4010的应用框图
图2 FAN4010的内部结构原理示意图
FAN4010的典型应用图以及Rsense、Rout的选值要求如下。其中图3为电池的充电电路,图4为电池的放电电路。
图3 充电部分的参考原理图
图4 放电部分的参考原理图
这两个电阻串联在充电和放电的路径上。因此,我们需要一个低阻值的电流采样电阻。矛盾的是,如果Rsense太低,精度都将丢失。若Rsense 选择的过大,则此电阻上的压降和功耗都很大。因此,Rsense的选择应该是理想的高精确度和所能允许电压损失的综合平衡。虽然FAN4010在 Vsense值较低时采样电阻上的功耗最小,但是一个更大的Rsense值能提供更多的准确性。然而较大的Rsense会产生一个比较大的电压降,减少了可提供给负载的有效电压,这在低电压尤其电池供电的应用中会很有麻烦。正因为如此,设计中要很好地了解预期的最大允许负载电流和负载供电电压。为了获得最大化的精度,建议Rsense的选择应符合以下条件:10mV
接到GND上的Rout这个电阻,是用来产生一个可供ADC检测到的电压信号。它的选择主要取决于两个参数:I_out(即 I_load*Rsense/100)以及ADC的电压采样范围。最大的I_load产生的最大Vout不能超过ADC的最大采样电压。为了保证精度最大化,同时又希望最大的Vout能尽量接近ADC的最大采样量程。
另外,为了保证FAN4010的最大线性化,Rout的选择应满足关系式:MCCC_formula02
其中Vin为输入电压,Iout_fs的值则是表1中的对应值,在不同的最大Vsense时,其值不一样。例如,若最大的Vsense为500mV时,则Iout_fs=5mA。
Table.1 Iout_FS的选值表
Layout设计图例如图5,走线的基本原则是:FAN4010尽量靠近充电/放电路径。
图5 layout实例
三、典型的软件设计
电量计算的算法如图6,相关说明如下:
假设前提:现有两块电池,A (总容量1000mAh左右,不确定),B(总容量1500mAh左右,不确定),此2电池均可能使用在手机P上。
插入电池(开机)→→是否电池校准(默认否)→→否→→调用电池容量曲线a(默认)(若使用电池B,则修改为使用电池容量曲线b)→→通过电池端电池Vcc以及监测耗电量联合评估剩余电量百分比。
→→是→→若要校准,请保证该电池已经充满电→→选择校准曲线,a 还是 b? →→记录最高端电池Vcc-h,默认此时电池电量百分比100%→→按每一可计算时间段,分别监测耗电量 MCCC_formula03,以及电池端电压→→一直使用到电池没电,自动关机,记录此状态电压Vcc- l以及默认此时电池百分比0%,计算总的电量损耗Q,此Q即为以后容量曲线的total Q。
图6 软件流程图