avatar_zap

Системы управления аккумуляторной батареей (BMS)

Автор zap, 15 Нояб. 2010 в 21:12

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

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

pirate

Цитата: xaoyag от 02 Июнь 2011 в 21:29
Сеичас попробую нарисовать

Не-не )) я по ссылке вашей уже все почитал и понял ))

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

zap

Да не насилуют никого, бмска отрубает канал зарядки как только любая ячейка заряжается до 3.65В.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

pirate

в том то и дело что насилует )
Пример, бмс заряжает 16 моих банок.
банка номер 1, дошла до 3.65v, бмс отключает зарядку.
напряжение в банке номер 1 падает скажем до 3.6v бмс снова включает зарядку, и все повторяется.

Сколько раз будет происходить включение и выключение пока бмс зарядит последнюю самую отстающую ячейку? Много раз. Вот это "много раз" и будет изнасилована ячейка номер 1 нагрузочным резистором, т.е. будет заряжена до 3.65v и разряжена до 3.6v.

mevial

Цитата: zap от 03 Июнь 2011 в 00:45
Да не насилуют никого, бмска отрубает канал зарядки как только любая ячейка заряжается до 3.65В.
Моя точно насилует, порог отключения по перезаряду у моей 3.9. Но, это только если батарея разбалансирована, при вошедшей в режим батарее БМС вообще сидит в сторонке и молчит :)
Цитата: pirate от 03 Июнь 2011 в 05:14
в том то и дело что насилует )
Вот это "много раз" и будет изнасилована ячейка номер 1 нагрузочным резистором, т.е. будет заряжена до 3.65v и разряжена до 3.6v.
Если вы об этом, то не стоит заморачиваться, это не цикл, тем более, что токи разряда там не такие большие. Eсли вас всё-таки гложат сомнения, то можете приобрести smart BMS, она начинает балансировать с указанного вами напряжения. Но учтите, после отключения заряда, эта "умная" БМС отключает и балансировку!  :aq: Хотя это единственный найденный в ней минус. Да и опять же, если батарея сбалансирована, то БМС приходится чуть корректировать разбег, если же БМС приходится каждую зарядку вкалывать по полной, то лучше найдите и замените неисправные ячейки.

av-master

Мужики. я сейчас свою зарядку с BMS проектирую. покритикуйте алгоритм:

У меня 44 банки LiFePO4 по 100А
3 контроллера по 16 каналов ADC 12 бит разрешение . т.е. 2 контроллера рулят 32 банками и общаются с 3-м контроллером который рулит оставшимися 12-ю банками и общим током температурой и т.д... Описывать защиты не буду все стандартные...
напряжения отсечек и т.д... настраиваются до безпредела ) также зарядных разрядных токов...

ЗУ мостовой ШИМ преобразователь с регулировкой потребляемой мощности от сети 220 Вольт в пределах 1-5кВт.

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

Режим частичной балансировки при нормальном заряде будет просто частично тормозить быстрые банки, а при выходе оной на напряжение 3.65-3.7 даст команду ЗУ перейти в режим CV. напряжение на ЗУ становится равным заряженной батарее, балансиры отключаются ( чтоб лишний раз не греть воздух. и контролируется дозаряд остальных банок до нужного напряжения с постепенным уменьшением тока. как только ток падает меньше какого-то мин значения ЗУ отключается.

Режим быстрого заряда, никакой балансировки, максимально возможный ток, отключение при заряде банки до 3.7 и поехали...

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

какие будут замечания предложения ?


DarthGray

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

i

При таких ёмкостях ячеек балансировка разрядом - большой и медленный кипятильник.(ИМХО) Что хорошо для ноутов, не обязательно столь же хорошо для транспорта.

У меня такая же задача, только гораздо скромнее (18 ячеек по 10Ач). Хочу применить метод активного балансирования.
Проектирую 18 зарядников (по одному на ячейку) по 10-20 ватт и один для всех на 600ватт. Большим планирую заряжать все ячейки до момента пока одна из них не сообщит "хватит". Большой зарядник отключается, 17 маленьких включаются (одна ячейка уже накушалась) и докармливают оставшиеся ячейки. Зарядка считается завершённой когда все ячейки доложат о готовности.
В качестве бонуса: в случае необходимости, мелкие зарядники могут сами полностью зарядить ячейки, медленнее конечно, но в случае выхода из строя большого зарядника, могут здорово выручить. Если "сдохнут" несколько мелких зарядников, то их ячейки просто останутся чуть недокормлеными (живучесть, однако.) Можно так же включать одновременно и маленькие и большой, это типа срочная зарядка получится.
Такая метода получается не дороже обычной, но более быстрая и менее нагревательная (по идее).

mevial

Цитата: DarthGray от 03 Июнь 2011 в 12:53
Я что-то не очень себе представляю, как можно контролировать напругу на банке, которая висит на потенциале намного превышающем питание контроллера :bw:
Ёмкостный перенос, делитель?

DarthGray

Делитель как? Его же всё равно относительно земли ставить надо
Тогда чтобы узнать напругу на верхней банке придётся вычитать из общего напряжения все нижестоящие
   перенос....  А переносить чем, чтоб не расплескать по дороге?
Тогда уж проще наверно сразу БМС с переносом делать..
Различие между теорией и практикой на практике гораздо больше, чем в теории.

av-master

Вариант с многоканальным зарядником я рассматривал. на таких токах он мне некатит. гораздо дороже выходит на каждую банку по синхронному выпрямителю. цепь ОС и контроллер который будет ним рулить (синхронником) ... это тупиковатый путь для меня, для мелки батарей прокатит.


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

Забыл еще указать что ЗУ с БМС будут расход тока мерить запоминать и отдавать главному компу машины. для отображения временных графиков ток скорость рекуперация и т.д. сколько потрачено на заряд сколько израсходовано и т.д... наглядность и статистика дело нужное. + привязка к GPS на карте хороше видно будет токи, и расход.

zap

Цитата: av-master от 03 Июнь 2011 в 14:14
Забыл еще указать что ЗУ с БМС будут расход тока мерить запоминать и отдавать главному компу машины. для отображения временных графиков ток скорость рекуперация и т.д. сколько потрачено на заряд сколько израсходовано и т.д... наглядность и статистика дело нужное. + привязка к GPS на карте хороше видно будет токи, и расход.
Могу поделиться готовым универсальным легковесным протоколом для BMS, чтобы не городить пицот несовместимых протоколов. Обмен данными через UART. В протоколе предусмотрено считывание текущего тока, общее напряжение батареи, напряжение каждой отдельной ячейки, ампер*часы (всего и оставшихся), ватт*часы (всего и оставшихся), ну и прочее по мелочи (идентификация устройства, калибровку напряжений и токов (задание коэффициентов для линейной функции y = a*x+b) итп), плюс можно по необходимости расширять. В протоколе всего 4 команды (PING, READ, WRITE, RESET); размер кода - порядка 700 байт для AVR, код на C, хорошо документирован, легко переносим на другие платформы (зависимость кода от аппаратной части AVR минимальная).
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

zap

Цитата: DarthGray от 03 Июнь 2011 в 14:13
Делитель как? Его же всё равно относительно земли ставить надо
12-битный АЦП даёт 4096 отсчётов... это значит, что напряжение до 100 вольт можно замерить с точностью 100/4096 = 0.025 вольт, вполне достаточно для BMS.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

av-master

12 бит у мну максимум на 16 банок. т.е. 16*3.7=59.2 .. т.е. 59/4096=0,015В, что еще лучше. шум последнего разряда конечно будет, но нестрашно.

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

zap

Цитата: av-master от 03 Июнь 2011 в 20:18
12 бит у мну максимум на 16 банок. т.е. 16*3.7=59.2 .. т.е. 59/4096=0,015В, что еще лучше. шум последнего разряда конечно будет, но нестрашно.

В целом сильных проблем не вижу, и судя по ответам, другие тоже не видят, можно приступать к реализации.
Да проблем особых не вижу, можно хоть чучелком, хоть тушкой, просто сверхусложнено зачем-то всё. Три контроллера-то нафига? Также не очень понятно, 44 банки и 50 вольт это как? 11S4P, 400 ампер*час? Для авто я бы взял напряжение поболее, а то провода придётся городить с руку толщиной.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

i

Цитата: zap от 03 Июнь 2011 в 20:09
Могу поделиться готовым универсальным легковесным протоколом для BMS,...
Очень интересною. Не столько сам код, сколько описание протокола, а уж UART там или USI-TWI не суть важно.

jeka

ZAP, можно по подробнее, что за протокол, где используется?
Кем он разработан, есть ли какой стандарт, документация?
Ибо я этим вопросом тоже задавался, в итоге сделал свой, но еще не поздно под стандарт переделать если такой есть.
LiFe A123 40AH/78v, max-e, крошка 3 витка.
На форуме бываю нерегулярно, поэтому лучше звонить чем писать в личку. Телефон adaptto: +7 495 215 2878.

zap

Да это не стандарт никакой, я сам разработал за прошлые пару недель :)
Пардон за задержку, пришлось срочно набивать документ, копируя куски из текстовых файлов и исходников :)
Описание протокола обмена
Документ совсем сырой (только что набил), если что-то непонятно - спрашивайте :)
Если кому-то интересно, могу опубликовать конкретную реализацию на C для AVR.
С уважением,
Андрей

Поражаю масштабностью некопмпетентность (ц) из лички

av-master

Цитата: zap от 03 Июнь 2011 в 20:20
Цитата: av-master от 03 Июнь 2011 в 20:18
12 бит у мну максимум на 16 банок. т.е. 16*3.7=59.2 .. т.е. 59/4096=0,015В, что еще лучше. шум последнего разряда конечно будет, но нестрашно.

В целом сильных проблем не вижу, и судя по ответам, другие тоже не видят, можно приступать к реализации.
Да проблем особых не вижу, можно хоть чучелком, хоть тушкой, просто сверхусложнено зачем-то всё. Три контроллера-то нафига? Также не очень понятно, 44 банки и 50 вольт это как? 11S4P, 400 ампер*час? Для авто я бы взял напряжение поболее, а то провода придётся городить с руку толщиной.

16 банок на 1 контроллер. 3 контроллера на всю батарею. напряжение 44*3.65=160В.


zap - маладца.
про контрольную сумму так и непонял...
лично у мну все пакеты содержат CRC прямо в пакете, XOR по модулю. в случае норм ничего не происходит в случае ошибки запрос повтора. 3 раза потом данные дропаются и формируются новые.

я более прозаично работаю. (AVR по политическим причинам не юзаю, но это отдельная тема, а в целом dsPIC33 с 12битным ацп 16каналов. цифровая фильтрация шума. ит.д.)
SPI развязанный между контроллерами на BMS, и CAN на главный контроллер. команды более примитивные и массивные (от слова массив). ЗЫ использать не диф сигналы на транспорте считаю преступлением.
контроллер питается у мну от всей КОНТРОЛЬНОЙ пачки через DC/DC 40-100 в 3.3@500мА.