exponenta event banner

Моделирование синхронизации двигателя с использованием запускаемых подсистем

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

Анализ и физика

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

Эта модель основана на опубликованных результатах Crossley and Cook (1991). В ней описывается моделирование четырехцилиндрового двигателя внутреннего сгорания с искровым зажиганием. Работа Crossley и Cook также показывает, как моделирование, основанное на этой модели, было проверено на основе данных испытаний динамометра. В последующих разделах (перечисленных ниже) анализируются ключевые элементы модели двигателя, которые были определены Crossley и Cook:

  1. Дроссель

  2. Впускной коллектор

  3. Массовый расход

  4. Ход сжатия

  5. Создание крутящего момента и ускорение

  • Примечание.В модель можно добавить дополнительные компоненты для обеспечения большей точности моделирования и более точного воспроизведения поведения системы.

Дроссель

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

  1. эмпирическая функция только угла дроссельной пластины

  2. функция атмосферного давления и давления в коллекторе

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

Уравнение 1

$$\dot{m}_{ai} = f(\theta)\cdot g(P_m) = \mbox{mass flow rate into manifold (g/s)}$$

$$f(\theta) = 2.821 - 0.05231\cdot\theta + 0.10299\cdot\theta^2 - 0.00063\cdot\theta^3$$

$$g(P_m) = 1; \mbox{ if } P_m \le P_{amb}/2 $$

$$g(P_m) = \frac{2}{P_{amb}} \sqrt{P_mP_{amb} - P^2_m}; \mbox{ if } P_{amb}/2 \le P_m \le P_{amb} $$

$$g(P_m) = -\frac{2}{P_m} \sqrt{P_m P_{amb} - P^2_{amb}}; \mbox{ if } P_{amb} \le P_m \le 2P_{amb} $$

$$g(P_m) = -1; \mbox{ if } P_m \ge 2P_{amb} $$

$$\dot{m}_{ai} \rightarrow \mbox{mass flow rate into manifold (g/s); } $$

$$ \theta \rightarrow \mbox{throttle angle (deg);}$$

$$ P_m \rightarrow \mbox{manifold pressure (bar); } $$

$$P_{amb} \rightarrow \mbox{ambient (atmospheric) pressure (bar);}$$

Впускной коллектор

Имитация моделирует впускной коллектор как дифференциальное уравнение для давления в коллекторе. Разница во входном и выходящем массовом расходе представляет собой чистую скорость изменения массы воздуха относительно времени. Эта величина, согласно закону идеального газа, пропорциональна производной по времени давления в коллекторе (см. уравнение 2). Следует отметить, что, в отличие от модели Crossley и Cook (см. также ссылки 3-5), эта модель не включает рециркуляцию выхлопных газов (EGR), хотя ее можно легко добавить.

Уравнение 2

$$\dot{P}_m = \frac{RT}{V_m}\left( \dot{m}_{ai} - \dot{m}_{ao} \right)$$

$$
R \rightarrow \mbox{specific gas constant; }
$$

$$
T \rightarrow \mbox{temperature (K); }
$$

$$
V_m \rightarrow \mbox{manifold volume } (m^3) \mbox{; }
$$

$$
\dot{m}_{ao} \rightarrow \mbox{mass flow rate of air out of the manifold (g/s); }
$$

$$
\dot{P}_m \rightarrow \mbox{rate of change of manifold pressure (bar/s);}
$$

Массовый расход на входе

Массовый расход воздуха, который модель нагнетает в цилиндры из коллектора, описан в уравнении 3 эмпирически полученным уравнением. Этот массовый расход зависит от давления в коллекторе и частоты вращения двигателя.

Уравнение 3

$$
\dot{m}_{ao} = -0.366 + 0.08979\cdot N\cdot P_m - 0.0337\cdot N\cdot P^2_m
+ 0.0001\cdot N^2 \cdot P_m
$$

$$ N \rightarrow \mbox{engine angular speed (rad/s); } $$

$$ P_m \rightarrow \mbox{manifold pressure (bar); } $$

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

Ход сжатия

В рядном четырёхцилиндровом четырёхтактном двигателе 180 градусов вращения коленвала отделяют воспламенение каждого последующего цилиндра. Это приводит к выстрелу каждого цилиндра при каждом другом вращении кривошипа. В этой модели такты впуска, сжатия, сгорания и выпуска происходят одновременно (в любой данный момент времени один цилиндр находится в каждой фазе). Для учета сжатия сгорание каждого впускного заряда задерживается на 180 градусов вращения кривошипа от конца такта впуска.

Создание крутящего момента и ускорение

Последний элемент моделирования описывает крутящий момент, развиваемый двигателем. Для вычисления крутящего момента используется эмпирическая зависимость, зависящая от массы заряда воздуха, соотношения воздух/топливо, опережения зажигания и частоты вращения двигателя (см. уравнение 4).

Уравнение 4

$$
Torque_{eng} = -181.3 + 379.36\cdot m_a + 21.91\cdot \left( \frac{A}{F} \right) -
0.85 \cdot \left( \frac{A}{F} \right)^2 + 0.26\cdot \sigma - 0.0028\cdot \sigma^2 +
$$

$$
+ 0.027 \cdot N - 0.000107 \cdot N^2 + 0.00048 \cdot N \cdot \sigma +
2.55 \cdot \sigma \cdot m_a - 0.05 \cdot \sigma ^2 \cdot m_a
$$

$$ m_a \rightarrow \mbox{mass of air in cylinder for combustion (g); } $$

$$ \left( \frac{A}{F} \right) \rightarrow \mbox{air to fuel ratio; } $$

$$
\sigma \rightarrow \mbox{spark advance (degrees before top - dead - center); }
$$

$$ Torque_{eng} \rightarrow \mbox{torque produced by the engine (Nm); } $$

Расчет углового ускорения двигателя с использованием уравнения 5

Уравнение 5

$$ J \dot{N} = Torque_{eng} - Torque_{load}$$

$$ J \rightarrow \mbox{engine rotational moment of inertia } (kg\cdot m^2) \mbox{; }$$

$$ \dot{N} \rightarrow \mbox{engine angular acceleration } (rad/s^2) \mbox{; }$$

Модель с разомкнутым контуром

Мы включили описанные выше элементы модели в модель двигателя с использованием Simulink. В следующих разделах описываются решения, принятые для этой реализации, и используемые ключевые элементы Simulink. В этом разделе показано, как легко и быстро реализовать сложную нелинейную модель двигателя в среде Simulink. Мы разработали эту модель совместно с Кеном Баттсом, Ford Motor Company ® (2).

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

Выполнение моделирования

Нажмите кнопку «Воспроизведение» на панели инструментов модели для запуска моделирования.

Рис. 1: Верхний уровень модели двигателя и результаты моделирования

  • Примечание.Модель регистрирует релевантные данные в рабочей области MATLAB в структуре с именем sldemo_engine_output. Записанные сигналы имеют синий индикатор. Дополнительные сведения о регистрации сигналов см. в документации Simulink.

Дроссель/манифольд

В модели дважды щелкните подсистему дроссельного и впускного коллектора, чтобы открыть ее. Он содержит две другие подсистемы - «Дроссель» и «Впускной коллектор». Откройте «Дроссель» и «Впускной манифольд», чтобы увидеть их компоненты.

Рис. 2: Подсистемы «Дроссель» и «Впускной манифольд»

Модели симуляторов для подсистем дроссельного и впускного коллекторов показаны на рисунке 2. Дроссельный клапан ведет себя нелинейно и моделируется как подсистема с тремя входами. Simulink реализует отдельные уравнения, приведенные в уравнении 1, как функциональные блоки. Они обеспечивают удобный способ описания нелинейного уравнения нескольких переменных. Блок «Переключатель» определяет, является ли поток звуковым, сравнивая отношение давления с его пороговым значением переключения, которое установлено в одну половину (уравнение 1). В звуковом режиме расход является функцией только положения дросселя. Направление потока от более высокого к более низкому давлению определяется блоком знака. С учетом этого блок «Мин» гарантирует, что отношение давления всегда равно единице или меньше.

Дифференциальное уравнение из уравнения 2 моделирует давление во впускном коллекторе. Функциональный блок Simulink вычисляет массовый расход в цилиндр, функцию давления в коллекторе и частоты вращения двигателя (см. уравнение 3).

Прием и сжатие

Интегратор накапливает массовый расход воздуха в цилиндре в блоке впуска (расположенном внутри подсистемы дросселя и манифольда). Блок «газораспределения» выдает импульсы, которые соответствуют конкретным позициям вращения для управления синхронизацией впуска и сжатия. События клапана происходят при каждом вращении кулачка или при каждом повороте коленчатого вала на 180 градусов. Каждое событие инициирует одно выполнение подсистемы «Сжатие». Выходной сигнал триггерного блока в подсистеме «Сжатие» затем подается обратно для сброса интегратора впуска. Таким образом, хотя оба триггера концептуально происходят в один и тот же момент времени, выход интегратора обрабатывается блоком «Сжатие» непосредственно перед сбросом. Функционально подсистема «Сжатие» использует блок «Единичная задержка» для вставки 180 градусов (один период события) задержки между приемом и сгоранием каждого заряда воздуха.

Рассмотрим полный четырехтактный цикл для одного цилиндра. Во время такта впуска блок впуска интегрирует массовый расход из коллектора. После 180 градусов вращения кривошипа впускной клапан закрывается, и блок «Unit Delay» в подсистеме «Compression» производит выборку состояния интегратора. Это значение, суммарный массовый заряд, доступно на выходе подсистемы «Сжатие» на 180 градусов позже для использования при сгорании. Во время хода сгорания кривошип ускоряется из-за создаваемого крутящего момента. Конечный 180 градусов, ход выпуска, заканчивается сбросом интегратора впуска, подготовленного для следующего полного цикла 720 градусов этого конкретного цилиндра.

Для четырех цилиндров мы могли бы использовать четыре блока «Впуска», четыре подсистемы «Сжатия» и т.д., но каждая была бы бездействующей 75% времени. Мы сделали реализацию более эффективной, выполнив задачи всех четырех цилиндров с одним набором блоков. Это возможно, потому что на уровне детализации, который мы смоделировали, каждая функция применяется только к одному цилиндру за раз.

Сгорание

Крутящий момент двигателя зависит от четырех переменных. Модель использует блок «Mux» для объединения этих переменных в вектор, который обеспечивает ввод в блок «Torque Gen». Функциональный блок вычисляет крутящий момент двигателя (описанный эмпирически в уравнении 4). В подсистеме Engine Dynamics вычитается крутящий момент, который загружает двигатель, вычисляемый по пошаговым функциям в блоке Крутящий момент перетаскивания. Разность, деленная на инерцию, дает ускорение, которое интегрируется для достижения частоты вращения коленчатого вала двигателя.

Печать результатов моделирования

Для моделирования использовались следующие входные данные по умолчанию:

$$Throttle = 8.97\mbox{ (deg) if } t < 5 $$

$$Throttle = 11.93\mbox{ (deg) if } t \ge 5 $$

$$Load = 25 \mbox{ (Nm) if } t \le 2 \mbox{ or } t\ge 8 $$

$$Load = 20 \mbox{ (Nm) if } 2 < t \le 8 $$

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

Рис. 3а: Входные данные моделирования с разомкнутым контуром

Рис. 3b: Результаты моделирования с разомкнутыми контурами

Закрывающая модель

Закройте модель. Очистить сгенерированные данные.

Заключения

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

Ссылки

[1] P.R. Crossley and J.A. Cook, IEEE ® International Conference 'Control 91', Conference Publication 332, vol. 2, pp. 921-925, 25-28 марта 1991 года, Эдинбург, Великобритания.

[2] Модель Simulink. Разработан Кеном Баттсом, Ford Motor Company. Модифицированы Полом Барнардом, Тедом Лиефельдом и Стэном Куинном, MathWorks ®, 1994-7.

[3] Дж. Дж. Москва и Дж. К. Хедрик, «Моделирование автомобильных двигателей для приложения управления в реальном времени», Proc.1987 ACC, стр. 341-346.

[4] Б. К. Пауэлл и Дж. А. Кук, «Нелинейное низкочастотное феноменологическое моделирование и анализ движка», Proc. 1987 ACC, стр. 332-340.

[5] Р. У. Уикс и Дж. Дж. Москва, «Моделирование автомобильных двигателей для управления в реальном времени с использованием Matlab/Simulink», 1995 SAE Intl. Кон. бумага 950417.

Связанные темы