【问题标题】:Does battery voltage directly correspond to its level/percentage?电池电压是否直接对应其电平/百分比?
【发布时间】:2015-01-20 14:14:20
【问题描述】:

我发现,如果您在监听 ACTION_BATTERY_CHANGED 的广播接收器中使用 getIntExtra("voltage", -1)。它为您提供 mV。我其实有两个问题。

1. 有谁知道我可以在任何时间点获取电压而不依赖广播接收器的最新更新的方法?

2. 有谁知道这个值是否足够可靠,可以用来测量一段时间内的电池消耗?

【问题讨论】:

    标签: java android android-intent battery batterylevel


    【解决方案1】:

    我可以回答问题 2 和您标题中的问题 - 大多数移动设备使用锂离子电池,并且电池的原始电压与其剩余容量(即充电/放电百分比)具有非常非线性的关系.

    查看graph here,显示锂离子电池电压与剩余容量的关系。可以看到,从电池充满到电池容量约 10% 时,电压大致保持恒定(略有下降趋势),然后急剧下降。

    @ChrisStratton 在评论中指出,该图表不适用于现代设备,并表示它们有很大不同,可能更容易从电压推断充电状态。不幸的是,我找不到现代手机电池的类似图表的链接。但是,可以看出,从开路电压 (OCV-SOC) 建模充电状态仍然是active academic research 的主题。

    这一点仍然表明,使用电压来估计充电状态并非易事。

    【讨论】:

    • 这个答案实际上违背了要求回答第一个问题的目的。所以我会接受你的回答并打电话给这里
    • 虽然电压和剩余电量之间的关系确实不是微不足道的,但链接图甚至与现代手机中使用的电池类型不匹配,现代手机的放电更容易解释。
    • 是的 - 很公平 - 锂离子技术的发展速度相当快。不过,我认为这一点仍然成立。我选择了图表,因为它使效果明显。很难找到专门与现代手机电池相关的类似图表(你可以得到圆柱形电池)——也许出版时存在商业敏感性。我将编辑答案以反映您的评论。如果您知道现代放电特性曲线,也许您可​​以建议一个链接/发布答案。
    【解决方案2】:

    Android 制造商负责在其 Android 版本 ROM 中实现他们正在使用的电池的电池放电模型,稍后将由 Android SDK 使用,请参阅here。 你也可以使用

    $ adb shell dumpsys batterystats
    

    1 - 我认为广播是获得它的唯一方法。有人说您可以在 /sys/class/power_supply/battery/batt_current 读取文件,但并非所有安卓手机都有。

    2 - 仅根据电压很难计算电池消耗,它不是线性关系,并且因电池而异。

    【讨论】:

      猜你喜欢
      • 2023-04-07
      • 1970-01-01
      • 2015-07-26
      • 1970-01-01
      • 2016-11-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多