一种物联网设备异步电量获取方法与流程

文档序号:28625589发布日期:2022-01-22 17:59阅读:66来源:国知局
一种物联网设备异步电量获取方法与流程

1.本发明属于物联网技术领域,具体涉及一种物联网设备异步电量获取方法。


背景技术:

2.步入21世纪以来,通信领域发生翻天覆地的变化。随着4g的普及,5g诞生,百兆光纤走入寻常百姓家。物联网设备数目也发生指数级增长,手环手表、音响耳机等设备都成为人类的常见物品。支付行业也迎来了一波新生代产品,扫码收款pos、云音箱等成为商家和客户赖以生存的终端设备。这些物联设备都有一个共同点——内置电池。增加一颗电量计芯片无疑会增加成本和空间使用率,在有限条件下,如何在不增加成本和空间使用率的条件下,实现精确计量电量,是丞需解决的难点。


技术实现要素:

3.针对现有技术存在的缺陷,本发明提供一种物联网设备异步电量获取方法,可有效解决上述问题。
4.本发明采用的技术方案如下:
5.本发明提供一种物联网设备异步电量获取方法,包括以下步骤:
6.步骤1,设备出厂时,在文件系统中设置满电电压值vbatfull为缺省默认值;
7.步骤2,设备上电启动后,对设备状态进行实时检测;其中,所述设备状态包括:充电状态和未充电状态;
8.如果检测到设备为未充电状态,则执行步骤3;如果检测到设备为充电状态,则执行步骤4;
9.步骤3,未充电状态处理机制:
10.步骤3.1,设置未充电状态刷新数据的时间间隔为t1;
11.步骤3.2,每间隔t1,读取当前电池电压值,并将所述电池电压值存储到先进先出缓存空间fifo-vbatbuff;
12.步骤3.3,按以下方法,计算得到当前t时刻的电池实时剩余电量值e(t):
13.步骤3.3.1,对当前t时刻的先进先出缓存空间fifo-vbatbuff的所有电池电压值求平均,得到t时刻的电池电压实时均值v(t);
14.步骤3.3.2,读取文件系统,获得满电电压值vbatfull;根据满电电压值vbatfull和满电电量ebatfull的关系,得到与电池电压实时均值v(t)对应的电池剩余电量值e(t);
15.步骤3.3.3,以t时刻以前得到的最近邻的若干个电池电量值为参考,采用迟滞计算方法,对电池剩余电量值e(t)进行修正,得到当前t时刻的电池实时剩余电量值e(t);
16.步骤4,充电状态处理机制:
17.步骤4.1,充电状态包括充电开始时刻状态、充电中状态和充电结束时刻状态;
18.设置充电状态删除数据的时间间隔为t2;设置充电结束时刻,填满数据的时间间隔为t3;
19.步骤4.2,当检测到设备为充电开始时刻状态时,从此时刻开始,设备为充电中状态,在设备为充电中状态的过程中,每间隔t2,从先进先出缓存空间fifo-vbatbuff中删除一个电池电压值;
20.步骤4.3,当检测到拔掉充电线,为充电结束时刻状态时,并行执行以下两个操作:
21.操作一:从充电结束时刻开始,每间隔t3,读取当前电池电压值,并将所述电池电压值存储到先进先出缓存空间fifo-vbatbuff,直至填满先进先出缓存空间fifo-vbatbuff;然后返回步骤2;
22.操作二:对设备电池状态进行检测,判断电池是否已充满;如果未充满,则不进行处理;如果已充满,则读取此时电池电压值,并用读取到的电池电压值,更新文件系统中存储的满电电压值vbatfull。
23.优选的,t1为60秒;t2为60秒;t3为0.1秒。
24.本发明提供的物联网设备异步电量获取方法具有以下优点:
25.通过本发明方法获取设备电量,既可以灵活有效的计算出设备实时电量,又可以避免瞬时大功率、频繁插拔线、满电浮充时间长短对饱和度的影响等一系列问题,满足各种环境下物联设备对电量实时准确获取的要求。
附图说明
26.为了更清楚地说明本发明实施例的技术方案,下面将对实施例所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
27.图1为本发明提供的物联网设备异步电量获取方法的流程示意图。
具体实施方式
28.为了使本发明所解决的技术问题、技术方案及有益效果更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
29.本发明提供的物联网设备异步电量获取方法,为一种基于电池电压计算电池电量的软算法,因此,不需要在设备中安装电量计芯片,基于电池电压获取电池电量,以低成本、高效率、节省资源空间的优势为终端设备提供电量结果。
30.本发明提供的物联网设备异步电量获取方法,包括从设备开机开始,如果没有充电,可以快速计算出设备实时剩余电量,并在使用过程中监视电量变化状态,并且有效的消除电量获取过程中出现的电量抖动、设备瞬时功率变化对电池电压的波动影响、插拔充电线方法的改变以及满电浮充时间长短对电池饱和度的影响等因素。
31.本发明旨在克服设备有限的空间限制,以低成本、高效率、节约资源为前提解决电量获取问题,提供一种简便高效的处理方法,方便移植于各种物联设备中。
32.参考图1,本发明提供一种物联网设备异步电量获取方法,包括以下步骤:
33.步骤1,设备出厂时,在文件系统中设置满电电压值vbatfull为缺省默认值;
34.步骤2,设备上电启动后,对设备状态进行实时检测;其中,所述设备状态包括:充电状态和未充电状态;
35.如果检测到设备为未充电状态,则执行步骤3;如果检测到设备为充电状态,则执行步骤4;
36.步骤3,未充电状态处理机制:
37.步骤3.1,设置未充电状态刷新数据的时间间隔为t1;
38.步骤3.2,每间隔t1,读取当前电池电压值,并将所述电池电压值存储到先进先出缓存空间fifo-vbatbuff;
39.步骤3.3,按以下方法,计算得到当前t时刻的电池实时剩余电量值e(t):
40.步骤3.3.1,对当前t时刻的先进先出缓存空间fifo-vbatbuff的所有电池电压值求平均,得到t时刻的电池电压实时均值v(t);
41.步骤3.3.2,读取文件系统,获得满电电压值vbatfull;根据满电电压值vbatfull和满电电量ebatfull的关系,得到与电池电压实时均值v(t)对应的电池剩余电量值e(t);
42.步骤3.3.3,以t时刻以前得到的最近邻的若干个电池电量值为参考,采用迟滞计算方法,对电池剩余电量值e(t)进行修正,得到当前t时刻的电池实时剩余电量值e(t);
43.在设备正常使用,处于未充电状态时,可实时计算得到电池实时剩余电量值。具体的,采用例如每60秒刷新一次电池实时电压值到先进先出缓存空间fifo-vbatbuff,因此,在任意时刻,对先进先出缓存空间fifo-vbatbuff取平均值,作为当前的电池实时电压值,有效的消除电池实时电压获取过程中出现的电压抖动、设备瞬时功率变化对电池电压的波动影响等,保证电池实时电压值的准确性,从而保证电池电量获取的准确性。
44.步骤4,充电状态处理机制:
45.步骤4.1,充电状态包括充电开始时刻状态、充电中状态和充电结束时刻状态;
46.设置充电状态删除数据的时间间隔为t2;设置充电结束时刻,填满数据的时间间隔为t3;
47.步骤4.2,当检测到设备为充电开始时刻状态时,例如,当检测到插入充电线动作时,则认为是检测到设备为充电开始时刻状态。从此时刻开始,设备为充电中状态,在设备为充电中状态的过程中,每间隔t2,从先进先出缓存空间fifo-vbatbuff中删除一个电池电压值;
48.步骤4.3,当检测到拔掉充电线,为充电结束时刻状态时,例如,当检测到拔掉充电线动作时,则认为是检测到设备为充电结束时刻状态。并行执行以下两个操作:
49.操作一:从充电结束时刻开始,每间隔t3,读取当前电池电压值,并将所述电池电压值存储到先进先出缓存空间fifo-vbatbuff,直至填满先进先出缓存空间fifo-vbatbuff;然后返回步骤2;
50.为对步骤4.2和步骤4.3进行理解,举例如下:
51.在设备为未充电状态时,先进先出缓存空间fifo-vbatbuff每隔60秒刷新一个电池电压值。假设先进先出缓存空间fifo-vbatbuff有30个存储位,共存储30个电池电压值。将30个存储位按顺序表示为:s1,s2,...,s30。
52.当检测到插入充电线动作时,设备变为充电中状态,在充电中状态,例如,每隔60秒,从先进先出缓存空间fifo-vbatbuff中删除一个电池电压值;然后,当检测到充电结束时刻状态时,快速填满先进先出缓存空间fifo-vbatbuff,例如,以0.1秒时间间隔,读取当前电池电压值,并将电池电压值存储到先进先出缓存空间fifo-vbatbuff,直至填满先进先
出缓存空间fifo-vbatbuff。
53.因此,在充电中状态,需要每隔60秒,删除先进先出缓存空间fifo-vbatbuff中一个电池电压值。此时分两种情况:
54.第一种情况:
55.假设充电时间很短,为5分钟,因此,当从先进先出缓存空间fifo-vbatbuff中删除5个电池电压值时,充电结束。此时,先进先出缓存空间fifo-vbatbuff中仍然剩余25个电池电压值。然后,以0.1秒时间间隔,读取到5个电池电压值,即可将先进先出缓存空间fifo-vbatbuff填满。
56.由此填满先进先出缓存空间fifo-vbatbuff后,设备电池为未充电状态,再按每隔60秒向先进先出缓存空间fifo-vbatbuff存储一个电池电压值,通过对先进先出缓存空间fifo-vbatbuff中的30个电池电压求平均值,得到实时电池电压均值。
57.第二种情况:
58.如果充电时间较长,为50分钟,则在充电过程中,每60秒删除一个先进先出缓存空间fifo-vbatbuff中的电池电压值,因此,在充电到30分钟时,先进先出缓存空间fifo-vbatbuff中的电池电压值被清空。
59.当检测到充电结束时刻状态时,快速填满先进先出缓存空间fifo-vbatbuff。
60.采用以上方式的原因为:当充电时间很短时,在拨下充电线瞬间会导致电压突变,因此,如果直接以充电线拨下瞬间的电池电压作为电池电量计算的参考,为导致电量计算误差较大。而本发明中,采用充电过程中逐时删除先进先出缓存空间fifo-vbatbuff存储的电池电压值,如果充电时间过短,则当充电结束时,先进先出缓存空间fifo-vbatbuff仍然存储有近期稳定的电压值,将近期稳定的电压值和充电线拨下瞬间的电池电压做平均值,即可得到更为稳定准确的电压。并且,充电时间越短,先进先出缓存空间fifo-vbatbuff剩余存储的电池电压值数量越多,越能有效解决频繁插拔充电线带来的电压突变问题。
61.操作二:对设备电池状态进行检测,判断电池是否已充满;如果未充满,则不进行处理;如果已充满,则读取此时电池电压值,并用读取到的电池电压值,更新文件系统中存储的满电电压值vbatfull。
62.由此可见,本发明中,满电电压值vbatfull并不是一个固定不变的值,而是需要进行更新,更新的触发时机为:只要检测到电池被充满,就将电池充满时的电池电压值更新文件系统中存储的满电电压值vbatfull。
63.采用此种方式的原因为:由于涓流浮充时间长短对电池饱和度具有一定影响。例如,当充电时间特别长时,会出现电池满电电压值高于出厂时默认缺省值,所以,根据实际充电情况,对电池满电电压值进行更新,能够使电池电量计算更为准确。
64.作为一种具体实现方式,t1为60秒;t2为60秒;t3为0.1秒。
65.本发明提供一种物联网设备异步电量获取方法,包括电量迟滞计算、fifo电量缓存、设备充电状态、未充电状态以及插拔线动作的处理等。当设备刚开机或有插拔线动作时,涉及到电量重新采集计算、电量跳变等因素,为了能够实时反映实际电量,必须在准确获取电量的前提下,尽可能准确的反映出电池充放电曲线的变化,在不使用电量计的前提下,本发明可精确获取设备在各种状态下的电量。
66.具体的:
67.通过电量迟滞计算,可削弱多次插拔及瞬时负载功率不稳定带来的电量跳变影响。
68.通过fifo电量缓存,即:采用先进先出的fifo缓存机制,有效规避了采集误差及瞬时负载功率跳变问题。
69.通过设备刚开机状态处理机制,即:设备刚开机并且未充电时需要快速准确的填满fifo,可以在开机后尽快计算出实时电量。
70.通过充电状态、非充电状态及插拔线动作的处理,分时删除fifo中数据及填充更新fifo中数据。
71.本发明提供一种物联网设备异步电量获取方法,具有以下特点:
72.(1)本发明在只有以电池电压为依据来计算整机电量的前提下,通过vbatfull为可变满电电量方案,使得电量在百分比从0%到100%变化中,电压可以更均匀的分布;
73.(2)通过电池电压fifo方式缓存求平均并配合迟滞计算接口,解决电池电量忽高忽低跳变的问题;
74.(3)通过充电中慢减fifo数据直至为空的方案,解决设备频繁插拔充电线带来的电量计算误差大的难题。
75.因此,通过本发明方法获取设备电量,既可以灵活有效的计算出设备实时电量,又可以避免瞬时大功率、频繁插拔线、满电浮充时间长短对饱和度的影响等一系列问题,满足各种环境下物联设备对电量实时准确获取的要求。
76.以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1