EdigE
← ЛЕНТА

Табличная PID-модель показывает ошибку P-контура на числах

Hackaday опубликовал учебную Google-таблицу для дискретного PID-регулятора и объекта первого порядка. В исходной конфигурации заданы Kp=4, Ki=0, Kd=0, период расчёта dt=0.1 с, коэффициент передачи объекта Kprocess=1, постоянная времени τ=2 с и уставка 20. Управляющий сигнал ограничен диапазоном от 0 до 100, расчёт развёрнут на 200 дискретных шагов.

Состояние объекта вычисляется по формуле PV[n]=PV[n−1]+dt/τ×(Kprocess×Output[n−1]+bias+disturbance−PV[n−1]). Это явная схема Эйлера для апериодического звена первого порядка. При PV[0]=0 и Output[0]=80 первый расчётный отсчёт даёт PV[1]=4: за 0.1 с модель проходит 5% расстояния до уровня, задаваемого текущим управляющим воздействием. Формула, начальные условия и результат согласуются между собой.

Таблица удачно раскрывает физический смысл статической ошибки пропорционального регулирования. Для единичного коэффициента объекта в установившемся режиме PV=u, а регулятор формирует u=4×(20−PV). Отсюда получается PV=16. Чтобы объект достиг уставки 20, P-ветви пришлось бы удерживать ошибку 4 единицы и выдавать управляющее воздействие 16. Интегральная составляющая предназначена для накопления этой ошибки и сдвига выхода к нужному уровню.

В модели предусмотрены отдельные столбцы для P, состояния интегратора, I, D, сырого выхода и выхода после ограничения. Есть смещение, возмущение и пользовательские варианты процесса; один из них добавляет второе состояние и дополнительную динамику. Такой формат удобен для проверки знаков в формулах, выбора периода дискретизации и наблюдения за насыщением на временных графиках. Таблица также позволяет вручную менять коэффициенты объекта, постоянные времени и уставку, сразу наблюдая изменение переходного процесса.

Пределы модели становятся заметны при попытке перенести коэффициенты в контроллер нагревателя, привода или силового преобразователя. Выход здесь ограничен, однако интегратор продолжает накапливать ошибку при упоре управляющего сигнала в 0 или 100. Для реальной прошивки требуется anti-windup: блокировка интегрирования, обратный расчёт состояния либо другая логика, согласованная с насыщением исполнительного органа.

D-ветвь вычисляется по ошибке. Скачок уставки поэтому вызывает derivative kick, даже если измеряемая величина ещё не успела измениться. Почтие реализации часто используют производную по PV и фильтр низких частот в D-канале: дифференцирование усиливает шум измерения, а фильтр добавляет фазовое запаздывание. Эти параметры приходится выбирать вместе с частотой цикла управления и полосой привода.

В исходной модели нет измеренной передаточной функции, заданных характеристик АЦП, спектра шума датчика, задержки вычислительного тракта и динамики исполнительного механизма. Транспортное запаздывание можно добавить в пользовательский вариант, но опубликованных результатов для конкретной физической установки нет. Шаг dt меняет динамику явной дискретизации и фазовый запас контура; коэффициенты, полученные на таком упрощённом объекте, требуют повторной настройки после идентификации реального узла.

Таблица остаётся аккуратным учебным инструментом для первых расчётов PID. Она показывает, почему P-регулятор оставляет смещение, как насыщение провоцирует windup и откуда берётся бросок D-сигнала. Дальнейшая инженерная работа начинается с логов реального объекта: ступенчатого отклика, задержки, шума измерения, пределов ШИМ и тока привода.