Cоздание системы управления батареей#

 В данном разделе проводится обзор модели системы управления аккумуляторной батареи (АКБ), на английском языке также известной как Battery Management Control system (BMS). В целях удобства исследуемый объект будет упоминаться как система управления батареей (СУБ). Модель СУБ разработана на платформе REPEAT VISION.

BMS

Модель СУБ#

 В данной разделе вы узнаете:

  • Что такое СУБ;

  • Основные функции СУБ;

  • Какие производители используют СУБ;

  • Пример модели СУБ, выполненной в REPEAT VISION;

  • Пример модели аккумулятора с СУБ;

  • Пример СУБ с активной балансировкой ячеек;

  • Почему важен модельно-ориентированный подход в разработке СУБ.

1.  Что такое СУБ#

 Производительность литий-ионных аккумуляторов значительно зависит от температуры, поэтому важно осуществлять работу АКБ в допустимых тепловых пределах.

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

flowchart LR A(Газовая педаль/<br>Gas pedal) --> B("`Система управления/<br>Control system`") B("`Система управления/<br>Control system`") --> C(Тяговый преобразователь/<br>Traction converter) C(Тяговый преобразователь/<br>Traction converter) <--> D(Электродвигатель/<br>Electric motor) D(Электродвигатель/<br>Electric motor) <--> Е("`Механический привод/<br>Mechanical drive`") Е("`Механический привод/<br>Mechanical drive`") <--> D(Электродвигатель/<br>Electric motor) C("`Тяговый преобразователь/<br>Traction converter`") <--> F(Тяговый аккумулятор/<br>Traction battery) F(Тяговый аккумулятор/<br>Traction battery) <--> G(СУБ/<br>BMS) G(__СУБ__/<br>__BMS__) <--> B("`Система управления/<br>Control system`") style G fill:#f9f,stroke:#333,stroke-width:4px

Блок-схема упрощенного электромобиля/Block diagram of a simplified electric vehicle

2.  Какие основные функции СУБ#

 СУБ выполняет ряд функций, способствующих улучшению качества безопасности эксплуатации АКБ:

2.1.  Контроль основных параметров#

 Система производит замер следующих параметров:

  • Напряжение;

  • Ток;

  • Температура;

  • Уровень заряда (State-of-Charge (SOC));

  • Режим работы: заряд, разряд, холостой ход (х.х.).

2.2.  Балансировка ячеек#

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

2.3.  Рекуперация#

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

2.4.  Связь с другими элементами системы#

 Данные, генерируемые СУБ, также передаются в другие части системы, в которой установлен аккумулятор (см. диаграмму выше).

2.5.  Защита от нештатных режимов работы#

 Для предотвращения возникновения неисправностей производится защита АКБ от следующих режимов работы:

  • Перенапряжение/недостаточное напряжение;

  • Превышение/снижение тока допустимого значения;

  • Переохлаждение/перегрев.

3.  Где используется данная технология#

 Данная технология является критически важным для всех производителей устройств, в которых установлен АКБ, т.к. при помощи данной системы управления производители добиваются повышенной надежности, за счет обеспечения безопасности работы, производительности и экономической эффективности. СУБ используются, например, в Tesla S и Nissan Leaf.

4.  Разработка СУБ в REPEAT VISION#

 Первоначальная версия СУБ будет включать себя алгоритмы по определению:

  • Нештатных режимов работы;

  • Режима работы аккумулятора;

  • Падение уровня заряда ниже критической отметки;

  • Температуры АКБ, относительно химических потерь.

 Также в модель СУБ внедрим встроенную нагрузку для проведения тестовых расчетов модели.

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

 При реализации нагрузки установим блок №5 Переключатель, блоки №6 и №62 Константа, блок №1 Генератор прямоугольных импульсов и блок №2 Ограничитель сигнала. При проведении расчетов можно выбрать значение тока нагрузки, тип нагрузки (импульсный или постоянный) и предел допустимых токов.

BMS

Модель нагрузки#

 Наиболее простой частью разработки окажется алгоритм по определению нештатных режимов работы АКБ: блоки №21,23,39,41 сравнения (Больше, Меньше) с допустимыми значениями и блоки №12,43,44 Логическое ИЛИ. При возникновении любого из аварийных режимов на выходе СУБ будет 1.

BMS

Определение нештатного режима работы#

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

 Есть ряд способов по осуществлению данного алгоритма, мы напишем скрипт при помощи блока Jython, в котором язык Python интегрирован в экосистему Java.

 Ниже визуально представлена структура разрабатываемого автомата. Помимо перехода между тремя состояниями (заряд, разряд, холостой режим), также необходимо внедрить условие по времени, т.к. система проверяет состояние с определенным интервалом, например:

\(t_{инт} =0.25 с\)

BMS

Граф автомата состояний#

 В начале скрипта инициализируем класс с тремя состояниями:

class State: #Класс состояний АКБ
    Idle = 0.0 #Холостой ход
    Discharge = 1.0 #Разряд
    Charge = 2.0 #Заряд

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

интервал -1е\(^{-6}\)≤ \(I_{АКБ}\)≤1е\(^{-6}\), разряду \(I_{АКБ}\) >1е\(^{-6}\), заряду \(I_{АКБ}\)<-1е\(^{-6}\)

def CheckState(Ibatt): #Функция по определению состояния относительно тока Ibat
    global state #Переменная состояния
    global time #Переменная времени
    incrTime(in_2 ) #Функция для реализации счетчика времени
    if time < 0.25:
        if in_3 == 0:
            state = State.Idle
        elif in_3 == 1:
            state = State.Discharge
        elif in_3 == 2:
            state = State.Charge
        return state
    else:
        if state == State.Idle:
            if Ibatt <= 1e-6 and Ibatt >= -1e-6:
                state  = State.Idle 
            elif Ibatt > 1e-6:
                state = State.Discharge
            elif Ibatt < -1e-6: 
                state = State.Charge 
        elif state == State.Discharge:
            if Ibatt > 1e-6:
                state  = State.Discharge 
            elif Ibatt <= 1e-6 and Ibatt >= -1e-6:
                state = State.Idle
            elif Ibatt < -1e-6: 
                state = State.Charge 
        elif state == State.Charge:
            if Ibatt < -1e-6:
                state = State.Charge 
            elif Ibatt <= 1e-6 and Ibatt >= -1e-6: 
               state = State.Idle
            elif Ibatt > 1e-6: 
                state = State.Discharge   
        time = 0.0
        return state

out_1 = CheckState(in_1) #Первый выходной порт состояния АКБ
out_2 = ShowTime() #Второй выходной порт счетчика

Скрипт по реализации конечного автомата (При заряде выходное значение = 2, разряде = 1, х.х. = 0)

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

BMS

Ступенчатый ток#

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

BMS

Результаты теста Jython#

 Тепловая модель представлена одной тепловой массой (блок №10), отражающей свойства электродов АКБ. Изменение температуры определяется химическими потерями (блок №8) и эффективностью охлаждения окружающим воздухом (блок №71 иблок №13).

BMS

Модель по определению температуры АКБ#

5.  Разработка модели аккумулятора с СУБ#

 Перед тем как приступить к расчетам еще раз обозначим выходные сигналы СУБ (последовательно сверху-вниз):

  • Ток нагрузки (Load);

  • Режим работы АКБ (State);

  • Нештатный режим работы по току (CurrentFault);

  • Нештатный режим работы по напряжению (VoltageFault);

  • Нештатный режим работы (Fault);

  • Понижение уровня заряда ниже допустимого (SOCdrop);

  • Температура АКБ (TempOut).

BMS

Выходные сигналы СУБ#

 Изучим принцип работы СУБ в модели, состоящей из аккумулятора (блок №2) и источника тока (блок №3), в командный порт которого подается значение сигнала тока нагрузки:

BMS

Тестовая схема модели#

 На входные порты СУБ подключим датчики тока, напряжения, уровня заряда (SOC) и мощности общих тепловых потерь АКБ.

BMS

Входные сигналы СУБ#

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

 Для исследования зависимости температуры АКБ относительно тока нагрузки, запустим серию расчетов с увеличивающимся током нагрузки с 0 до 120 [А].

LoadCurrent

0

0.0

1

30.0

2

60.0

3

90.0

4

120.0

Входные данные для серии расчетов АКБ с СУБ

 Кривые температур представлены ниже.

BMS

Кривые температуры при разных токах нагрузки#

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

 Проведем еще один единичный расчет при токе нагрузки равном 5 [А] и выведем таблицу значений контролируемых параметров (справа-налево: ток нагрузки, состояние АКБ, нештатный режим по току, нештатный режим по напряжению, уровень заряда температура АКБ).

BatteryCurrent

State

CurrentFault

VoltageFault

BatterySOC

TempOut

0.00

0.00

0.00

0.00

0.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

100.00

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

5.00

1.00

0.00

0.00

99.99

20.00

Таблица результатов расчета

 Так как в столбцах по определению нештатных режимов по току, напряжению (VoltageFault и BatterySOC) нули. АКБ работает в допустимых пределах.

 Однако мы рассмотрели работу АКБ со статической нагрузкой. А что, если батарея питает динамичную нагрузку, например, Электропривод (ЭП) электромобиля?

BMS

Блок Электропривод#

 Обновим модель и параметры СУБ.

BMS

Модель АКБ и ЭП#

BMS

Обновленные параметры СУБ#

 Моментная характеристика ЭП представлена ниже, где синяя линия – характеристика нагрузки, а красная – момент электропривода:

BMS

Моментная характеристика ЭП#

 Согласно полученным результатам, ток превышает допустимые значения во время пуска, когда переходит в генераторный режим, а также, когда достигает максимального момента (300 [Н \( \cdot \) м]).

BMS

Таблица результатов расчета#

BMS

График нештатных режимов по току#

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

6.  Разработка СУБ с активной балансировкой ячеек#

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

  1. На основе конденсаторных элементов;

  2. На основе индуктивных элементов;

  3. На основе преобразователей.

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

BMS

Модель трех аккумуляторных ячеек с активной балансировкой#

 Ввиду большого объема данной статьи, полный обзор модели с активной балансировкой будет проведен в следующей главе. На данный момент приведем результаты расчета в модели, в которой в начальный момент времени ячейки обладают разными уровнями заряда (60.01, 60.03, 60.05 % соответственно).

BMS

Уровни заряда батарей перед балансировкой (блоки №14,73,74)#

 Так как разница в зарядах незначительная, СУБ за 0.5 секунд приравнивает их уровни зарядов:

BMS

Уровни заряда батарей после балансировки#

7.  Почему важен модельно-ориентированный подход в разработке СУБ#

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