发明内容
本发明提供一种电池电量管理方法和装置,以解决现有技术中通过对电压的测量来计算电池容量导致的问题。
本发明的一个方面提出一种电池电量管理方法,包括以下步骤:获得检测的当前电池电压;利用当前电池电压查询一电量等级参数表,以确定当前电量等级;以及校正当前电量等级,其包括一等级下降校正操作,该等级下降校正操作在根据当前电池电压查询到的当前电量等级首次下降到一第一电量等级时累积电池在该第一电量等级的工作时间,并且在累积的工作时间小于一预设的对应该第一电量等级的最短工作时间期间,无论根据当前电池电压查询到的当前电量等级是否下降,都维持当前电量等级为该第一电量等级。
在本发明的一实施例中,在利用该当前电池电压查询一电量等级参数表,以确定当前电量等级的步骤之前还包括:将对当前电池电压进行平滑处理获得的电池电压作为查询该电量等级参数表的电池电压。
在本发明的一实施例中,对当前电池电压进行平滑处理的步骤包括:利用当前电池电压和之前检测的电池电压进行加权平均。
在本发明的一实施例中,校正当前电量等级的步骤还包括一等级上升校正操作,该等级上升校正操作在根据当前电池电压查询到的当前电量等级上升时,确定新的等级阈值,然后根据该电量等级参数表重新确定当前电量等级。
在本发明的一实施例中,在校正当前电量等级之后还包括:显示当前电量等级。
本发明的另一方面提出一种电池电量管理装置,包括电压采样器、存储器和处理器。电压采样器检测当前电池电压。存储器储存一电量等级参数表。处理器连接该电压采样器和该存储器,利用当前电池电压查询该电量等级参数表,以确定当前电量等级,并且执行一等级下降校正操作,该等级下降校正操作在根据当前电池电压查询到的当前电量等级首次下降到一第一电量等级时累积电池在该第一电量等级的工作时间,并且在累积的工作时间小于一预设的对应该第一电量等级的最短工作时间期间,无论根据当前电池电压查询到的当前电量等级是否下降,都维持当前电量等级为该第一电量等级。
在本发明的一实施例中,该处理器先对当前电池电压进行平滑处理,再将获得的电池电压作为查询该电量等级参数表的电池电压。
在本发明的一实施例中,该处理器利用当前电池电压和之前检测的电池电压进行加权平均,以进行该平滑处理。
在本发明的一实施例中,该处理器还执行一等级上升校正操作,该等级上升校正操作在根据当前电池电压查询到的当前电量等级上升时,确定新的等级阈值,然后根据该电量等级参数表重新确定当前电量等级。
在本发明的一实施例中,上述电池电量管理装置还包括一显示装置,连接该处理器,用以显示当前电量等级。
本发明还提出一种电池电量管理装置,包括:
用以获得检测的当前电池电压的装置;
用以利用当前电池电压查询一电量等级参数表,以确定当前电量等级的装置;以及
用以执行一等级下降校正操作的装置,该等级下降校正操作在根据当前电池电压查询到的当前电量等级首次下降到一第一电量等级时累积电池在该第一电量等级的工作时间,并且在累积的工作时间小于一预设的对应该第一电量等级的最短工作时间期间,无论根据当前电池电压查询到的当前电量等级是否下降,都维持当前电量等级为该第一电量等级。
在本发明的一实施例中,上述的电池电量管理装置还包括一用以对当前电池电压进行平滑处理的装置,平滑处理获得的电池电压作为查询该电量等级参数表的电池电压。
在本发明的一实施例中,上述的电池电量管理装置还包括一用以执行一等级上升校正操作的装置,该等级上升校正操作在根据当前电池电压查询到的当前电量等级上升时,确定新的等级阈值,然后根据该电量等级参数表重新确定当前电量等级。
本发明由于采用以上技术方案,使之与现有技术相比,通过引入最短工作时间,使得系统不会在电池电量不是很充足的时候进行大电流输出导致电量等级指示的急剧下降,从而使用者依然能够利用电子设备的剩余电量继续工作。此为,数据平滑处理和动态调整等级阈值参数的引入,也使得电池电量等级指示更准确地反映电池水平。
具体实施方式
图1示出本发明一实施例的电子设备系统结构。参照图1所示,电子设备包含处理器100、电压采样器102、存储器104以及显示装置106。为简化起见,未示出电子设备中的其他器件。这一电子设备的实例可以是各种使用电池的便携式电子设备,包括但不限于笔记本电脑、平板电脑、PDA、移动电话等。存储器104典型的为非易失性存储器,其中可保存电量等级参数表,以及各种需要在电子设备断电后维持的数据。处理器100可从存储器104或者其他非易失性存储器或者储存媒体中加载程序,并且执行这些程序。
电压采样器102连接电池200,以周期性地采样电池电压数据。利用所执行的程序,处理器100可以获取采样数据,然后根据存储器104中的电量等级参数表,选择当前电量所在的等级数,并显示到显示装置106中。下表1示出电量等级参数表的示例。
表1电量等级参数表
然而,已经知道上述这种仅仅将电池电压与电池电量等级的方法存在各种不足。一方面,在电池使用的过程中,由于突发性大负载存在,电池电压会发生较大的波动。这种波动会对后期的数据处理带来影响,尤其是当采样数据在电压等级阈值附近波动时,会导致计算出来的电量等级不断变化,在显示装置上体现出来就是电量等级不断跳变,造成不好的用户体验。因此在本发明的一些实施例中,通过减小这种采样数据的波动性,使采样数据曲线更加平滑,从而更加准确的体现电池容量的变化。
另一方面,当电池电量不是很充足的时候,如果进行大电流输出的话,电池电压会有较大幅度的下降,经过平滑过的数据虽然能够弱化这种变化,但是最终还是会贴合实际电压。如果单纯从电压到电量等级的对应关系上来看,电量等级可能会马上下降一个或两个等级,但是电池的实际电量并没有下降这么快,为了解决这个问题,在本发明的一些实施例中引入了当前电量等级的“最短工作时间”。“最短工作时间”的定义是,电池在该电量等级下,按照预定义的系统最大放电电流计算,实际能放电的最短时间。
再者,当系统结束工作,进入休眠时,电池从大电流放电恢复成小电流放电,电压会缓慢上升,当电压高于当前电量等级阈值时,就可能会出现电量增加的情况,这种情况会给客户带来误解。为了避免这种情况,在本发明的一些实施例中结合电池使用特点,采用了动态调整阈值参数的方法。
概要地说,本发明的优化措施包括电压采样数据的平滑处理,根据平滑后的数据确定电量等级,该电量等级的最短工作时间,以及负载减小电压恢复时的电压阈值的动态设置。下面将要描述的实施例引入了上述措施的一个或多个方面。
图2示出本发明一实施例的电池电量管理方法流程。该方法流程是在处理器100中执行,参照图2所示,流程包括以下步骤:
在步骤S1,处理器100从电压采样器102获得检测的电池电压。
在步骤S2,处理器100利用获得的电池电压查询电量等级参数表,从而确定当前电量等级。例如,当获得的当前电池电压是3670mV时,通过查表可知已达到等级1但未达到等级2,因此确定当前电量等级是1。
在步骤S3,处理器100校正当前电量等级。在本实施例中,校正当前电量等级的步骤可包括一等级下降校正操作,它是为应对大电流输出导致电量等级忽然下降的情形。
在步骤S4,处理器100传输电量等级给显示装置以显示当前电量等级。这一步骤可仅在电量等级变化的情况下得以执行,也可以在每次确定电量等级后予以刷新。
图4示出本发明一实施例对电量等级的校正流程。参照图4所示,流程在S31先判断根据电池电压查询到的电量等级是否出现变化,如果不变,直接返回步骤S1,继续检测电池电压。作为替代,也可以结束流程,进入步骤S4,刷新一次电池电量等级。如果电量等级出现变化,则在步骤S32和步骤S38根据电量等级下降和上升分别进行不同处理。
步骤S32开始的流程为等级下降校正操作。在该等级下降校正操作中,引入了“最短工作时间”,即电池在该电量等级下,按照预定义的系统最大放电电流计算,实际能放电的最短时间。
为了更进一步说明前述的最短工作时间,在此以容量为1800mAH的电池为例,结合前述的电量等级参数样表1说明。
假设,某系统工作时消耗的最大平均电流为I mA,则系统按照电流I放电,电池从满电量到电量放完所消耗的时间T(单位:秒)为:
以此时间为总的放电时间,则各等级最短工作时间t即可确定:
tn=T*f(n)
结合电池总的最短放电时间T可以得出:
其中:
n为当前电量等级
f(n)为等级n所占的电池总容量的百分比。以等级2为例,其占电池总容量的百分比为20%。
概要地说,等级下降校正操作在根据电池电压查询到的电量等级首次下降到一第一电量等级时,累计电池在该第一电量等级的工作时间。在此,认为电池在该第一电量等级下,即使在系统最大放电电流下,也能至少维持对应该第一电量等级的“最短工作时间”。因此,在前面累计的工作时间小于对应该第一电量等级的最短工作时间期间,无论根据当前电池电压查询到的当前电量等级是否下降,都维持当前电量等级为该第一电量等级。举例来说,根据电池电压查询如表1的电量等级参数表,得出当前电量等级应为1时,累计电池在电量等级1的工作时间,在该工作时间到达电量等级1的最短工作时间之前,即使根据电池电压查询如表1的电量等级参数表,得到电量等级为0,等级下降校正操作也会将当前的电量等级维持在1,由此进行校正。
步骤S33-S37示出等级下降校正操作的程序流程,在步骤S33,在电量等级下降的情况下,流程判断电池是否是第一次下降到当前电量等级,例如电池是否是刚从等级2下降到等级1。如果是,则在步骤S34复位一计时器,重新开始计时。如果不是,则在步骤S35让计时器继续计时。在步骤S36,流程判断计时器的累计时间是否超过一最短工作时间,如果是,则在步骤S37,认为当前电量等级下降是合理的,确认电量等级降一级,流程结束。
反之,如果计时器的累计时间不超过最短工作时间,则认为当前电量等级下降是不合理的,流程直接返回步骤S1,继续检测电池电压,而不下调电量等级,从而实现对电量等级的校正。作为替代,也可以结束流程,进入步骤S4,刷新一次电池电量等级。
在此结合一实际的例子说明最短工作时间的使用方法:
假设当前系统测得电压V1处于等级1,在下一次测量电压后,发现测得电压V2处于poweroff区间,低于上次测得等级,发生了电压等级(亦即电量等级)下降的情况,系统立刻启动定时器,开始计时T0。
同时,开始计算当前电量的最短放电时间:
当计时器T0大于t1时,则认为当前等级电量已经消耗殆尽,则将当前电量等级下调一格,为等级0。
再次测量电池电压,如果发现电压V3仍然处于poweroff区间,低于当前等级,则判断又发生了电压等级下降的情况,开始启动定时器测量时间,重复上述的动作,直到当前电量等级与测量判断的目标电量等级一致为止。
图3示出本发明另一实施例的电池电量管理流程,作为图2所示实施例的优化,实施例在步骤S1’对采样数据进行平滑处理。
根据本发明的一实施例,采用加权平均算法来去除采样抖动,其基本思想是当前输出值不仅和当前采样值有关,同时也和前几个采样值相关,相关性用加权系数来表示。算法描述如下:
其中:ε1,ε2,ε3...εN为加权系数;且ε1+ε2+ε3+...+εN=ε。
一般可以写成以下形式:
其中ε1+ε2+ε3+...+εN=ε,且ε为2的幂。
在此,可以取ε=4,ε1=3,ε2=1。当然这里可以根据具体需求(比如平滑效果、运算量等因数)修改这些参数。
使用该算法可以获得比较平滑的电压曲线,当负载变化时,电压曲线有滞后效应,这样就能够最大限度的弱化突发的大负载对电池电压的影响。
回到图2所示实施例,校正当前电量等级的步骤还可包括等级上升校正操作,以应对系统进入休眠时,电池从大电流放电恢复成小电流放电,导致提示出现电量增加的情况。这一等级上升校正操作采用动态调整阈值参数的方法。参照图5所示,这一操作包括在步骤S39确定新的等级阈值,然后在步骤S40根据电量等级参数表确定电量等级,示例性的做法如下:
假设电池当前电压为v,当前等级n的电压范围上限是V0:
当v<=V0,电量等级为n;
当V0<v<V0+delta时,阈值V0会提升到V1=V0+delta,电量等级为n;
当V1<v时,判断电量等级为n+1,阈值恢复到V0。
本发明所描述的上述实施例,相比传统的技术,能够达到以下优点中的一个或多个:
1、无需增加额外电路和器件,实现简单,价格低廉;
2、通过更准确的反映电池电量水平,使得电池利用率高。
3、电量指示不会出现振荡跳变的情况,提高了用户体验。
虽然本发明已以较佳实施例揭示如上,然其并非用以限定本发明,任何本领域技术人员,在不脱离本发明的精神和范围内,当可作些许的修改和完善,因此本发明的保护范围当以权利要求书所界定的为准。