Модель системы автоматического регулирования давления (САРД)

Автор
avatar-mikhailpetrovmikhailpetrov
Notebook

Модель системы автоматического регулирования давления (САРД) в кабине самолёта

Система автоматического регулирования давления (САРД) в кабине самолёта предназначена для поддержания безопасного давления внутри кабины на разных этапах полёта (взлёт, крейсерский полёт, посадка).

Схема модели:

pressure_control_system_in_aircraft_1743418578183.png

Физическая часть системы

Блок СКВ – имитирует подачу воздуха из системы кондиционирования с постоянным давлением и температурой.

Блок Сопротивление трубопровода (2 блока) – моделирует потери давления в воздушных магистралях.

Блок Объём кабины – динамическая модель кабины, где давление изменяется в зависимости от нагнетания/сброса воздуха.

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

Система управления

Система управления в модели состоит из блоков красного цвета, в их число входят:

  • задатчик давления в кабине в барах - переводит высоту в метрах в давление на этой же высоте, по закону: $P = (1 \cdot 10^{-5}) \cdot 101325 \cdot \left(1 - 0.003 \cdot u \cdot 0.3048 / 288.15\right)^{9.80665 / (0.0065 \cdot 287.05287)},$ где $u$ — высота
  • сумматор - вычисляет сигнал рассогласования между задатчиком и измеренным значением,
  • ПИД-регулятор,
  • блок запаздывания,
  • блок перевода из Па в бар.

Внешние условия

Внешние условия определяются синими блоками. Допущение: температура постоянная. Давление определяется блоком Перевод из высоты в давление на высоте по закону: $P = (1 \cdot 10^{-5}) \cdot 101325 \cdot \left(1 - 0.003 \cdot u \cdot 0.3048 / 288.15\right)^{9.80665 / (0.0065 \cdot 287.05287)},$ где $u$ — высота.

План полёта

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

На вход блока План полёта подаётся модельное время, выходным сигналом блока является значение высоты в метрах.

Определение функции для загрузки и запуска модели:

In [ ]:
function start_model_engee()
    try
        engee.close("pressure_control_system_in_aircraft", force=true) # закрытие модели 
        catch err # в случае, если нет модели, которую нужно закрыть и engee.close() не выполняется, то будет выполнена её загрузка после catch
            m = engee.load("$(@__DIR__)/pressure_control_system_in_aircraft.engee") # загрузка модели
        end;

    try
        engee.run(m, verbose=true) # запуск модели
        catch err # в случае, если модель не загружена и engee.run() не выполняется, то будут выполнены две нижние строки после catch
            m = engee.load("$(@__DIR__)/pressure_control_system_in_aircraft.engee") # загрузка модели
            engee.run(m, verbose=true) # запуск модели
        end
end
Out[0]:
start_model_engee (generic function with 1 method)

Запуск симуляции

In [ ]:
start_model_engee();
Building...
Progress 0%
Progress 5%
Progress 10%
Progress 15%
Progress 21%
Progress 26%
Progress 32%
Progress 37%
Progress 42%
Progress 47%
Progress 53%
Progress 58%
Progress 63%
Progress 68%
Progress 74%
Progress 79%
Progress 84%
Progress 90%
Progress 95%
Progress 100%
Progress 100%

Запись данных симуляции в переменные:

In [ ]:
t = simout["pressure_control_system_in_aircraft/Задатчик давления в кабине в барах"].time[:]
control_pressure = simout["pressure_control_system_in_aircraft/Задатчик давления в кабине в барах"].value[:]
cabin_pressure_bar = simout["pressure_control_system_in_aircraft/Давление в кабине в барах"].value[:]
altitude = simout["pressure_control_system_in_aircraft/Высота в метрах"].value[:]
external_pressure = simout["pressure_control_system_in_aircraft/Давление на высоте, в Па"].value[:]
cabin_pressure_pa = simout["pressure_control_system_in_aircraft/Датчик давления в кабине, Па.1"].value[:];

Визуализация данных

In [ ]:
using Plots

План полёта включает в себя 5 этапов:

  1. Стоянка на земле (1355 секунд).
  2. Взлёт и набор высоты (500 секунд).
  3. Крейсерский полёт (1200 секунд).
  4. Снижение и посадка (400 секунд).
  5. Стоянка после полёта (1531 секунда).
In [ ]:
plot(t, altitude, linewidth=2, xlabel="Время, с", ylabel="Высота, м", title="План полёта", legend=false)
Out[0]:

В соответствии с изменением высоты полёта меняется внешнее давление, а также давление в кабине по закону регулирования:

In [ ]:
plot(t, external_pressure, linewidth=2, label="Давление на высоте полёта")
plot!(t, cabin_pressure_pa, linewidth=2, label="Давление в кабине", xlabel="Время, с", ylabel="Давление, Па", legend=:bottomright)
Out[0]:

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

График заданного и измеренного давления в кабине:

In [ ]:
plot(t, control_pressure, linewidth=2, label="Заданное давление в кабине")
plot!(t, cabin_pressure_bar, linewidth=2, label="Измеренное давление в кабине", xlabel="Время, с", ylabel="Давление, бар", legend=:bottomright)
Out[0]:

Выводы:

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