avatar_se80

давайте скинемся на open source arduino based BMS

Автор se80, 12 Окт. 2016 в 00:04

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

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

se80

Коллеги, контроллеров хороших уже много. С бмс запары ... давайте подумаем над финансированием разработки открытой БМС ?
По моим прикидкам потребуется 200-300тр . это 3-4-5 месяцев работы одного инженера .
как думаете - сможем собрать ?
Что до конкретных характеристик - полагаю нужно модульное решение( мастер-плата + слэйв ), под любую химию, и под любой конфиг, с токами все сложно - но думаю ближе к делу можно прийти к компромиссу .

лично я готов оторвать от себя 10к, осталось найти 190-290.

mr.Dream

[user]se80[/user], а чего такого хотите получить от БМС, чего нету у других? так счас выбор огромный. Кто простые китайские использует, кто "смарты".  Какие такие запары?

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

se80

[user]mr.Dream[/user], я хочу бмс, железо от которой может производить любой китаец, а софт писать/переписывать любой прогер(который раньше не кодил железо) . arduino позволяет не зная специфики системного программирования быстро начать писать код .
Что я хочу от бмс :
1) bluetooth
2) oled/led экран
3) неограниченный конфиг по S
4) слабо-ограниченный конфиг по разрядным токам

Steel RAT

[user]se80[/user],  уже есть такой проект.
https://electrotransport.ru/index.php?topic=27788.0#topmsg

Аурдино позволяет типа потренироваться.
А писать надо на ассемблере.
Это может любой програмМмер.  :)
Массовая культура - синоним низкого качества.
Люди... они какие-то странные. По одному и тому же поводу каждый думает что-то своё.

se80

Цитата: Steel RAT от 14 Окт. 2016 в 00:50
[user]se80[/user],  уже есть такой проект.
https://electrotransport.ru/index.php?topic=27788.0#topmsg

Аурдино позволяет типа потренироваться.
А писать надо на ассемблере.
Это может любой програмМмер.  :)
возможно в ярославле настолько суровые программеры, что все поголовно пишут на асме, но во всем остальном мире асм уже похоронили .

kag46

вот тоже почти то, о чем говорите

https://electrotransport.ru/index.php?topic=21261.0#topmsg

конечно не совсем юзер френдли, если рядового рассматривать, а так блютуз есть, инфа вся п отерминалу идет ок
Варю продаю кашу из Топпера:
magic pie 3 + markII от e4bike, самопальная батарея из lipo пакетов 14-15Ah, пока 13S1P->17S1P, up to tbd км/ч. Смотри восточный базар.

Следи за собой, будь осторожен.

FEHIKS

да уже и купить можно
Спойлер
Защита по верхнему и нижнему напряжению поячеечно
защита по верхнему и нижнему общему напряжению
защита по току заряда
защита по току разряда
защита по температуре( много параметров)
Защита КЗ
Выставляется напряжение балансировки, и ток( от 10 до 200мА)
выставляется напряжение с которого начинается балансировка
выставляется разбег ячеек при балансировке
температурная защита, самой платы и 4 датчика внешних, которыми моно контролировать например температура вашего аккумулятора и температуру мотора, ну и вообще либо чего.
И Тд.
БМС имеет около 40 пунктов настраиваемых параметров.

Подключитсь к плате можно до 24 элементов,
минимальное количество элементов которые можно подключить, не должно быть по напряжению меньше чем 24В (это напряжение питания платы)
Платы которые у меня с шунтом 100А, можно заказть платы с шунтом 50, 100 и 200А,
количество установленных транзисторов 20 штук , 10 заряд и 10 разряд

Все это дело (настройка) происходит с помощью андроид приложения, прями с экрана Вашего телефона,или планшета.
само приложение переведено на русский лично мной, коряво получилось ( я не специалист по переводам и программам андроид, но пришлось потратиь около 4х дней на разборку программы и сам перевод, получилось немного коряво из за того что один китайский иероглиф может означать целое слово, и все это плохо помещалось на выделенных кнопках)
Ну в принципе назначение, самих кнопок стало понятно и настройка БМС происходит легко.
БМС продается как есть : плата экрана + сама плата БМС, + все балансные и сигнальные провода, + 4 внешних датчика температуры.
первый проектhttps://electrotransport.ru/index.php?topic=19631.0#topmsg
пробег 48 000 закрыт угоном

второй проект https://electrotransport.ru/index.php?topic=35835.0#topmsg
2016 закрыл с пробегом 700км.
стоит на площадке гай  как вешь док

трети проект Enterprise
https://electrotransport.ru/index.php?topic=48519.0#topmsg
100км.ч

kag46

Варю продаю кашу из Топпера:
magic pie 3 + markII от e4bike, самопальная батарея из lipo пакетов 14-15Ah, пока 13S1P->17S1P, up to tbd км/ч. Смотри восточный базар.

Следи за собой, будь осторожен.

FEHIKS

120-150 вроде  можно приобрести плату без транзисторов ( разрядных- зарядных)
первый проектhttps://electrotransport.ru/index.php?topic=19631.0#topmsg
пробег 48 000 закрыт угоном

второй проект https://electrotransport.ru/index.php?topic=35835.0#topmsg
2016 закрыл с пробегом 700км.
стоит на площадке гай  как вешь док

трети проект Enterprise
https://electrotransport.ru/index.php?topic=48519.0#topmsg
100км.ч

Timber

А Вы на какую цену расчитываете?  B-)
В Китае дешево выходит только то, что идет миллионными партиями. А на партии до 1-5 тыс заметно скажется стоимость подготовки производства.

UPD
Тем более экономия на качестве и проверке запаяных плат - чревата возгаранием лития.

Steel RAT

Массовая культура - синоним низкого качества.
Люди... они какие-то странные. По одному и тому же поводу каждый думает что-то своё.

Sattva

#11
По теме BMS
А нет ли идей можно ли прочитать показания недорого BVM (монитора ячеек) в Arduino?
Хочется вынести на руль и при этом не платить $100+ за SMART BMS.
Программировать Arduino научился. Смогу перегнать данные с одной Arduino на другую.
Знаю, что аналоговые входы Arduino читают от 0 до 5 V, Max 1024 значений.
Не понимаю можно ли совместить Arduino с BVM.

Видео
Очень понравилось. Спасибо. Задумался о том, как совмещать видео с регистратора с приборами.
Видимо у каждого индикатора (показания в базе данных) должна быть временная метка. Далее
она совмещается с видео-дорожкой. И все дела. На словах. На деле нужно продумать на
какой платформе такую базу MySQL хранить и понимать, как сочетать с видео. При чем разрешение
не 1 сек, а наверное 0,1 сек.

Очень крутые датчики нужны и шина данных, чтобы с таким разрешением писать. Как и сам карт на
32 ячейках LiFePO4.

Steel RAT

Реально сделано по-другому.
Контроллер БМС и приборов посылает пакеты данных по шине.
Обычный компьютер или смартфон принимает и записывает пакеты в файл.
В пакете зашифрованы все нужные параметры.
Известна частота посылки пакетов или программа сопоставляет каждому пакету временную метку по собственному таймеру компа.
Дальше есть программа для наложения псевдографики.
Она их файла берет пакеты и по меткам отрисовывает положение приборов или цифры.
Если меток нет, можно в ручную выбрать пакет синхронизации, например по нажатию педали газа.
Дальше данные сопоставляются согласно промежуткам между пакетами.
Есть вот такие готовые девайсы, работающие онлайн. Т.е. они пакеты не хранят, а преобразуют в псевдографику на лету:
http://voljet.ru/katalog/accessories/videoperedacha/ustrojstvo-nalozheniya-telemetrii-minim-osd.html
Массовая культура - синоним низкого качества.
Люди... они какие-то странные. По одному и тому же поводу каждый думает что-то своё.

Uhep300


Zverjuga

тема забыта или есть ещё интерес к такому варианту??? Мне было-бы интересно...

Zverjuga


Zapa3a

#16
[user]se80[/user], господин уважаемый,  я таки имею шо вам сказать,  вот мои соображения,  ардуинка весчь реально хорошая,  но у неё есть пределы,  самая крутая мега имеет 54 цифровых пина и 15 аналоговых,  то есть просто так безразмерную бмс сделать не выйдет,  или до 48 ячеек,  так как надо ещё несколько пинов для сообщения по юарту с экраном,  центральным контроллером, блютуз модулем или ещё чем то,  но не стоит огорчаться,  можно вполне спокойно использовать 8 цифровых пинов в качестве битов,  по есть один байт, + 1 аналоговый пин для считывания напряжения,  можно сделать плату-энкодер,  то есть допустим на 8ми пинах у нас такая картина 00011011 и энкодер пускает на аналоговый пин напряжение 27ой ячейки,  таким образом максимальное количество ячеек это 8 бит то есть 255. Думаю мысль ясна,  для балансировки можно использовать ещё 8 бит,  которые через такой же энкодер преобразуются в номер ячейки,  и подает сигнал модулю балансировки и он начинает балансировать эту ячейку,  на каждую банку один модуль балансировки и один считывания,  но их можно обьеденить,  таким образом используя 16 цифовых и 1 аналоговый пин можно балансировать и следить за 255 ячеййкками,  стоит добавит 1 бит и уже 511.
Вот и выходит что одной ардуино мега можно контролить 1 048 575 ячеек,  только успевай балансировочно-контрольные модули делать,  и ещё 14 пинов останется на связь и открытие-закрытие разррядно-зарядных фетов.
Как вам такая идея?
Я могу написать код,  сделать энкодеры и разряд-заряд, но вот с модулями у меня проблемка,  если сможете сделать схему одного такого модуля то считайте что опен соурсовая безразмерная настраиваемая под разные химии бмс у нас в кармане,  и не надо никаких 300к.
В жизни всё уходит и приходит,
Но лишь одно везде всегда при мне
Моя уверенность в себе!

Zapa3a

Вот примерно так я это представляю, не хватает только разрядно-зарядных ключей

В жизни всё уходит и приходит,
Но лишь одно везде всегда при мне
Моя уверенность в себе!

Depp

И тишина... Желание больше нет этим заниматься?
ТРЕБУЮТСЯ КУРЬЕРЫ НА ПОСТОЯННОЙ ОСНОВЕ С ГИБКИМ ГРАФИКОМ https://electrotransport.ru/index.php?topic=56910.new#new

Dmitry__

#19
Ого, не видел такой темы. можно попиарицо? :)
А у меня есть такой bms, и не поверите на асме написан, такшта, наверно могу себя считать суровым программером :)
А еще, мой бмс распределенный: 1 плата на одно послед. соединение. Все платы послед. соединяются шиной rs232. Самая нижняя плата выдает информацию о всех аккумах. (проводов минимум). В схеме всего одна микросхема pic12f1840, один полевик и разрядный резистор. Причем схема без внешнего стабилизатора, которые очень много жрут, диапазона пикины хватает: от2 до 5-ти вольт. Цепи измерения напряжения аккума тоже нет (измеряется внутр. ацп через ноги питания микросхемы :) ). Калибровка каждой платы сохр. в eeprom при первом подкл. платы к аккуму. Потребление одного контроллера (одно послед. соединение аккума) около 6 мкА :)
Проверял саморазряд через бмс, 6 банок по 2200мач в течении 6 мес. Разряда не увидел.
Сейчас дописываю протокол для программирования напряжения разных  аккумов и разряда до safe mode - очень нужный режим для хранения аккума.
Во всю использую в своих аккумах. Фотки в подписи.



Добавил:

Ой, обманул  :ah:, еще есть транзистор и несколько резисторов для последовательной шины. Да, главное у этого бмс нет ограничения по послед. соединению аккумов, сколько плат поставишь столько и будет. Разрядны ток =  4.2v/9.4Om =400ma.
На сложность платы не смотрите, это универсальная плата под pic12, что запаяешь то и будет, разработана примерно в 2000-м году, в данной схеме запаяно 20% деталей.
Вот более новая фотка собираемого аккума:


сварку аккумов фоткал тут:

https://electrotransport.ru/index.php?topic=26890.msg1148130#msg1148130






Garrysoon

Цитата: Dmitry__ от 27 Сен. 2017 в 03:58
Ого, не видел такой темы. можно попиарицо? :)
А у меня есть такой bms, и не поверите на асме написан, такшта, наверно могу себя считать суровым программером :)
А еще, мой бмс распределенный: 1 плата на одно послед. соединение. Все платы послед. соединяются шиной rs232. Самая нижняя плата выдает информацию о всех аккумах. (проводов минимум). В схеме всего одна микросхема pic12f1840, один полевик и разрядный резистор. Причем схема без внешнего стабилизатора, которые очень много жрут, диапазона пикины хватает: от2 до 5-ти вольт. Цепи измерения напряжения аккума тоже нет (измеряется внутр. ацп через ноги питания микросхемы :) ). Калибровка каждой платы сохр. в eeprom при первом подкл. платы к аккуму. Потребление одного контроллера (одно послед. соединение аккума) около 6 мкА :)
Проверял саморазряд через бмс, 6 банок по 2200мач в течении 6 мес. Разряда не увидел.
Сейчас дописываю протокол для программирования напряжения разных  аккумов и разряда до safe mode - очень нужный режим для хранения аккума.
Во всю использую в своих аккумах. Фотки в подписи.



Добавил:

Ой, обманул  :ah:, еще есть транзистор и несколько резисторов для последовательной шины. Да, главное у этого бмс нет ограничения по послед. соединению аккумов, сколько плат поставишь столько и будет. Разрядны ток =  4.2v/9.4Om =400ma.
На сложность платы не смотрите, это универсальная плата под pic12, что запаяешь то и будет, разработана примерно в 2000-м году, в данной схеме запаяно 20% деталей.
Вот более новая фотка собираемого аккума:


сварку аккумов фоткал тут:

https://electrotransport.ru/index.php?topic=26890.msg1148130#msg1148130

Нам бы схемку, аль чертеж. Мы б затеяли вертеж)

kor


Цитата: Garrysoon от 08 Март 2018 в 14:05Нам бы схемку, аль чертеж. Мы б затеяли вертеж)
Вот как-то так.

i

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

Dmitry__

#23
Цитата: kor от 25 Июль 2018 в 15:02Вот как-то так.
Монстр, по фотке срисовал :)
Есть ошибки, uart от контроллера к контроллеру передается сверху вниз, т.е. от бОльшего напряжения к меньшему.
Вход RX след. контроллера идет через резисторный делитель (на рисунке 2 резистора по 100к) на 6-й пин микроконтроллера.
Цитата: i от 25 Июль 2018 в 15:38Выбрал более сложный вариант связи, за то двунаправленный и гальваноразвязанный
У меня тоже 2-х направленный. Самый верхний балансир принимает RX через оптопару, а потом передает данные по цепочке.. Самый нижний балансир выдает данные на usb/uart мост относительно земли, тут развязка не нужна.

i

Я целенаправленно изучал возможность построения системы связи по кольцевой схеме (иначе не получить двунаправленность). Отпугнуло то, что каждый мк должен выступать в роли ретранслятора, то есть он должен принять все пакеты от нижестоящих, буферизировать их, добавить свой (если запрашивались данные от всех), а потом отправить это все вышестоящему. Много памяти сожрет.
Еще смущает сам RS232, без кварцевой стабилизации частоты он может сильно "налажать" и не заметить.
Ну и присутствует опасность ошибочного монтажа, например соединить ячейку не со следующей, а через одну или больше - может и бахнуть. У Elition BMS, построенной по этой схеме, такое бывало.

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

Dmitry__

#25
Цитата: i от 25 Июль 2018 в 17:45Отпугнуло то, что каждый мк должен выступать в роли ретранслятора, то есть он должен принять все пакеты от нижестоящих, буферизировать их, добавить свой (если запрашивались данные от всех), а потом отправить это все вышестоящему. Много памяти сожрет.
Да, так и сделано, до 40s батареи ОЗУ хватает. Я себе слабо представляю больше послед. соединений, но можно взять пикину жирнее :)
Протокол самоорганизующийся, короткое описание из проги:

;алгоритм самоорганизующегося протокола передачи данных от всех балансиров:
;При вкл. питания балансир переходит в ведущий режим и посылает постоянно данные с 0-м Id (генерация TX пакетов).
;Если начинают приходить данные от соседнего балансира (присутствуют балансиры выше текущего), то текущий балансир переходит в режим ведомого (FlgSlaveMode).
;В режиме ведомого всегда проверяется Id балансира в принятых данных. И текущему балансиру присваивается Id на +1 больше самого старшего балансира.

Сама прога написана на асме и много памяти не жрет.
Правда я на практике не пользуюсь протоколом, даже не распаиваю провода между балансирами. Пока хватает информации по миганию светодиодов во время балансировки. Просто на каждом 10-м заряде снимаю крышку с самоката и наблюдаю балансировку в конце заряда. Если все светодиоды хаотично мигают, значит все ок. :)
По идее надо допилить ble передатчик и выводить данные на андроид. Но у меня все аккумы новые и из одной партии, никак не хотят разбегаться, поэтому пока забил на доделывание протокола  :ah:
2-х сторонний протокол тоже пока непонятно зачем. Если только для ручной калибровки балансиров. Сейчас калибровка происходит при первом включении балансира на эталонном напряжении, и записи константы в eeprom.

Цитата: i от 25 Июль 2018 в 17:45Еще смущает сам RS232, без кварцевой стабилизации частоты он может сильно "налажать" и не заметить.
Я уже давно забил на кварцы в своих поделках. Точность внутр. генераторов у пикин очень высокая. Плюс у каждой пикины есть калибровочная ячейка, в которую лазером зашивается константа калибровки.
Еще можно применить автонастройку baudrate uart-а, у microchip есть описание на эту тему. Я, пока, ни разу не ловил глюки с uart на внутр. генераторе...