Приложение для симуляции ПИД-регулятора с продвинутым термическим моделированием.
PIDSimulations - это desktop-приложение на PyQt6, предназначенное для моделирования и анализа поведения ПИД-регулятора в системах температурного контроля. Приложение позволяет настраивать параметры регулятора и симуляции, визуализировать результаты в реальном времени. Изменяя параметр инерции системы и скорости нагрева можно моделировать поведение разных систем и влияние коэффициентов регулирования на управляющее воздействие.
- Настройка коэффициентов ПИД-регулятора (Kp, Ki, Kd)
- Задание параметров симуляции (начальная температура, уставка, скорость нагрева)
- Учет тепловой инерции системы
- Визуализация процесса в реальном времени
- Интерактивные графики с возможностью масштабирования
- Удобный пользовательский интерфейс
ПИД-регулятор (пропорционально-интегрально-дифференциальный регулятор) описывается следующим уравнением:
где:
- u(t) — выходная величина регулятора;
- e(t) = r(t) - y(t) — ошибка, разница между уставкой r(t) и фактическим значением y(t);
- Kp — пропорциональный коэффициент;
- Ki — интегральный коэффициент;
- Kd — дифференциальный коэффициент.
Каждая из составляющих выполняет свою функцию:
- Пропорциональная часть: реагирует на текущую ошибку.
- Интегральная часть: компенсирует накопленные ошибки.
- Дифференциальная часть: учитывает скорость изменения ошибки, предотвращая перерегулирование.
- Запустите приложение.
- Установите коэффициенты ПИД-регулятора.
- Задайте параметры симуляции.
- Нажмите "Провести симуляцию".
- Наблюдайте за результатами на графике.
- Windows 10 или новее
- 4 GB RAM
- 100 MB свободного места на диске
- Скачайте последнюю версию приложения из раздела Releases.
- Распакуйте архив в удобное место.
- Запустите
pid-sim.exe
.
- Python 3.8 или новее
- PyQt6 6.7.1
- numpy
- matplotlib
poetry install
poetry run pid-sim
poetry run pyinstaller --name=pid-sim --onefile --windowed --add-data "src/*;src" --hidden-import PyQt6.QtCore --hidden-import PyQt6.QtGui --hidden-import PyQt6.QtWidgets --hidden-import numpy --hidden-import matplotlib --hidden-import core --hidden-import gui src/gui/main.py
MIT License