2015-01-20 7 views
0

Я узнал, что если вы используете getIntExtra («напряжение», -1) в широковещательном приемнике, прослушивающем ACTION_BATTERY_CHANGED. Это дает вам мВ. На самом деле у меня есть два вопроса.

1. Кто-нибудь знает, как я могу захватить напряжение в любой момент времени, не полагаясь на самое последнее обновление от моего вещательного приемника?

2. Кто-нибудь знает, действительно ли это значение является достаточно надежным для измерения расхода батареи за промежуток времени?Напряжение аккумуляторной батареи напрямую соответствует ее уровню/проценту?

ответ

1

Я могу ответить на вопрос 2 и вопрос в вашем названии - большинство мобильных устройств используют литиево-ионные батареи, а необработанное напряжение батареи имеет очень нелинейную зависимость от того, сколько у него осталось (т. Е.% Заряженных/разряженных).

Посмотрите на graph here, показывающий напряжение на литий-ионной ячейке против мощности слева. Вы можете видеть, что напряжение остается примерно постоянным (небольшой тренд вниз) от полной батареи до батареи около 10% емкости, а затем резко падает.

@ChrisStratton отмечает в комментарии, что график не для современного устройства и говорит, что они существенно отличаются и могут быть легче определить состояние заряда от напряжения. К сожалению, я не смог найти ссылку на похожие графики для современной батареи мобильного телефона. Однако можно видеть, что модельное состояние заряда от напряжения разомкнутой цепи (OCV-SOC) остается вопросом active academic research.

Пункт все еще утверждает, что использование напряжения для оценки состояния заряда является нетривиальным.

+0

Очень информативно, спасибо – JayB

+0

Этот ответ на самом деле побеждает цель просить ответа на первый вопрос. поэтому я собираюсь принять ваш ответ и называть его здесь – JayB

+0

Хотя верно, что связь между напряжением и оставшимся зарядом нетривиальна, связанный граф даже не дистанционно не соответствует типу ячеек, используемых в современных телефонах, чья разрядка существенно легче интерпретировать. –

0

Изготовители Android несут ответственность за реализацию на их версии Android, ROM модели разряда батареи для используемой ими батареи, которая позднее будет использоваться Android SDK, см. here. Вы также можете использовать

$ adb shell dumpsys batterystats 

1 - Я думаю, что трансляция является единственным способом, чтобы получить его. Некоторые люди говорят, что вы читаете файл в/sys/class/power_supply/battery/batt_current, но не у всех телефонов Android.

2 - Основанный только на напряжении, трудно рассчитать расход батареи, это не линейные отношения, и отличается от батареи к батарее.

 Смежные вопросы

  • Нет связанных вопросов^_^