• /
  • /

Обзор технологий разработки программного обеспечения для систем управления батареями (BMS)

Система управления аккумулятором (англ. Battery Management System – BMS) в вашем смартфоне аналогична той, что есть в электромобиле. Однако функциональность этих двух систем может быть совершенно разной. Сложность BMS зависит от характеристик батарей, которыми она управляет. Из нашей статьи вы узнаете больше о функциях BMS и методах оценки состояния батарей.
В настоящее время BMS – обязательный компонент любой интеллектуальной системы, работающей от аккумуляторной батареи. BMS контролирует работу аккумулятора, предупреждает развитие угрожающих состояний, а также взаимодействует с устройствами, которые питает батарея.

По прогнозам бизнес-платформы Statista, в ближайшие десятилетия во всем мире объем электроэнергии, производимой установленными мощностями от аккумуляторных батарей, будет расти беспрецедентными темпами: с 3 гигаватт в 2020 году до 778 гигаватт к 2050 году.

Аккумуляторная батарея – это система, работающая за счет физических процессов и электрохимических реакций. Система представляет собой так называемый "серый ящик", так как, с одной стороны, количественные параметры батареи легко измерить, а с другой стороны, некоторые характеристики сложно оценить, не разбирая батарею на части.

Программное обеспечение BMS позволяет получить информацию о состоянии батареи, оценить ее характеристики и обеспечить эксплуатационную стабильность, не прибегая к разрушению батареи.

Написать надежное ПО для системы управления аккумуляторными батареями непросто, но у нас есть для вас несколько рекомендаций, как это сделать правильно.

Что из себя представляет BMS?

Если вкратце, то BMS – это электронная система, отвечающая за правильную и безопасную работу аккумуляторной батареи.

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

Востребованность BMS в мире огромна, ведь один только рынок электромобилей за 10 лет увеличится в восемь раз и достигнет 906,7 млрд долларов к 2028 году.

Функциональность BMS напрямую зависит от системных требований. Чем проще и маломощнее устройство, тем более простая по функциональности BMS ему требуется.

Обязательный набор компонентов системы управления батареями включает в себя:

  • Блок управления;
  • Измерительный блок;
  • Зарядное устройство;
  • Аккумулятор.

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

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

  • измерение и контроль входного/выходного тока и напряжения;
  • контроль критически важных параметров;
  • контроль условий эксплуатации батареи;
  • анализ и хранение данных, а также предоставление информации о состоянии батареи пользователю или системе более высокого уровня.

Многофункциональные системы управления батареями требуют комплексной разработки программного обеспечения. Так, например, блок управления использует программное обеспечение для управления взаимодействием и координацией компонентов BMS. Измерительному блоку необходимо ПО для сбора и передачи данных о батарее. Высококлассные BMS-решения также, как правило, имеют программное обеспечение для автоматического тестирования.

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

  • Состояние заряда аккумуляторной батареи (State-of-Charge, или SoC)
  • Степень работоспособности аккумулятора (State-of-Health, или SoH)
  • Уровень оставшейся энергии аккумулятора (State-of-Energy, или SoE)
  • Уровень мощности аккумулятора (State-of-Power, или SoP)

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

Разрабатывая программное обеспечение для BMS при помощи моделирования, можно создать точную математическую модель для оценки состояния батареи. Мы создаем модели, используя такие инструменты моделирования, как MATLAB, GNU Octave и другие.

Моделирование позволяет сымитировать условия эксплуатации аккумулятора и предугадать его поведение. Модели аккумуляторов реализуются с помощью различных алгоритмов оценивания. Для проверки алгоритмов BMS также используется моделирование.

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

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

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

Модель помогает на основе измерений оценить состояние и характеристики батареи. Например, измерив время зарядки/разрядки, можно оценить емкость аккумулятора и SoC. Также можно запрограммировать модель для тестирования алгоритмов BMS.

Сложность алгоритмов зависит от системных требований и функций BMS. В некоторых случаях программное обеспечение вообще не понадобится. А вот высокотехнологичным системам нужны сложные алгоритмы. Чем больше характеристик и состояний батареи необходимо оценить, тем сложнее будут алгоритмы системы управления батареями.

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

Оценка состояния заряда

Состояние заряда батареи, или SoC, показывает уровень заряда аккумулятора от 0 % (полностью разряжен) до 100 % (полностью заряжен). SoC зависит от скорости зарядки/разрядки и емкости аккумулятора.

Точная оценка SoC необходима для того, чтобы избежать перезаряда и переразряда аккумулятора. Излишний заряд и разряд могут иметь разные последствия для батарей разного типа. Если свинцово-кислотные аккумуляторы устойчивы к переразряду, то для литий-ионных аккумуляторов чрезмерный разряд может стать причиной выхода из строя.

Химический состав аккумуляторной батареи – один из ключевых факторов, который необходимо учитывать как при создании алгоритмов оценки состояния заряда, так и при разработке BMS в целом. К наиболее распространенным типам аккумуляторов относятся:

  • Литий-ионные (LiCoO2, LiMn2O4, LiNiMnCoO2, LiFePO4)
  • Никелевые (NiCd, NiMH)
  • Свинцово-кислотные (герметизированные батареи, аккумуляторы с клапанным регулированием(VRLA))

Свинцово-кислотные аккумуляторы проще других в использовании. Их физические параметры, такие как напряжение и емкость заряда/разряда, находятся в прямой зависимости. Так что характеристики свинцово-кислотного аккумулятора проще рассчитать с помощью паспортов производителя и формул.

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

Разрядные кривые для напряжения разомкнутой цепи (OCV) и напряжения замкнутого контура (CCV) будут различными. В случае замкнутой цепи (CCV) нагрузка подключена, а на разрядную кривую также будет влиять ток батареи.

Напряжение разомкнутой цепи (OCV) дает более линейную разрядную кривую. Способ оценки SoC батареи при разомкнутой цепи будет самым простым, так как токовая нагрузка отключается и можно измерить только напряжение аккумулятора.

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

В литий-ионных аккумуляторах характеристики заряда/разряда не имеют четкой зависимости от напряжения. Более того, при некоторых температурных значениях нельзя определить уровень заряда аккумулятора по напряжению. Оценка SoC для такого типа батареи требует построения более сложной математической модели и алгоритма.
Графики кривых разрядки свинцово-кислотных и литий-ионных батарей.
Разрядные кривые свинцово-кислотных и литий-ионных аккумуляторов.
Еще один метод оценки состояния заряда (SoC) – подсчет кулонов или интеграция тока. Он сложнее метода разрядной кривой, но обеспечивает точное измерение электрического заряда, который соотносится с емкостью аккумулятора. Идея метода заключается в отслеживании заряда с помощью интегрирования мгновенных значений тока, выдаваемого батареей при использовании.
В отличие от метода OCV, этот метод позволяет определить изменение состояния заряда во время использования батареи. Для точного измерения не требуется, чтобы батарея находилась в состоянии покоя.

Метод кулоновского подсчета показывает относительное изменение SoC. Измерив ток за заданный период, можно узнать оставшееся у аккумулятора или полученное им количество ампер-часов.

Можно использовать подсчет кулонов вместе с фильтром Калмана, который для реализации алгоритмов BMS использует моделирование в реальном времени. Такой подход повысит точность отслеживания изменений параметров батареи и расчетов ее производных. Фильтр Калмана учитывает физические модели процессов, протекающих в системе в реальном времени.

Оценка уровня работоспособности

Показатель работоспособности (SoH) батареи служит для оценки уровня ее износа и учитывает емкость, внутреннее сопротивление, возраст и другие параметры батареи.

Новая батарея имеет SoH на уровне 100%. По мере износа аккумулятора уровень SoH снижается. SoH показывает текущее состояние батареи и помогает рассчитать время ее замены.

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

Оценить SoH можно путем расчета циклов зарядки/разрядки. Метод прост, так как не требует сложных алгоритмов проверки состояния BMS. Кроме того, производители аккумуляторов указывают в паспорте гарантированное минимальное количество циклов заряда/разряда. Для более точных результатов этот метод можно совместить с подсчетом кулонов.

Емкость – один из важнейших критериев оценки состояния батареи. Емкость уменьшается по мере старения и деградации аккумулятора. Поэтому можно оценить SoH аккумулятора по потере его емкости. Метод подсчета кулонов поможет рассчитать начальную и текущую емкость аккумулятора, а также скорость ее снижения.

Чем больше методов используется, тем точнее будет оценка SoH. В дополнение к расчету циклов и подсчету кулонов, можно измерить внутреннее сопротивление батареи. Для этого нужно сравнить измерения параметров батареи при подключенной и отключенной токовой нагрузке. Метод более сложный, но он поможет получить четкое представление о состоянии аккумулятора.

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

Оценка уровня оставшейся энергии и уровня мощности

Уровень оставшейся энергии (SoE) – это отношение энергии, оставшейся в батарее, к максимальной энергии, которую батарея может хранить.

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

Для оценки SoE учитывается полный цикл зарядки/разрядки аккумулятора. Посчитать SoE можно, рассчитав оставшуюся и максимальную энергию аккумулятора.

Оставшаяся энергия представляет собой разницу между энергией, потребленной во время предыдущего и текущего циклов зарядки/разрядки. Максимальная энергия – это энергия, доступная для текущего уровня SoH батареи при максимальном уровне зарядки.
Уровень мощности (SoP) показывает максимальную мощность аккумулятора, доступную для определенной операции в определенное время. Данный параметр зависит от уровня разряда батареи, рабочего напряжения и температуры.

Оценка SoP может быть довольно простым делом – нужно измерить рабочее напряжение и умножить его на максимальный ток разряда, который является номинальным значением и указан в паспорте аккумулятора.
Однако по мере деградации аккумулятора номинальное значение тока меняется. Приведенные выше формулы не учитывают внутреннее сопротивление и самонагрев батареи, что может привести к потере мощности и энергии. Нужно учитывать эти допущения при оценке SoE и SoP.

Чтобы добиться отличных результатов при проектировании системы управления батареями, можно сделать оценку SoP, измерив максимальный выходной ток батареи через внутреннее сопротивление. Такой метод обеспечивает более точные результаты.

Как сбалансировать ячейки в аккумуляторной батарее

Аккумуляторный блок содержит несколько ячеек, которые могут иметь разные параметры и состояния, включая SoC, SoH, SoE и SoP. Разница в состоянии ячеек отрицательно влияет на общую производительность батареи и не позволяет ей работать на полную мощность.

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

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

Балансировка ячеек осуществляется на аппаратном уровне с помощью зарядного устройства и измерительного блока. Один из способов снизить напряжение во время зарядки элемента – подключить балансировочную нагрузку, обеспечить которую могут балансировочные резисторы в схеме BMS. За мониторинг и управление процессом отвечает специальное программное обеспечение.
Схематичное изображение процесса балансировки ячеек.
Балансировка ячеек.
На рисунке, приведенном выше, показан аккумуляторный блок из трех ячеек с номинальным напряжением 4 В каждая. Входное напряжение для зарядки аккумулятора составляет 12 В. В момент зарядки первая ячейка имеет напряжение 4 В, вторая – 3,7 В, третья – 3,5 В. Чтобы сбалансировать ячейки, нужно заряжать их так, чтобы в каждой ячейке напряжение достигло 4 В.

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

Принципы BMS мониторинга

Параметры SoC, SoH, SoE и SoP основаны на измерениях одних и тех же параметров, но имеют разные цели и подходы, в комплексе обеспечивая полное представление о состоянии батареи. Не все виды оценок отражают критичные для работы системы моменты, следовательно, не все они должны обязательно применяться в конкретной системе управления аккумуляторными батареями. Проектирование программного обеспечения BMS полностью зависит от функций, которые она должна выполнять.

Основной целью любой BMS является мониторинг ключевых параметров, необходимых для долгой и безопасной эксплуатации батареи. Каждая батарея имеет свою собственную безопасную рабочую среду. Иными словами, она должна работать в заданных условиях с определенным диапазоном напряжения, тока и температуры.

Работа аккумулятора в условиях выше или ниже установленных пределов чревата такими последствиями, как:

  • Перенапряжение
  • Пониженное напряжение
  • Перегрузка по току
  • Перегрев

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

На нижнем уровне микроконтроллер обрабатывает входные значения от датчиков и аналого-цифрового преобразователя (АЦП) и, используя алгоритмы фильтрации, убирает шумы или колебания.

Микроконтроллер отправляет отфильтрованные данные на верхний уровень – HMI панель управления BMS.

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

Дизайн и сложность ПО для мониторинга состояния системы зависит от сложности BMS. Масштабные системы требуют более сложных реализаций, а небольшим BMS может вообще не требоваться HMI-интерфейс.

Высокоуровневое ПО для BMS можно написать, используя кроссплатформенные инструменты, например, фреймворк Qt, который обеспечивает быструю и эффективную разработку.

Внедряя BMS для сложного промышленного решения, наши разработчики с помощью Qt создали интуитивно понятную полнофункциональную HMI-панель управления, которая отображает информацию о каждом аккумуляторном блоке, низкоуровневых элементах и ячейках аккумулятора. Разработанная нами панель HMI позволяет пользователю:

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

HMI-приложение, скриншот которого приведен ниже, отображает характеристики всех аккумуляторных блоков и позволяет пользователям контролировать напряжение, ток, температуру, уровень заряда SoC, уровень исправности SoH и своевременно реагировать на аварийные ситуации.
Скриншот экрана приборной панели промышленной системы управления аккумуляторами. Разработка КЕДР Solutions.
Снимок экрана HMI-приложения для промышленной BMS, разработанной КЕДР Solutions.

Заключение

Система управления аккумулятором – важнейший элемент энергетической безопасности. BMS контролирует состояние батареи, защищает ее от опасностей, обеспечивая эффективную и долговременную работу аккумулятора и устройства, которое она питает.

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

Алгоритмы строятся на математических моделях и формулах и могут выполнять простые расчеты, используя спецификации и таблицы данных. Чем больше функций у BMS и чем больше характеристик она контролирует, тем сложнее ее алгоритмы.

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

Основная цель алгоритмов BMS – обеспечить высокую точность измерений и оценки состояний батареи, что, в свою очередь, гарантирует безопасность аккумулятора и надежность всей системы.
Другие статьи