Практикум на Python

От воспроизведения готового опыта — к самостоятельному исследованию. Для чтения лекций Python не нужен: графики уже встроены в страницы. Для изменения параметров скачайте расчётный комплект.

Скачать Python-примеры ↗

Подготовка окружения

Установите Python 3.11 или новее. Распакуйте архив в отдельную папку, откройте в ней терминал и создайте виртуальное окружение. Оно отделит библиотеки курса от других проектов.

python -m venv .venv
# Windows:
.venv\Scripts\activate
# Linux / macOS:
source .venv/bin/activate
python -m pip install -r requirements.txt
python experiments.py --lesson 1

Для другого урока замените номер от 1 до 10. Команда без параметров пересчитает весь комплект. Результаты сохраняются рядом со скриптом в папке figures в форматах SVG и PNG. SVG удобно вставлять на сайт: он остаётся чётким при увеличении.

Как устроены примеры

В experiments.py находятся единый набор параметров, функция двигателя, расчёт по интервалам и десять функций lesson_01…lesson_10. common.py содержит общие операции, чтобы формулы не расходились между уроками. Каждый эксперимент создаёт два рисунка; некоторые рисунки содержат несколько согласованных панелей.

Файл verify.py выполняет независимые проверки: сравнение RL-цепи с точным решением, проверку равновесия двигателя, интегрального баланса энергии и установившейся ошибки PI-регулятора. Запускайте его после изменения общих формул. Если вы намеренно изменили физическую модель, пересмотрите и эталонные условия проверки.

python experiments.py
python verify.py

Маршрут практических работ

Работа Что изменить Что проверить
1. Постоянная времени τ от 0,1 до 0,5 с Время попадания в полосу 2%
2. Производная Начальную скорость Знак начального ускорения
3. RL-цепь L и R по отдельности Предел тока и длительность перехода
4. Вращение Момент инерции Длительность разгона при том же равновесии
5. Преобразование Скорость и ток Равенство ei и Meω
6. Двигатель J и напряжение Совпадение с аналитическим равновесием
7. Численный метод Шаг Эйлера Сходимость и границу устойчивости
8. Нагрузка Величину скачка Провал скорости и рост тока
9. Торможение Режим напряжения Знаки момента, скорости и мощности
10. Регулятор Kp, Ki и задание Ошибку, насыщение и максимальный ток

Расчёты к урокам 11–15

Скачать advanced-experiments.py: идентификация RL-цепи, точный период ШИМ, настройки каскада, свободные двухмассовые колебания и дискретная устойчивость. Запустите python advanced-experiments.py в окружении с NumPy и SciPy. Примеры выводят контрольные числа в консоль; построение графиков и серии опытов заданы в лабораторных работах уроков.

Шаблон исследовательской записи

Для каждого опыта сохраните цель, уравнения, таблицу параметров, начальные условия, воздействия, настройки решателя и графики. После графиков напишите вывод: что изменилось, почему и какими числами это подтверждается. Не ограничивайтесь фразой «кривая стала быстрее» — укажите показатель и единицу.

Пример хорошего вывода: «При удвоении инерции конечная скорость сохранилась, а время достижения 90% увеличилось. Причина — меньшая производная скорости при том же результирующем моменте». Числа нужно получить из вашего расчёта, а не переносить из другого набора параметров.

Итоговый мини-проект

Создайте модель привода, который поддерживает 60 рад/с и получает скачок нагрузки 0,1 Н·м. Сравните постоянное напряжение, P-управление и PI-управление. Для каждого случая приведите ток, скорость и напряжение на одинаковом интервале. Проверьте, укладывается ли нужное равновесное напряжение в ±12 В.

Добавьте исследование чувствительности: увеличьте сопротивление на 20%, затем отдельно увеличьте инерцию на 50%. Объясните, какие изменения влияют на рабочую точку, какие — на переход, а какие затрагивают оба аспекта. Не изменяйте несколько факторов одновременно до завершения отдельных опытов.

Если что-то не работает

Не найден модуль. Проверьте, что библиотеки установлены тем же Python, которым запускается скрипт. Используйте python -m pip, а не отдельную команду pip из неизвестного окружения.

График выглядит как прямая. Проверьте масштаб времени. Процесс длительностью 10 мс почти не виден на оси 100 с.

Решение расходится. Проверьте единицы, знаки сопротивления и трения. Для Эйлера уменьшите шаг. Для solve_ivp прочитайте sol.message и убедитесь, что sol.success истинно.

После изменения параметров текст и график расходятся. Текст уроков относится к исходному набору. Собственные эксперименты нужно подписывать новым набором параметров и не выдавать их за базовый опыт.

Практика · 10 вопросов

Проверьте понимание

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

1/10 Через одну постоянную времени апериодический отклик проходит примерно…
2/10 Чему равна постоянная времени RL-цепи при L = 0,2 Гн и R = 4 Ом?
3/10 При неизменном результирующем моменте инерцию увеличили вдвое. Ускорение…
4/10 Какова кинетическая энергия при J = 0,2 кг·м² и ω = 10 рад/с?
5/10 При постоянном потоке скорость двигателя постоянного тока растёт. Противо-ЭДС…
6/10 Как проверить влияние шага численного интегрирования?
7/10 Что обеспечивает интегральная часть PI-регулятора в устойчивом режиме без насыщения?
8/10 Какова синхронная скорость при f = 50 Гц и двух парах полюсов?
9/10 Для P = EV·sin(δ)/X при E = 1,2, V = 1 и X = 0,6 максимальная мощность равна…
10/10 В уравнении качаний при Δω = 0 механическая мощность больше электрической. Ротор…

Выберите один ответ для каждого вопроса.

Применить знания в модели генератора →

Лаборатория синхронного генератора

Уроки 16–20: от относительных единиц до переходной устойчивости. Меняйте параметры, сравнивайте графики и сохраняйте расчёт.

Открыть расчётную модель →