电池容量值的更新方法、装置及终端与流程

文档序号:12456509阅读:222来源:国知局
电池容量值的更新方法、装置及终端与流程
本发明属于电池
技术领域
,尤其涉及一种电池容量值的更新方法、装置及终端。
背景技术
:终端可以通过电量计(coulombcounter,又称库仑计)来计算终端电池的剩余电量值。这种计算方式需要获取终端电池的各项参数值,其中包括电池的额定容量值,然后再将这些参数值代入计算公式计算得到电池的剩余电量值。然而,实际使用过程中,很多因素都会影响电池的容量值,比如使用环境以及电池本身的老化等。因此,根据电池的额定容量值计算得到的剩余电量的准确度较低。技术实现要素:本发明实施例提供一种电池容量值的更新方法、装置及终端,能提高终端计算电池剩余电量的准确度。本发明实施例提供一种电池容量值的更新方法,包括:对终端的工作状态进行检测;当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式;根据所述电池参数值,对所述预设电池容量计算表达式进行计算,得到相应的输出值;按照所述输出值对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。本发明实施例还提供一种电池容量值的更新装置,包括:检测模块,用于对终端的工作状态进行检测;获取模块,用于当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式;计算模块,用于根据所述电池参数值,对所述预设电池容量计算表达式进行计算,得到相应的输出值;更新模块,用于按照所述输出值对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。本发明实施例还提供一种终端,包括存储器,处理器,以及存储在所述存储器中并可在所述处理器中运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的电池容量值的更新方法中的步骤。本发明实施例提供的电池容量值的更新方法、装置及终端,首先由终端对自身的工作状态进行检测。当检测到终端的工作状态为预先标记的工作状态时,可以触发终端获取与该预先标记的工作状态相对应的电池参数值以及预设电池容量计算表达式。然后,终端可以根据该电池参数值,对该预设电池容量计算表达式进行计算,并得到相应的输出值。之后,终端可以根据该输出值对电池容量值进行更新,并根据更新后的电池容量值来计算电池的剩余电量值。由于终端是在处于预先标记的工作状态时,对电池容量值进行的更新,而更新后的电池容量值更加接近电池的实际容量值,因此根据该更新后的电池容量值计算得到的剩余电量值也会更加接近电池的实际剩余电量,即本发明实施例可以提高终端计算电池的剩余电量的准确度。附图说明下面结合附图,通过对本发明的具体实施方式详细描述,将使本发明的技术方案及其有益效果显而易见。图1是本发明实施例提供的电池容量值的更新方法的流程示意图。图2是本发明实施例提供的电池容量值的更新方法的另一流程示意图。图3是本发明实施例提供的电池容量值的更新方法的场景示意图。图4是本发明实施例提供的电池容量值的更新方法的又一流程示意图。图5是本发明实施例提供的电池容量值的更新方法的另一场景示意图。图6是本发明实施例提供的电池容量值的更新装置的结构示意图。图7是本发明实施例提供的电池容量值的更新装置的另一结构示意图。图8是本发明实施例提供的移动终端的结构示意图。具体实施方式请参照图式,其中相同的组件符号代表相同的组件,本发明的原理是以实施在一适当的运算环境中来举例说明。以下的说明是基于所例示的本发明具体实施例,其不应被视为限制本发明未在此详述的其它具体实施例。以下将详细说明。请参阅图1,图1是本发明实施例提供的电池容量值的更新方法的流程示意图,流程可以包括:在步骤S101中,对终端的工作状态进行检测。可以理解的是,本发明实施例的执行主体可以是智能手机、平板电脑等终端设备。比如,市面上很多终端设备都是通过电量计来计算终端电池的剩余电量值的。这种方式需要获取终端电池的数项参数值,其中包括电池的额定容量值。然后,再将这些参数值代入一定的计算公式计算得到电池的剩余电量值。然而,实际上电池的容量值会受到很多因素的影响,比如温度以及电池自身的老化等。因此,根据电池的额定容量值所计算得到的剩余电量的准确度较低。在本发明实施例的步骤S101中,终端可以先对自身的工作状态进行检测。需要说明的是,终端的工作状态可以包括如开机状态、关机状态、充电状态、正常使用时的放电状态(未充电),等等,此处举例不构成对本发明的限定。在步骤S102中,当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式。比如,当终端检测到自身进入预先标记的工作状态时,可以触发终端获取与该预先标记的工作状态相对应的电池参数值以及预设电池容量计算表达式。也就是说,当终端进入到不同的预先标记的工作状态时,终端需要获取不同参数项的参数值以及不同的预设电池容量计算表达式。需要说明的是,终端可以预先对一些工作状态进行标记,使之成为预先标记的工作状态。例如,预先标记的工作状态可以包括开机状态和充电状态等。在一种可能的实施方式中,终端可以预先生成一张预设对应关系表,该预设对应关系表记载有各预先标记的工作状态及其对应的需要获取的参数项和预设电池容量计算表达式。例如,预设对应关系表可以包括表1中的内容:表1:预先标记的工作状态与参数值及电池容量计算表达式对应关系表基于此,例如当终端检测到其工作状态为经过预先标记的开机状态时,可以触发终端根据表1获取与开机状态对应的电池的当前温度值,以及预设函数表达式。当终端检测到其工作状态为经过预先标记的充电状态时,可以触发终端根据表1获取与充电状态对应的电池开始充电时的剩余电量值、电量充满时充入电池的电荷量以及预设数学表达式,等等。在一种可能的实施方式中,步骤S102可以包括:当检测到终端进入预先标记的工作状态时,检测在预设时间范围内是否已对终端的电池容量值进行更新;若检测出在预设时间范围内未对终端的电池容量值进行更新,则获取对应的电池参数值以及预设电池容量计算表达式。比如,当终端检测到自身的工作状态为预先标记的工作状态时,终端还可以先检测其在预设时间范围内是否已经对电池容量值进行过更新。例如,该预设时间范围可以是当前时刻最近的6小时内。如果检测出终端在预设时间范围内没有对终端的电池容量值进行过更新,那么可以触发终端获取与该预先标记的工作状态相对应的电池参数值以及预设电池容量计算表达式。如果检测出终端在预设的时间范围内已经对终端的电池容量值进行过更新,那么终端可以暂时不对电池容量值进行更新。例如,终端在T1时刻检测到用户为终端电池充电。此时,可以触发终端检测其在T1时刻之前的6小时内是否已经对电池容量值进行过更新。例如,终端检测到其在T1时刻之前3小时的T0时刻已经对电池容量值进行过更新。在这种情况下,终端可以暂时不再对电池容量值进行更新,也即在本次充电过程中终端不再需要获取电池开始充电时的剩余电量值、电量充满时充入电池的电荷量,以及与充电状态对应的预设数学表达式,并根据该剩余电量值、电荷量,对该预设数学表达式进行计算,得到相应的输出值。可以理解的是,当检测到终端进入预先标记的工作状态时,进一步检测终端在预设时间范围内是否已对电池容量值进行过更新,并只在检测到终端在预设时间范围内未对电池容量值进行过更新的情况下,才触发终端执行对电池容量值进行更新的步骤。也就是说,在检测到终端在预设时间范围内已经进行过电池容量值的更新的情况下,终端可以取消本次对电池容量值进行更新的步骤,从而减少对电池容量值进行更新的次数。通过这种方式可以降低对终端的计算资源的占用,减轻终端负担。在步骤S103中,根据该电池参数值,对该预设电池容量计算表达式进行计算,得到相应的输出值。比如,在终端获取到与其当前所处的预先标记的工作状态对应的参数值以及预设电池容量计算表达式之后,终端可以根据该参数值,对预设电池容量计算表达式进行计算,得到相应的输出值。例如,在获取到与开机状态对应的电池当前温度值以及预设函数表达式之后,终端可以计算该预设函数表达式的因变量,该预设函数表达式以该当前温度值为自变量。计算得到的因变量即为相应的输出值。在步骤S104中,按照该输出值对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。比如,在对预设电池容量计算表达式进行计算,并得到相应的输出值之后,终端可以按照该输出值对电池容量值进行更新,并在此之后根据更新后的电池容量值去计算电池的剩余电量。例如,在计算得到以电池当前温度值为自变量的预设函数表达式的因变量之后,终端可以根据该因变量对电池容量值进行更新。在对电池容量值进行更新后,终端就可以采用更新后的电池容量值来计算电池的剩余电量。可以理解的是,由于是在终端处于预先标记的工作状态时,对电池容量值进行更新,而更新后的电池容量值更加接近电池的实际容量值,因此根据该更新后的电池容量值计算得到的剩余电量值也会更加接近电池的实际剩余电量,所以本发明实施例可以提高终端计算电池的剩余电量的准确度。由上述可知,本实施例提供的电池容量值的更新方法,首先由终端对自身的工作状态进行检测。当检测到终端的工作状态为预先标记的工作状态时,可以触发终端获取与该预先标记的工作状态相对应的电池参数值以及预设电池容量计算表达式。然后,终端可以根据该电池参数值,对该预设电池容量计算表达式进行计算,并得到相应的输出值。之后,终端可以根据该输出值对电池容量值进行更新,并根据更新后的电池容量值来计算电池的剩余电量值。由于是在终端处于预先标记的工作状态时,对电池容量值进行更新,而更新后的电池容量值更加接近电池的实际容量值,因此根据该更新后的电池容量值计算得到的剩余电量值也会更加接近电池的实际剩余电量,即本发明实施例可以提高终端计算电池的剩余电量的准确度。请参阅图2,图2为本发明实施例提供的电池容量值的更新方法的另一流程示意图,流程可以包括:在步骤S201中,终端对工作状态进行检测。在步骤S202中,当检测到终端的工作状态为开机状态时,终端获取电池的当前温度值。比如,在一种可能的实施方式中,在步骤S201之前还可以包括如下步骤:获取多个电池温度值样本,以及与各电池温度值样本对应的电池容量值样本;根据电池温度值样本,生成温度区间,各温度区间包含温度上限值及温度下限值;根据电池容量值样本,获取与各温度上限值对应的电池容量值、以及与各温度下限值对应的电池容量值;根据每一温度区间的温度上限值、温度下限值、与温度上限值对应的电池容量值、与温度下限值对应的电池容量值,生成与每一温度区间对应的函数表达式,并将该函数表达式确定为预设函数表达式。比如,终端可以获取4个电池温度值样本,以及与这4个电池温度值样本对应的电池容量值样本。例如,终端获取到的4个电池温度值样本分别为-10℃、0℃、25℃、50℃,而与这4个温度值样本对应的电池容量值样本分别为2500mAh、2700mAh、3000mAh、2600mAh。在一种可能的实施方式中,可以采用如下方式来获取与各电池温度值样本对应的电池容量值样本:在实验室环境下,控制电池温度保持在一设定温度值,并在该设定温度值环境下,将电池充满电。然后,按照设定的电流大小对电池进行放电,直到电池停止放电,记录这期间电池的放电时长。然后将放电电流值与放电时长相乘,计算得到电池的容量值。例如,控制电池温度保持在25℃,并在该温度环境下将电池充满电。之后,同样在该温度环境下以500mA大小的电流对电池进行放电,直到电池放电完毕,记录到电池放电时长为6小时,那么将放电电流值500mA与放电时长6小时相乘便得到电池容量值3000mAh。需要说明的是,电池中具有用于自我保护的控制电路,在电池放电过程中,当检测到电池的电压降低到放电截止电压时,电池会停止放电,但此时电池内还存有一小部分电量。由于这部分电量很小并且不参与电池放电,因此在计算电池容量值时可以将这部分电量忽略不计。在统计到这些电池温度值样本,以及与各电池温度值样本对应的电池容量值样本后,可以将这些样本值保存在终端的预设文件中供终端调用。在获取到多个电池温度值样本以及对应的电池容量值样本后,终端可以先根据这些电池温度值样本,生成温度区间,生成的各温度区间都包含温度上限值以及温度下限值。例如,终端根据获取到的4个电池温度值样本-10℃、0℃、25℃、50℃,生成的温度区间为[-10,0]、[0,25]以及[25,50]。在生成了温度区间之后,终端可以根据之前获取到的电池容量值样本,获取与各温度区间的温度上限值对应的电池容量值,以及与温度下限值对应的电池容量值。例如,对于温度区间[0,25]而言,与温度下限值0℃对应的电池容量值为2700mAh,与温度上限值25℃对应的电池容量值为3000mAh。然后,终端可以根据每一温度区间的温度上限值、温度下限值、与温度上限值对应的电池容量值、与温度下限值对应的电池容量值,生成与每一温度区间对应的函数表达式,并将该函数表达式确定为对应的预设函数表达式。在一种可能的实施方式中,生成的与各温度区间对应的函数表达式可以是一次函数表达式。例如,对于温度区间[0,25]而言,以(0,2700)和(25,3000)作为对应的一次函数表达式的直线图像上的两点,那么通过计算得到的一次函数表达式为y=12x+2700。同理,对于温度区间[-10,0],生成的对应的一次函数表达式为y=20x+2700。对于温度区间[25,50],生成的对应的一次函数表达式为y=-16x+3400。在生成了与各温度区间对应的函数表达式之后,终端可以将该函数表达式确定为与各温度区间对应的预设函数表达式。例如,终端可以生成一张对应关系表,如表2:表2:温度区间与预设函数表达式对应关系表温度区间对应的预设函数表达式[-10,0]y=20x+2700[0,25]y=12x+2700[25,50]y=-16x+3400在终端实际使用过程中,比如步骤S201和S202可以包括:终端可以对自身的工作状态进行检测,当检测到终端的工作状态为开机状态时,可以触发终端获取其电池的当前温度值。在步骤S203中,终端根据该当前温度值,获取对应的预设函数表达式。比如,在获取到其电池的当前温度值之后,终端可以根据该当前温度值,获取对应的预设函数表达式。在一种可能的实施方式中,终端可以根据电池的当前温度值,先确定出该当前温度值所属的温度区间,然后再获取与该温度区间对应的预设函数表达式。例如,在步骤S202中,终端获取到的电池的当前温度值为22℃。终端确定出该当前温度值属于[0,25]这个温度区间,然后终端可以查询表2,并获取与该温度区间对应的预设函数表达式y=12x+2700。在步骤S204中,终端计算该预设函数表达式的因变量,该预设函数表达式以该当前温度值为自变量。比如,在获取到与电池当前温度值相对应的预设函数表达式之后,终端可以计算该预设函数表达式的因变量,该预设函数表达式以该当前温度值为自变量。例如,在获取到预设函数表达式y=12x+2700之后,终端可以用当前温度值22℃的数值为自变量对预设函数表达式y=12x+2700进行计算,得到的因变量为2964。在步骤S205中,终端按照所述因变量对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。比如,在计算得到预设函数表达式的因变量之后,终端可以按照该因变量对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。例如,在计算得到因变量2964之后,终端可以用该因变量2964替换掉原来的电池容量值。并且,在对电池容量值进行下一次更新之前,控制终端根据更新后的电池容量值2964mAh来计算电池的剩余电量。可以理解的是,由于终端开机时需要计算电池的剩余电量,因此在终端开机时先根据电池温度值对电池容量值进行更新,使更新后的电池容量值更加接近实际容量值,那么根据更新后的电池容量值计算得到的电池剩余电量也会更加接近于实际剩余电量,即通过这种方式可以提高终端计算剩余电量的准确度。请参阅图3,图3为本发明实施例提供的电池容量值的更新方法的场景示意图。例如,终端原来处于关机状态,之后用户拿起终端,并用拇指触发了终端电源键,对终端进行开机操作,此时终端会检测到自身进入开机状态。当检测到终端的工作状态为开机状态时,可以触发终端获取电池的当前温度值。例如,终端获取到的电池的当前温度值为22℃。然后,终端可以读取预设对应关系表(即表2),并确定出当前温度值22℃属于预设的温度区间[0,25]。之后,终端可以查询该预设关系表,并获取与温度区间[0,25]对应的函数表达式y=12x+2700。在获取到函数表达式y=12x+2700之后,终端可以用当前温度值22℃的数值22为自变量对预设函数表达式y=12x+2700进行计算,得到的因变量为2964。在计算得到因变量2964之后,终端可以用该因变量2964替换掉原来的电池容量值,也即将电池容量值更新为2964mAh。并且,在对电池容量值进行下一次更新之前,控制终端根据更新后的电池容量值2964mAh来计算电池的剩余电量。请参阅图4,图4为本发明实施例提供的电池容量值的更新方法的又一流程示意图,流程可以包括:在步骤S301中,终端对工作状态进行检测。在步骤S302中,当检测到终端的工作状态为充电状态时,终端获取开始充电时电池的剩余电量值,以及电量充满时充入电池的电荷量。比如,步骤S301和S302可以包括:终端对自身的工作状态进行检测。当检测到用户为终端充电,即终端的工作状态为充电状态时,可以触发终端获取其开始充电时电池的剩余电量值,以及电量充满时充入电池的电荷量(即充入电池的库仑量)。例如,当检测到终端的工作状态为充电状态时,终端获取到的开始充电时电池的剩余电量值为电池总电量的50%。经过一段时间后,终端检测到电池的电量已充满,此时终端会停止充电。此时,由终端获取充入电池的电荷量。例如,终端通过电量计读取到的电量充满时充入电池的电荷量为1480mAh。在步骤S303中,终端获取与充电状态对应的预设数学表达式。在步骤S304中,终端根据该剩余电量值及该电荷量,对该预设数学表达式进行计算,得到相应的输出值。比如,步骤S303和S304可以包括:在获取到电池开始充电时的剩余电量值,以及电量充满时充入电池的电荷量之后,可以触发终端获取与充电状态对应的预设数学表达式。该预设数学表达式是用于计算电池容量值的表达式。在一种可能的实施方式中,预设数学表达式可以是fcc=cc/(100%-d0)。该预设数学表达式中fcc表示电池容量值,cc表示电量充满时充入电池的电荷量,d0表示电池开始充电时剩余电量百分比,也即剩余电量占总电量的百分比。需要说明的是,上述预设数学表达式是根据终端系统电量计算表达式soc=d0+(cc/fcc)*100%得到的。在该系统电量计算表达式中soc表示系统剩余电量百分比,d0表示系统初始电量百分比,cc表示系统增加或者消耗的电量,当充电时cc为正值,当放电时cc为负值,fcc表示电池容量值。当电量充满时soc默认为100%。在获取到预设数学表达式之后,终端可以根据步骤S302中获取的电池开始充电时的剩余电量值(剩余电量百分比)以及电量充满时充入电池的电荷量,对该预设数学表达式进行计算,得到相应的输出值。例如,在步骤S302中,终端获取到的开始充电时的剩余电量百分比为50%,电量充满时充入电池的电荷量为1480mAh,那么根据这二者对预设数学表达式进行计算得到fcc=1480mAh/(100%-50%)=2960mAh。在步骤S305中,终端按照该输出值对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。比如,在对预设数学表达式进行计算,得到该预设数学表达式的输出值之后,终端可以按照该输出值对电池容量值进行更新,并控制终端根据更新后的电池容量值来计算电池的剩余电量。例如,终端对预设数学表达式进行计算得到的电池容量值fcc为2960mAh,那么终端可以用2960mAh替换终端原来的电池容量值。并且,在对电池容量值进行下一次更新之前,控制终端根据更新后的电池容量值2960mAh来计算电池的剩余电量。可以理解的是,由于电量充满时,电池会自动停止充电,以防止过充电。因此,可以将电量充满时电池的电量百分比默认为100%,用100%减去开始充电时电池的剩余电量百分比,所得到的就是充入电池的电荷量占电池容量值的百分比,而充入电池的电荷量可以通过电量计准确统计到,因此根据充入电池的电荷量计算得到的电池容量值也更加接近电池的实际容量值。所以,根据更新后的电池容量值所计算出来的剩余电量也更加接近于实际剩余电量,即通过这种方式可以提高计算电池剩余电量的准确度。请参阅图5,图5为本发明实施例提供的电池容量值的更新方法的另一场景示意图。比如,用户为终端接入了充电线进行充电,此时终端会检测出自身的工作状态为充电状态。在这种情况下,可以触发终端获取开始充电时电池的剩余电量值、以及电量充满时充入电池的电荷量(即库仑量)。例如,当检测到终端的工作状态为充电状态时,终端获取到的开始充电时电池的剩余电量值为电池总电量的50%。经过一段时间后,终端检测到电池的电量已充满,此时终端会停止充电。此时,终端通过电量计读取到的电量充满时充入电池的电荷量为1490mAh。在获取到开始充电时电池的剩余电量百分比50%,以及电量充满时充入电池的电荷量1490mAh之后,终端可以获取与充电状态对应的预设数学表达式,该预设数学表达式是用于计算电池容量值的表达式。在一种可能的实施方式中,预设数学表达式可以是fcc=cc/(100%-d0)。该预设数学表达式中fcc表示电池容量值,cc表示电量充满时充入电池的电荷量,d0表示电池开始充电时剩余电量百分比,也即剩余电量占总电量的百分比。例如,将d0=50%,cc=1480mAh代入上述预设数学表达式fcc=cc/(100%-d0),可以计算得到fcc=2960mAh。在计算得到预设数学表达式fcc=cc/(100%-d0)的输出值2960mAh之后,么终端可以用2960mAh替换终端原来的电池容量值。并且,在对电池容量值进行下一次更新之前,控制终端根据更新后的电池容量值2960mAh来计算电池的剩余电量。需要说明的是,本发明实施例中,每当终端检测到自身进入预先标记的开机状态或充电状态时,就可以触发终端执行相应的对电池容量值进行更新的步骤。或者,终端在检测到自身的工作状态为预先标记的工作状态时,可以先检测在预设时间范围内是否已经进行过电池容量值的更新。若检测出在预设时间范围内未进行过电池容量值的更新,那么可以触发终端执行相应的对电池容量值进行更新的步骤。若检测出在预设时间范围内已经进行过电池容量值的更新,那么终端可以先不执行相应的对电池容量值进行更新的步骤,而是等待下一次的更新时机到来。本发明实施例还提供一种基于上述电池容量值的更新方法的电池容量值的更新装置。其中名词的含义与上述电池容量值的更新方法中相同,具体实现细节可以参考方法实施例中的说明。请参阅图6,图6为本发明实施例提供的电池容量值的更新装置的结构示意图。电池容量值的更新装置300可以包括:检测模块301,获取模块302,计算模块303,以及更新模块304。检测模块301,用于对终端的工作状态进行检测。比如,终端的检测模块301可以先对自身的工作状态进行检测。需要说明的是,终端的工作状态可以包括如开机状态、关机状态、充电状态、正常使用时的放电状态(未充电),等等,此处举例不构成对本发明的限定。获取模块302,用于当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式。比如,在检测模块301对终端的工作状态进行检测的过程中,若检测模块301检测到终端进入预先标记的工作状态,那么可以触发终端的获取模块302获取与该预先标记的工作状态相对应的电池参数值以及预设电池容量计算表达式。也就是说,当终端进入到不同的预先标记的工作状态时,获取模块302需要获取不同参数项的参数值以及不同的预设电池容量计算表达式。需要说明的是,终端可以预先对一些工作状态进行标记,使之成为预先标记的工作状态。例如,预先标记的工作状态可以包括开机状态和充电状态等。在一种可能的实施方式中,终端可以预先生成一张预设对应关系表,该预设对应关系表记载有各预先标记的工作状态及其对应的需要获取的参数项和预设电池容量计算表达式。例如,预设对应关系表可以包括表1中的内容:表1:预先标记的工作状态与参数值及电池容量计算表达式对应关系表基于此,例如当检测模块301检测到终端的工作状态为经过预先标记的开机状态时,可以触发获取模块302根据表1获取与开机状态对应的电池的当前温度值,以及预设函数表达式。当检测模块301检测到其工作状态为经过预先标记的充电状态时,可以触发获取模块302根据表1获取与充电状态对应的电池开始充电时的剩余电量值、电量充满时充入电池的电荷量以及预设数学表达式,等等。在一种可能的实施方式中,获取模块302可以用于:当检测到终端进入预先标记的工作状态时,检测在预设时间范围内是否已对终端的电池容量值进行更新;若检测出在预设时间范围内未对终端的电池容量值进行更新,则获取对应的电池参数值以及预设电池容量计算表达式。比如,当检测模块301检测到自身的工作状态为预先标记的工作状态时,获取模块302还可以先检测其在预设时间范围内是否已经对电池容量值进行过更新。例如,该预设时间范围可以是当前时刻最近的6小时内。如果检测出终端在预设时间范围内没有对终端的电池容量值进行过更新,那么可以触发获取模块302获取与该预先标记的工作状态相对应的电池参数值以及预设电池容量计算表达式。如果检测出终端在预设的时间范围内已经对终端的电池容量值进行过更新,那么终端可以暂时不对电池容量值进行更新。例如,检测模块301在T1时刻检测到用户为终端电池充电。此时,可以触发获取模块302检测其在T1时刻之前的6小时内是否已经对电池容量值进行过更新。例如,获取模块302检测到其在T1时刻之前3小时的T0时刻已经对电池容量值进行过更新。在这种情况下,终端可以暂时不再对电池容量值进行更新,也即在本次充电过程中终端不再需要获取电池开始充电时的剩余电量值、电量充满时充入电池的电荷量,以及与充电状态对应的预设数学表达式,并根据该剩余电量值、电荷量,对该预设数学表达式进行计算,得到相应的输出值。可以理解的是,当检测到终端进入预先标记的工作状态时,进一步检测终端在预设时间范围内是否已对电池容量值进行过更新,并只在检测到终端在预设时间范围内未对电池容量值进行过更新的情况下,才触发终端执行对电池容量值进行更新的步骤。也就是说,在检测到终端在预设时间范围内已经进行过电池容量值的更新的情况下,终端可以取消本次对电池容量值进行更新的步骤,从而减少对电池容量值进行更新的次数。通过这种方式可以降低对终端的计算资源的占用,减轻终端负担。计算模块303,用于根据所述电池参数值,对所述预设电池容量计算表达式进行计算,得到相应的输出值。比如,在获取模块302获取到与终端当前所处的预先标记的工作状态对应的参数值以及预设电池容量计算表达式之后,计算模块303可以根据该参数值,对预设电池容量计算表达式进行计算,得到相应的输出值。例如,在获取模块302获取到与开机状态对应的电池当前温度值以及预设函数表达式之后,计算模块303可以计算该预设函数表达式的因变量,该预设函数表达式以该当前温度值为自变量。计算得到的因变量即为相应的输出值。更新模块304,用于按照所述输出值对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。比如,在计算模块303对预设电池容量计算表达式进行计算,并得到相应的输出值之后,终端的更新模块304可以按照该输出值对电池容量值进行更新,并在此之后根据更新后的电池容量值去计算电池的剩余电量。例如,在计算模块303计算得到以电池当前温度值为自变量的预设函数表达式的因变量之后,更新模块304可以根据该因变量对电池容量值进行更新。在对电池容量值进行更新后,终端就可以采用更新后的电池容量值来计算电池的剩余电量。例如,在一种可能的实施方式中,终端的获取模块302可以用于:当检测到终端的工作状态为充电状态时,获取开始充电时电池的剩余电量值,以及电量充满时充入电池的电荷量;获取与充电状态对应的预设数学表达式。基于此,计算模块303可以用于:根据所述剩余电量值以及所述电荷量,对所述预设数学表达式进行计算,得到相应的输出值。例如,当检测模块301检测到终端的工作状态为充电状态时,可以触发获取模块302获取终端开始充电时电池的剩余电量值,以及电量充满时充入电池的电荷量(即库仑量)。例如,获取模块302获取到的开始充电时电池的剩余电量值为电池总电量的50%。经过一段时间后,终端检测到电池的电量已充满,此时终端会停止充电。此时,终端通过电量计读取到的电量充满时充入电池的电荷量为1490mAh。在获取模块302获取到电池开始充电时的剩余电量值,以及电量充满时充入电池的电荷量之后,可以触发获取模块302再获取与充电状态对应的预设数学表达式。该预设数学表达式是用于计算电池容量值的表达式。在一种可能的实施方式中,预设数学表达式可以是fcc=cc/(100%-d0)。该预设数学表达式中fcc表示电池容量值,cc表示电量充满时充入电池的电荷量,d0表示电池开始充电时剩余电量百分比,也即剩余电量占总电量的百分比。需要说明的是,上述预设数学表达式是根据终端系统电量计算表达式soc=d0+(cc/fcc)*100%得到的。在该系统电量计算表达式中soc表示系统剩余电量百分比,d0表示系统初始电量百分比,cc表示系统增加或者消耗的电量,当充电时cc为正值,当放电时cc为负值,fcc表示电池容量值。当电量充满时soc默认为100%。在获取到预设数学表达式之后,计算模块303可以根据获取模块302获取的电池开始充电时的剩余电量值(剩余电量百分比)以及电量充满时充入电池的电荷量,对该预设数学表达式进行计算,得到相应的输出值。例如,获取模块302获取到的开始充电时的剩余电量百分比为50%,电量充满时充入电池的电荷量为1490mAh,那么根据这二者对预设数学表达式进行计算得到fcc=1480mAh/(100%-50%)=2960mAh。在对预设数学表达式进行计算,得到该预设数学表达式的输出值之后,更新模块304可以按照该输出值对电池容量值进行更新,并控制终端根据更新后的电池容量值来计算电池的剩余电量。例如,计算模块303对预设数学表达式进行计算得到的电池容量值fcc为2960mAh,那么更新模块304可以用2960mAh替换终端原来的电池容量值。并且,在对电池容量值进行下一次更新之前,控制终端根据更新后的电池容量值2960mAh来计算电池的剩余电量。可以理解的是,由于电量充满时,电池会自动停止充电,以防止过充电。因此,可以将电量充满时电池的电量百分比默认为100%,用100%减去开始充电时电池的剩余电量百分比,所得到的就是充入电池的电荷量占电池容量值的百分比,而充入电池的电荷量可以通过电量计准确统计到,因此根据充入电池的电荷量计算得到的电池容量值也更加接近电池的实际容量值。所以,根据更新后的电池容量值所计算出来的剩余电量也更加接近于实际剩余电量,即通过这种方式可以提高计算电池剩余电量的准确度。请一并参阅图7,图7为本发明实施例提供的电池容量值的更新装置的另一结构示意图。在一实施例中,电池容量值的更新装置300还可以包括:生成模块305。生成模块305,用于获取多个电池温度值样本,以及与各所述电池温度值样本对应的电池容量值样本;根据所述电池温度值样本,生成温度区间,所述温度区间包含温度上限值及温度下限值;根据所述电池容量值样本,获取与各所述温度上限值对应的电池容量值、以及与各所述温度下限值对应的电池容量值;根据每一所述温度区间的温度上限值、温度下限值、与所述温度上限值对应的电池容量值、与所述温度下限值对应的电池容量值,生成与每一所述温度区间对应的函数表达式,并将所述函数表达式确定为预设函数表达式。比如,终端的生成模块305可以获取4个电池温度值样本,以及与这4个电池温度值样本对应的电池容量值样本。例如,终端获取到的4个电池温度值样本分别为-10℃、0℃、25℃、50℃,而与这4个温度值样本对应的电池容量值样本分别为2500mAh、2700mAh、3000mAh、2600mAh。在一种可能的实施方式中,可以采用如下方式来获取与各电池温度值样本对应的电池容量值样本:在实验室环境下,控制电池温度保持在一设定温度值,并在该设定温度值环境下,将电池充满电。然后,按照设定的电流大小对电池进行放电,直到电池停止放电,记录这期间电池的放电时长。然后将放电电流值与放电时长相乘,计算得到电池的容量值。例如,控制电池温度保持在25℃,并在该温度环境下将电池充满电。之后,同样在该温度环境下以500mA大小的电流对电池进行放电,直到电池放电完毕,记录到电池放电时长为6小时,那么将放电电流值500mA与放电时长6小时相乘便得到电池容量值3000mAh。需要说明的是,电池中具有用于自我保护的控制电路,在电池放电过程中,当检测到电池的电压降低到放电截止电压时,电池会停止放电,但此时电池内还存有一小部分电量。由于这部分电量很小并且不参与电池放电,因此在计算电池容量值时可以将这部分电量忽略不计。在统计到这些电池温度值样本,以及与各电池温度值样本对应的电池容量值样本后,可以将这些样本值保存在终端的预设文件中供终端调用。在获取到多个电池温度值样本以及对应的电池容量值样本后,生成模块305可以先根据这些电池温度值样本,生成温度区间,生成的各温度区间都包含温度上限值以及温度下限值。例如,生成模块305根据获取到的4个电池温度值样本-10℃、0℃、25℃、50℃,生成的温度区间为[-10,0]、[0,25]以及[25,50]。在生成了温度区间之后,生成模块305可以根据之前获取到的电池容量值样本,获取与各温度区间的温度上限值对应的电池容量值,以及与温度下限值对应的电池容量值。例如,对于温度区间[0,25]而言,与温度下限值0℃对应的电池容量值为2700mAh,与温度上限值25℃对应的电池容量值为3000mAh。然后,生成模块305可以根据每一温度区间的温度上限值、温度下限值、与温度上限值对应的电池容量值、与温度下限值对应的电池容量值,生成与每一温度区间对应的函数表达式,并将该函数表达式确定为对应的预设函数表达式。在一种可能的实施方式中,生成模块305生成的与各温度区间对应的函数表达式可以是一次函数表达式。例如,对于温度区间[0,25]而言,以(0,2700)和(25,3000)作为对应的一次函数表达式的直线图像上的两点,那么通过计算得到的一次函数表达式为y=12x+2700。同理,对于温度区间[-10,0],生成的对应的一次函数表达式为y=20x+2700。对于温度区间[25,50],生成的对应的一次函数表达式为y=-16x+3400。在生成了与各温度区间对应的函数表达式之后,终端可以将该函数表达式确定为与各温度区间对应的预设函数表达式。例如,终端可以生成一张对应关系表,如表2:表2:温度区间与预设函数表达式对应关系表温度区间对应的预设函数表达式[-10,0]y=20x+2700[0,25]y=12x+2700[25,50]y=-16x+3400基于此,在一种可能的实施方式中,终端的获取模块302可以用于:当检测到终端的工作状态为开机状态时,获取电池的当前温度值;根据所述当前温度值,获取对应的预设函数表达式。计算模块303可以用于:计算所述预设函数表达式的因变量,所述预设函数表达式以所述当前温度值为自变量。更新模块304可以用于:按照所述因变量对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。例如,当检测模块301检测到终端的工作状态为开机状态时,可以触发获取模块302获取电池的当前温度值,并根据该当前温度值,获取对应的预设函数表达式。例如,获取模块302在获取到电池的当前温度值之后,可以先确定出该当前温度值所属的目标温度区间,然后再获取与该目标温度区间对应的预设函数表达式。例如,获取模块302获取到的电池的当前温度值为22℃,并确定出该当前温度值属于[0,25]这个温度区间,然后获取模块302根据表2获取与该温度区间对应的预设函数表达式y=12x+2700。在获取模块302获取到电池的当前温度值,以及对应的预设函数表达式之后,计算模块303可以计算该预设函数表达式的因变量,该预设函数表达以该当前温度值为自变量。例如,计算模块303计算函数表达式y=12x+2700的因变量,该函数表达式以当前温度值的数值22为自变量,得到的因变量为2964。在计算模块303计算得到因变量2964之后,更新模块304可以用该因变量2964替换掉原来的电池容量值。并且,在对电池容量值进行下一次更新之前,控制终端根据更新后的电池容量值2964mAh来计算电池的剩余电量。可以理解的是,由于终端开机时需要计算电池的剩余电量,因此在终端开机时先根据电池温度值对电池容量值进行更新,使更新后的电池容量值更加接近实际容量值,那么根据更新后的电池容量值计算得到的电池剩余电量也会更加接近于实际剩余电量,即通过这种方式可以提高终端计算剩余电量的准确度。由上述可知,本实施例提供的电池容量值的更新装置,首先由终端对自身的工作状态进行检测。当检测到终端的工作状态为预先标记的工作状态时,可以触发终端获取与该预先标记的工作状态相对应的电池参数值以及预设电池容量计算表达式。然后,终端可以根据该电池参数值,对该预设电池容量计算表达式进行计算,并得到相应的输出值。之后,终端可以根据该输出值对电池容量值进行更新,并根据更新后的电池容量值来计算电池的剩余电量值。由于是在终端处于预先标记的工作状态时,对电池容量值进行更新,而更新后的电池容量值更加接近电池的实际容量值,因此根据该更新后的电池容量值计算得到的剩余电量值也会更加接近电池的实际剩余电量,即本发明实施例可以提高终端计算电池的剩余电量的准确度。本发明实施例还提供一种终端,该终端可以包括存储器,处理器,以及存储在所述存储器中并可在所述处理器中运行的计算机程序,所述处理器执行所述计算机程序时实现本发明实施例提供的电池容量值的更新方法中的步骤。例如,在一种可能的实施方式中,上述终端可以是移动终端,如平板电脑、手机等。请参阅图8,图8为本发明实施例提供的移动终端结构示意图。该移动终端500可以包括有一个或一个以上计算机可读存储介质的存储器501、输入单元502、显示单元503、包括有一个或者一个以上处理核心的处理器504、以及电源505等部件。本领域技术人员可以理解,图8中示出的移动终端结构并不构成对移动终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。存储器501可用于存储应用程序和数据。存储器501存储的应用程序中包含有可执行代码。应用程序可以组成各种功能模块。处理器504通过运行存储在存储器501的应用程序,从而执行各种功能应用以及数据处理。输入单元502可用于接收输入的数字、字符信息或用户特征信息(比如指纹),以及产生与用户设置以及功能控制有关的键盘、鼠标、操作杆、光学或者轨迹球信号输入。具体地,在一实施例中,输入单元502可包括触敏表面以及其他输入设备。触敏表面,也称为触摸显示屏或者触控板,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触敏表面上或在触敏表面附近的操作),并根据预先设定的程式驱动相应的连接装置。显示单元503可用于显示由用户输入的信息或提供给用户的信息以及移动终端的各种图形用户接口,这些图形用户接口可以由图形、文本、图标、视频和其任意组合来构成。显示单元504可包括显示面板。在可能的实施方式中,可以采用液晶显示器(LCD,LiquidCrystalDisplay)、有机发光二极管(OLED,OrganicLight-EmittingDiode)等形式来配置显示面板。处理器504是移动终端的控制中心,利用各种接口和线路连接整个移动终端的各个部分,通过运行或执行存储在存储器501内的应用程序,以及调用存储在存储器501内的数据,执行移动终端的各种功能和处理数据,从而对移动终端进行整体监控。移动终端还包括给各个部件供电的电源505(比如电池)。电源可以通过电源管理系统与处理器504逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。电源505还可以包括一个或一个以上的直流或交流电源、再充电系统、电源故障检测电路、电源转换器或者逆变器、电源状态指示器等任意组件。尽管图8中未示出,移动终端还可以包括射频电路、音频电路、摄像头、蓝牙模块等,在此不再赘述。在本实施例中,移动终端中的处理器504会按照如下的指令,将一个或一个以上的应用程序的进程对应的可执行代码加载到存储器501中,并由处理器504来运行存储在存储器501中的应用程序,从而实现各种功能:对终端的工作状态进行检测;当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式;根据所述电池参数值,对所述预设电池容量计算表达式进行计算,得到相应的输出值;按照所述输出值对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。处理器504在执行所述当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式的步骤时,可以包括:当检测到终端的工作状态为开机状态时,获取电池的当前温度值;根据所述当前温度值,获取对应的预设函数表达式。基于此,处理器504在执行所述根据所述电池参数值,对所述预设电池容量计算表达式进行计算,得到相应的输出值的步骤时,可以包括:计算所述预设函数表达式的因变量,所述预设函数表达式以所述当前温度值为自变量。处理器504在执行所述按照所述输出值对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量的步骤时,可以包括:按照所述因变量对电池容量值进行更新,并根据更新后的电池容量值计算电池的剩余电量。在一种可能的实施方式中,处理器504还用于实现以下功能:获取多个电池温度值样本,以及与各所述电池温度值样本对应的电池容量值样本;根据所述电池温度值样本,生成温度区间,所述温度区间包含温度上限值及温度下限值;根据所述电池容量值样本,获取与各所述温度上限值对应的电池容量值、以及与各所述温度下限值对应的电池容量值;根据每一所述温度区间的温度上限值、温度下限值、与所述温度上限值对应的电池容量值、与所述温度下限值对应的电池容量值,生成与每一所述温度区间对应的函数表达式,并将所述函数表达式确定为预设函数表达式。基于此,处理器在执行所述根据所述当前温度值,获取对应的预设函数表达式的步骤时,可以包括:根据所述当前温度值,确定出所述当前温度值所属的目标温度区间,并获取与所述目标温度区间对应的预设函数表达式。在一种可能的实施方式中,处理器504在执行所述当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式的步骤时,可以包括:当检测到终端的工作状态为充电状态时,获取开始充电时电池的剩余电量值,以及电量充满时充入电池的电荷量;获取与充电状态对应的预设数学表达式。基于此,处理器504在执行所述根据所述电池参数值,对所述预设电池容量计算表达式进行计算,得到相应的输出值的步骤时,可以包括:根据所述剩余电量值以及所述电荷量,对所述预设数学表达式进行计算,得到相应的输出值。在一种可能的实施方式中,处理器504在执行所述当检测到终端进入预先标记的工作状态时,获取对应的电池参数值以及预设电池容量计算表达式的步骤时,可以包括:当检测到终端进入预先标记的工作状态时,检测在预设时间范围内是否已对终端的电池容量值进行更新;若检测出在预设时间范围内未对终端的电池容量值进行更新,则获取对应的电池参数值以及预设电池容量计算表达式。在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详述的部分,可以参见上文针对电池容量值的更新方法的详细描述,此处不再赘述。本发明实施例提供的所述电池容量值的更新装置与上文实施例中的电池容量值的更新方法属于同一构思,在所述电池容量值的更新装置上可以运行所述电池容量值的更新方法实施例中提供的任一方法,其具体实现过程详见所述电池容量值的更新方法实施例,此处不再赘述。需要说明的是,对本发明实施例所述电池容量值的更新方法而言,本领域普通测试人员可以理解实现本发明实施例所述电池容量值的更新方法的全部或部分流程,是可以通过计算机程序来控制相关的硬件来完成,所述计算机程序可存储于一计算机可读取存储介质中,如存储在存储器中,并被至少一个处理器执行,在执行过程中可包括如所述电池容量值的更新方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储器(ROM,ReadOnlyMemory)、随机存取记忆体(RAM,RandomAccessMemory)等。对本发明实施例的所述电池容量值的更新装置而言,其各功能模块可以集成在一个处理芯片中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。所述集成的模块如果以软件功能模块的形式实现并作为独立的产品销售或使用时,也可以存储在一个计算机可读取存储介质中,所述存储介质譬如为只读存储器,磁盘或光盘等。以上对本发明实施例所提供的一种电池容量值的更新方法、装置以及终端进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1