Как сделать индикатор конца заряда
Перейти к содержимому

Как сделать индикатор конца заряда

  • автор:

Как сделать индикатор конца заряда

Почитать для разнообразия.

( полный текст | Оставить комментарий )

Как вариант «для подумать».

( полный текст | Оставить комментарий )
( полный текст | Оставить комментарий )

Заголовок не совсем точен — эта статья, скорее, введение в понимание работы ветряка и на что следует обратить внимание в первую очередь при желании самостоятельно его изготовить.

( полный текст | Оставить комментарий )

Описана распространенная плата БМС для литиевых аккумуляторов. Дана схема и некоторые ее доработки для более стабильной работы.

( полный текст | Оставить комментарий )

Относительно простая доработка солнечной батареи с USB выходами для увеличения снимаемой с нее мощности и получения возможности заряжать внешние LiIon аккумуляторы.

( полный текст | Оставить комментарий )

Рассмотрена простая схема «идеального» диода. Работа схемы разобрана до мелочей, поэтому собрать ее сможет даже полный «чайник» в электронике.

( полный текст | Комментариев : 1 | Последний: kvarkk — 28.06.23 )

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

( полный текст | Оставить комментарий )

Описание модульного походного комплекта для экстремалов.

( полный текст | Оставить комментарий )

Как влияет на характеристики Li-Ion аккумулятора его глубоких разряд (вплоть до нуля)? Насколько он вреден, или, наоборот, относительно безопасен? В статье попытка разобраться с этим. Не на профессиональном, конечно, уровне, но как информация к размышлению.

( полный текст | Оставить комментарий )

О реализации индикатора батареи в устройствах на МК

В портативном устройстве, работающем от аккумулятора, почти обязательным «удобством» является индикатор уровня его заряда. Казалось бы, если оно собрано на основе любого современного микроконтроллера и имеет графический дисплей, ничего сложного в этом нет: нужно лишь регулярно измерять напряжение батарейки с помощью встроенного АЦП и выводить его в виде традиционной батарейки��, степень заполнения которой зеленой краской зависит от напряжения. Но если так сделать в лоб, есть риск, что индикатор будет вести себя, как в известном перле «она металась, как стрелка осциллографа». В лучшем случае, он будет время от времени раздражающе подергиваться туда-сюда на один-два пикселя.

В статье описывается простая реализация индикатора разряда, лишенная этого недостатка.

Проблема «дергающейся батарейки»

Типичные разрядные характеристики литий-ионного аккумулятора при различных токах

Причин такой нестабильности показаний индикатора несколько. Для начала, нужно отметить, что напряжение почти полностью заряженного литий-ионного аккумулятора – 4,0 В, а почти полностью разряженного — 3,4-3,5 В. Соответственно, перепад от 0 до 100% соответствует всего 0,5-0,6 В, то есть индикация заряда с шагом 10% требует точности измерения напряжения не хуже 1%. При этом метрологические характеристики «вольтметра», встроенного в устройство, чаще всего достаточно скверные, потому что всерьез к проектированию этого узла относятся достаточно редко. Да и само напряжение, поступающее на устройство, потребление тока которым постоянно меняется в интервале от нескольких до 150-200 миллиампер, с учетом его подключения через невысокого качества китайский разъем типа JST – тоже непостоянно. При непостоянном токе потребления, зависимость разрядной характеристики аккумулятора от тока разряда – самое главное препятствие для точного определения заряженности по напряжению. Поэтому в смартфонах и ноутбуках для этого чаще применяют другой подход – специализированный контроллер подсчитывает кулоны, пошедшие на зарядку батареи и затраченные затем при разряде, а напряжение при этом играет вспомогательную роль.

Но мы не будем забираться в такие дебри. Способ этот дает прекрасные результаты, но он не так прост в реализации: такие контроллеры сложно достать в розницу, трудно паять вручную, и вдобавок их нужно прошивать на требуемые параметры аккумулятора с помощью платной программы и не менее платного программатора. Тем более, что простыми средствами тоже можно достичь неплохих результатов, пусть и не таких точных.

Решение

Черная линия – измеренное напряжение, красная – то, что мы будем использовать для определения уровня заряда.

Предлагаемая идея состоит в том, что раз потребление тока устройством меняется и наибольшая просадка напряжения происходит в моменты наибольшего потребления, нужно фиксировать напряжение именно в такие моменты. Это логично, так разряженный аккумулятор еще может долгое время «тянуть» устройство, пока оно находится в малопотребляющем режиме, но быстро просядет ниже минимально допустимого напряжения, когда потребление подскочит, например, при включении дисплея. При этом очевидно, что когда аккумулятор разряжается, степень его заряженности может только снижаться, но никак не увеличиваться. И наоборот, когда аккумулятор заряжается – степень его заряженности только возрастает, несмотря на то, что измеренное значение напряжения может в какие-то моменты падать из-за помех и т.п. Поэтому давайте будем во время разряда игнорировать поступающие данные об изменениях напряжения, если оно растет, считать этот рост артефактом. Делается это элементарно – путем сравнения каждого следующего значения измеренного напряжения с ранее зафиксированным минимальным, которое обновляется каждый раз, когда измеренное значение окажется ниже него. Во время заряда мы поступим аналогично, но фиксировать будем не минимумы, а максимумы.

Разумеется, нам здесь понадобится некий сигнал от зарядного устройства, информирующий о том, в каком состоянии (заряд или разряд) находится аккумулятор. Обычно контроллеры заряда литиевых аккумуляторов имеют выход на светодиод или пару светодиодов, который несложно завести на GPIO контроллера.

Тут нужно учесть еще и то, что кривые разряда и заряда существенно различаются. Поэтому по смене статуса зарядного контроллера нам нужно сменить не только направление работы индикатора, но и формулу расчета процентов заряженности от напряжения. А также то, что на протяжении этапа CV, на который приходится примерно 25-30% емкости батареи и половина времени заряда, индикатор будет показывать 100%, если мы будем принимать во внимание только напряжение. Можно так и оставить (сделав внятную индикацию, что зарядка еще не окончена), а можно заморочиться и вычислять на этом этапе проценты заряженности, как линейную (или более сложную) функцию от времени.

Код

Нижеприведенный код на Си реализует самый простой вариант описанного алгоритма. Здесь мы считаем, что полностью разряженная батарейка при разряде дает 3,4 В. Чем это обусловлено? Во-первых, тем, что примерно с этого напряжения начинается быстрый спад напряжения, и дальнейший разряд не дает существенно большего времени работы. Во-вторых, если питать МК от аккумулятора через LDO на 3,3 В, при снижении напряжения ниже этого значения начинает падать и напряжение питания МК. В некоторых случаях это не очень желательно, и в частности, в данной задаче пришлось бы задействовать встроенный источник опорного напряжения, чтобы измерить напряжение батареи в 3,3В и ниже. Та же полностью разряженная батарея при включении заряда сразу увеличивает напряжение до 3,65 В, я же взял 3,6 В, так как тогда при том же коэффициенте наклона автоматически выходит нужное напряжение на 100% заряженном аккумуляторе 4,2 В.

// Глобальные переменные и типы данных: // Состояние зарядного устройства typedef enum < NOCHG, CHG, CHGEND >tChgState; tChgState oldChargeStatus = NOCHG // Переменная для хранения предыдущего состояния // зарядного устройства между вызовами функции uint8_t minBatPercent = 100; // Минимальное и максимальное значения uint8_t maxBatPercent = 0; // уровня заряда батареи // Код следующих двух функций я не привожу, так как он привязан // к реализации конкретного устройства в железе. tChgState getChargeState(void) < // Здесь мы определяем состояние зарядного устройства . . . >uint16_t getBatVoltage() < // А здесь запрашиваем АЦП и вычисляем значение напряжения на батарее в милливольтах . . . >uint8_t batPercent(uint16_t voltage) < tChgState chargeStatus = getChargeState(); uint16_t emptyBatVoltage = 3400;// Напряжение, соответствующее полностью // разряженной батарее uint8_t slope = 6; // 6 мВ/% if(chargeStatus == CHG) // При заряде напряжение возрастает, учитываем это emptyBatVoltage = 3600; int8_t result = (voltage - emptyBatVoltage) / slope; if(result < 0) result = 0; // Уровень заряда не может оказаться меньше нуля if(result >100) result = 100; // и больше 100%. // Ищем минимум и максимум и сохраняем их в глобальных переменных для // использования при следующем вызове if(minBatPercent > result) minBatPercent = result; if(maxBatPercent < result) maxBatPercent = result; if(chargeStatus != oldChargeStatus) // При изменении состояния зарядного устройства < // начинаем заново с чистого листа. minBatPercent = result; maxBatPercent = result; >if(maxBatPercent - minBatPercent > 20) // Защита от особо сильных помех < minBatPercent = result; maxBatPercent = result; >oldChargeStatus = chargeStatus; // Перед окончанием сохраняем текущее состояние ЗУ // И, наконец, возвращаем максимальное значение, если идет заряд // или минимальное -- если идет разряд. if(chargeStatus == CHG) < return maxBatPercent; >else < return minBatPercent; >>

Далее мы в удобном месте вызываем функцию batPercent, скажем, раз в секунду, и то, что она вернула, передаем в код, рисующий батарейку.

Вот и все. Теперь никаких ненужных колебаний и шевелений, индикатор аккумулятора стоит, как вкопанный, не забывая, впрочем, убавляться по мере разряда. Данный способ, конечно, не претендует на точность измерения остатка заряда, но это обычно и не требуется. При необходимости, конечно, можно усложнить код, добавив в него учет температуры, использовав вместо линейной интерполяции более сложную и точную.

  • индикатор заряда
  • li-ion
  • аккумулятор

Отображение уровня заряда аккумулятора в процентах на iPhone или iPad

В зависимости от устройства процент заряда аккумулятора отображается в Пункте управления или в строке состояния.

Просмотр процента заряда аккумулятора на iPhone 14 и других моделях с поддержкой Face ID

На iPhone 14 и других моделях iPhone с поддержкой Face ID (iPhone X и более поздние модели) процент заряда аккумулятора отображается в Пункте управления. Просто смахните вниз из правого верхнего угла дисплея. В iOS 16 можно включить отображение процента заряда аккумулятора, который будет показан в строке состояния. Перейдите в меню «Настройки» > «Аккумулятор» и включите параметр «Заряд в процентах».

Просмотр процента заряда аккумулятора на других моделях iPhone и iPad

  • iPhone SE (2-го и 3-го поколения),
  • iPhone 8 и более ранние модели;
  • iPad (все модели).

* Если процент заряда аккумулятора не отображается, выберите «Настройки» > «Аккумулятор» и включите параметр «Заряд в процентах».

В Пункте управления на экране iPhone отображается, что процент заряда аккумулятора составляет 100%

Использование виджета «Элементы питания»

Еще один способ быстро проверить процент заряда аккумулятора — это добавить виджет «Элементы питания» на экран «Домой» или в вид «Сегодня». Узнайте, как использовать виджеты на iPhone или на iPad.

Дополнительная информация

Узнайте, что делать, если вы не можете зарядить аккумулятор своего iPhone или iPad.

Схема индикатора заряда аккумулятора на светодиодах

индикатор зарядка АКБ

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

Принципиальная схема

Рассматриваемая принципиальная схема индикатора уровня заряда представляет собой простейшее устройство, отображающее уровень заряда аккумулятора (АКБ) на 12 вольт. схема заряда акбЕё ключевым элементом является микросхема LM339, в корпусе которой собрано 4 однотипных операционных усилителя (компаратора). Общий вид LM339 и назначение выводов показан на рисунке. lm339Прямые и инверсные входы компараторов подключены через резистивные делители. В качестве нагрузки используются индикаторные светодиоды 5 мм.

Диод VD1 служит защитой микросхемы от случайной смены полярности. Стабилитрон VD2 задаёт опорное напряжение, которое является эталоном для будущих измерений. Резисторы R1-R4 ограничивают ток через светодиоды.

Принцип работы

Работает схема индикатора заряда аккумулятора на светодиодах следующим образом. Застабилизированное с помощью резистора R7 и стабилитрона VD2 напряжение 6,2 вольт поступает на резистивный делитель, собранный из R8-R12. Как видно из схемы между каждой парой этих резисторов формируются опорные напряжения разного уровня, которые поступают на прямые входы компараторов. В свою очередь, инверсные входы объединены между собой и через резисторы R5 и R6 подключены к клеммам аккумуляторной батарее (АКБ).

В процессе заряда (разряда) аккумулятора постепенно изменяется напряжение на инверсных входах, что приводит к поочередному переключению компараторов. Рассмотрим работу операционного усилителя OP1, который отвечает за индикацию максимального уровня заряда АКБ. Зададим условие, если заряженный аккумулятор имеет напряжение 13,5 В, то последний светодиод начинает гореть. Пороговое напряжение на его прямом входе, при котором засветится этот светодиод, рассчитаем по формуле:
UOP1+ = UСТ VD2 – UR8,
UСТ VD2 =UR8+ UR9+ UR10+ UR11+ UR12 = I*(R8+R9+R10+R11+R12)
I= UСТ VD2 /(R8+R9+R10+R11+R12) = 6,2/(5100+1000+1000+1000+10000) = 0,34 мА,
UR8 = I*R8=0,34 мА*5,1 кОм=1,7 В
UOP1+ = 6,2-1,7 = 4,5 В

Это означает, что при достижении на инверсном входе потенциала величиной более 4,5 вольт компаратор OP1 переключится и на его выходе появится низкий уровень напряжения, а светодиод засветится. По указанным формулам можно рассчитать потенциал на прямых входах каждого операционного усилителя. Потенциал на инверсных входах находят из равенства: UOP1- = I*R5 = UБАТ – I*R6.

Печатная плата и детали сборки

печатная плата

Печатная плата изготавливается из одностороннего фольгированного текстолита размером 40 на 37 мм, которую можно скачать здесь. Она предназначена для монтажа DIP элементов следующего типа:

  • резисторы МЛТ-0,125 Вт с точностью не менее 5% (ряд Е24)
    R1, R2, R3, R4, R7, R9, R10, R11– 1 кОм,
    R5, R8 – 5,1 кОм,
    R6, R12 – 10 кОм;
  • диод VD1 любой маломощный с обратным напряжением не ниже 30 В, например, 1N4148;
  • стабилитрон VD2 маломощный с напряжением стабилизации 6,2 В. Например, КС162А, BZX55C6V2;
  • светодиоды LED1-LED5 – индикаторные типа АЛ307 любого цвета свечения.

Данную схему можно использовать не только для контроля напряжения на 12 вольтовых аккумуляторах. Пересчитав номиналы резисторов, расположенных во входных цепях, получаем светодиодный индикатор на любое желаемое напряжение. Для этого следует задаться пороговыми напряжениями, при которых будут включаться светодиоды, а затем воспользоваться формулами для пересчёта сопротивлений, приведенные выше.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *