User Tools

Site Tools


measures

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
measures [2025/11/23 17:15] gadminmeasures [2025/11/25 19:52] (current) – [Разъем аккумулятора] gadmin
Line 7: Line 7:
 Вторая точка - это измерение непосредственно у входа в телефон. Разница с первой точкой только в падении напряжения. Для малых токов несущественно, а для условных 2-5A уже заметно. На кабеле 1+ (их кабели рассчитаны на высокие токи) на 6.5A напряжение падает с 9.2V до 8.8V. Это 2.6W, немного. Но на плохом кабеле можно получить намного большую потерю мощности. Вторая точка - это измерение непосредственно у входа в телефон. Разница с первой точкой только в падении напряжения. Для малых токов несущественно, а для условных 2-5A уже заметно. На кабеле 1+ (их кабели рассчитаны на высокие токи) на 6.5A напряжение падает с 9.2V до 8.8V. Это 2.6W, немного. Но на плохом кабеле можно получить намного большую потерю мощности.
 Ток в двух точках одинаков. Так что при использовании одного кабеля смысла снимать показания в двух точках нет, можно разово оценить показания потерь. Ток в двух точках одинаков. Так что при использовании одного кабеля смысла снимать показания в двух точках нет, можно разово оценить показания потерь.
-Измерение около телефона полезнее, потому что это те параметры, которые использует микросхема управления зарядкой в телефоне для тонкой подстройки параметров зарядки в случае PPS или SVOOC. +Измерение около телефона полезнее, потому что это те параметры, которые использует микросхема управления зарядкой в телефоне для тонкой подстройки параметров зарядки в случае PPS или SVOOC. Показательный пример: управвление зарядкой svooc в телефоне (дальше будем использовать термин BMS) управляет напряжением, которое выставляет зарядка так, чтобы в телефон попадало напряжение, равное напряжению на аккумуляторе. Сама зарядка в теории может снять напряжение с аккумулятора (если прекратит зарядать и измерит напряжение), но ей самой сложно скорректировать падение на кабеле.
 ==== Разъем аккумулятора ==== ==== Разъем аккумулятора ====
-==== Лог низкоуровнего драйвера ====+Самые важные показатели - это ток и напряжение на самом аккумуляторе. Эти показатели могут сильно отличаться от значений на кабеле, преобразованием тока и напряжения занимается BMS (battery management system). BMS должно подавать на аккумулятор напряжение, сопоставимое с напряжением на нём (3.7-4.4V) и допустимый ток. Преобразование входных параметров в целевые - это большая и сложная тема, которая пытается одновременно решить вопрос эффективной передачи большой мощности по кабелю и минимизацию потерь при преобразованию параметров. Для понимания того, как реализовывают быструю зарядку можно посмотреть видео: [[https://www.youtube.com/watch?v=1nx_n-wEtII|Как реализована быстрая зарядка]]. 
 + 
 +Еще одна ожидаемая особенность параметров на аккумуляторе - это то, что там учитывается и процесс заряда и процесс разряда, то есть суммарный ток равен разности токов зарядки и тока потребления сточностью до знака. Потому что знак силы тока может быть положительным для расхода и отрицательным для зарядки. 
 +К сожалению, до снятия показаний на аккумуляторе нельзя добраться без вскрытия телефона. Поэтому мы будем смотреть на то, что можно получить из софтверных источников, из логов Андроида. 
 ==== Лог Андроида ==== ==== Лог Андроида ====
 +Мы немного изменим порядок извлечения данных, потому что для понимания того, что можно извлечь из низкоуровневых логов нужно понять, что не так с высокоуровневыми. Под высокоуровневыми мы понимаем то, что можно получить из штатного BatteryManager API. Это уровень, который используют приложения AccuBattery и Battery guru. При этом данные, которые получает этот уровень могут отличаться от того, что реально измеряется на аккумуляторе. Вот два простых примера
 +^Устройство ^Напряжение в API^Напряжение на проводе^Ток в API^Ток на проводе^Детали ^
 +|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 уменьшает напряжение с увеличением тока|
 +Видно, что параметры, которые видит BM API подгоняются под правдоподобные значения с точки зрения "ожидаемых" значений. Но эти "ожидаемые" значения могут вызывать вопросы. На 1+13 возвращается напряжение, приведенное к одной ячейке из двух и фактический ток. Это приводит к тому, что приложения вычисляют половину фактической переданной в телефон энергии. То есть в случае 1+13 параметры на проводе у телефона совпадают с параметрами на аккумуляторе (поэтому svooc и не греет телефон) и отличаются от параметров в статистике BM API.
 +В случае 1+Pad 3 мы получаем другой эффект. С точки зрения принятой энергии вопросов нет, уменьшение напряжения на проводе компенсирует увеличение тока на аккумуляторе. В этом случае параметры на проводе отличаются от параметров в BM API. И мы можем догадываться, что параметры в BM API скорее всего совпадают с тем, что можно измерить на аккумуляторе.
 +В рамках одного вендора мы можем увидеть два разных подхода к данным, которые получает андроид. У подходов есть общее - напряжение приводится к одной литиевой ячейке, а вот возвращаемый ток всегда честный. Но в случае батареи из двух ячеек это приводит к неправильному учёту энергии. В AccuBattery/BatteryGuru есть опции для коррекции возращаемых значений в случае двухячеечных батарей, но и эти параметры следует выставлять с пониманием фактической конфигурации ячеек батареи.
 +В 15-16 версиях андроида в логе (adb logcat) есть универсальная запись с параметрами аккумулятора. Эта запись совпадает с тем, что показывают AccuBattery/BatteryGuru и может быть использовано для дальнейшей обработки. 
 +<code>healthd : system healthd: battery l=87 v=4523 t=38.8 h=2 st=2 c=-2931 fc=5920000 cc=122 chg=a</code>
 +
 +
 +==== Лог низкоуровнего драйвера ====
 +На некоторых устройствах есть возможность изучать параметры, которыми оперирует сервис вендора. Эти параметры полезны для понимания того, как коррелируют параметры на аккумуляторе и в логе андроида, а также увидеть дополнительные параметры, которые не транслируются на уровень андроида.
 +Примером может послужить очень полезная запись из лога 1+13, в котором уровень зарядки и время до 100% присутствует в двух видах: то, что учитывает сервис и то, что он показывает на экране
 +<code>charge_time: type=svooc,reserve_soc=0,soc=19,ui_soc=21,current=8092,avg=8100,not_chg_cnt=0,stable_cnt=12,fcc=5908,fcc_ratio=99,delta=1,debug=0,region=7,ttf=1912(00:31:52),ui_ttf=2178(00:36:18)</code>
 +
measures.1763918130.txt.gz · Last modified: by gadmin