This is an old revision of the document!
Table of Contents
Где и что измерять?
Измерение процесса зарядки мобильного устройства следует начинать с базовых понятий: что и где мы измеряем. Ответ на вопрос “что?” проще, мы измеряем силу тока и напряжение, а также зависящие от них потребленная энергия, мгновенная мощность и уровень заряда аккумулятора. Вопрос “где?” сложнее, потому что содержит несколько точек для измерения. Поступившись точностью, мы смешаем воедино аппаратные и программные точки измерения.
Выход блока питания
Первая точка - выход из блока питания. Для измерения нужно подключить USB-тестер в блок питания, а в него воткнуть кабель для зарядки. В этой точке мы можем получить напряжение и ток, которые зарядка отдаёт. Это не учитывает потери на нагрев БП, но в остальном - это показания того, что телефон потребляет от зарядки. Осознанно пропущена еще одна точка измерения, ток и напряжение на входе в зарядку. Проблема в том, что потребляемый от розетки ток сопоставим с погрешностями ваттметров, которые расчитаны на измерение мощностей порядка киловатт. Поэтому измерять потребление до зарядки правильно, но нечем.
Разъем телефона
Вторая точка - это измерение непосредственно у входа в телефон. Разница с первой точкой только в падении напряжения. Для малых токов несущественно, а для условных 2-5A уже заметно. На кабеле 1+ (их кабели рассчитаны на высокие токи) на 6.5A напряжение падает с 9.2V до 8.8V. Это 2.6W, немного. Но на плохом кабеле можно получить намного большую потерю мощности. Ток в двух точках одинаков. Так что при использовании одного кабеля смысла снимать показания в двух точках нет, можно разово оценить показания потерь. Измерение около телефона полезнее, потому что это те параметры, которые использует микросхема управления зарядкой в телефоне для тонкой подстройки параметров зарядки в случае PPS или SVOOC. Показательный пример: управвление зарядкой svooc в телефоне (дальше будем использовать термин BMS) управляет напряжением, которое выставляет зарядка так, чтобы в телефон попадало напряжение, равное напряжению на аккумуляторе. Сама зарядка в теории может снять напряжение с аккумулятора (если прекратит зарядать и измерит напряжение), но ей самой сложно скорректировать падение на кабеле.
Разъем аккумулятора
Самые важные показатели - это ток и напряжение на самом аккумуляторе. Эти показатели могут сильно отличаться от значений на кабеле, преобразованием тока и напряжения занимается BMS (battery management system). BMS должно подавать на аккумулятор напряжение, сопоставимое с напряжением на нём (3.7-4.4V) и допустимый ток. Преобразование входных параметров в целевые - это большая и сложная тема, которая пытается одновременно решить вопрос эффективной передачи большой мощности по кабелю и минимизацию потерь при преобразованию параметров. Для понимания того, как реализовывают быструю зарядку можно посмотреть видео: Как реализована быстрая зарядка. К сожалению, до снятия показаний на аккумуляторе нельзя добраться без вскрытия телефона. Поэтому мы будем смотреть на то, что можно получить из софтверных источников, из логов Андроида.
Лог Андроида
Мы немного изменим порядок извлечения данных, потому что для понимания того, что можно извлечь из низкоуровневых логов нужно понять, что не так с высокоуровневыми. Под высокоуровневыми мы понимаем то, что можно получить из штатного BatteryManager API. Это уровень, который используют приложения AccuBattery и Battery guru. При этом данные, которые получает этот уровень могут отличаться от того, что реально измеряется на аккумуляторе. Вот два простых примера
| Устройство | Напряжение в API | Нпряжение на проводе | Ток в API I | Ток на проводе | Детали |
|---|---|---|---|---|---|
| OnePlus 13 | U_battery/2 | U_battery | I_battery | I_battery | Напряжение батареи с двумя ячейками показывается в пересчете на ячейку |
| Oneplus Pad 3 | U_battery | U_battery*2 | I_battery | I_battery/2 | Батарея с одной ячейкой, но BMS уменьшает напряжение с увеличением тока |
