Визуальное моделирование — это метод создания математических моделей с использованием графических элементов (блок-схем), где каждый блок выполняет определённую операцию, а линии между ними показывают поток данных.
Система собирается из готовых блоков
Подсистемы вкладываются друг в друга
Потоки данных видны визуально
Мгновенная проверка гипотез
Вывод: Для мультидисциплинарных задач визуальное моделирование даёт:
Найдите пример мультидисциплинарной задачи, которая выгоднее решается в визуальном моделировании, чем при "классическом" подходе.
Требования к описанию:
Заполните таблицу сравнения:
| Критерий | Визуальное | Текстовое |
|---|---|---|
| Скорость создания | ||
| Наглядность | ||
| Гибкость | ||
| Порог входа | ||
| Мультидисциплинарность |
Глава_1_Задача_1.engee через файловый браузер.
0.01.
0.1. Скорость падения возрастет до $-9.9$ м/с.
0.5:0.1:1.0. Engee автоматически смоделирует 6 вариантов спуска аппарата и выведет их на общий график.
Увеличьте массу тела до $m = 4$ кг. Как изменится установившаяся скорость? Подтвердите аналитически по формуле $v = -\sqrt{mg/\alpha}$.
Задайте шаг интегрирования $0.5$ с. Зафиксируйте искажение графика и объясните появление численной погрешности.
Сохраните результат в Lesson2_Homework.engee и приложите графики.
Генератор синусоиды и Заглушку. В генераторе укажите угловую частоту $1$ рад/с и шаг дискретизации $0.01$ с.
Математическая функция (режим square) и блок Коэффициент усиления со значением $0.05$.
Настройте генератор на промышленную частоту $\nu = 50$ Гц ($\omega = 2\pi\nu \approx 314.16$ рад/с, $U_m = 311$ В). Установите время симуляции 0.04 с и шаг дискретизации 0.0001 с.
Подайте напряжение через square на нагрузку $R = 100$ Ом (Gain = 0.01). Залогируйте сигнал мощности и найдите его пик.
Сохраните модель под именем Lesson3_Homework.engee. Сравните полученные графики с тем, что собирали на уроке.
Топология соединения блоков осталась прежней (Генератор → Квадратор → Усилитель → Заглушка), но за счет изменения физических параметров система перешла из абстрактной математики в реальный электротехнический расчет:
| Параметр / Свойство | Модель на уроке (Задание 7) | Модель из ДЗ (Электросеть 50 Гц) | Инженерный смысл отличия |
|---|---|---|---|
| Амплитуда ($U_m$) | $1$ В | $311$ В | Пиковое амплитудное значение для действующего сетевого $220$ В ($U_m = 220\sqrt{2}$). |
| Частота ($\omega$) | $1$ рад/с ($T \approx 6.28$ с) | $314.16$ рад/с ($T = 0.02$ с) | Реальная промышленная частота $50$ Гц ($\omega = 2\pi \cdot 50$). Сигнал меняется в сотни раз быстрее. |
| Коэффициент Gain ($k$) | $0.05$ ($R = 20$ Ом) | $0.01$ ($R = 100$ Ом) | Моделирует проводимость нагрузки сопротивлением $100$ Ом ($k = 1/R$). |
| Время расчета ($T_{sim}$) | $10$ с | $0.04$ с | Интервал уменьшен в 250 раз, чтобы детально разглядеть ровно 2 периода сети. |
| Шаг солвера ($dt$) | $0.01$ с | $0.0001$ с | Шаг уменьшен в 100 раз. При старом шаге $0.01$ с на период $0.02$ с пришлось бы всего 2 точки (дискретизация сломала бы синусоиду). |
| Пик сигнала на выходе | $0.05$ Вт | $\approx 967.2$ Вт | Реальная тепловая мощность бытового электронагревателя ($P = 311^2 \cdot 0.01$). |
square возводит сигнал во 2-ю степень. При возведении в квадрат как положительные, так и отрицательные полуволны напряжения дают строго положительный результат ($(-311)^2 = +96721$). С точки зрения физики: ток течет туда и обратно, но тепловой нагрев резистора происходит всегда.Глава_2_Задача_1.engee и запустите симуляцию. Через Меню сигналов активируйте отображение сигналов с выходов Сумматор 1 и Сумматор 2. Убедитесь в подавлении высокочастотных колебаний.
В рабочую область. Переменная workspace_out фиксирует массив отсчетов в оперативной памяти среды Engee для доступа из командной строки.
В CSV-файл, задайте имя results.csv и выполните симуляцию. Сформированный файл содержит структурированные столбцы времени и значений выходного сигнала.
В блоке Задержка установите длину регистра последовательно в 20 и 100 тактов. Зафиксируйте качество фильтрации и форму выходной кривой.
Выгрузите результаты симуляции в Lesson4_Homework.csv. Постройте точечную диаграмму переходного процесса во внешнем табличном процессоре.
Сформулируйте вывод: почему в замкнутых контурах автоматического управления динамическими объектами нельзя беспредельно увеличивать порядок и задержку фильтра?
Шаг интегрирования модели составляет $\Delta t = 0.0005$ с (частота дискретизации $f_d = 2000$ Гц). Период помехи с частотой $f_{шум} = 20$ Гц равен $T_{шум} = \frac{1}{20} = 0.05$ с. Для противофазного подавления требуется сдвиг на половину периода $\tau = 0.025$ с, что соответствует ровно $N = \frac{0.025}{0.0005} = 50$ дискретным тактам.
| Число тактов задержки $N$ | Время задержки $\tau = N \cdot \Delta t$ | Эффективность подавления шума 20 Гц | Влияние на полезный сигнал 1 Гц |
|---|---|---|---|
| $N = 20$ тактов | $0.010$ с | Недостаточная селекция. Сдвиг фазы составляет лишь $72^\circ$ вместо необходимых $180^\circ$. На выходе сохраняется существенная высокочастотная пульсация. | Минимальное динамическое запаздывание контура ($0.01$ с). |
| $N = 50$ тактов (Оптимум) | $0.025$ с | Полное подавление гармоники. Сдвиг фазы составляет строго $180^\circ$ ($\pi$ рад). Амплитуда колебаний 20 Гц падает до нуля. | Фазовый сдвиг полезного сигнала равен $9^\circ$, форма волны сохранена. |
| $N = 100$ тактов | $0.050$ с | Отсутствие фильтрации. Сдвиг фазы составляет $360^\circ$ ($2\pi$ рад). Текущий пик суммируется с предыдущим пиком, амплитуда помехи проходит без ослабления. | Удвоенное запаздывание ($0.05$ с), неприемлемое для быстрых систем. |
В результирующем файле формируется упорядоченная таблица числовых данных временного ряда:
Инженерный критерий: Любое цифровое или аналоговое сглаживание вносит эквивалентную временную задержку (фазовое запаздывание). В замкнутых системах автоматического регулирования внесение задержки в контур обратной связи уменьшает запас устойчивости по фазе. При чрезмерном увеличении задержки регулятор начинает вырабатывать корректирующее воздействие на основе устаревшей информации об объекте, что переводит систему из режима демпфирования в режим незатухающих автоколебаний (потеря динамической устойчивости).
Выберите свой вариант. Соберите функциональную схему с использованием блоков Линейный сигнал (Ramp), Математическая функция (Math Function), Коэффициент усиления (Gain), Сложение (Sum) и Константа (Constant). Настройте время симуляции $T_{sim} = 10$ с.
Расчет энергии тела постоянной массы $m = 4$ кг при равноускоренном движении со скоростью $v(t) = 3t$.
Расчет пройденного пути при замедлении с начальной скоростью $v_0 = 30$ м/с и ускорением торможения $a = 4$ м/с².
Энергия упругой деформации пружины жесткостью $k = 500$ Н/м при линейном сжатии штоком $x(t) = 0.04t$.
Мгновенная тепловая мощность на сопротивлении $R = 8$ Ом при линейном нарастании тока $I(t) = 0.5t$.
Накопление энергии в конденсаторе емкостью $C = 200\text{ мкФ} = 2 \cdot 10^{-4}$ Ф при заряде напряжением $U(t) = 50t$.
Энергия магнитного поля индуктивности дросселя $L = 0.6$ Гн при переходном нарастании тока $I(t) = 2t$.
Плотность теплового излучения нагреваемого тела при температуре $T(t) = 100t$ (коэффициент $\sigma_{red} = 5 \cdot 10^{-8}\text{ Вт/(м}^2\text{К}^4\text{)}$).
Истечение сжатого газа при перепаде давления, линейно нарастающем по времени $\Delta p(t) = 18t$ (при плотности $\rho = 1$ кг/м³).
Лобовое сопротивление скоростного поезда при разгоне $v(t) = 4t$ (при константе миделя $k_{aero} = \frac{1}{2}\rho C_x S = 1.5\text{ кг/м}$).
Ускорение точки ротора радиусом $R = 0.5$ м при раскрутке с угловой скоростью $\omega(t) = 6t$.
Завершите построение модели своего варианта из Задания 3 в среде Engee. Корректно настройте параметры блоков генератора, степеней, усиления и сумматора.
Запустите симуляцию ($T_{sim} = 10$ с). Откройте окно «Графики», включите курсорные измерения (линейку) и определите значение величины в контрольной точке времени.
Сохраните модель с именем Variant_XX.engee. Приложите скриншот схемы и график, подтверждающий совпадение с теоретическим значением.
Сравнение и Переключатель.
Сравнение с нулем (оператор >) преобразует синусоиду $\sin(t)$ в прямоугольный меандр (1 при положительной полуволне, 0 при отрицательной).
Сравнение с константой (оператор >=, порог $0.5$) сужает импульс до интервалов, где $\sin(t) \ge 0.5$.
Логический оператор (AND) объединяет условия: импульс формируется только при одновременной истинности $\sin(t) > 0$ и $\sin(2t) > 0.5$.
Соберите релейный регулятор: если давление $p(t) < 3.0$ бар, насос работает на мощности $5$ кВт, при $p(t) \ge 3.0$ бар — мощность $0$ кВт.
Используйте блок Logical Operator (OR) для аварийного останова линии: сигнал тревоги формируется, если температура $T \ge 90\,^\circ\text{C}$ ИЛИ ток $I \ge 25$ А.
Сохраните схему под именем Lesson6_Homework.engee и объясните работу переключателя с порогом.
Схема модели: задержка синусоиды на 2 шага
Модель с изменённым периодом дискретизации
Уравнение движения автомобиля в дискретной форме:
Где:
Проблема: чтобы вычислить x[k], нужно знать x[k-1]. Но x[k-1] — это результат вычисления на предыдущем шаге. Получается замкнутый круг: выход зависит от своего же предыдущего значения.
Именно для разрыва этого круга и нужен блок Запаздывание на шаг (z⁻¹) — он «запоминает» предыдущее значение.
Рекуррентное уравнение — это уравнение, в котором каждое следующее значение вычисляется через одно или несколько предыдущих.
Примеры:
x[k] = x[k-1] + 5 — каждое значение = предыдущее + 5x[k] = 2·x[k-1] — каждое значение в 2 раза больше предыдущегоx[k] = x[k-1] + x[k-2] — числа ФибоначчиВ нашем случае x[k] = x[k-1] + v·Δt — это рекуррентное уравнение первого порядка (зависит только от одного предыдущего значения).
Ключевая особенность: для запуска рекуррентного уравнения нужно начальное условие — значение, с которого начинается цепочка. В нашем случае это x[0] = 5 м.
Схема модели движения автомобиля с обратной связью
Пусть v = 10 м/с, Δt = 0.25 с, значит v·Δt = 2.5 м (прирост за шаг). Начальное значение x[0] = 5 м.
| Такт k | Вход z⁻¹ (x[k]) | Выход z⁻¹ (x[k-1]) | Константа (v·Δt) | Сложение x[k-1] + 2.5 | Результат x[k] |
|---|---|---|---|---|---|
| k=0 | — (старт) | 5.0 (начальное) | 2.5 | 5.0 + 2.5 = 7.5 | 7.5 |
| k=1 | 7.5 | 7.5 | 2.5 | 7.5 + 2.5 = 10.0 | 10.0 |
| k=2 | 10.0 | 10.0 | 2.5 | 10.0 + 2.5 = 12.5 | 12.5 |
| k=3 | 12.5 | 12.5 | 2.5 | 12.5 + 2.5 = 15.0 | 15.0 |
| k=4 | 15.0 | 15.0 | 2.5 | 15.0 + 2.5 = 17.5 | 17.5 |
| ... | ... | ... | ... | ... | ... |
Ключевой момент: на каждом такте блок z⁻¹ выдаёт значение, которое пришло на его вход на предыдущем такте. То есть это «память на один шаг назад».
Представьте, что вы идёте по дороге и записываете своё положение каждые 0.25 секунды:
x[0]).x[1]).x[2]).Формула x[k] = x[k-1] + v·Δt говорит: «новое положение = предыдущее положение + пройденный путь за шаг».
Блок z⁻¹ — это ваш «блокнот», куда вы записали предыдущее положение. Без него вы не помните, где были, и не можете прибавить пройденный путь.
Обратная связь (провод от выхода Сложения обратно на вход z⁻¹) нужна потому, что:
x[k].x[k-1].x[k-1].Начальное значение блока z⁻¹ = 5 — это и есть x[0], положение автомобиля в момент старта. Без него на первом такте блок задержки выдал бы 0 (или ошибку), и машина «началась бы» из нуля.
Проверка: x[0] = 5, x[1] = 7.5, x[2] = 10.0 → это линия x(t) = 5 + 10·t. При t=0 получаем 5, при t=0.25 — 7.5. Всё сходится с формулой x(t) = x₀ + v·t.
| Параметр | Что меняется | Пример |
|---|---|---|
| v ↑ (скорость) | Наклон линии круче, за то же время машина уедет дальше | v=20 → x(t) = 5 + 20t |
| Δt ↑ (период дискретизации) | Шаги реже, но каждый шаг больше прирост — итоговая линия та же, если v·Δt пересчитать | Δt=0.5 → v·Δt = 5 м за шаг, но шагов в 2 раза меньше |
| v·Δt (константа) | Это и есть прирост за шаг — определяет наклон линии | 2.5 м/шаг → наклон 10 м/с |
| x[0] (начальное значение) | Сдвигает линию вверх/вниз | x[0]=20 → x(t) = 20 + 10t |
v·Δt в константе, то наклон изменится. Если меняете оба (v и Δt) и при этом v·Δt остаётся прежним — линия останется той же. Если меняете v и Δt так, что v·Δt растёт — наклон круче.
Примеры:
v·Δt = 3.75 (было 2.5) → круче.v·Δt = 5 → ещё круче.v·Δt = 2 → чуть положе, но шагов больше.Задание 3 — это «сердце» дискретного моделирования. Любое дискретное рекуррентное уравнение (x[k] = f(x[k-1], ...)) моделируется по одной и той же схеме:
f(x[k-1], ...).Именно так позже будут моделироваться и дифференциальные уравнения (через конечные разности), и ПИ-регулятор (через y_i[k-1]), и фильтры. Так что этот пример — фундамент всего курса.
Инструкция: Используя модель из Задания 3, измените параметры согласно вашему варианту. Для каждого варианта постройте график x(t) и сделайте вывод о влиянии параметра.
v = 15 м/с, Δt = 0.25 с
Начальное: x[0] = 5
v = 10 м/с, Δt = 0.5 с
Начальное: x[0] = 5
v = 20 м/с, Δt = 0.1 с
Начальное: x[0] = 0
v = 5 м/с, Δt = 1.0 с
Начальное: x[0] = 10
v = 25 м/с, Δt = 0.2 с
Начальное: x[0] = 0
v = 8 м/с, Δt = 0.5 с
Начальное: x[0] = 20
v = 12 м/с, Δt = 0.125 с
Начальное: x[0] = 5
v = 30 м/с, Δt = 0.25 с
Начальное: x[0] = 0
v = 3 м/с, Δt = 2.0 с
Начальное: x[0] = 0
v = 18 м/с, Δt = 0.4 с
Начальное: x[0] = 10
Выполните Задания 1-3 на уроке
Выполните свой вариант ДЗ
Оформите отчёт
В дискретной системе (урок 8) сигнал рассматривался только в отдельные моменты времени — «толчками», с шагом Δt.
В непрерывной системе сигнал определён в каждый момент времени. Мы работаем не с последовательностью x[k], а с функцией x(t).
Для непрерывных систем в Engee используется блок Интегратор (обозначается 1/s).
x[k] = x[k-1] + v·Δt — «шаг за шагом»x(t) = ∫v(t)dt — «плавно, каждое мгновение»
Пусть есть функция координаты x(t) — она показывает, где находится тело в момент времени t.
Производная от координаты по времени — это скорость:
Физический смысл производной: это быстрота изменения величины. Геометрически — это тангенс угла наклона касательной к графику функции в данной точке.
Если график x(t) идёт круто вверх — скорость большая. Если полого — маленькая. Если горизонтально — скорость равна нулю.
Если взять производную от скорости, получим ускорение — быстроту изменения скорости:
Ускорение — это тоже «быстрота изменения величины», только теперь величина — это скорость.
Каждое дифференцирование «спускает» нас на одну производную вниз: от координаты к скорости, от скорости к ускорению.
Часто в физике мы знаем ускорение (например, тело свободно падает с a = g), но хотим найти скорость и координату.
Дифференцирование здесь не поможет — нужно идти в обратную сторону. Эта обратная операция называется интегрированием.
Интегратор — это блок, который выполняет операцию интегрирования. Если подать на его вход функцию ускорения — на выходе получим скорость. Если подать скорость — получим координату.
Производная отвечает на вопрос: «как быстро меняется величина?»
Интеграл отвечает на вопрос: «сколько накопилось, если известно, как быстро менялось?»
Это взаимно обратные операции: если продифференцировать интеграл — получим исходную функцию; если проинтегрировать производную — получим исходную функцию (с точностью до начального значения).
В уроке 8 (дискретно) мы прибавляли v·Δt на каждом шаге. Это тоже «накопление», но «толчками».
В уроке 9 (непрерывно) интегратор делает это плавно, как будто шаг Δt бесконечно маленький.
Результат почти тот же, но в непрерывной системе — гладкая кривая без «ступенек».
Схема: линейный сигнал → интегратор
Горячая чашка чая остывает на столе. Скорость охлаждения (то есть быстрота изменения температуры) пропорциональна разнице температур между чаем и комнатой:
Где:
Смысл: чем горячее чай относительно комнаты — тем быстрее он остывает. Когда T = T₀, производная равна нулю — охлаждение прекращается.
Чтобы посчитать скорость охлаждения dT/dt, нужна текущая температура T.
Но T — это то, что мы хотим найти! Получается замкнутый круг: чтобы найти T, нужно знать T.
Решение: используем интегратор и обратную связь. Интегратор «помнит» T, а обратная связь возвращает T на вход, чтобы посчитать скорость.
Интегратор — это «накопитель»: если подать на его вход dT/dt (скорость изменения температуры), на выходе получим саму T(t).
Но чтобы вычислить вход dT/dt = −r·(T − T₀), нужна T — а она есть на выходе интегратора.
Поэтому мы возвращаем выход обратно на вход (обратная связь) и там вычисляем скорость. Круг разрывается: интегратор «держит» текущее значение T, а обратная связь использует его для расчёта следующего шага.
x[k] = x[k-1] + v·Δt, и выход x[k] возвращался на вход через z⁻¹. Здесь то же самое, но в непрерывном виде: выход T возвращается на вход, чтобы посчитать −r·(T − T₀), а потом идёт в интегратор. Принцип тот же: выход → обратная связь → вход.
В Engee типы чисел различаются: 2 — это целое число (Int64), а 2.0 — вещественное (Float64). Блок Интегратор работает только с вещественными числами.
Поэтому во всех полях, где вы вводите числа (константа T₀, начальное значение интегратора, коэффициент усиления), ставьте точку:
300.0, 320.0, 2.0 — правильно300, 320, 2 — ошибка «invalid type got at input port 1. Expected Float64, but got Int64»Если видите такую ошибку — просто добавьте .0 к числу в настройках блока.
Схема: модель охлаждения с обратной связью
На самом деле внутри компьютера всё дискретно: шаг 0.01 с. Но шаг такой маленький, что график выглядит гладким.
На каждом шаге интегратор прибавляет: T_новое = T_старое + скорость · Δt
Где скорость = r·(T₀ − T_старое).
Пусть r = 2.0, T₀ = 300.0, T(0) = 320.0, Δt = 0.5 с (для наглядности — крупный шаг).
| Шаг | T (текущая) | T₀ − T (разница) | Скорость = 2·(T₀−T) | Прирост = скорость·Δt | T (новая) |
|---|---|---|---|---|---|
| 0 | 320.0 | −20.0 | −40.0 | −20.0 | 300.0 |
| 1 | 300.0 | 0.0 | 0.0 | 0.0 | 300.0 |
| 2 | 300.0 | 0.0 | 0.0 | 0.0 | 300.0 |
С шагом 0.1 с (ближе к реальности) картина плавнее:
| Шаг | T (текущая) | T₀ − T | Скорость | Прирост | T (новая) |
|---|---|---|---|---|---|
| 0 | 320.00 | −20.00 | −40.00 | −4.00 | 316.00 |
| 1 | 316.00 | −16.00 | −32.00 | −3.20 | 312.80 |
| 2 | 312.80 | −12.80 | −25.60 | −2.56 | 310.24 |
| 3 | 310.24 | −10.24 | −20.48 | −2.05 | 308.19 |
| 4 | 308.19 | −8.19 | −16.38 | −1.64 | 306.55 |
| ... | ... | ... | ... | ... | → 300 |
Смотрите на таблицу: на каждом шаге мы берём текущую T (выход интегратора), считаем разницу T₀ − T, умножаем на r, и возвращаем результат на вход интегратора.
Без обратной связи интегратор не знал бы, что T изменилась, и не мог бы пересчитать скорость. Обратная связь — это «нервная система» модели: выход сообщает входу, что произошло.
Равноускоренное (равнопеременное) движение — это движение с постоянным ускорением. Например, машина разгоняется с a = 2 м/с².
Мы уже знаем: производная от координаты — это скорость, производная от скорости — ускорение. В обратную сторону — через интегрирование:
Первый интегратор накапливает ускорение → получаем скорость.
Второй интегратор накапливает скорость → получаем координату.
В уроке 8 машина ехала с постоянной скоростью — был один интегратор (накапливали v → получали x).
Здесь машина разгоняется — скорость сама меняется. Значит, нужно два интегратора: сначала a → v, потом v → x.
Собрать универсальную модель равнопеременного движения, в которой параметры a, v₀, x₀ можно быстро менять. Эта модель станет основой для домашнего задания — вы будете менять параметры и снимать графики.
В Engee типы чисел различаются: 2 — это целое число (Int64), а 2.0 — вещественное (Float64). Блок Интегратор работает только с вещественными числами.
Поэтому во всех полях, где вы вводите числа (константа ускорения, начальные значения интеграторов), ставьте точку:
2.0, 0.0, 10.0 — правильно2, 0, 10 — ошибка «invalid type got at input port 1. Expected Float64, but got Int64»Если видите такую ошибку — просто добавьте .0 к числу в настройках блока.
vxv и xv(t) — прямая, x(t) — параболаv и x помогут потом быстро находить их в меню графиков.
Схема: заготовка для экспериментов (логируются v и x)
| Время t, с | Скорость v = a·t, м/с | Координата x = a·t²/2, м |
|---|---|---|
| 0 | 0 | 0 |
| 1 | 2 | 1 |
| 2 | 4 | 4 |
| 3 | 6 | 9 |
| 4 | 8 | 16 |
| 5 | 10 | 25 |
График v(t): прямая линия, растущая от 0 до 10 м/с за 5 с.
График x(t): парабола, растущая от 0 до 25 м за 5 с.
Если вы видите именно это — заготовка работает, можно переходить к ДЗ.
Инструкция: используйте заготовку модели, собранную на уроке. Для своего варианта измените параметры a, v₀, x₀ и время моделирования t_кон. Снимите два графика (v(t) и x(t)) и ответьте на два контрольных вопроса.
| Вар. | a, м/с² | v₀, м/с | x₀, м | t_кон, с | Контрольные вопросы |
|---|---|---|---|---|---|
| 1 | +1.0 | 0.0 | 0.0 | 6.0 | v при t=4 с; x при t=5 с |
| 2 | +2.0 | 2.0 | 0.0 | 5.0 | v при t=3 с; x при t=3 с |
| 3 | +3.0 | 0.0 | 5.0 | 6.0 | v при t=5 с; x при t=4 с |
| 4 | +1.5 | 4.0 | 10.0 | 7.0 | v при t=6 с; x при t=5 с |
| 5 | +2.5 | 1.0 | 0.0 | 5.0 | v при t=3 с; x при t=4 с |
| 6 | −1.0 | 10.0 | 0.0 | 8.0 | v при t=5 с; x при t=6 с |
| 7 | −2.0 | 12.0 | 0.0 | 5.0 | v при t=4 с; x при t=4 с |
| 8 | −1.5 | 10.0 | 20.0 | 6.0 | v при t=4 с; x при t=5 с |
| 9 | −0.5 | 6.0 | 0.0 | 10.0 | v при t=8 с; x при t=8 с |
| 10 | +4.0 | 0.0 | 2.0 | 5.0 | v при t=2 с; x при t=3 с |
В отчёт включите ровно следующее:
a = 2.0, v₀ = 2.0, x₀ = 0.0, t_кон = 5.0v при t=3 → v = 2 + 2·3 = 8 м/сx при t=3 → x = 0 + 2·3 + 2·9/2 = 15 мv(t) (прямая от 2 до 12 м/с), график x(t) (парабола от 0 до 35 м), ответы 8 м/с и 15 м.
| Вар. | Вопрос 1: v(t) | Ответ 1 | Вопрос 2: x(t) | Ответ 2 |
|---|---|---|---|---|
| 1 | v при t=4 | 4 м/с 0 + 1·4 | x при t=5 | 12.5 м 0 + 0 + 1·25/2 |
| 2 | v при t=3 | 8 м/с 2 + 2·3 | x при t=3 | 15 м 0 + 2·3 + 2·9/2 |
| 3 | v при t=5 | 15 м/с 0 + 3·5 | x при t=4 | 29 м 5 + 0 + 3·16/2 |
| 4 | v при t=6 | 13 м/с 4 + 1.5·6 | x при t=5 | 48.75 м 10 + 4·5 + 1.5·25/2 |
| 5 | v при t=3 | 8.5 м/с 1 + 2.5·3 | x при t=4 | 24 м 0 + 1·4 + 2.5·16/2 |
| 6 | v при t=5 | 5 м/с 10 − 1·5 | x при t=6 | 42 м 0 + 10·6 − 1·36/2 |
| 7 | v при t=4 | 4 м/с 12 − 2·4 | x при t=4 | 32 м 0 + 12·4 − 2·16/2 |
| 8 | v при t=4 | 4 м/с 10 − 1.5·4 | x при t=5 | 51.25 м 20 + 10·5 − 1.5·25/2 |
| 9 | v при t=8 | 2 м/с 6 − 0.5·8 | x при t=8 | 32 м 0 + 6·8 − 0.5·64/2 |
| 10 | v при t=2 | 8 м/с 0 + 4·2 | x при t=3 | 20 м 2 + 0 + 4·9/2 |
Проверка «не уходит в ноль»: v(6) для вар. 6 = 4 м/с; v(5) для вар. 7 = 2 м/с; v(6) для вар. 8 = 1 м/с; v(10) для вар. 9 = 1 м/с — все положительны, тело не разворачивается до конца моделирования.
Lesson9_Homework_Variant_N.engeeВ данном разделе рассматривается построение системы автоматического поддержания температуры в помещении. Целью является создание модели, которая поддерживает заданную температуру (например, 22°C) без участия человека.
Любая система автоматического управления (САУ) состоит из трёх основных компонентов:
Структурная схема системы автоматического управления температурой
В рамках данного урока рассматривается первый компонент — объект управления. Необходимо понять, как комната ведёт себя без нагревателя, чтобы в дальнейшем корректно построить систему управления.
В уроке 9 рассматривался закон охлаждения Ньютона: скорость изменения температуры тела пропорциональна разности температур между телом и окружающей средой.
Где T — текущая температура тела; T₀ — температура окружающей среды; r — коэффициент теплоотдачи.
В уроке 9 коэффициент r задавался как абстрактное число. Физически скорость охлаждения зависит от двух факторов: теплопроводности стен и теплоёмкости помещения.
Количество тепла, уходящего через стены за единицу времени, по закону Ньютона — Рихмана:
Где Kстен — коэффициент теплопередачи стен (Вт/К).
В инженерной практике вместо коэффициента теплопередачи K используется тепловое сопротивление R:
Тепловые сопротивления последовательных слоёв стены складываются. Тогда потери тепла:
Теплоёмкость помещения Cкомн = mвозд · cвозд. Скорость изменения температуры:
Полученное уравнение совпадает с законом Ньютона, где r = 1 / (Rстен · Cкомн). Чем больше сопротивление стен и теплоёмкость, тем медленнее остывает комната.
| Параметр | Значение | Физический смысл | Для какого помещения |
|---|---|---|---|
| Rстен | 0.002 (м²·К)/Вт | Тепловое сопротивление стен | Очень тонкие стены с высокой теплопроводностью (учебное допущение) |
| mk | 1470 кг | Масса воздуха | Объём около 1225 м³ (большой зал) |
| ck | 1005.4 Дж/(кг·К) | Удельная теплоёмкость воздуха | Табличная величина |
Значение Rстен занижено для наглядности. В реальных зданиях оно составляет 3.0–3.5 (м²·К)/Вт согласно СНиП 23-02-2003.
Масса воздуха:
Тепловое сопротивление стены:
Значения λ приведены в СП 50.13330.2012.
Перед сборкой модели необходимо определить время моделирования.
Расчёт:
Реальное помещение остывает очень медленно. Для демонстрации используются параметры, подобранные так, чтобы остывание занимало 20–30 секунд.
Для автоматизации расчётов используется скрипт на языке Julia. Скрипт копируется в новую вкладку скрипта Engee (иконка </>), входные данные изменяются под вариант, затем выполняется. Переменные R_sten и m_k автоматически записываются в рабочую область.
Перед сборкой модели все переменные должны быть заданы в командной строке Engee или через скрипт-калькулятор. Иначе при запуске возникнет ошибка UndefVarError.
Ссылка откроется в новой вкладке
T_улица.+ -. К нижнему входу подключить порт T_улица. Верхний вход оставить свободным.1/R_sten. Соединить выход Сложения с входом усилителя.1/(m_k * c_k). Соединить выход первого усилителя с входом второго.22.0. Соединить выход второго усилителя с входом Интегратора.T_комн. Подключить к выходу Интегратора.T_улица подать Константу со значением 15.0.T_комн (нажать на линию → «Записать»).0.0, конец 30.0.T_комн.На графике наблюдается плавная экспоненциальная кривая, убывающая от 22°C до 15°C. Кривая не является прямой линией, поскольку скорость остывания уменьшается по мере приближения температуры к уличной.
Цель: рассчитать параметры реального помещения, проверить их в модели и сравнить аналитический расчёт с результатом моделирования.
Получить вариант помещения из таблицы.
Выполнить расчёт:
Проверить в модели:
| Вар. | Объём V, м³ | Материал стены | Толщина δ, м | λ, Вт/(м·К) | T_нач, °C | T_улица, °C |
|---|---|---|---|---|---|---|
| 1 | 50 | Кирпич | 0.5 | 0.7 | 22 | 15 |
| 2 | 100 | Кирпич + пенопласт | 0.5 + 0.1 | 0.7 + 0.04 | 22 | 10 |
| 3 | 150 | Дерево (сосна) | 0.2 | 0.15 | 20 | 5 |
| 4 | 80 | Кирпич | 0.25 | 0.7 | 20 | −5 |
| 5 | 120 | Дерево + утеплитель | 0.05 + 0.2 | 0.15 + 0.04 | 25 | 0 |
| 6 | 200 | Бетон | 0.3 | 1.7 | 21 | 12 |
| 7 | 300 | Кирпич + 2 слоя утеплителя | 0.5 + 0.1 + 0.1 | 0.7 + 0.04 + 0.04 | 22 | −10 |
| 8 | 500 | Металл (сэндвич) | 0.15 | 0.04 | 18 | −20 |
| 9 | 400 | Пеноблок | 0.4 | 0.3 | 28 | 15 |
| 10 | 250 | Брус (ель) | 0.3 | 0.2 | 24 | −15 |
Отчёт, оформленный по форме (расчёт параметров, скриншоты модели и графика).
Отчёт ведётся в едином документе. Ссылка на шаблон: https://disk.yandex.ru/d/23cDDbo56T3PMA.
К этому уроку необходимо заполнить в отчёте:
Остальные разделы отчёта (теория, введение) уже заполнены в шаблоне — их переписывать не нужно.
Вариант 1 (Кирпич, 0.5 м, V=50 м³):
Ожидаемое время в модели: около 143469 с (при времени моделирования 3τ ≈ 129213 с график покажет выход на 16°C).
Причина расхождения: погрешность численного интегрирования (метод Эйлера с шагом 0.01 с) и округления.
На предыдущем уроке была собрана модель объекта управления — комнаты, которая остывает без внешнего источника тепла. Для поддержания заданной температуры в помещении необходим второй компонент системы — исполнительный механизм (нагреватель).
Нагреватель получает управляющий сигнал от регулятора и преобразует его в тепловую мощность. В рамках данного урока рассматривается физическая модель нагревателя и его взаимодействие с комнатой. Управление пока осуществляется вручную (подачей константы), что позволяет выявить проблему, решаемую на следующем уроке с помощью автоматического регулятора.
Нагреватель представляет собой устройство, имеющее собственную температуру Tнагр (например, спираль или радиатор). Теплоотдача от нагревателя к воздуху в комнате происходит по закону Ньютона — Рихмана: тепловой поток пропорционален разности температур между нагревателем и окружающим воздухом.
У нагревателя существует предельная температура Tмакс — максимальная температура, до которой он может нагреться при полной мощности. Если температура в комнате достигает Tмакс, теплоотдача прекращается.
Согласно закону Ньютона — Рихмана, тепловой поток от нагревателя к комнате:
Где α — коэффициент теплоотдачи (Вт/(м²·К)); S — площадь поверхности нагревателя (м²); Tнагр — температура нагревателя; Tкомн — температура в комнате.
Произведение α · S является конструктивной константой конкретного нагревателя. Обозначим её Kнагр. При условии, что нагреватель работает на полную мощность (его температура равна Tмакс), максимальный тепловой поток составляет:
Нагреватель не всегда работает на полную мощность. Управляющий сигнал U (от 0 до 1) задаёт степень открытия нагревателя. Средняя тепловая мощность пропорциональна U:
| Множитель | Физический смысл | Поведение |
|---|---|---|
| U | Степень открытия нагревателя (0…1) | U = 0 — нагреватель выключен; U = 1 — полная мощность |
| Kнагр | Конструктивная константа (площадь, материал, обдув) | Чем больше, тем мощнее нагреватель при том же U |
| (Tмакс − Tкомн) | Разность температур между нагревателем и комнатой | При Tкомн → Tмакс теплоотдача стремится к нулю |
Для расчёта Qнагр необходима информация о текущей температуре Tкомн. Однако Tкомн является результатом работы всей системы и зависит от Qнагр. Таким образом, возникает замкнутый контур: выход системы (температура) влияет на вход (мощность нагревателя). Разрыв этого контура осуществляется с помощью обратной связи — сигнал с выхода комнаты подаётся на вход нагревателя.
В модели используется абстрактный коэффициент Kнагр. В инженерной практике он определяется как произведение коэффициента теплоотдачи α и площади поверхности S:
Значения α для различных условий (естественная конвекция, принудительный обдув) приведены в справочниках по теплообмену (например, Исаченко В.П. «Теплопередача»). Для естественной конвекции в помещении α ≈ 5–10 Вт/(м²·К).
Перед сборкой модели все переменные должны быть заданы в командной строке Engee. Иначе при запуске возникнет ошибка UndefVarError.
Для расчёта коэффициента Kнагр используется скрипт на языке Julia. Скрипт копируется в новую вкладку скрипта Engee (иконка </>), входные данные изменяются под вариант, затем выполняется. Переменная K_nagr автоматически записывается в рабочую область.
U. Добавить второй Входной порт и переименовать в T_комн.+ -. К верхнему входу подключить Константу со значением T_max (переменная из скрипта). К нижнему входу подключить порт T_комн.K_nagr. Соединить выход Сложения с входом усилителя.U.Q_нагр. Подключить к выходу Умножения.Ссылка откроется в новой вкладке
Перед соединением «Комнаты» и «Нагревателя» в единую модель необходимо оформить каждую из них как подсистему. Это упрощает схему и позволяет использовать компоненты повторно.
Порядок действий:
0.5 (управляющий сигнал U = 0.5).15.0 (температура улицы).0.5 → вход U подсистемы «Нагреватель».Q_нагр (из Нагревателя) → вход Q_нагр (в Комнату).T_комн (из Комнаты) → вход T_комн (в Нагреватель). Это обратная связь.15.0 → вход T_улица (в Комнату).T_комн и Q_нагр.0.0, конец 30.0.T_комн и Q_нагр.Наблюдаемые процессы:
T_комн изменяется от начального значения и выходит на постоянное значение (плато). Температура плато зависит от мощности нагревателя U.Q_нагр в начале работы имеет максимальное значение, затем уменьшается по мере нагрева комнаты.В момент, когда кривая T_комн становится горизонтальной, приход тепла от нагревателя равен потерям тепла через стены. На графике это соответствует равенству Qнагр = Qпотери. Данное состояние называется тепловым балансом.
При фиксированном значении U температура в комнате устанавливается на значении, отличном от желаемого (22°C). Для достижения 22°C необходимо подбирать U вручную. При изменении внешних условий (например, понижении температуры улицы) значение U потребуется изменить. Данная проблема решается введением автоматического регулятора на следующем уроке.
Цель: рассчитать реальный нагреватель, подставить параметры в модель и определить необходимое значение U для поддержания 22°C.
Получить вариант устройства из таблицы.
Подставить Kнагр в модель.
Построить графики:
| Вар. | Устройство | S, м² | α, Вт/(м²·К) | Tмакс, °C | Tулица, °C |
|---|---|---|---|---|---|
| 1 | Масляный радиатор | 0.5 | 8 | 70 | 15 |
| 2 | Конвектор | 0.3 | 10 | 80 | 10 |
| 3 | Тепловентилятор | 0.1 | 25 | 90 | 5 |
| 4 | Тёплый пол | 2.0 | 7 | 35 | 0 |
| 5 | Радиатор отопления | 0.8 | 9 | 75 | −5 |
| 6 | Масляный радиатор | 0.6 | 8 | 70 | −10 |
| 7 | Конвектор | 0.4 | 10 | 85 | 15 |
| 8 | Тепловентилятор | 0.15 | 25 | 95 | 10 |
| 9 | Тёплый пол | 2.5 | 7 | 40 | 5 |
| 10 | Радиатор отопления | 1.0 | 9 | 80 | 0 |
Продолжение заполнения единого отчёта. Ссылка на шаблон: https://disk.yandex.ru/d/23cDDbo56T3PMA.
К этому уроку добавить:
Отчёт, оформленный по форме (расчёт Kнагр, скриншот модели, скриншот графиков, найденное значение U и краткое объяснение).
Вариант 1 (Масляный радиатор):
Вывод: для реальных нагревателей необходимо либо использовать модель комнаты с реалистичными Rстен (0.1–3.0), либо подбирать U с учётом ограничений.
На уроке 11 была собрана модель «Комната + Нагреватель». При ручном управлении (подаче фиксированного сигнала U) температура в помещении устанавливается на значении, отличном от желаемого. Для поддержания ровно 22°C требуется регулятор.
Однако просто поставить регулятор недостаточно. В реальной инженерии часто выясняется, что объект управления не соответствует задаче: нагреватель может быть слишком слабым или слишком мощным. В этом уроке будет показано, как с помощью моделирования выявить такую проблему и скорректировать физические параметры системы.
Реагирует на текущую ошибку. Быстро, но оставляет остаточную ошибку.
Накапливает ошибку, устраняя остаточное отклонение.
| Коэффициент | Слишком большой | Слишком маленький |
|---|---|---|
| Kp | Сильные колебания, неустойчивость | Медленная реакция |
| Ki | Перерегулирование, колебания | Долгое устранение ошибки |
Так как параметры комнаты и нагревателя у всех разные, коэффициенты тоже различаются. Не существует «универсальных» Kp = 0.01 и Ki = 0.01 — это значения из учебника, где используются абстрактные «единичные» параметры. Для нашей модели (после масштабирования времени, см. раздел 3) адекватные диапазоны для всех вариантов выглядят так:
| Диапазон | Kp | Ki |
|---|---|---|
| Малые (медленный выход) | 0.0001 – 0.001 | 0.00001 – 0.0001 |
| Средние (быстрый выход с затухающими колебаниями) | 0.001 – 0.01 | 0.0001 – 0.001 |
| Большие (неустойчивость / колебания) | 0.1 – 1.0 | 0.01 – 0.1 |
Kp = 0.005, Ki = 0.0005. Это середина «среднего» диапазона, при которой большинство вариантов выходит на 22°C с затухающими колебаниями за 10–15 с.
В ДЗ к уроку 10 были рассчитаны параметры реальной комнаты. Время остывания для кирпичной комнаты 50 м³ составило около 40 часов. Если запустить модель с такими параметрами и временем моделирования 30 с, на графике будет только прямая линия.
Для демонстрации работы регулятора за приемлемое время используется масштабирование времени. Физические законы остаются неизменными, но параметры уменьшаются так, чтобы процесс укладывался в 20–30 с.
Постоянная времени комнаты:
Для урока 12 используется уменьшение Rстен и mk в 100 раз:
Тогда τ уменьшается в 104 раз. Для реальной τ ≈ 43000 с модельное τ ≈ 4.3 с. Переходный процесс занимает 20–30 с — идеально для демонстрации.
Скрипт из урока 10 модифицируется добавлением в конец строк масштабирования.
Мощность нагревателя также уменьшается в N раз, чтобы он не перегревал «лёгкую» модельную комнату:
Перед сборкой модели все переменные должны быть заданы в командной строке Engee. Иначе при запуске возникнет ошибка UndefVarError.
T_жел и T_комн.+ -): верхний — T_жел, нижний — T_комн. Это ошибка e[k].Kp, подключить к выходу Сложения.Ki * Ts, подключить к выходу Сложения.Ts = 0.01, начальное 0.0).+ +): верхний — выход Ki*Ts, нижний — выход Запаздывания.+ +): верхний — выход Kp, нижний — выход интегратора.U.Ссылка откроется в новой вкладке
22.0 → T_жел регулятора.T_комн из Комнаты → T_комн регулятора.U регулятора → U Нагревателя.Задать Kp = 0.005, Ki = 0.0005 (середина «среднего» диапазона). Запустить модель (время 0–30 с).
| Сценарий | Что видно на графике | Kp и Ki | Причина |
|---|---|---|---|
| А | Температура падает к уличной, U = 1.0 | Любые | Нагреватель слишком слабый |
| Б | Выход на 22°C с затухающими колебаниями | 0.001–0.01 (средний) | Нагреватель подобран удачно |
| В | Температура перегревается выше 22°C, колебания не затухают | 0.1–1.0 (большой) | Нагреватель слишком мощный или Kp слишком большой |
Чтобы понять, в каком сценарии находится система, можно изменять только Kp (при Ki = 0):
| Kp | Наблюдение | Интерпретация |
|---|---|---|
| 0.0001 | Очень медленный выход | Kp слишком мал |
| 0.001 | Медленный выход, без колебаний | Работает, но не идеально |
| 0.005 | Затухающие колебания, выход на 22°C | Оптимально |
| 0.05 | Сильные колебания | Близко к неустойчивости |
| 0.5 | Незатухающие колебания | Неустойчивость (сценарий В) |
Признак: U = 1.0, температура не достигает 22°C.
Решение: в скрипте нагревателя умножить S на целое число n (например, n = 2 или n = 3). Пересчитать Kнагр_модель. Запустить снова. Повторять, пока не появится выход на 22°C.
Признак: температура резко уходит выше 22°C, колебания не затухают.
Решение: разделить S на целое число n (например, n = 2). Пересчитать Kнагр_модель. Запустить снова. Повторять, пока колебания не станут затухающими.
Признак: температура выходит на 22°C с затухающими колебаниями за 10–15 с.
Действия: зафиксировать найденные Kнагр_модель, Kp, Ki. Перейти к оформлению отчёта.
Цель: подобрать параметры нагревателя и регулятора так, чтобы система выходила на 22°C с затухающими колебаниями.
Взять параметры комнаты из ДЗ к уроку 10 и нагревателя из ДЗ к уроку 11.
Модифицировать скрипты, добавив масштабирование (N = 100).
Собрать модель с ПИ-регулятором.
Определить сценарий (А, Б, В):
Пересчитать Kнагр, повторить запуск.
Зафиксировать итоговые параметры:
| Вар. | Rстен | mk | Tулица, °C | Kнагр | Tмакс, °C |
|---|---|---|---|---|---|
| 1 | 0.714 | 60 | 15 | 1.0 | 70 |
| 2 | 0.857 | 120 | 10 | 1.0 | 80 |
| 3 | 1.333 | 180 | 5 | 0.5 | 90 |
| 4 | 0.357 | 96 | −5 | 5.0 | 40 |
| 5 | 0.0833 | 144 | 0 | 10.0 | 75 |
| 6 | 0.176 | 240 | 12 | 2.0 | 70 |
| 7 | 0.641 | 360 | −10 | 2.0 | 85 |
| 8 | 3.75 | 600 | −20 | 1.0 | 95 |
| 9 | 1.333 | 480 | 15 | 0.5 | 40 |
| 10 | 1.5 | 300 | −15 | 1.5 | 80 |
Продолжение заполнения единого отчёта. Ссылка на шаблон: https://disk.yandex.ru/d/23cDDbo56T3PMA.
К этому уроку добавить:
Шаг 1. Реальные параметры комнаты (из ДЗ урока 10):
Шаг 2. Масштабирование (N = 100):
Шаг 3. Реальные параметры нагревателя (из ДЗ урока 11, вариант 1):
Шаг 4. Масштабирование нагревателя:
Шаг 5. Первый запуск с Kp = 0.005, Ki = 0.0005:
Ожидаемый результат: затухающие колебания с выходом на 22°C за 10–15 с.
В реальной практике регулятор не может компенсировать физические ограничения объекта. Если нагреватель слабее потерь тепла — никакие Kp и Ki не помогут. Нужно менять оборудование (увеличивать площадь радиатора) или уменьшать потери (утеплять стены).
Масштабирование времени — стандартный приём моделирования. Оно позволяет увидеть переходные процессы за приемлемое время, не искажая физику. В отчёте обязательно указывается коэффициент N, чтобы результаты можно было пересчитать в реальное время.
Адекватные диапазоны Kp и Ki зависят от параметров объекта. Универсальных значений нет. В домашнем задании вы найдёте «свои» коэффициенты, которые дают затухающие колебания и выход на 22°C за 10–15 с.
На уроке 12 была собрана система с ПИ-регулятором. При правильно подобранных Kp и Ki температура в комнате выходит на 22°C с затухающими колебаниями. Однако если коэффициенты подобраны неверно (например, слишком большой Kp), система может потерять устойчивость — колебания не будут затухать, а температура начнёт «биться» вокруг заданного значения, не устанавливаясь.
В реальной инженерии такое поведение недопустимо: нестабильный регулятор может привести к порче оборудования, аварии или выходу из строя системы. Поэтому анализ устойчивости — обязательный этап проектирования любой САУ.
В этом уроке:
Ссылка откроется в новой вкладке
Система устойчива, если после внешнего возмущения (например, открыли окно) она возвращается в исходное состояние (температура снова 22°C).
Система неустойчива, если после возмущения она уходит в «разнос» (температура уходит в бесконечность) или в автоколебания (колебания с постоянной или растущей амплитудой).
Для линейных систем устойчивость определяется корнями характеристического уравнения (в терминах передаточной функции). Но для нашей дискретной нелинейной модели проще проверить экспериментально.
| Режим | Что происходит на графике | Устойчивость |
|---|---|---|
| Апериодический (без колебаний) | Плавный выход на 22°C | Устойчива |
| Колебательный затухающий | Несколько колебаний, затем выход на 22°C | Устойчива |
| Автоколебания | Колебания не затухают, амплитуда постоянна или растёт | Неустойчива |
Для линейных систем устойчивость можно проверить по коэффициентам дифференциального уравнения (или передаточной функции) с помощью критерия Гурвица. Например, для системы второго порядка a₂s² + a₁s + a₀ = 0 условие устойчивости: a₁ > 0, a₀ > 0, a₁a₀ > 0.
Однако наша модель:
Поэтому критерий Гурвица в чистом виде не применим. Для дискретных систем есть критерий Джури (аналог Гурвица), а для нелинейных — метод гармонического баланса. В школьном курсе эти методы не изучаются.
«Критерий Гурвица — это математический способ проверить устойчивость, не строя графики. Но для сложных систем (как наша) проще проверить экспериментально: увеличивать Kp, пока не начнутся незатухающие колебания».
Из-за масштабирования времени (N = 100) критическое Kp у каждого варианта своё. Используйте значения из таблицы:
| Вар. | Значения Kp для проверки | Ожидаемое критическое Kp |
|---|---|---|
| 1 | 0.01, 0.1, 0.5, 1.0, 1.5, 2.0 | ~1.2 |
| 2 | 0.1, 1.0, 3.0, 4.0, 5.0 | ~4.3 |
| 3 | 1.0, 5.0, 10.0, 15.0, 20.0 | ~14 |
| 4 | 0.01, 0.1, 0.3, 0.5, 0.7 | ~0.58 |
| 5 | 0.001, 0.01, 0.05, 0.07, 0.1 | ~0.073 |
| 6 | 0.01, 0.1, 0.3, 0.5, 0.7 | ~0.53 |
| 7 | 1.0, 10.0, 20.0, 30.0, 40.0 | ~32 |
| 8 | 100, 1000, 5000, 10000, 15000 | ~10300 |
| 9 | 10, 50, 100, 150, 200 | ~109 |
| 10 | 5, 20, 30, 40, 50 | ~38 |
Для каждого значения Kp из своего списка:
Пример для варианта 1:
| Kp | Ki | Характер графика | Устойчива? |
|---|---|---|---|
| 0.01 | 0 | Плавный выход | Да |
| 0.1 | 0 | Затухающие колебания | Да |
| 0.5 | 0 | Сильные колебания | Да (на грани) |
| 1.0 | 0 | Незатухающие колебания | Нет |
| 1.5 | 0 | Растущие колебания | Нет |
Критическое значение Kp — это значение, при котором колебания перестают затухать. В примере для варианта 1 это между 0.5 и 1.0 (ближе к 1.2).
При большом Kp регулятор слишком сильно реагирует на ошибку. Если температура чуть ниже 22°C, регулятор «открывает кран» на полную. Комната нагревается, но из-за инерции перелетает 22°C. Регулятор тут же «закрывает кран», но комната ещё горячая — температура падает ниже 22°C. И так по кругу, с растущей амплитудой (если Kp слишком большой).
Если водитель слишком резко крутит руль, машину начинает «кидать» из стороны в сторону.
Можно использовать метод половинного деления:
В реальной практике инженеры используют метод Циглера-Николса для нахождения оптимальных коэффициентов регулятора:
Таким образом, эксперимент, который выполняется на уроке, — это начало метода Циглера-Николса, используемого в реальной инженерии.
Цель: найти критическое значение Kp для своего варианта и объяснить, почему система теряет устойчивость.
Для своего варианта задать параметры комнаты и нагревателя (после масштабирования, как в уроке 12).
Последовательно увеличивать Kp из списка для своего варианта.
Заполнить таблицу:
Определить критическое Kp (границу между затухающими и незатухающими колебаниями).
Объяснить своими словами, почему при большом Kp система теряет устойчивость.
| Вар. | Значения Kp для проверки | Ожидаемое критическое Kp |
|---|---|---|
| 1 | 0.01, 0.1, 0.5, 1.0, 1.5, 2.0 | ~1.2 |
| 2 | 0.1, 1.0, 3.0, 4.0, 5.0 | ~4.3 |
| 3 | 1.0, 5.0, 10.0, 15.0, 20.0 | ~14 |
| 4 | 0.01, 0.1, 0.3, 0.5, 0.7 | ~0.58 |
| 5 | 0.001, 0.01, 0.05, 0.07, 0.1 | ~0.073 |
| 6 | 0.01, 0.1, 0.3, 0.5, 0.7 | ~0.53 |
| 7 | 1.0, 10.0, 20.0, 30.0, 40.0 | ~32 |
| 8 | 100, 1000, 5000, 10000, 15000 | ~10300 |
| 9 | 10, 50, 100, 150, 200 | ~109 |
| 10 | 5, 20, 30, 40, 50 | ~38 |
Продолжение заполнения единого отчёта. Ссылка на шаблон: https://disk.yandex.ru/d/23cDDbo56T3PMA.
К этому уроку добавить:
Таблица наблюдений:
| Kp | Характер графика | Устойчива? |
|---|---|---|
| 0.01 | Плавный выход | Да |
| 0.1 | Затухающие колебания | Да |
| 0.5 | Сильные колебания | Да (на грани) |
| 1.0 | Незатухающие колебания | Нет |
| 1.5 | Растущие колебания | Нет |
| 2.0 | Быстрый разнос | Нет |
Критическое Kp: между 0.5 и 1.0 (примерно 1.2).
Объяснение: при большом Kp регулятор слишком резко реагирует на ошибку. Комната не успевает остыть, регулятор «перелетает» целевое значение, и колебания не затухают. Это связано с инерционностью объекта (комната не может мгновенно изменить температуру).
В этом уроке:
Устойчивость — это не абстрактное математическое понятие, а практическое свойство системы. Регулятор с неверно подобранными коэффициентами может не просто «работать плохо», а разрушить систему (перегрев, авария). Моделирование позволяет найти границу устойчивости до того, как система будет построена физически.
Следующий урок: Урок 14. Проект 2: Пикирование сапсана (начало). Переход от тепловых систем к механическим, но с теми же принципами моделирования.
В течение семестра был выполнен проект по разработке системы автоматического поддержания температуры в помещении. В рамках проекта были построены модели комнаты, нагревателя и ПИ-регулятора, проведены эксперименты по исследованию устойчивости системы.
На данном занятии рассматривается порядок оформления итогового отчёта и защиты проекта. Защита предполагает демонстрацию работающей модели в Engee, представление результатов экспериментов и ответы на вопросы по теоретической части.
Итоговый отчёт оформляется в едином документе. Ссылка на шаблон: https://disk.yandex.ru/d/23cDDbo56T3PMA.
Отчёт должен содержать следующие разделы:
| Раздел | Содержание | Заполняется на уроке |
|---|---|---|
| 1. Введение | Цель, задачи, описание системы (уже в шаблоне) | — |
| 2. Теоретическая часть | Формулы и законы (уже в шаблоне) | — |
| 3.1. Параметры комнаты | Таблица V, δ, λ, R_стен, m_k, T_улица, T_нач | 10 |
| 3.2. Параметры нагревателя | Таблица S, α, K_нагр, T_макс | 11 |
| 3.3. Масштабирование времени | Таблица реальных и модельных параметров | 12 |
| 3.4. Подбор параметров регулятора | Таблица: K_p, K_i, сценарий, корректировка | 12 |
| 3.5. Критическое K_p | Таблица: K_p, характер графика, устойчивость | 13 |
| 4.1. График остывания | Скриншот T_комн(t) + вывод | 10 |
| 4.2. График нагрева | Скриншот T_комн и Q_нагр + вывод | 11 |
| 4.3. График ПИ-регулятора | Скриншот T_комн + вывод | 12 |
| 4.4. Графики устойчивости | 3 скриншота (апериодический, затухающие, автоколебания) + вывод | 13 |
| 5. Анализ и выводы | Сравнение расчёта с моделью, корректировки, итоги | 14 |
| Приложения А, Б, В | Коды скриптов-калькуляторов | 10, 11, 12 |
К моменту защиты (8 декабря 2026) должны быть заполнены все разделы отчёта. Разделы 1 и 2 (введение и теория) уже заполнены в шаблоне — их переписывать не нужно.
Оценка выставляется целым числом (5, 4, 3, 2) на основе заполненного отчёта и защиты.
| Оценка | Критерий |
|---|---|
| 5 (отлично) | Все разделы отчёта заполнены. Параметры комнаты и нагревателя рассчитаны верно. Все графики приложены и подписаны. Выводы содержательные, сравнение аналитики с моделью выполнено. Критическое Kp найдено и объяснено. На защите даны верные ответы на все вопросы. |
| 4 (хорошо) | Все разделы заполнены, но есть 1–2 недочёта: неточности в расчётах, не все графики подписаны, выводы краткие, но верные. На защите даны верные ответы с небольшими неточностями. |
| 3 (удовлетворительно) | Заполнены не все разделы (например, отсутствуют графики устойчивости или не заполнена таблица параметров). Выводы поверхностные или отсутствуют. На защите даны ответы только на базовые вопросы. |
| 2 (неудовлетворительно) | Отчёт не сдан или заполнено менее половины разделов. Расчёты не выполнены. Графики отсутствуют. На защите не дано верных ответов на вопросы. |
Ссылка на шаблон отчёта: https://disk.yandex.ru/d/23cDDbo56T3PMA
Защита проекта проходит в форме устного доклада (5–7 минут) с демонстрацией работающей модели в Engee. Структура доклада:
Для подготовки к защите необходимо повторить ключевые темы семестра:
| Тема | Ключевые понятия | Урок |
|---|---|---|
| Дискретные системы | Запаздывание (z⁻¹), рекуррентные уравнения, обратная связь | 8 |
| Непрерывные системы | Интегратор, закон охлаждения Ньютона, ОДУ первого порядка | 9 |
| Физика комнаты | Тепловой баланс, R_стен, m_k, закон Ньютона | 10 |
| Физика нагревателя | Закон Ньютона-Рихмана, K_нагр, T_макс | 11 |
| ПИ-регулятор | Ошибка, пропорциональная и интегральная части, K_p, K_i | 12 |
| Устойчивость | Апериодический режим, затухающие колебания, автоколебания, критическое K_p | 13 |
Цель: завершить заполнение итогового отчёта и подготовить доклад для защиты.
Завершить заполнение отчёта:
Проверить, что все разделы отчёта заполнены:
Подготовить доклад (5–7 минут):
Повторить материал:
Ссылка на шаблон отчёта: https://disk.yandex.ru/d/23cDDbo56T3PMA.
К защите необходимо сдать полностью заполненный отчёт (все разделы 1–5 и приложения А, Б, В).
На защите:
Оценка выставляется целым числом (5, 4, 3, 2) на основе заполненного отчёта и защиты. Подробные критерии — в разделе «Критерии оценки проекта» выше.
В течение семестра были освоены следующие навыки:
Моделирование позволяет выявить проблемы (нехватка мощности нагревателя, неустойчивость регулятора) до того, как система будет построена физически. Это главное преимущество визуального моделирования в инженерии.
Итоговый тест (урок 16) охватывает материал уроков 8–14. Тест состоит из 10 вопросов, каждый оценивается в 1 балл. Максимальный балл — 10. Оценка выставляется по пятибалльной шкале.
На данном занятии рассматриваются примеры вопросов, аналогичных тем, которые будут в итоговом тесте, и проводится повторение ключевых тем.
| Тема | Ключевые понятия | Урок |
|---|---|---|
| Дискретные системы | z⁻¹, рекуррентные уравнения, обратная связь | 8 |
| Непрерывные системы | Интегратор, закон охлаждения Ньютона | 9 |
| Физика комнаты | Тепловой баланс, R_стен, m_k | 10 |
| Физика нагревателя | Закон Ньютона-Рихмана, K_нагр, T_макс | 11 |
| ПИ-регулятор | Ошибка, K_p, K_i, интегральная часть | 12 |
| Устойчивость | Апериодический режим, автоколебания, критическое K_p | 13 |
Итоговый тест (урок 16) состоит из 10 вопросов с выбором одного правильного ответа. Каждый вопрос оценивается в 1 балл. Максимальный балл — 10.
Вопросы охватывают следующие темы:
Рекомендация: повторите конспекты уроков 8–14 и ответьте на вопросы для самопроверки из домашнего задания.
Ответьте на вопросы, используя материал уроков 8–14. Проверьте себя по конспектам.
Цель: повторить материал уроков 8–14 и подготовиться к итоговому тесту.
| Тема | Вопросы для повторения | Урок |
|---|---|---|
| Дискретные системы |
| 8 |
| Непрерывные системы |
| 9 |
| Физика комнаты |
| 10 |
| Физика нагревателя |
| 11 |
| ПИ-регулятор |
| 12 |
| Устойчивость |
| 13 |
| Масштабирование времени |
| 12 |
| Сценарии подбора параметров |
| 12 |
Ответить на вопросы для повторения (из таблицы выше).
Проверить готовность отчёта:
Повторить ключевые формулы:
Обнаружена повторная попытка пересчета или изменения зафиксированных ответов. Результаты аннулированы.
Тест охватывает материал уроков 8–14: дискретные и непрерывные системы, физику комнаты и нагревателя, ПИ-регулятор, устойчивость.
Структура оценки: 10 вопросов, каждый по 1 баллу. Максимальный балл — 10.0.