У Льоні сьогодні

В батареї нема відсотка заряду

#ДомашняПанель


Три стани зарядки. До речі, а ви знаєте, що це я тільки що сказав LLMці нагенерувати мені з проєкту статичний HTML з трьома прикладами — бо наразі навіть не маю доступу до живої панелі, а не те щоб хотілося збирати ілюстрації вручну. Диво!

Взимку я писав про свою домашню панель - проєкт, який дійсно спростив життя сімʼї!

Зокрема, на панелі можна побачити стан заряду домашньої батареї. Показати його складніше, ніж здається.

В батареї немає “відсотку заряду”, якщо це не батарея з компʼютерної гри.

(Принаймні в хімічної батареї. Бо, наприклад у гравітаційної батареї відсоток є! Але я відвернувся.)

Отже. Якщо на побутовому рівні, то в хімічній батареї заряд накопичується зміною хімічного складу тої батареї, а вимірюється він — і тут ви можете мене гарно виправити — напругою. Тобто по напрузі на батареї система може зробити здогадку про те, який в ній лишився заряд.

Але і це ще не все. Бо хімічні батареї втрачають місткість — зношуються, так би мовити. Як дізнатися, наскільки? В контролера батареї є певні здогадки, виходячи з того, наскільки (до якої напруги) батарею можна зарядити.

Контролер батареї повідомляє нам два числа: поточний заряд в ампер-годинах, та максимальний заряд в ампер-годинах. Здавалося б, ну хоч тут починається арифметика: ділимо поточний на максимальний.

Проте ні! На практиці виходить, що максимальний заряд — це не факт, а статистична оцінка. Та поточний заряд цілком нормально може бути більше за максимальний. Або навпаки — його не досягати, скільки не заряджай батарею.

Як тоді показати, що батарея заряджена? Брехати. Оцінювати наближено.

if (charge > 0.99*charge_max) charge_percent = 100

Так і недозаряд, і перезаряд будуть приховані. Причому така проблема не тільки для 100% зʼявиться. От, наприклад, айфони мають режим зарядки до 80%. Думаєте, там система математично чесні 80% обчислює? Я впевнений, що ні!