Выбор структуры начинается с задачи
Пропорциональный регулятор P немедленно меняет команду вслед за ошибкой. Интегральная составляющая I накапливает ошибку и позволяет устранять постоянное отклонение в устойчивом контуре, если исполнительного ресурса достаточно. Дифференциальная составляющая D реагирует на скорость изменения сигнала, но усиливает высокочастотный шум. Поэтому выбор PID вместо PI не означает автоматического улучшения качества: польза производной зависит от динамики, измерения и задержек.
В параллельной непрерывной форме идеальная команда записывается u = u₀ + Kp e + Ki∫e dt + Kd de/dt. Смещение u₀ задаёт рабочую точку, а начальное значение интеграла учитывают отдельно. Если ошибка измеряется в °C, команда в процентах открытия, время в секундах, единицы Kp — %/°C, Ki — %/(°C·с), Kd — %·с/°C. Процент команды здесь означает процентный пункт шкалы привода, а не относительное изменение уже имеющегося открытия.
Формы и ограничения
| Структура | Форма C(s) | Практическая особенность |
|---|---|---|
| P | Kp | Не гарантирует нулевую статическую ошибку |
| PI | Kp + Ki/s | Интегратор требует защиты при насыщении |
| PID с фильтром | Kp + Ki/s + Kd s/(Tf s + 1) | Tf > 0 ограничивает усиление производной |
Таблицу можно прокручивать по горизонтали →
В стандартной идеальной форме C(s) = Kp[1 + 1/(Ti s) + Td s]. Для совпадения с параллельной формой Ki = Kp/Ti и Kd = KpTd. Ti и Td — времена, поэтому численно переносить их в поля Ki и Kd нельзя. При фильтрации сравнивают также точную формулу фильтра: параметры Tf и коэффициент N могут определяться по-разному. Настройки проверяют по документации конкретного регулятора.
Условный расчёт одного шага PI
Пусть Kp = 2 %/°C, Ki = 0,1 %/(°C·с), ошибка текущего отсчёта e = 3 °C, период Δt = 1 с. Интегральное состояние I, выраженное в процентах команды, до шага равно 35%, смещение u₀ = 0. При прямоугольном интегрировании текущей ошибки Inew = 35 + 0,1·3·1 = 35,3%. Неограниченная команда равна 2·3 + 35,3 = 41,3%. Если допустимый верхний предел привода в этом режиме 40%, фактическая команда составляет 40%, разность фактической и расчётной команд — −1,3 процентного пункта.
При условном интегрировании приращение, углубляющее насыщение, можно не принимать: тогда I остаётся 35%, расчётная команда — 41%, фактическая — 40%. Это пример конкретного правила, а не единственный алгоритм anti-windup. Обратный расчёт использует разность ограниченной и неограниченной команд в динамике интегратора. Если ограничение возникает дальше по цепочке, регулятору может требоваться отслеживание фактического воздействия, а не только собственного ограничителя.
Производная и перенос в контроллер
Для тех же Kp и Ki стандартное Ti равно 20 с. Если Td = 0,5 с, Kd = 1 %·с/°C. При Tf = 0,1 с высокочастотное усиление одной D-ветви стремится к Kd/Tf = 10 %/°C, тогда как идеальная производная имеет неограниченное усиление. Фильтр уменьшает проблему шума, но добавляет динамику и должен входить в расчёт петли.
Производная по измерению помогает избежать выброса команды при скачке задания; для неё D-ветвь действует на −y, а не на всю ошибку. Интегратор согласуют при переключении ручного и автоматического режима, чтобы избежать скачка команды. Дискретную реализацию проверяют с выбранным методом интегрирования, временем выборки и задержкой вычисления. Настройка должна учитывать диапазон объекта, насыщение и качество измерения; универсальные коэффициенты без модели и условий опыта здесь неприменимы.
Первичные источники
- MathWorks: pid — Параллельная форма и фильтрация производной.
- MathWorks: Anti-Windup Control Using PID Controller Block — Условное интегрирование, обратный расчёт и отслеживание.
