avatar_mr.Dream

Программируемая BMS от mr.Dream [процесс изготовления]

Автор mr.Dream, 19 Фев. 2016 в 14:43

« назад - далее »

0 Пользователи и 2 гостей просматривают эту тему.

mr.Dream

И так, зачесались у меня руки сделать систему управления батареей на микроконтроллере, а точнее на их множестве :) В качестве исполнительного устройства был выбран промышленный микроконтроллер "аттини 13", как самый мелкий и с низким энергопотреблением (290 мкА в активном режиме и 0,5мкА в режиме пониженного потребления).
Суть данной разработки заключается в возможности установки любых порогов (минимальное допустимое, максимально допустимое, балансровочное) напряжений каждой ячейки, а самое главное - теоретическая бесконечность масштабирования по количеству последовательно соединенных элементов, нестандартное их количество и использование разной химии в одной батарее (последовательно и "одной" емкости, разумеется), например 18.7AH 16S LiPo + 7S LiFePO4 19.2A*H  ;-)
На каждый последовательный элемент (S) батареи будет отдельный микроконтроллер,

БМС будет без силовой части на разряд, максимальный ток нагрузки 1А - для управления слаботочкой по "высокому" напряжению, а так же низковольтный выход для подключению к контроллеру, у которого нет отдельной "слаботочки". По этому максимальный ток отбора от батареи ограничен только возможностями контроллера/двигателя.
Зарядной ток 10-20А.
Ток балансировки до 50мА, так как больше нету смысла на рабочей батарейке.
Точность измерения АЦП 4мВ, но буду делать последовательно 256 выборок, то теоретически она должна вырасти в корень из этого числа :) Но лично мне точноть большая не нужна, главная функция - не убить ячейки при перезаряде или глубоком разряде.

Коротко о планируемых функциях:
Отсечка по нижнему напряжению: 2,0-5,0В опционально
Отсечка по верхнему напряжению: 2,0-5,0В опционально
Пороги начала и конца балансировки: 2,0-5,0В опционально
Ток зарядки: до 10А
Ток нагрузки: до 1А vBat + 10mA TTL
Ток балансировки: 50мА (возможно увеличение)
Защита по току: нет
Защита по КЗ: нет
Светодиодная индикация на каждой ячейке:
- критическое низкое напряжения
- пониженное напряжение (определение "слабой" ячейки)
- напряжение ОК
- балансировка
- критическое высокое напряжение
Количество последовательных обслуживаемых ячеек: от 4
Сервисный режим: программирование напряжения балансировки с автоопределением химии элемента для каждой ячейки


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

drossel

[user]mr.Dream[/user],  Да Вы телепат такая же идея правда я тинек уже прикупил на эксперименты и как доберусь до работы (сейчас в отпуске) так сразу замастырю плату, а с программой коллега обвешал помочь у меня от них %-)
Любитель покатушек по Краснодарскому краю.

mr.Dream

Прикинул компоновку. управляющую часть на 20S удалось поместить на плате размером 125х40 мм

drossel

 :wow: Очень даже симпатично, а управление через оптопару?
Поясните пожалуйста по схеме. Контроллер питается от самой ячейки, через делитель меряет на ней напряжение в зависимости от него включает и отключает балансировку и нагрузку, а что такое Еin?
Любитель покатушек по Краснодарскому краю.

mr.Dream

[user]drossel[/user], Ein, Eout - одностороняя шина общения между МК.  без оптопар )

FobOrgan

[user]mr.Dream[/user], А как вы собираетесь быть с опорным напряжением для АЦП? На практике всё измеряется достаточно точно даже при 32-64 выборках. А вот внутренний опорник у них от партии к партии может ощутимо гулять. Или я не прав?
Езжу на 2хQ100/1200Вт/14Sx18Ач Li-ion уже 33300км за 9 лет

AndreyA

Я тоже задумываюсь о подобной БМС. Есть проблема с опорным напряжением, сам не проверял но читал что внутренний источник нестабилен. Нужно делать стабилизацию питания  для каждой тиньки.
MXUS 3k Рама Horizon. котлеты 20
s6p.

TRO

#7
Дарю идею, для снижения энергопотребления я использую в качестве верхнего резистора в делителе внутренний подтягивающий резистор в самой тиньке, подрубаю его на время измерения. Кстати в тиньке 13 стабильность внутренней опоры удивила и порадовала (на меге 128 я в свое время с ней изрядно помучился). К тому же я делал балансировку ШИМом самой тиньки на мелкий обратноходовый трансформатор, сосало с одной заряженной банки что то около ампера.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

mevial

Цитата: mr.Dream от 19 Фев. 2016 в 18:54
[user]drossel[/user], Ein, Eout - одностороняя шина общения между МК.  без оптопар )
А как осуществляется переход уровня?

mr.Dream

Отвечаю на предыдущие вопросы.
[user]FobOrgan[/user], [user]mevial[/user], замерил опорное напряжение на каждой из восьми тинек. Напряжение было от 1,08 на каждой. Температурный дрейф не измерял. Да, читал я про нестабильность опоры и другие нюансы, тыпа уровни цифровых входов, выходов, но это было в старой тиньке. С индексом "А" много чего исправлено в аппаратном плане, оставив тот же функционал и добавив пару инструкций.
[user]mevial[/user], гистерезис "входа" такой, что "0" на входе, если напряжение ниже половины напряжения питания на доли вольта, и "1" на входе, если на доли вольта выше половины питания. Со всеми вытекающими.
Сегодня просто поигрался, засняв на видео. В качестве эмулятора батареи - переменник. Как ни странно, уровни очень точно отвечают заявленным :)
Проводил эксперименты, заснял короткое видео с комметариями (простите за акцент, редко говорю по русски :) )
https://www.youtube.com/watch?v=rzSri5YEqDw

i

Для снижения потребления в спящем режиме я отказался от делителя напряжения на входе. Вместо измерения деленного напряжения, я измеряю напряжение внутреннего ИОН, а в качестве опоры использую напряжение питания равного напряжению ячейки. Это кроме того экономит одну ножку.
Для этого взял тини25, она умеет делать такой фокус.

Для тини13 можно порекомендовать нижний резистор делителя подключать к земле через свободную ножку.

Не понял "одностороняя шина общения между МК". Это значит, что данные могут идти только в одном направлении? А может это вообще распространение дискретного сигнала, этакое "монтажно ИЛИ"?

mr.Dream

Касательно потребления.
Если общее потребление будет 2мА, то батареи на 20А*ч хватит 10тыс часов, 400+ суток, больше года. Этого мало? Для чего этот изврат? со спящим режимом, подтягивающими ножками и т.д.? Если есть необходимость хранить батарею долгое время без использования - отсоединил шлейф и все.

TRO

#12
Цитата: mr.Dream от 21 Фев. 2016 в 12:45
...батареи на 20А*ч хватит 10тыс часов, 400+ суток, больше года. Этого мало? ....
Очень и очень мало..
Приехал домой с отсечкой по БМС, или не домой, забыл зарядится или элементарно негде, энергии в аккумах от силы доли амперчаса, и через сутки-трое привет винипухи. Заводскую же БМС с токами в микроамперы я могу свободно оставить после отсечки как минимум на месяц. Делали - делали БМС чтобы по максимуму исключить человеческий фактор, и тут снова на тебе, снова предлагаете на него надеятся? И кстати как будете определять что ячейка в ноль разрядилась? Тинька то тю-тю, без питания сигналы посылать не будет.

Да и какие проблемы вгонять микроконтроллер в спячку и просыпатся по ватчдогу? У меня тинька в рабочем диапазоне всего раз по десять в секунду просыпается, во время балансировки не засыпает вообще, а после отсечки так вообще только раз в две секунды будится.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

i

Я тоже так считаю.
Хранил батарею зимой в разобранном виде, по весне собирал... нормально (правда пару раз "стреляло", но обошлось только выгоранием куска меди на плате).
А прошлой зимой забыл отцепить один проводок и три ячейки от тока в 3,6мА сдохли...
За прошлый сезон доделал спящий режим и отправил батареи на полку в собранном виде.. раз в неделю бужу её, считываю показания и опять усыпляю. За зиму заряжал один раз, да и то только из-за того, что тот проводок продолжает кушать свои 3.6ма (хотел переделать по правильному, но заленился).

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

TRO

#14
Цитата: i от 21 Фев. 2016 в 13:31
... хотя переподключить резистор и 1раз изменить программу гораздо дешевле замены ячеек.. это-то я точно знаю.
Да ненадо этого делать, все обходится одним выводом, я уже писал выше, в качестве верхнего сопротивления делителя нужно просто подключать внутренний поддтягивающий резистор этого же вывода на время измерений. В пределах одной партии тинек даже калибровать ничего не надо. А поскольку этот вывод в такой конфигурации бeдет использоватся до ~1вольта, то при желании его можно еще задействовать как выход нагрузив на какой нибудь затвор полевика (который при 1в еще не открывается), например для ШИМа балансира, все равно при измерении - ШИМ балансировки лучше выключать.

Wahoo 2012 29er, +собран складной двухосис на раме"Land Rover" 69er с эл. мотором, и и МОНОКОЛЕСО

mr.Dream

Цитата: acyd от 21 Фев. 2016 в 14:48
[user]mr.Dream[/user], про отключение/подключение шлейфа - больной вопрос
я на этом этапе столько микрух погубил, пока не научили правильно.
вопрос в криворукости :) если подключить сначала минус батареи, то такого произойти не должно.
теоретически можно развязать оптронами выходы МК, тем самым добавить возможность подключения балансирных шлейфов в любой последовательности. Можно так же добавить по входам стабилитроны на 5В.

mr.Dream

Или такой вариант с оптопарами (16S).

i

Вопрос об односторонней шине связи снимается. Теперь вижу, что подразумевался "выключатель".
Но возник другой вопрос, а как собираетесь настраивать на разные пороги?
Ведь "программирование в системе" не предусмотрено. (или я чего-то не вижу?)
Боюсь, что возникнут проблемы.