EN
creator cover Шхуна "Чава"
Шхуна "Чава"
От проекта до славных походов...
Шхуна "Чава"
36
subscribers
Available to everyone
Jan 10 15:05

Sinowealth BMS Tool v.2.0

Приложение для Windows 
Чтобы еще больше запутать "круглоглазых", китайцы ставят в изучаемые нами BMSы как минимум, два варианта контроллеров. В результате для управления и контроля ими используются два разных приложения, каждое - под свой контроллер. 
Определить, какое приложение будет работать с нашим BMS, довольно несложно - нужно глянуть в нижнюю часть главного экрана приложения для смартфона
То, что называется "Battery serial number: SH39F003" - на самом деле, обозначение типа "железа" контроллера - SH39F003. Это так называемая "старая" версия. С ним работает приложение с красивым названием Sinowealth BMS Tool.
Скачиваем его от производителя  или отсюда:
Sinowealth BMS Tool Setup V0.2(中颍上位机).zip2.90 MbDownload
Распаковываем, устанавливаем.
................................................................
Внимание! Если на этом месте вместо "SH39...." будут какие-то цифры, типа "202106..." - у нас другая версия контроллера, "новая". Для нее нужно использовать приложение  Daly BMS PC Master, его мы разберем отдельно.
.................................................................
Теперь нужно соединить компьютер с BMS. Для этого нужен интерфейс USB - UART, вариантов исполнения много, я, например, нашел у себя в ящике стола древнюю платку, которая использовалась для программирования контроллеров дронов, несомненно, с алиэкспресс.
Три проводка (rxd - белый, txd - зеленый, gnd - черный) соединяют платку интерфейса с подходящим по размерам трехштырьковым разъемом из отработавшей свое электроники (шаг - 2 мм)
Распиновка разъема, вид на BMS.
Трехштырьковый разъем вставляем на единственное доступное место на BMS
Теперь можно запускать приложение....
Система выдаст стандартное предупреждение
Соглашаемся - "Да",
в следующем окне выбираем SH39F003, com порт обычно настраивать не надо, если драйвер интерфейсной платы USB-UART установлен, он определится сам, остальные параметры оставляем, как есть. Открываем порт - кнопка внизу "Open COMM"
Окно конфига сообщит, что порт открыт успешно,
закрываем окно подтверждением "OK".
После этого открывается само приложение. Если вдруг оно откроется на китайском, нужно нажать букву O (Option), и переключиться на английский.Приложение открывается окном "Info", как видно, оно все еще "неживое".
Чтобы все заиграло, нужно кликнуть на Scan All.
И здесь, наконец, на интерфейсе USB-UART замигают огоньки светодиодов, пойдет обмен с BMS, и окно заполнится данными.
Приложение позволяет решить две основные задачи, которые стоят перед продвинутым юзером. 
Первое - расширенная настройка параметров контроллера BMS под конкретную батарею. Базовые настройки, на мой взгляд, проще установить из смартфона, так что здесь ограничим список только теми, которые  доступны только через это приложение, и теми, с которыми я разобрался.
Второе - вывод на экран и запись текущих данных, полученных с нашего самосбора, в файл лога - "вахтенного журнала" для контроля параметров батареи. Как оказалось, эти файлы позволяют делать довольно полезные для практического применения графики и диаграммы - "паспорт" изделия. 
По поводу расширенной настройки - то, что мне пригодилось.
Прежде всего, нужно сохранить настройки от производителя.
File(F) - Save Data Flash File - даем имя файлу, типа backupBMS.
Все параметры будут сохранены в обычном текстовом файле. Как пример - то, что было в параметрах по умолчанию.
Если мы что-то сломаем по ходу экспериментов, можно будет вернуться к заводским настройкам. Для этого нужно открыть наш бэкап File(F) - Open Data Flash File - имя файла с сохраненными настройками. Параметры будут перезаписаны со значениями из нашего файла.
Окно "MCU", вкладка "System"
Чтобы увидеть параметры, нужно кликнуть "Read All", для того, чтобы записать внесенные изменения в BMS - кликнуть "Write All".
Синим слева выделен список соответствия процента заряда ячейки LFP напряжению на ее контактах.
Здесь придется повториться - алгоритм работы BMS довольно примитивен. При первом включении контроллер измеряет напряжение на ячейке (мне неизвестно, усредняет он данные, или берет одну ячейку батареи), потом устанавливает процент остатка емкости батареи в соответствии с этим списком. 
У разных производителей "химия" и конструктивы элементов LiFePo4 пусть немного, но отличаются, так что этот список - штука индивидуальная.
Так что самый "правильный", с точки зрения практика вариант - сделать этот список заново, для нашей конкретной батареи.
На странице приведены экспериментальные данные, полученные разрядом током 0.5С, с выдержкой ячейки на каждой "ступеньке" разряда по полчаса. 
Хорошо, BMS мы включили, он измерил напряжение на ячейке и выставил значение остатка емкости. После этой начальной установки прибор работает в режиме кулонометра, измеряет ток, напряжение, вычисляет втекающую в батарею или вытекающую из нее энергию.
И здесь нам понадобится еще одна строчка из этой вкладки
Синим справа выделен параметр DfitterCur
Изначально - 2000. Как оказалось, это пороговый уровень измерения тока в mA. То есть, если ток, протекающий через наш BMS, меньше, чем значение, установленное для этого параметра - он не учитывается, прибор считает ток нулевым.
Специфика применения на паруснике - типичные довольно небольшие токи заряда и разряда - единицы ампер.
Из-за этого ошибка расчета текущей емкости батареи накапливается довольно быстро. Если порог снизить, ошибка уменьшится. На моем BMS, где-то в районе 500mA собственные шумы измерителя начинают искажать данные, изображая несуществующий в реальности ток, поэтому параметр установлен на "600".
Окно "MCU", вкладка "Charge"  
Последняя строка слева:"Balance Voltage Difference"  - разница напряжений ячеек, при котором запускается процесс балансировки. Я поставил 20 mV.
Первая строка справа:"Balance Open Current" - величина тока заряда, при котором запускается балансировка. Я поставил 0 mA.

То есть, для того, чтобы начался процесс балансировки, необходимо выполнить три условия:
1. Напряжение на элементе батареи превысило 3.2 В
2. Разница напряжений элементов превысила 20 мВ
3. Ток заряда - от нуля.
Окно "MCU", вкладка "Calibration"
Строка VPack Gain - корректировка масштаба вольтметра
Строка CADC Gain - корректировка масштаба амперметра
Строка CADC Zero - установка нуля амперметра
Первую и вторую строку я не менял, измеряет правдоподобно, а вот третью строку пришлось изменить с нуля на -2. Балансировку нуля амперметра можно сделать, подавая одинаковый и небольшой ток заряда-разряда, который BMS уже в состоянии измерить, и добиваясь изменением значения CADC Zero равных показаний тока.
Это все, что удалось "накопать" практически полезного в приложении по первой задаче.

Вторая задача - запись текущих данных - "логов" в файл
1. В окне "Info" ставим "галочки" в столбике "Log"  напротив данных, которые надо регистрировать. Например, здесь, это напряжения элементов батареи, общее напряжение батареи, и ее температура.
2. Через File(F) запускаем Start Log File, даем имя новому файлу, закрываем кнопкой "Сохранить".
С этого момента, и до закрытия программы, (ну, или можно через File(F) остановить запись командой Stop Log File),
каждую секунду в наш новый файл будет записываться строчка данных в текстовом формате. 
Результаты из примера выше:
По крайней мере, сразу можно сказать, что последний разряд - единицы милливольт нестабилен.
Такой текстовый файл довольно удобен для хранения и обработки численных массивов данных.
Это все, что мне показалось полезным в этом приложении
Дальше нам нужно проверить практически емкость полученного самосбора, то есть - снять его рабочие характеристики, и, как-то практически проноровиться к этому новому аккумулятору, выработать правила работы с ним для нашего лодочного применения.
avatar
Я иногда офигеваю от количества Ваших знаний :)
Jan 11 08:48
avatar
Michael Obodinski, Я просто не люблю непослушных инструментов и приборов. Они должны знать, кто в доме хозяин🤣.
Jan 11 12:27
Log in, to post comments

Subscription levels

No subscription levels
Наверх