Самодельный индикатор уровня заряда аккумулятора: Часть 2

В прошлом месяце я писал про создание простейшего индикатора уровня заряда li-ion батарейки. В комментариях многие сокрушались, зачем мне это нужно, ведь можно легко купить готовый модуль. Сегодня я расскажу и покажу, зачем мне понадобился именно свой вариант модуля и расскажу о некоторых обновлениях.


Что поменялось

Я прислушался к советам комментаторов и внес некоторые изменения в прошивку. Теперь замеры проводятся при выключенных светодиодах, что в теории должно повысить точность. Также я реализовал программный ШИМ на все 4 канала, так что яркость отдельных светодиодов можно регулировать, не меняя резисторы (константы LED1_MAX, LED2_MAX и т.д.). Раз ШИМ уже есть, то грех было не запилить эффект плавного переключения светодиодов (строка FADE_LEDS):

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

Пример использования №1

Есть у меня дешевый микшер для караоке, вот такой:

Он весьма плюшевый и шумный, но для использования под градусом сойдет)) Работает он от собственного блока питания на 12В, что доставляет некоторые неудобства, так как нужна свободная розетка, а шнур БП короткий:

Я уже успел пошаманить над ним и заменил ненужные AV выходы на 3.5мм гнезда. Следующим шагом был перевод на литий по классической схеме: повышайка до 12В на MT3608 + 4056 для зарядки лития. Type C разъем для зарядки и герой предыдущего обзора разместились на задней панели:

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

Пример использования №2

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

Места в корпусе очень мало, поэтому мне пришлось побыть Левшой и собрать микроскопическую версию индикатора на SMD компонентах, спичка рядом для масштаба:

Собирал на коленке и тыкал паяльником, поэтому строго не судим) Залив для надежности каплей эпоксидки и одев модуль в термоусадку, разместил на плате усилителя и закрепил это дело клеем:

Питание на модуль подается при включении усилителя и берется с выключателя. В работе выглядит так:


Пример использования №3

У многих есть bluetooth колонки, но немногие из таких колонок умеют отображать свой заряд на телефоне, индикация на самом устройстве тоже мало где предусмотрена. Одна из таких есть у меня — SVEN PS-250BL:

У нее есть 2 индикатора: синий слева горит/мигает при работе, красный справа — горит лишь при зарядке. Так как при обычной работе левый индикатор не задействован, я решил приспособить его для отображения уровня батарейки. Разбираем колонку:

Для доступа к отсеку с кнопками нужно дополнительно открутить 3 винта. Кнопки и светодиод индикации процесса зарядки:

Я решил его не трогать, т.к. в целом его работа с новым модулем не пересекается. Для колонки мне потребовался такой же маленький модуль, как и для усилителя. Располагаем индикатор и подпаиваем минусовой контакт к дорожке GND на плате с кнопками:

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

В работе:


Итог

Самопальный индикатор позволил добавить недостающий функционал в некоторые устройства без нанесения ущерба их внешнему виду, чего сложно было бы добиться готовыми модулями из Китая. В некоторых случаях это было бы вообще невозможно, т.к. иногда встречаются жесткие ограничения на размеры (как в случае с усилителем). Возможный круг применения не ограничивается моими тремя примерами, индикатор можно задействовать еще много где: в наушниках, самодельных повербанках и т.п., единственное ограничение здесь — фантазия.
Добавить в избранное +182 +276
+
avatar
  • cofein
  • 11 марта 2021, 20:46
+24
Вам бы его на продажу выставить или с китайцами договориться. Многим проще купить такое чем изготовить.
+
avatar
+4
они же продаются итак
+
avatar
+5
Можно пример? Желательно чтобы без гигантских светодиодных матриц, в несколько раз больше самого модуля.
+
avatar
+4
Ну вот например. Меньше не встречал.
https://aliexpress.ru/item/32997399918.html
+
avatar
  • usb350
  • 11 марта 2021, 20:53
+14
Да, поставить бы на поток не мешало бы. На 4 и на одном RGB светодиоде. Для 1, 2, 3 и 4 последовательно соединенных аккумуляторов. Если цена будет 200-300 рублей за штуку (пусть даже россыпью, т.е. пайка остается за покупателем, что считаю разумным), то будет отлично.
+
avatar
  • russsx
  • 13 марта 2021, 00:11
+5
На ютубе есть самоделка под ваши запросы на копеечных деталях: ссылка
+
avatar
  • denisss
  • 11 марта 2021, 20:56
+7
Тоже делал подобную штуку, но еще компактнее — на одном WS2812 и 6-ногой ATtiny, резисторы и конденсатор 0402, все поместилось на подложку светодиода, влазит почти в любое свободное место.
+
avatar
+2
Шикуете, однако :) WS2812 слишком жирно :) RGB бы хватило. А зачем резисторы с WS2812? Для делителя АЦП?
У ATtiny10 нет внутренней опоры, вроде. Как выворачивались?
+
avatar
  • denisss
  • 11 марта 2021, 23:41
+3
RGB под рукой не было, а WS — было, такие нынче времена )). Питание 12В -> 5В, оно же и опора, было на каком-то стабе в SOT-23, не помню точно модель, откуда-то выковырял. А резики в делителе АЦП с входных 12В. Ставил это дело в шурик, а то там по дефолту был невменяемый показометр — или все зеленое, или «умер»
+
avatar
  • katran
  • 11 марта 2021, 21:04
0
а где новая прошивка ?? или там в коментах искать?
печатку также спичкой делали?
+
avatar
  • SinuX
  • 11 марта 2021, 21:07
+5
На гитхабе обновил, там есть 4 предварительно собранные готовые к заливке версии. Плату делал от руки тонким маркером
+
avatar
-2
Если пользоваться устройством ежедневно, то можно, а ежели от случая к случаю
то не советую, за месяц высадит батарею.

Получилось просто и на мой взгляд не очень колхозно, какой-нибудь простой LED вольтметр здесь бы выжигал глаза, причем не только светом.
Это наверное Вы так шутите:
+
avatar
  • SinuX
  • 11 марта 2021, 22:29
+5
за месяц высадит батарею
Каким образом? Индикатор работает только при включенном микшере
+
avatar
  • CyJLTaH
  • 11 марта 2021, 21:28
+5
Осталось сделать на одном RGB-светодиоде или трёхцветном и заменять им штатные.
+
avatar
  • kirich
  • 11 марта 2021, 22:17
+13
Хватило бы и двухцветного, я в коментах к предыдущему обзору писал
Зеленый
Оранжевый
Красный
Красный мигающий.

Четыре состояния более чем достаточно для оценки заряда.
+
avatar
  • Knakll
  • 11 марта 2021, 22:19
+7
в некоторых случаях хватит и одноцветного, зажигать красный когда мы близки к разряду и эпилептически мигать когда уже совсем всё)
+
avatar
  • kirich
  • 11 марта 2021, 23:57
+2
Согласен, но заметно менее удобно.
+
avatar
  • zaleks
  • 12 марта 2021, 08:31
+7
На зарядках никона (зеркалках) вообще одним одноцветным обходятся зеленым — 1 строб в секунду 25%, 2 строба подряд — 50%, 3 строба подряд — 75%, горит — 100%. По такому принципу можно также реализовать в обратном порядке на убывание.
+
avatar
+10
Или азбукой Морзе передавать ) у цифр очень простой и легко запоминающийся формат.
+
avatar
0
Какая азбука Морзе? Для true электронщика-программиста только двоичный код.
+
avatar
0
У азбуки Морзе тоже вроде два состояния… Все развивается по спирали.
+
avatar
  • miklsh
  • 12 марта 2021, 11:53
+19
Легко)
Плата
Заинтересовало, накидал платку под двунаправленный R-B и RGB светодиоды 5мм. Соответственно 14.1 x 5.4mm, 15.4 x 5.4mm — если охото попаять мелочевку, 0603 детальки. Прошивку под это дело, модифицировать из темы/сделать новую, делов на один вечер. Bat_Tester.lay6
+
avatar
  • Knakll
  • 12 марта 2021, 13:15
+4
Для меня накидать печатную плату и собрать — делов на один вечер. А написать прошивку… никогда этим не занимался, вообще. Слабо представляю как оно происходит. Если напишете прошивку с комментариями где что можно настроить — скажем вам огромное спасибо.
Я готов даже угореть и заказать в Китае печатных плат под это всё дело. Ультра компактные индикаторы лития — очень актуальны при модификации стареньких геймбоев :)
+
avatar
  • miklsh
  • 12 марта 2021, 17:40
+6
Вот чем бы не заниматься, лишь бы на работе с умным видом не работать… За те пару перерывов понаписал :)))
Bat_Tester.zip
Исходники + .hex под R-B и RGB светодиоды.
Пороги настраиваются в начале в #define, сейчас:
Off => 2.75V <= мигает R => 3.00V <= R => 3.20V <= R+B => 3.50V <= B
RGB по аналогии: Off / миг.R / R / G / B
В железе не проверял, если что черканите в ЛС.
+
avatar
  • Knakll
  • 12 марта 2021, 19:54
0
спасибо, осталось теперь дождаться тиньки и собрать программатор )
+
avatar
  • Z2K
  • 13 марта 2021, 14:55
0
Под 8051 можете пересостряпать?
+
avatar
  • miklsh
  • 13 марта 2021, 15:19
0
Только при наличии кучи свободного времени и сильной заинтересованности в процессе. Ни того, ни другого в ближайшем обозримом будущем не предвещается. Исходники выложил, кому действительно нужно разберется.
Ошибки в своем коде подправить готов, но не более того.
+
avatar
  • Z2K
  • 13 марта 2021, 15:30
0
Понятно, спасибо. Тоесть предполагаете что для этого нужно — «наличии кучи свободного времени».
+
avatar
  • Z2K
  • 13 марта 2021, 14:52
0
Да вообще должен быть светодиод с такой схемкой внутри.
+
avatar
  • russsx
  • 13 марта 2021, 00:12
+1
+
avatar
  • CuMr
  • 11 марта 2021, 22:08
-7
+
avatar
+24
Зрение у всех разное. Для многих это ооочень маленькая плата. Я без лупы на боковине спички 2 строки формул писал и мог прочесть. А сейчас и с лупой не справлюсь.
+
avatar
  • CuMr
  • 12 марта 2021, 22:18
-3
Зрение у всех и правда разное. Но объективно по состоянию на сейчас 0805 и соик — рядовая ненапряжная пайка уровня херак-херак и в продакшен, а совсем не «пришлось побыть Левшой». Или еще лет через 20 напишете «мне пришлось побыть Левшой и запаять дип корпус, героически превозмогая тремор»?
+
avatar
  • Knakll
  • 11 марта 2021, 22:34
+4
Отличная работа, мне нравится! Ждём V3 с поддержкой одного RGB светодиода и режимом для одного одноцветного светодиода (горим когда аккумулятор близок к разряду, мигаем когда очень близок и чем чаще мигаем, тем меньше ему осталось) и потом можно заказывтаь партию печатных плат в китае)
+
avatar
  • Lenar
  • 13 марта 2021, 11:37
0
mySKU.me/blog/diy/85041.html#comment3798434
там уже запилили.
+
avatar
+3
Поставьте один резистор на все светодиоды и включайте их по очереди (динамически) с частотой, скажем, 200 Гц — сократите количество деталей в полтора раза, в миниатюрном варианте может быть актуально.
+
avatar
  • SinuX
  • 11 марта 2021, 23:08
+2
Ну вот, опять прогать))
+
avatar
  • u3712
  • 12 марта 2021, 00:11
0
Если уж начать экономить, то достаточно трех вводов и 1 резистора, или двух выводов и 2 резисторов.
Экономия портов позволяет исправить очевидный баг реализации. Посмотрите на заглавную картинку… черные провода не раздражают?
Схема должна быть элегантной, тогда она будет правильной. ))
+
avatar
+5
Даже китайцы одно время клепали все подряд на stm8, хоть вольтметры с 7мисегментным индикатором.
stm8s003 в корпусе qfn20 3x3мм (если хочется миниатюризации) имеет больше 10ка gpio, я уж не говорю про функционал полноценного мк с 16бит таймерами и т.д по сопоставимой цене тини, хотя это мк уровня авр. На 51м ядре есть заменивший stm8 у китайцев нувотон n76e003, так же есть в корпусе 3x3мм. Несколько каналов аппаратного шим, в прямом смысле в несколько строчек и 10 минут работы с нуля можно сделать хоть RGB (о котором ту все говорят) даже на обычных копеечных светодиодах. Но ежики продолжают есть кактус, копируя друг у друга схемы из 90х и почему то не видя ничего кроме авр, нужно взять тини и героически начать преодолевать «трудности» ограничений по gpio, функционалу.
+
avatar
  • youhim
  • 12 марта 2021, 16:32
0
А нигде готовых проектов нет? Для тех кто не умеет в прогать?
+
avatar
0
Да я и сам могу накидать, если что-то интересное. Что конкретно хочется увидеть?
+
avatar
  • Z2K
  • 13 марта 2021, 15:12
0
«Что конкретно хочется увидеть?»
— да вот то что Вы написали выше состряпать для n76e003.
Проблемка конечно с программатором, но так или иначе придется решить. Воскресшая стюардесса (8051) похоже во многих областях закопает восьмибитку стм.
«Но ежики продолжают есть кактус… » — поддерживаю. Наверное нужно Решение Политбюро ЦК Компартии о переходе на новую элементную базу :))
+
avatar
  • rx3apf
  • 12 марта 2021, 18:03
+1
нужно взять тини и героически начать преодолевать «трудности» ограничений по gpio, функционалу.
Так в этом весь и смысл творчества! А то скоро, чтобы поморгать светодиодом, потребуется минимум четырехядерный процессор…
+
avatar
+1
Ага, из-за того, что «всегда можно взять камень помощнее» у нас существует огромная куча тормозного софта (и я тут говорю не только про МК, тот же самый скайп, например).

Во-первых, делать на мощном МК не так интересно, потому что там именно надо 10 строчек, то есть, подумать над программой не придется. А у нас тут диайвай все-таки. Я, например, под avr пишу исключительно на ассемблере — и не только потому, что это дает какие-то преимущества, а, прежде всего, потому, что мне это нравится.

Во-вторых, attiny13 есть в наличии у многих — если кто-то захочет повторить устройство, он сможет пойти и сделать прямо сейчас, а не ждать, пока заказанный МК придет из Китая.

В-третьих, я очень поддерживаю подход, когда ресурсы подбирают обоснованно, а не «закидывают железом». Это дисциплинирует разработчика.
+
avatar
  • Z2K
  • 13 марта 2021, 15:20
0
Из то что Вы написали рационально только это — «attiny13 есть в наличии у многих». Остальное Вы предлагаете сотворить пустую трату времени.
+
avatar
+2
Давайте не будем поднимать вопросы рациональности, потому как они очень зависят от цели. У кого-то вполне может быть цель «получить удовольствие от разработки на слабом МК», потому что тут надо хоть что-то придумать, а не брать все готовое. У другого целью может быть максимальное удешевление конструкции, у третьего может быть целью разработка на том, что есть под рукой.

сотворить пустую трату времени
Не считаю это важным критерием в рубрике DIY.
+
avatar
0
А можете схемы нарисовать на оба варианта?

черные провода не раздражают?
А вот это, кстати, да — можно было бы разместить все с одной стороны.
+
avatar
0
Ещё бы адаптировать под 8.4/12.6в. Или достаточно поставить лдо на питание тиньки и изменить делитель на одной из ног тиньки?
+
avatar
  • SinuX
  • 11 марта 2021, 23:21
0
Да, можно только обвязкой обойтись
+
avatar
0
Под обвязкой подразумевается R1/R2? А как же тот факт, что сама тинька держит максимум 5в, или и ее через делитель питать?
+
avatar
  • SinuX
  • 12 марта 2021, 13:48
0
Под обвязкой я и имел ввиду подать на мк 5В и поменять значения делителя) Если светодиоды не слишком мощные, то вместо стабилизатора можно обойтись резистором и стабилитроном (в драйверах фонарей такое называется zener mod, и с его помощью некоторые 1S драйверы можно перевести на работу от 2S)
+
avatar
0
У китайцев всё это такое огромное или на " приклей- ка". 7-сегментный дисплей маленький ещё лет 40 ждать придётся.
+
avatar
  • fokcuk
  • 12 марта 2021, 04:43
0
Извините, а как он определяет заряд ЛиИон аккума?
У меня садовые инструменты на 56В, а остаток заряда не показывают. Можно только на зарядном устройстве примерно посмотреть (в четвертях). Хотелось бы портативный тестер сделать
+
avatar
  • nochkin
  • 12 марта 2021, 07:19
0
Не вижу проблем. У меня есть EGO на 56 Вольт как раз. У них есть с индикацией и есть без оной.
Тут так же. Просто измеряет выходное напряжение через делитель.
+
avatar
  • fokcuk
  • 12 марта 2021, 07:30
0
как раз проблема есть. у меня тот же Ego без индикатора. Просто уходит в 0, когда заряд низкий.
У них проблема, что если нагрузка спадёт, то через какое-то время показывает, что заряда достаточно. Даже с быстрой зарядкой, которая показывает %заряда. Я вот 30минут пилил, а зарядка подумала, и сказала, что у меня полный аккумулятор и заряжать не стала
+
avatar
  • nochkin
  • 12 марта 2021, 07:54
+2
Описанная ситуация говорит о том, что внутри разбалансировка элементов. А она обычно происходит когда один их элементов работает хуже остальных и тогда вся батарея просто работает по самому худшему элементу, так как зарядка идёт всех сразу без балансировки.
То есть, индикатор тут точно не поможет никак, так как сама батарея может при 100% иметь 50 вольт, а при 0% иметь 49 вольт. И это только из-за того, что один элемент сильно разряжен, а другой (или все остальные) заряжены.

Я как раз занимаюсь ремонтом этих EGO аккумуляторов время от времени. Обычно в эти случаях я балансирую элементы. У меня есть специальное самодельное приспособление для такого, но это требует разборки батареи. Если балансировка не помогает, то надо менять слабые элементы.

Подумал про ещё один вариант — при разной температуре батареи могут быть немного разные показания и зарядка может отказать заряжать по этой причине.
Плюс на всех их зарядках (CH2100 и CH5500) идёт съём показаний с температурного сенсора в батарее, который тоже решает заряжать или нет если слишком жарко для него.
+
avatar
  • fokcuk
  • 12 марта 2021, 08:20
0
батареи на гарантии. Но это обычный случай по тому, что я читал. Для этого они батареи с показанометром сделали.
+
avatar
  • nochkin
  • 12 марта 2021, 08:46
0
Просто любопытно — куплены в HD?
Если на гарантии, то лучше, конечно. Я слышал, что у них гарантия очень классная, но сам не пользовался так как на eBay все свои покупал.
Новые индикаторы при разбалансировке тоже начинают ерунду показывать. Но вроде как по гарантии это тоже меняют.
+
avatar
  • nskmods
  • 12 марта 2021, 05:13
+1
А можно это сделать для индикации заряда 10S сборки?
+
avatar
  • Aahz
  • 12 марта 2021, 12:04
+1
Ну так поставьте другой резистивный делитель (два резистора на входе, нужно поменять один)
+
avatar
+1
Ага, и организуйте питание на тинии13 не превышающее 5в
+
avatar
  • Shara
  • 12 марта 2021, 22:30
0
Шутите? Просто ещё один делитель. Потребление же мизер. Если большой разброс заряд-разряд — линейный стаб.
+
avatar
  • u3712
  • 12 марта 2021, 23:19
0
мизер
??
По вашей схеме, примерно 10 мА на светодиод, 4 штуки. При питании от 40В на этом «линейный стаб.» будет рассеиваться порядка 1.5 Вт. При размерах блока индикации порядка 2 см2 удельная мощность будет порядка 1 Вт/см2. Не знаю как со светодиодами, а плата точно будет светить в темноте, красным цветом.
+
avatar
  • Shara
  • 13 марта 2021, 03:34
0
1 вт будет рассеиваться на резисторе, ничего плохого за время проверки заряда с ним не случится. Зато никаких dc-dc ради индикатора городить не придётся.
+
avatar
  • exe
  • 12 марта 2021, 07:36
+1
весьма полезный девайс учитывая его микроскопические габариты
+
avatar
0
Хочу такой же, но с цифровым выходом) Для Raspberry Pi незаменимая вещь, если от аккумулятора питать.
+
avatar
  • Shara
  • 12 марта 2021, 22:34
0
Окей, а теперь на PIC10F322 и apa102 2020 :)
+
avatar
+3
А если так изобразить? Монструозная конструкция, но все же…


+
avatar
0
D1 почему так хитро включён?
+
avatar
0
Смысл в том, что в фузах сброс не выключается — и пока напряжение больше где-то 2 вольт, этот вход может использоваться как аналоговый. Раз в несколько секунд на PB2 подается высокий уровень и измеряется напряжение на 431, питание же используется в качестве опорного — напряжение может быть вычислено. Остальное время PB2 используется для управления светодиодом низким уровнем. Если не поставить D1 — низкий уровень сбросит тиньку.
+
avatar
0
А есть такое же, но для автомобильных кислотных АКБ? Кто кинет ссылку, буду благодарен.
+
avatar
  • st2002
  • 16 марта 2021, 00:53
0
не нужна эта избыточность.
достаточно одного светодиода. можно трехцветный, но тоже лишняя информация.
лучше вообще один — красный — почти разряжен, мигающий красный — совсем уже ой.
+
avatar
  • nefedot
  • 17 марта 2021, 19:13
+1
Четыре очень простых индикатора разряда на МК, трёх светодиодах, четыре уровня: www.eddy.com.ua/archives/500
+
avatar
  • ber3
  • 18 апреля 2021, 19:47
0
универсальный. 1S- 8S. 1 вечнозеленый.
https://aliexpress.ru/item/item/1005001782155135.html