Добавить в корзинуПозвонить
Найти в Дзене
Кроконяшка

Индикатор заряда аккумулятора: 2 простые схемы с точным контролем напряжения 🔋

Всем привет! Недавно мне понадобился надежный способ отслеживать остаток энергии в самодельной 4S-сборке из литиевых аккумуляторов. Покупать готовые китайские модули не всегда хочется, да и работают они порой криво, поэтому я решил собрать индикатор своими руками. В этой статье я покажу две простые, но очень точные схемы индикаторов. Изначально я рассчитывал их для 4S-сборки, но их огромный плюс, полная универсальность. Поняв принцип работы, вы сможете легко пересчитать и переделать их под проверку абсолютно любой батареи. За счет разной схемотехники нижний порог работы начинается от 5 вольт для версии на микроконтроллере и всего от 3 вольт для схемы на компараторе - ну а верхний предел может быть абсолютно любым, в зависимости от ваших задач. Для сборки нам понадобятся: Все компоненты подключаем в точности так, как показано на схеме ниже. Вся магия нашего устройства уместилась в пару десятком строк. Алгоритм получился компактным, быстрым и очень надежным. Давайте пробежимся по логике
Оглавление

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

В этой статье я покажу две простые, но очень точные схемы индикаторов. Изначально я рассчитывал их для 4S-сборки, но их огромный плюс, полная универсальность. Поняв принцип работы, вы сможете легко пересчитать и переделать их под проверку абсолютно любой батареи. За счет разной схемотехники нижний порог работы начинается от 5 вольт для версии на микроконтроллере и всего от 3 вольт для схемы на компараторе - ну а верхний предел может быть абсолютно любым, в зависимости от ваших задач.

Для сборки нам понадобятся:

  • Микроконтроллер: к примеру, отлично подойдет классическая Arduino Nano (ссылка: [https://ali.click/cui1616?erid=2SDnjdTv7fp])
  • Светодиоды: 3 штуки (например, красный, желтый и зеленый для наглядного "светофора").
  • Резисторы для светодиодов: 3 шт. номиналом от 200 до 300 Ом.
  • Резисторы для делителя напряжения: один на 10 кОм и один на 2.2 кОм. Делитель мы собираем для аналогового входа А1: резистор 2.2 кОм идет к "минусу" аккумулятора, а 10 кОм — к "плюсу". Это необходимо, чтобы "погасить" высокое напряжение батареи и не сжечь порт Arduino.
  • Резистор для контакта VIN: номиналом от 20 до 50 Ом, служит для небольшой токовой защиты по линии питания микроконтроллера.
  • Кнопка без фиксации: ставится в разрыв цепи питания. Это очень важная деталь схемы! Она нужна для того, чтобы индикатор не потреблял энергию и не высаживал аккумулятор постоянно. Нажали кнопку, проверили текущий заряд, отпустили.
  • Конденсаторы: парочка конденсаторов до 10 мкФ. В целом работает и без них, но они очень желательны для сглаживания помех по питанию.

Все компоненты подключаем в точности так, как показано на схеме ниже.

-2
-3

Как считывается заряд с помощью кода? Разбираем логику индикатора

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

Мы используем три светодиода (Зеленый, Желтый и Красный), подключенных к пинам 2, 3 и 4 на Arduino. Задача нашей платы постоянно считывать напряжение батареи и наглядно отображать остаток энергии.

Главная сложность: Arduino физически не может "переварить" 16 вольт от нашей 4S батареи микроконтроллер просто пустит волшебный белый дым. Поэтому в схеме мы использовали спасительный делитель напряжения (резисторы 10 кОм и 2.2 кОм), который безопасно "гасит" вольтаж и подает его напрямую на аналоговый порт A1.

А теперь как с этим справляется код:

✔️ Математика в одну строку. Мы объявили константу V_COEF. В ней собрана вся нужная математика: пропорция нашего резистивного делителя и перевод значений АЦП (от 0 до 1023) в вольты. Программа просто берет "сырой" сигнал с пина A1, умножает на V_COEF — и получает реальное, чистое напряжение аккумулятора! Не нужно усложнять и писать громоздкие формулы в самом цикле.

✔️ "Умная" шкала (Блок loop). Программа непрерывно замеряет вольтаж и включает наш "светофор":

  1. Напряжение больше 15.6 Вольт - батарея полностью заряжена . Горят все три светодиода.
  2. Напряжение просело, но выше 13.6 Вольт - заряд средний. Зеленый гаснет, работают только желтый и красный.
  3. Напряжение упало до 12.4 Вольт - энергии почти не осталось. Горит лишь красный светодиод.
  4. Режим "Критический разряд" (ниже 12.4 В) - Программа переходит в режим непрерывного мерцания: она делает 5 быстрых вспышек красным диодом, на долю секунды сверяет напряжение (не пошел ли заряд?) и тут же продолжает мигать дальше. Это выглядит как безостановочный сигнал: "Срочно на зарядку!".

В итоге получается интуитивно понятная индикация: шкала тает на глазах по мере разряда, а мигание последнего диода не даст вам упустить момент, когда батарею нужно спасать. Просто, эффективно и всего в 20 строчках кода! 🔥

-4

// Делитель напряжения: R1=~10k =10000.0 Ом (Плюс), R2=~2.2k =2200.0 Ом (GND) -> Пин A1
const int RED_LED = 4, YELLOW_LED = 3, GREEN_LED = 2;
const float V_COEF = 5.0 / 1024.0 * ((10000.0 + 2200.0) / 2200.0);
void setup() {
pinMode(RED_LED, OUTPUT); pinMode(YELLOW_LED, OUTPUT); pinMode(GREEN_LED, OUTPUT);
}
void loop() {
float v = analogRead(A1) * V_COEF;
digitalWrite(GREEN_LED, v >= 15.6);
digitalWrite(YELLOW_LED, v >= 13.6);
if (v >= 12.4) {
digitalWrite(RED_LED, HIGH);
delay(10);
} else {
for (int i = 0; i < 5; i++) {
digitalWrite(RED_LED, HIGH); delay(100);
digitalWrite(RED_LED, LOW); delay(100);
}
}
}

Аналоговая классика на компараторе (Без единой строчки кода!)

Если микроконтроллеры и программирование - это не ваше, или вы просто хотите собрать «неубиваемое» устройство из горстки деталей, есть отличное чисто аппаратное решение. Эта схема работает на принципе сравнения напряжений, а «мозгом» выступает популярный операционный усилитель LM358P (в нашем случае мы его сконфигурируем как компаратор, однако если вы можете найти специализированную микросхему, рекомендую использовать именно её - к примеру, отличным компаратором для этой схемы станет LM2903).

-5

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

Разбираем схемотехнику:

  1. Опорное напряжение (Эталон). С помощью стабилитрона мы задаем фиксированное опорное напряжение на одном из входов компаратора. Это наша «линия отсчета». Так как у нас в микросхеме сразу два ОУ (операционных усилителя), то и эталонных напряжения нам нужно два - для разных порогов срабатывания. Поэтому мы конфигурируем цепочку резисторов после стабилитрона как делители напряжения, с которых и снимаем два нужных нам эталона.
  2. Измеряемое напряжение. На второй вход мы подаем напряжение с нашего аккумулятора (также через резистивный делитель, чтобы подогнать вольтаж под рабочие диапазоны микросхемы).
  3. Логика работы. Батарея разряжается ➔ напряжение падает. Как только оно опускается ниже нашего эталона - компаратор моментально переключается, и загорается соответствующий светодиод.

Подбирая стабилитрон и номиналы резисторов, такую схему можно настроить на срабатывание при любом нужном нам напряжении.

-6

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

Время делать выводы

Главное преимущество обеих показанных схем — это их абсолютная масштабируемость. Вам совершенно необязательно повторять всё точь-в-точь для 4S аккумулятора. Поняв математику делителя напряжения в коде Arduino и логику эталонных напряжений компаратора, вы сможете легко подогнать эти индикаторы под любой свой проект.

Какая схема лучше? Решать только вашим задачам. Если любите программировать — берите Arduino, если доверяете старой доброй аналоговой схемотехнике — собирайте на LM2903.

Делитесь в комментариях своими мыслями: какую из двух схем собрали бы вы для своего проекта? И обязательно подписывайтесь на канал. Спасибо за внимание и удачных вам самоделок! 🚀