avatar_mevial

Bluetooth программатор/монитор для SmartBMS на базе чипа OZ890 а также Elithion

Автор mevial, 10 Март 2015 в 15:32

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

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

mevial

Создал данную тему, т.к. тема про SmartBMS завалена проблемами самой BMS. Здесь это обсуждать не будем, здесь будет обсуждение дополнительного оборудования для SmartBMS.
Вопросы "где купить", "сколько стоит", "когда выйдет" и подобные на первом этапе будут удаляться, если есть реальный интерес, то пишите в личку.
На данный момент существует 2 различных устройства:
1. Плата подключения BMS к смартфону на базе системы Андроид посредством bluetooth.
Плата подключения BMS к смартфону на базе системы Андроид посредством bluetooth
Аппаратная часть:
- подключение до 3х BMS на одну шину(необходимая гальваническая развязка делается отдельно)(есть)
- подключение до 3х дополнительных температурных датчиков ds18b20(есть)
- выход управления подогревом батареи на основе дополнительных термодатчиков(есть)
- вход спидометра(планируется)
- выход управления зарядным устройством(планируется)
- управление подогревом на основе двух термодатчиков ds18b20 подключенных к плате управления;
- управление подогревом на основе термодатчика(ов) подключенных к плате(ам) BMS(планируется)
- подключение цветного дисплея для отображения состояния ячеек, тока и температур(есть, но планируется убрать или заменить на ч/б дисплей)
Программная часть:
- настройка спидометра(планируется)
- чтение состояния спидометра/одометра(планируется)
- настройка режима управления зарядкой(планируется)
- запись настроек в микроконтроллер(планируется)
Программа под Андроид:
- отображение состояния ячеек всех подключенных BMS, суммирование общего напряжения, отображение тока первой BMS, температурных датчиков всех BMS, состояние подключения bluetooth(есть)
- отображение причин отключения силовых ключей(есть)
- чтение и расшифровка ПЗУ BMS в удобочитаемой форме(есть)
- настройки режимов соединения, выбора устройства, порогов напряжений и вообще прочие настройки(есть)
- запись ячеек в ПЗУ BMS из вкладки отображения параметров(есть)
- подробное описание каждого параметра(есть)
- запись лога опроса, включение и выключение опроса, ввод команд через терминал вручную(есть)
-Работа через терминал

- автоматическое сканирование 3х BMS с передачей напряжений, токов и температур в десятичном формате в терминал(есть)
- выдача состояния(напряжения, ток, температуры) любой из 3х BMS по запросу в десятичном формате в терминал(есть)
- чтение любой ячейки памяти BMS по запросу и выдача значения в шестнадцатеричном формате в терминал(есть)
- запись любой ячейки памяти по команде с терминала(есть)
- чтение всего дампа памяти по запросу и выдача в виде шестнадцатеричного дампа(есть)
- чтение всего дампа памяти по запросу и выдача в виде строки base64(есть)
- чтение любой ячейки ПЗУ BMS по запросу и выдача значения в шестнадцатеричном формате в терминал(есть)
- запись любой ячейки ПЗУ по команде с терминала с контролем результата и выдачей статуса(есть)
- чтение всего дампа ПЗУ по запросу  и выдача в виде шестнадцатеричного дампа(есть)
- чтение всего дампа ПЗУ по запросу и выдача в виде строки base64(есть)
- чтение температуры с дополнительных датчиков(есть)
- настройка порогов температуры и гистерезиса для управления подогревом(есть)
- переключение режима PEC при случайном его включении в прошивке BMS, и последующая работа с прошивкой в штатном графическом режиме(есть)
На данный момент собрано уже 12 устройств, 2 из них в Москве, у [user]Накопитель[/user] и [user]Andreym[/user], желающие могут обратиться к ним с целью "пощупать".
2. Клон официального фирменного программатора.

Представляет собой однопортовое устройство без гальванической развязки(на данный момент), полностью программно совместимое с фирменным ПО для BMS.
- Планируется встраивание гальванической развязки для исключения проблем при подключении к зарядному устройству и компьютеру одновременно.
Данное устройство проверялось только мной, на одной BMS, но в разных режимах, на данный момент разобрано из-за отсутствия свободной макетки и вообще надобности.

На данном этапе принимаются предложения по усовершенствованию данных устройств(хотелки), лучшие(на моё усмотрение) будут добавляться в план в шапке, дублировать уже планируемые функции нет смысла.

Программу для андроида можно скачать тут. Так же следует периодически проверять обновления, ошибки исправляются, добавляется что-то новое.
QR код для скачивания программы



Подключение устройства:

Сначала подключаем все 3 сигнальных вывода - GND, SCL, SDA, затем подключаем минус и плюс питания.

После подключения устройства к питанию, необходимо сопряжение его со смартфоном. Для этого на смартфоне запускаем поиск устройств bluetooth, устройство должно отобразиться как SmartBMSxx(xx - порядковый номер устройства). Код сопряжения 0000(на некоторых более старых экземплярах 1234 или 12345). При удачном сопряжении выходим из настроек и запускаем установленный OzWizard.
В программе нажимаем кнопку меню(аппаратную, либо 3 полосочки в левом верхнем углу) и переходим к пункту Settings(вход в настройки возможен только при отключенном отображении состояния BMS). Там нажимаем кнопку Device list и выбираем найденый bluetooth модуль. Настройки по умолчанию позволяют подключиться к стандартно настроенной SmartBMS. Если была установлена галочка Autoconnect, то при возврате из настроек смартфон сразу же подключится к устройству, иначе надо снова нажать кнопку меню и выбрать Connect.
В программе 3 вкладки:
Первая вкладка отображает текущее состояние батареи: напряжения ячеек, общее напряжение батареи, ток, температуры установленных датчиков, причины отключения силовых транзисторов на данный момент. Также внизу чартов находятся минимальное напряжение, до которого опускалась самая слабая ячейка во время наблюдения в программе, максимальное напряжение самой заряженной ячейки, которое было во время наблюдения и значение текущего разбаланса. Кнопка Reset range сбрасывает зарегистрированные пороги минимума и максимума. Касание значения ваттметра в правой части окна сбрасывает ваттметр на нулевое значение. Касание области столбиков в левой части окна меняет режим отобрадения столбиков. На данный момент имеются 2 варианта отображения столбиков, и таблица напряжений ячеек.
Вторая вкладка представляет собой терминал для низкоуровневой работы с BMS и другой периферией, подключенной к модулю bluetooth. Так же там находятся кнопка запуска/остановки сканирования состояния BMS для отображения на первой вкладке и кнопка запуска/остановки записи лога в файл.
Третья вкладка представляет собой инструментарий для просмотра и изменения настроек BMS. Кнопка Read позволяет прочитать конфигурацию из BMS или из файла, в диалоге есть поле выбора номера BMS с которой в данный момент хотим прочитать конфигурацию. Кнопка Write, при наличии прочитанной конфигурации, позволяет записать конфигурацию в BMS или в файл. При выборе режима записи в BMS, доступны 3 варианта: с полным стиранием прежнего содержимого, не рекомендуется, но требуется при изменении некоторых параметров, Запись изменений всех параметров, которые в даный момент доступны для записи, и запись только пользовательских параметров. Также есть галочка блокировки смены адреса, на случай, если на шине висит несколько BMS с разными адресами, а конфигурацию загружаем в них одну. При касании строки любого параметра появляется диалоговое окно с описанием параметра, рекомендациями настройки, полем ввода/выбора значения параметра и, если есть такая возможность, то галочкой мгновенной записи параметра в BMS, при выборе которой кнопка Update становится красной. Значения изменённых, но не записанных в BMS параметров подсвечиваются жёлтым.

PS:
В программу для Android добавлена также поддержка BMS от Elithion, а именно:
- отображение состояния ячеек - напряжение, температура, внутреннее сопротивление(во всплывающем окне при удержании на окне отображения чартов);
- общие параметры BMS, такие как ток, общее напряжение, уровень заряда;
- карта ячеек с их состоянием и цветовой раскраской - напряжение, температура;
- в окне консоли можно переключиться на интерактивное меню настройки BMS, в поля ввода надо вводить не менее 2х цифр, баг пока не пофикшен;
- есть окно x общего статуса BMS, пока не всё исследовано, строки можно перенастраивать касанием.

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

xxoma

[user]mevial[/user], девайс будет на продажу или будет инструкция для повторения?
Kellys Blog, Bafang 750W 48V bbs02, 48V 23Ah.

mevial

Цитата: xxoma от 19 Март 2015 в 17:22
[user]mevial[/user], девайс будет на продажу или будет инструкция для повторения?
Планировался на продажу, а чтобы не было проблем с границами есть некоторые намётки на сборку части девайсов непосредственно на Украине.

mevial

Кстати вопрос, какой график более читаемый?
  или 
На правом затенения это поячеечный контроль диапазона изменения напряжений за время измерения. Т.е. можно на графике после поездки увидеть какая ячейка насколько проваливалась. Но рамки могу вернуть если она удобней для быстрой оценки состояния.

Unhis


mevial

А я уже к правому привык, видимо надо делать оба и выбирать опцией. Кстати при 24s правый вариант мелковат.

FobOrgan

[user]mevial[/user], а у вас есть даташит на OZ890? Можете поделиться? Хотелось бы узнать как с ней общаться. Чтото зашёл на сайт O2Micro, но там с первого захода ничего не нашёл. А так идея классная с блютусом. На основе показаний BMS можно и ваттметр забабахать не особо напрягаясь или она не настолько часто измеряет ток/напряжение чтобы точность была допустимой?
Езжу на 2хQ100/1200Вт/14Sx18Ач Li-ion уже 33300км за 9 лет

mevial

В хардмоде измерения раз в секунду, точность измерения тока ±2 аршина, так что на ваттметр я бы не  стал делать. Даташит лежит в соответствующей теме.

mevial


Стив

Приобрел Смарт БМС и Блютусину. Скачал программу. Все сконектилось и подключилось. Два часа лазил по менюшке разбирался.

Огромное спасибо за проделанную работу по переводу и пояснениям в программе.
Возник вопрос по программе. Лог пишется и сохраняется - это прикольно, но что с ним делать? В том виде как он есть (набор циферок)

это не информативно/не интересно. Есть ли какая-нибудь программа для конвертации этих данных в более информативный вид? Ну график там построить... Кривые разные... Я в этом деле новичок...

mevial

Цитата: Стив от 15 Окт. 2015 в 20:15
Лог пишется и сохраняется - это прикольно, но что с ним делать? В том виде как он есть (набор циферок)

это не информативно/не интересно. Есть ли какая-нибудь программа для конвертации этих данных в более информативный вид? Ну график там построить... Кривые разные... Я в этом деле новичок...
Пока его можно загружать в эксель и строить графики, но согласен, это неудобно и долго. Планирую взять себя в руки и написать просмотрщик логов, отдельную программу, которая будет строить графики, масштабировать, двигаться по графику, делать срезы параметров. Но пока останавливает то, что с графическим ускорителем на андроиде я пока не работал и не знаю с какого конца взяться, а простое рисование линий, боюсь, будет очень медленным. Да к тому же я с мультитачем тоже не работал, а без него тут нельзя.

Rustler

[user]mevial[/user], Я правильно понял что батарейку можно сигментировать на 3 части и поставить на каждую часть по БМС?
я собираюсь делать батрейку сигментрованной 2,4,6кВт или 3,6,9 кВт это на дальняк! и чтобы не таскать с собой все блоки лишнее вытаскивать! ведь прокатится в гараж апример туда и обратно мне достаточно 4кВт. лишний блок снимаешь и поехал. единственно что плохо играть блоками можно только при полном заряде всех блоков 8) но есть другой плюс. стационарная зарядка. приехал поменял блоки и поехал дальше. не заряжаясь 8)

Тогда надо делать стационарную зарядку изначально заточенную под бмс. ответную часть сможете сделать? для контроля заряда. работа зарядки чтото по принципу адаппто катушки + контроллер
Квашунь -  25кмч под горку 25кмч. расстояние 67-87км

mevial

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

Стив

О! Крутая идея! Смарт зарядка!
Регулировка тока и напряжения со смартфона, включение разных функций: типа ночью дешевле меньшим током а днем большим и т.д. подыгрывать импульсами малого тока по команде от БМС при тщательной балансировке раз в месяц и т.д.
При этом оповещать пользователя о прекращении заряда, нештатных режимах, контроль температуры опять же...
Да, фантазия у меня бурная!

mevial

Кстати, по ссылке в шапке новая версия софта, много чего исправлено, но главное - добавлено отображение причины отключения фетов на экране со столбиками. По заказу минобороны украины Батискафа встроена поддержка 4й БМС, ждём от него отчёта как всё это взлетит на 4х смартах. Перелопачен алгоритм реконнекта при потере связи, пока только при включённом экране. Добавлен экспериментальный ваттметр.

PS: В планах перетащить таки лог и реконнект в сервис, чтобы от экрана не зависели.

Стив

Ой, все! Кажется я его сломал!  :-D

Было свободное время, решил убрать сопли, пропаять все провода, капитально и т.д.
отстроил зарядку на зарядный ток в 3,5 ампера, зарядил, подключил 220v лампу поставил разряжаться. К моему удивлению разрядный ток через 40вт лампу оказался около 50мА. При таком малом токе, процесс разряда затянулся...
В течении дня я походил, включал блютуз, проверял как протекает процесс, какое напряжение на батарее - ну вобщем все то, для чего и нужен этот модуль  :dance:
А потом вместо очередной порции счастья я получил это:


Что-то умерло...  :~-(
Есть варианты как ЭТО починить?  :bn: Батарея заряжена (напряжение 47V по тестеру) заряд принимает, БМС вроде работает - хотя как это проверить?

mevial

Вижу, что блютус работает, но БМС не видит, может провода, может БМС. Сбросить БМС, проверить провода. Можно попробовать обесточить блютус на некоторое время, но маловероятно, что поможет.

strannik

Большое спасибо , все работает.
Электро Ока мотор 60kw батарея18kwh
Ашанбайк QS 1kw  1.3 kwh клондайк 26 на зиму