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

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

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

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

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

  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 состоят из небольших блоков. Следующие абзацы описывают эти меньшие блоки.

Выполнение симуляции

Нажмите кнопку «Play» на панели инструментов модели, чтобы запустить симуляцию.

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

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

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

В модели дважды нажатие кнопки подсистему 'Throttle & Intrake Manifold', чтобы открыть ее. Он содержит две другие подсистемы - 'Throttle' и 'Invake Manifold' подсистемы. Откройте 'Throttle' и 'Intake Manifold', чтобы увидеть их компоненты.

Фигура 2: Подсистемы 'Дроссель' и 'Манифольд всасывания'

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

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

Потребление и сжатие

Интегратор накапливает массовый воздушный поток гидроцилиндра в блоке 'Invake' (расположен внутри подсистемы 'Throttle & Manifold'). Блок 'Клапан Timing' выдает импульсы, которые соответствуют определенным вращательным положениям в порядке, чтобы управлять временем всасывания и сжатия. События клапана происходят каждое вращение кулачка или каждые 180 степени вращения коленчатого вала. Каждое событие инициирует одно выполнение подсистемы 'Compression'. Выход блока триггера в подсистеме 'Compression' затем возвращает назад, чтобы сбросить интегратор всасывания. Таким образом, хотя оба триггера концептуально происходят в один и тот же момент времени, выход интегратора обрабатывается блоком 'Compression' непосредственно перед сбросом. Функционально подсистема 'Compression' использует блок 'Unit Delay', чтобы вставить 180 степени (один период события) задержки между приемом и сгоранием каждого воздушного заряда.

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

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

Сгорание

Крутящий момент Engine является функцией четырех переменных. Модель использует блок 'Mux', чтобы объединить эти переменные в вектор, который предоставляет вход блоку 'Torque Gen'. Функциональный блок вычисляет крутящий момент двигателя (описанный эмпирически в уравнении 4). Крутящий момент, который загружает двигатель, вычисленный по шаговым функциям в блоке Drag Torque, вычитается в подсистеме 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 показывает моделируемую скорость вращения двигателя, команды дросселя, которые управляют симуляцией, и крутящий момент нагрузки, который нарушает его.

Фигура 3a: Входы симуляции без разомкнутого контура

Фигура 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 March, 1991, Edinburgh, U.K.

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

[3] J. J. Moskwa and J. K. Hedrick, «Automotive Engine Modeling for Реальное Время Control Application», Proc.1987 ACC, pp. 341-346.

[4] B. K. Powell and J. A. Cook, «Нелинейное низкочастотное феноменологическое моделирование и анализ Engine», Proc. 1987 ACC, pp. 332-340.

[5] R. W. Weeks and J. J. Moskwa, «Automotive Engine Modeling for Real-Time Control Using Matlab/Simulink», 1995 SAE Intl. Конг. Бумага 950417.

Похожие темы