avatar_VVK

Делаю резистивную смарт БМС с BlueTooth каналом.

Автор VVK, 21 Фев. 2014 в 14:35

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

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

VVK

Решил представить БМС своей разработки.
Изначально делал ее для своего проекта сигвея (https://electrotransport.ru/index.php?topic=16093.0), но может она будет еще кому-нибудь интересна. Схемотехническая и программная части уже практически закончены, но некоторые вопросы касательно общего алгоритма работы БМС  с батареей еще остались, разбираюсь с ними по ходу дела.
Немного про саму БМС. Как видно из названия, измеряемые напряжения заводятся через резистивные делители на АЦП контроллера PIC16F23K20. Каждый контроллер производит измерение по 4-м каналам и на основании полученного результата управляет разрядными ключами. Резисторы в этих ключах стоят номиналом 24 ом (но, возможно, увеличу их до 33 ом, т.к. сейчас они сильно греются). Помимо управления ключами, контроллеры еще отслеживает перезаряд ячеек для отключения зарядного устройства. Также они могут передавать внешнему процессору результаты измерения и свое состояние.
Функция управления ключом зарядного устройства возложена на контроллер, соединенный с минусом батареи. На данный момент собран один экземпляр БМС 16S:


На плате установлены 4-ре контроллера и ключ зарядного устройства. Слева разъемы для подключения батареи, справа разъем для управляющего процессора. Функция контроля тока потребления возложена на внешний процессор. В моем случае это контроллер сигвея, который следит за нагрузкой. Таким образом, представленная БМС может работать автономно при выключенном внешнем устройстве. Т.е. для осуществления заряда батареи внешний процессор не нужен.
Помимо отслеживания тока потребления, на внешний процессор возложена функция связи с PC или андроид-смартфоном через BlueTooth. Не знаю, кому как, а мне такая функция представляется очень удобной, т.к. она позволяет контролировать состояние батареи в любое время в любом месте, без подключения проводов. У меня на столе все в сборе выглядит так:


И экран телефона:

Аналогично информация выводится и на компьютер.

Ячейки разбалансированы, т.к. я пока с алгоритмом балансировки до конца не разобрался, как его лучше реализовать.

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

Характеристики предварительно получаются такие:
точность измерения не хуже ±10мв (от температуры практически не плывет, грел феном).
ток разряда 150мА
ток потребления ≈1мА.  Возможно, получится еще уменьшить. Если оставить батарею без заряда, то при таком токе за месяц израсходует 0,72А*ч.  Разброс разряда по ячейкам ≈ ±0.2 мА
Допустимый ток зарядного устройства зависит от силовых ключей, поставить можно любые. Сейчас у меня стоят IRFB3307. При зарядном токе 3,6А (мощнее зарядки у меня нет) они холодные.


Собственно говоря, к чему я все это пишу? Я сейчас планирую заниматься конструктивом БМС, и хотел бы узнать, будет ли она интересна широкому потребителю. Т.е. я могу сделать БМС чисто для себя. Или могу в короткие сроки разработать БМС и внешний контроллер с силовой частью и BlueTooth каналом к ней как отдельный продукт.  По-моему, БМС с радиоканалом на рынке нет совсем (поправьте, если я не прав).
Т.к. BlueTooth нельзя все время держать в активном состоянии (иначе он будет разряжать батарею), то на внешнем контроллере будет предусмотрена кнопка для его активации. По завершению связи (или по таймауту) он сам выключится.

Если такая БМС будет интересна, хотелось бы получить рекомендации по конструктиву, т.е. в каком виде ее лучше делать: модульную (1 модуль на 4-е ячейки) или целые 12s, 16s... 256s :-), нужны ли крепежные отверстия, нужен ли корпус и т.д.



варп

#1
[user]VVK[/user], рад снова увидеть Вас.
Не возьмусь давать советы про Вашу новую задумку - опыта использования почти нет ..., но есть что сказать поэтому поводу...Прошу рассматривать мои предложения не как альтернативу Вашей затеи , а как отдельную ветку подобного оборудования ...
Использование андроид-смартфона через BlueTooth для отражения состояния батареи ( и не только ) уже давно просится на свет , и это будет востребовано однозначно ( я тоже уже пытался думать про это , но реализовать практически не могу...
https://electrotransport.ru/index.php?topic=18662.0) ...
Но хотел сказать немного о другом...
Мне кажется есть смысл реализовать в металле более простой вариант Вашего устройства...Чуть подробнее , чтоб было понятно - дело в том , что реализовать последовательную зарядку на основе БП с ограничением тока и простых баллансиров без мозгов оказалось достаточно просто - https://electrotransport.ru/index.php?topic=14296.126
...пост #134 ...Я пользуюсь такой зарядкой-баллансировкой без проблем ....Но зарядить - это только половина дела...По уму ,необходимо постоянно отслеживать состояние батареи во время езды и не допустить дальнейший разряд батареи при разрядке отдельных ячеек...И тут , микроконтроллерный контороль ( масло-маслянное ) с отражением информации на телефоне был бы как нельзя кстати....Мало того ,что можно собирать статистику по состоянию элементов , но и вовремя отключить , или предупредить пользователя о недопустимом разряде батареи....Более того - во время зарядки можно будет  на телефоне проконтролировать напряжение на каждой секции...
Почему я говорю об этом ? Такой усечённый вариант системы гораздо проще в реализации и соответственно гораздо дешевле...Он однозначно будет востребован и имеет право на жизнь...Могу ошибаться , ...но пусть это будет просто информацией к размышлению....
Если совсем коротко - зарядно/баллансировочное устройсво - само по себе ( на мой вкус - здесь микроконтроллер не нужен вообще )...., а на батарее - микроконтроллерное устройство только для слежения за состоянием батареи с блоком
BlueTooth. Всё гораздо проще и дешевле....

VVK

#2
[user]варп[/user], приветствую.


Цитата: варп от 21 Фев. 2014 в 20:12
По уму ,необходимо постоянно отслеживать состояние батареи во время езды и не допустить дальнейший разряд батареи при разрядке отдельных ячеек...И тут , микроконтроллерный контороль ( масло-маслянное ) с отражением информации на телефоне был бы как нельзя кстати....Мало того ,что можно собирать статистику по состоянию элементов , но и вовремя отключить , или предупредить пользователя о недопустимом разряде батареи.

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

А насчет того, использовать микроконтроллеры, или нет, это вопрос вечный. Каждый делает как ему кажется удобней. Мне на контроллерах делать проще, я программу для BMS за два дня написал. С рассыпухой дольше бы возился. И цена на них особого значения не имеет, основной вклад в себестоимость такого устройства вносит сборка. Представленную плату я сам спаял (я думаю, по ней видно :-D), но в дальнейшем буду заказывать. Вообще, профессиональная сборка такой платы в единичных экземплярах стоит около 1000 руб.

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

FAS_r7

однозначно нужный девайс.
нужно понимание порядка возможной стоимости каждого модуля (мастер и блоки по 4s)

варп

[user]VVK[/user], я понимаю , что очень трудно вникать в чужое , но надо это делать ..., иначе истина останется в стороне....
Постарайтесь меня понять....Я знаю , что Ваши возможности по проектированию очень велики ..., но ! надо знать меру ...Здесь важно обеспечить ДОСТАТОЧНО функций используя МИНИМАЛЬНЫЕ ресурсы...А это реально сложнее , чем просто сделать сложную вещь...
Поясню свой рисунок....
- главное на рисунке , это микроконтроллерный блок со стороны батарей...Он ,в принципе , уже самодостаточен , важен и очень нужен уже просто сам по себе..., даже в отрыве от ЗУ....
- ЗУ с баллансирами слева - это самостоятельное устройство , которое способно САМО зарядить и отбаллансировать батарею...БП с ограничение тока входящий в его состав , может быть любым ...Ключевые баллансиры - просты ,как трусы - сделать их сколько угодно гораздо проще , чем м/к городить...Вопрос - ЗАЧЕМ в ЗУ микроконтроллер ?
Любая критика здесь будет уместна...Прошу всех , кто понимает , высказаться без опасения меня обидеть - ИСТИНА важнее....
----------
вот реальная платка ключевых баллансиров на шесть секций....Вы на размеры гляньте - просто смех..., а работают как часы....

варп

#5
[user]VVK[/user], сама идея - хороша - никто не спорит...Но надо всё это теперь ПРЕДЕЛЬНО упростить ( пусть даже в ущерб некоторым второстепенным фунциям )....Мне кажется ,только в этом случае всё это будет актуально , жизнеспособносно и рентабельно....
Если Вам проще сделать баллансировку в ЗУ на микроконтроллере - пожалуйста..., но платы в ЗУ и в батарее должны быть автономными устройствами , не связанными жёстко друг с другом...В этом случае каждый сможет использовать только то , что ему нужнее ...или и то и другое вместе....Но надо стремиться к идеалу -простоте тумблера.... :-)
Вспомнил старую шутку -
- Полуавтоматическое устройство - это устройство снабжённое двумя тумблерами.....
- Автоматическое устройство - это устройство снабжённое одним тумблером.....-
------------------
[user]VVK[/user],попробуйте теперь всё предельно упростить отбросив максимум второстепенных функций ( они порой увеличивают мороку и масштаб в разы )....Если получится - получите истинное удовольствие - обещаю....И надо хорошо подумать - есть ли смысл стремиться к идеалу? Может лучше меньше ?Тем более , что в этом плане рынок пуст (BlueTooth имею ввиду)..., и востребовано будет хоть что ( при разумной цене...)....

Spiderman

А в это время в одной очень далекой галактике так и не наблюдается предложений бмс на токи 90-100А для LiPo на 16S.
:( Пусть даже без блютуза, андроида и прочих новомодных штучек.
Езжу на электрифицированном SachsMadass с 2014г. - 20s6p LiPo, M-K 3,5КВт,  контроллер Max-E (v1-RC7c) ЯК-24FET Пробег 24500+км
Езжу на электровеле Медведь 2.0 1500 HD. Пробег 1400+ км
Ездил на Электровелоскут Yalishi с  2011.04 - по 2013.10. Пробег 6100+ км. 16s4p LiPo,  Infineon v.2 12fet, Cicleanalist, M-K 350Вт

варп

#7
Ещё проще и понятней скажу...Если бы смог сделать , сделал бы ( или купить..., купил бы хоть сейчас...) небольшую плату , которая при подключении к аккумулятору позволила бы мне  на  андроид-смартфоне через BlueTooth посмотреть напряжение на каждой секции аккумулятора ...Класс ..., это тебе не вольтметром по разьёму лазить...А если бы оно показывало общее напряжение батареи и потребляемый ток - просто класс...А если бы ещё она выборки напряжения и тока в реальном времени сохраняла - вообще - чудо...Ну , раз пошла такая пьяка - если у меня смартфон зазвонил , если бы напряжение на одной из секций просело ниже нормы ...- вообще - вот оно , счастье...Можно ещё чего-нибудь нафантазировать ..., но уже и так хорошо....
Вот кто такую штуку на рынок первый выложит , тот все сливки и соберёт ...[user]VVK[/user], а ведь это Вам по силам - ведь она даже проще того , что Вы уже собирали...
Классическую  БМС , такую или сякую можно найти ....Зачем ещё одну БМС рожать ???
----------------
....А в дополнение к плате контроля с BlueTooth , можно предложить дополнительную автономную платку баллансира ( с микроконтроллером или без - как угодно )...Подлючил такой баллансир к любому доработанному под ограничение тока БП - и вуаля - полный фарш...Классическая БМС - нахрен не нужна...., да и смотрется она будет уже довольно убого ,со своими прежними функциями ....( как там чего булькает , и булькает ли вообще - хрен его знает )....
А с платкой с BlueTooth-ом - всё всегда на виду по несколько раз на дню.....

VVK

[user]варп[/user],  одним процессором напряжение на всех ячейках не измеришь.Чем выше напряжение заводишь на него, тем хуже точность измерения. Оптимальный вариант - это четыре ячейки на один проц. Поэтому их (контроллеров) так много. Если непонятно, поясню позже, сейчас с телефона пишу.

варп

[user]VVK[/user], я всё понимаю , и в контроллерах ориентируюсь - у меня с программированием напряг....
Я пока больше - про саму идеологию - надо прежде правильную дорогу выбрать....
Точность измерений - пока частный вопрос , но и его можно обсудить ...На мой вкус - ловля блох с милливольтами на плате контроля с BlueTooth особого практического смысла не имеет ...Когда припрёт , их можно и обычным прибором померить ...
Для практической безопасной эксплуатации батареи , при измерении напряжения ячейки вполне достаточно ДВУХ знаков после запятой ...Вот под этот критерий и надо закладывать необходимое количество микроконтроллеров....В конце концов - нам же не милливольтметр нужен , а плата контроля , у которой иные функции...

acyd

#10
Блютус хорошая идея - эдакий продвинутый целлог, но с нормальным экраном,+ балансировка, диагностика ячеек.
Хотелось бы два настраиваемых выхода цифровой и аналоговый, на первый можно можно повесить события типа минимум на ячейке для управления контроллером, а на второй - процент сработавших балансиров для гибкого управления током зарядки по аналогии с обратной связью в балансирах Редимера

VVK

#11
Цитата: FAS_r7 от 21 Фев. 2014 в 23:37
однозначно нужный девайс.
нужно понимание порядка возможной стоимости каждого модуля (мастер и блоки по 4s)
Снял небольшое видео, поясняющее получение данных с БМС на практике.
Интерфейс программы сейчас самый простой, в дальнейшем сделаю более красиво.

БМС я подключал к LiFePo4 16S аккумулятору. Он у меня сейчас полностью заряжен, поэтому напряжение на нем выше средней точки.
Текущие настройки БМС:
1. Напряжение подключения балансировочного резистора 3.65, отключения 3.55.
2. Напряжение отключения зарядного устройства при перезаряде 3.9, напряжение включения 3.7.
3. Частота обновления информации на экране ~1Гц

На видео:
1. Установка соединения после запуска программы. Для установки соединения нужно выбрать БМС из списка сопряженных устрйств. На видео в списке всего одно устройство, больше я с телефоном ничего не сопрягал. Сейчас БМС называется RoboWell-00004, где 00004 - серийный номер.
2. После установки соединения из меню выбирается пункт "Батарея", и открывается окно с данными из БМС. В верхней строке зеленым цветом отображается напряжение всей батареи (высчитывается как сумма напряжений всех ячеек). Вторая строка сверху "Зар.устр." показывает подключение зарядного устройства. Если она красная, зарядка подключена. Следующая строка - ключ зарядного устройства. Если заряд идет, она тоже выделена красным. Строка "Перезаряд" будет красной, если хотя бы одна из ячеек зарядилась выше заданного порога. При этом ключ зарядного устройства будет отключен. Строки U1... U16  показывают напряжение ячеек. Если подключен балансировочный резистор, соответствующая строка тоже будет выделена. На данном видео это ячейка U6, ее напряжение > 3.65
3. В начале 2-й минуты я включаю зарядное устройство. Т.к. батарея полностью заряжена, оно работает буквально несколько секунд, а затем отключается. Но этого достаточно, чтобы увидеть изменения в показаниях БМС. При подключении, становятся красными строки "Зар. устр." и "Зар. ключ". Начинают увеличиваться напряжения отдельных ячеек и всей батареи. У двух ячеек (U11 и U12) открываются ключи балансировки.
4. В конце видео я физически отключаю зарядку от батареи и строки "Зар. устр." и "Зар. ключ" становятся опять белыми.
Видео:
IMG 0366

И еще одно короткое видео, на котором можно сравнить результаты измерения БМС  с показаниями обычного тестера. Конечно, китайский тестер особой точностью не отличается, со временем хочу сравнить с показаниями высокоточного вольтметра, но сейчас у меня доступа к нему нет. Но с китайским тестером совпадение практически полное. Думаю, для БМС этого достаточно.

IMG 0368

Теперь по функционалу.
Т.к. я делаю БМС 16S и для себя, то первой будет именно она, так легче запустить в производство. Ее можно будет использовать и для меньших конфигураций, например, для 12S, 14S,15S. А для 13S нельзя, т.к. процессор верхнего канала от одного аккумулятора не запитаешь. Как, я думаю, уже понятно, данная плата сможет работать полностью автономно. Заряжать можно будет практически любым током. Просто для большого тока нужно будет на ключи поставить радиатор.
Если я увижу, что есть интерес к данному устройству, то вторым этапом сделаю отдельные платы на четыре ячейки каждая. Их можно будет соединять в любые конфигурации.


К ней разработаю модуль связи без силового ключа. Вместо ключа поставлю простую пищалку, чтобы информировать пользователя о возникших проблемах в батарее. Если пользователь услышит сигнал, он сможет подключиться к БМС с телефона и посмотреть, в чем дело.
Силовой ключ помимо отключения батареи при переразряде еще должен выполнять функцию защиты от КЗ. В принципе, для этого можно и предохранитель использовать. Но если будут желающие получить такую БМС с силовым ключем, то рассмотрю и этот вариант.

Также заложу место для датчика тока Allegro (ампер на 100). Помимо простого измерения прямого и обратного тока, можно будет считать потребленную энергию. Для сброса счетчика можно использовать момент подключения зарядного устройства.
Еще на модуле связи будет кнопка его активации. Как я писал в предыдущем посту, BlueTooth потребляет 20... 50 мА  и его оставлять все время включенным нельзя, чтобы он не разряжал батарею. Поэтому основное время он будет находиться в спящем режиме.
Также можно завести на модуль и сигнал с велосипедного датчика скорости, пусть скорость и пробег показывает. Правда я этими датчиками совсем не занимался, нужно посмотреть, какие они бывают.
Питать модуль лучше от всей батареи, а не с отдельных ячеек, чтобы он их не разбалансировал. Насчет питания нужно подумать, может маломощный преобразователь поставлю, пока еще не решил.
По цене пока очень ориентировочно: сама БМС 16S видится где-то в районе 2 тыс., модуль связи без датчика тока около 1.5 тыс. Т.е. цена получится даже меньше, чем китайские smart bms. С датчиком тока будет дороже. А если силовой ключ поставить, то еще дороже.

Цитата: acyd от 22 Фев. 2014 в 15:52
Хотелось бы два настраиваемых выхода цифровой и аналоговый, на первый можно можно повесить события типа минимум на ячейке для управления контроллером, а на второй - процент сработавших балансиров для гибкого управления током зарядки по аналогии с обратной связью в балансирах Редимера
Заложить можно, это не сложно. А где можно глянуть описание балансиров Редимера?

Vladigit

Ветка по [user]redimer[/user]овским балансирам здесь
Самая хорошая работа - это высокооплачиваемое хобби.  Генри Форд

FAS_r7

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

VVK

Цитата: FAS_r7 от 24 Фев. 2014 в 07:48
еще, про пороги срабатывания. приведенные в вашем примере для многих слишком суровые/кипятящие, и для снижения до разумных величин люди  ищут всякие программируемые бмс.
Да, порог балансировки можно сделать чуть меньше. В китайских БМС его задают 3.6В (у меня 3.65). Напряжение перезаряда у меня 3.9В, у китайцев также: http://www.bmsbattery.com/bmspcm/396-17s26s-24a-max-discharge-current-bms.html


Цитата: FAS_r7 от 24 Фев. 2014 в 07:48
сходу не запомнил, как у вас они будут задаваться...
Я еще не описывал конкретно, какими кнопками настраивать. Интерфейс еще не готов.

MadMNN


VVK

Цитата: MadMNN от 03 Март 2014 в 11:29
в очередь где становиться?
Тут не так много желающих, чтобы в очередь собираться. Здесь отметился, этого достаточно.

Я уже плату для самой БМС откорректировал, сейчас заказывать буду.

С модулем связи немного сложнее. Ему я хочу сделать маломощный источник питания 20... 100В, чтобы от всей батареи запитать. Этот источник сходу сделать тяжело, нужно ждать микросхему и макетировать, т.е. на это требуется время. Возможен упрощенный вариант, без такого источника. Но тогда питать можно будет только от нескольких ячеек батареи или от какого-нибудь внешнего блока питания (я их где-то в продаже видел). Не особо красивое решение, зато сделаю быстро.

Как думаете, какой вариант лучше?



clawham

А почему никто не рассматривает применение спец микрух?
Я себе наделал платок на 5-10 ячеек лития на одной микрухе!
Деталей вообще мизер! 14 резюков и пара транзисторов. ВСЁ!
Контроль КЗ, перегрузки перезаряда и переразряда и балансировка!
Кроме того у микры есть выход на МК! тоесть автоматом и связь по блютуз и экранчик на руле и т.д. и т.п.
И ещё - микра имеет конденсаторный делитель напряжения и может питать микроконтролллер 3.3 или 5 вольт до 50 миллиампер с очень приличным КПД.
Кроме того за месяц включенного состояния сожлала всего 0.1 амперчас :)
Зовут микруху BQ77PL900 и достать её можно в кол-ве 3 штук бесплатно с сайта производителя - нужно только иметь сайт и почту с @"название сайта"
Все параметры можно задавать! напруги ограничений таймауты токи и логику работы.
Тоже пытался делать резистивными делителями замеры но при 6-ти банках получается или никакая точность или первая банка все время садится быстрее всех и остальные постоянно балансируются....ерунда получается...

Кроме того у меня есть готовые платки под увеличенные токи балансировка...хоть до ампера можно задрать, при этом запруга замеряется после отключения нагрузки и потому - нагрузка не мешает мерять баночки
1)8FUN SWXK 250w24V@17A48V 13S4P LGD1, China kontr
3)MXUS 3000 @90A80V LiFePo 20Ah 25S, Nucular 12F
Telegram @clawham