Страница 1 из 5 123 ... ПоследняяПоследняя
Показано с 1 по 10 из 46

Тема: Настройка ПИД (PID) регулятора

  1. #1

    По умолчанию Настройка ПИД (PID) регулятора

    Здравствуйте, коллеги!
    В очередной раз хочу поднять вопрос правильной настройки ПИД регулятора. Может быть общими усилиями получится выработать алгоритм быстрой и правильной настройки регулятора.
    Опишу суть вопроса.
    Имеется ПИД регулятор из менеджера компонентов, работающий на контроллере ПР205. ПИД регулятор управляет частотным приводом вентилятора драйкуллера, охлаждающго технологическое оборудование.
    В качестве заданной температуры принято значение +28 гр.С. Датчик температуры установлен сразу после теплообменника охладителя для уменьшения инерции системы.
    Заданы значения Kp=2,0 Ti=4.0 Td=1.1 Пробовал разные значения в интервале от 0,1-10 в разных комбинациях.
    При таких как указано параметрах, работа регулятора выглядит следующим образом.
    Температура растет примерно со скоростью 0,1 град. в 5-7 сек. Как только температура достигает +28,3 град происходит повышение уровня выхода. Плавность зависит от заданных параметров (но сейчас это не важно).
    Температура растет, уровень выхода тоже. Примерно при 30.1 град. уровень выхода достигает 17-20% При этом температура поднимается до 30.5 градусов, при этом мощность вентилятора достаточная, что бы начать понижать температуру и она начинает понижаться. При этом уровень выхода продолжает расти (при понижающейся температуре) и доходит до 25-27%. За счет увеличения мощности вентилятора температура начинает быстро падать, и как только она достигает 27.9 градусов уровень начинает снижаться. При этом инерция системы достаточно для того, что бы температура упала до 23-24 градусов.
    Потом цикл повторяется. Т.е. система постоянно повторяет один и тот же алгоритм, без какого либо дифференциального корректирования.
    Вопрос, что настроено не так, что не позволяет регулятору прогнозировать уровень своего выхода с учетом возможной скорости изменения температуры. Другими словами, при повышении температуры например с 26-до 28 заранее увеличивать уровень выхода и наоборот, если температура явно динамично повышается уменьшать уровень выхода. Насколько я понимаю за это отвечает Дифференциальная составляющая уравнения и нормальный ПИД регулятор это отрабатывает. В настоящий момент какое либо прогнозирование вообще не работает. Хочется добиться регулирования температуры в диапазоне 28+-0,5 градуса с некоторым уровнем выхода ркгулятора. Сейчас просто качели 0-25%
    Как я уже говорил, я пробовал разные значения. И для Td тоже менял их от 0,1 до 10. Но нужного мне эффекта добиться не удалось.
    Прошу помочь разобраться в данном вопросе. Спасибо.

  2. #2

    По умолчанию

    Попробуйте увеличить Kp (до 5 - 10). Ti поставьте 30 - 300 секунд. Td настройте 0, пока не добьетесь стабильной работы (Td в таких системах может нестабильно работать). Если будет продолжать раскачиваться тогда уменьшайте Kp, а Ti оставьте > 100 c.
    Последний раз редактировалось cond33; 14.03.2025 в 01:23.

  3. #3

    По умолчанию

    Td плохо работает с зашумлённым сигналом, требуется сглаживание входного сигнала, чтобы отсутствовали "выбросы".

    Раз система инерционная, то кроме Kp, Ti, Td можно настраивать параметр "время пересчёта выхода регулятора" - для ПИД из компонентов он находится среди свойств макроса и по умолчанию равен 1000 мс - увеличьте его до 5000 мс или даже до 10'000 мс (при этом немного поплывут настройки).

    ПИД как алгоритм плохо работает с инерционными системами. Значение скорости вентилятора поддерживается за счёт интегральной составляющей, а пропорциональная лишь реагирует на отклонения.
    Для инерционного процесса лучше выбирать большое значение Ти.
    При пуске установки можете включать ПИД вентилятора не сразу, а после достижения температурой значения более 25 градусов - чтобы не было накапливания интегральной составляющей при пуске - при самом сильном рассогласовании.

  4. #4

    По умолчанию

    1. Ставлю Kp = 1. Остальное отключаю Ti=0, Td=0. Есть понимание того, что текущая температура должна зафиксироваться на уровне термодинамического равновесия (кол-во приходящего тепла сравняется с количеством уходящего), а это должно произойдет при определенном значении Y > 0. Т.к. Y = (Tуст-Tизм) / Kp, то температура должна зафиксироваться на уровне ниже Tуст. Так вот я сначала подбираю такую Kр, при которой температура растет и фиксируется на определенном значении без образования максимума (горба, вылета и т.д.). Вылет образуется когда теплообменник накопит много тепловой энергии (Y очень большое) и начинает сам греть (какое-то время, пока не остынет до уровня термо-равновесия).
    2. Далее ставлю Ti = 300с и смотрю, как Y начинает медленно расти (накапливается интегральная и замещает собой пропорциональную Tуст-Tизм = 0), уменьшаю Ti пока не появится вылет Tизм > Tуст. После чего делаю Ti чуть больше.
    3. Если температура теплоносителя прыгает, что конечно сказывается на выход, то добавляю Td = 1 и медленно увеличиваю, пока прыжки не станут влиять на выход. Т.е. уровень выхода тоже будет прыгать, но на Tизм будет только легкий шорох.

    Этот процесс очень долгий и нудный. Но если его пройти до конца и записать полученные параметры, то дальше только легкая подстройка.
    Последний раз редактировалось EFrol; 14.03.2025 в 08:48.

  5. #5

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    1. Ставлю Kp = 1. Остальное отключаю Ti=0, Td=0. Есть понимание того, что текущая температура должна зафиксироваться на уровне термодинамического равновесия (кол-во приходящего тепла сравняется с количеством уходящего), а это должно произойдет при определенном значении Y > 0. Т.к. Y = (Tуст-Tизм) / Kp, то температура должна зафиксироваться на уровне ниже Tуст. Так вот я сначала подбираю такую Kр, при которой температура растет и фиксируется на определенном значении без образования максимума (горба, вылета и т.д.). Вылет образуется когда теплообменник накопит много тепловой энергии (Y очень большое) и начинает сам греть (какое-то время, пока не остынет до уровня термо-равновесия).
    2. Далее ставлю Ti = 300с и смотрю, как Y начинает медленно расти (накапливается интегральная и замещает собой пропорциональную Tуст-Tизм = 0), уменьшаю Ti пока не появится вылет Tизм > Tуст. После чего делаю Ti чуть больше.
    3. Если температура теплоносителя прыгает, что конечно сказывается на выход, то добавляю Td = 1 и медленно увеличиваю, пока прыжки не станут влиять на выход. Т.е. уровень выхода тоже будет прыгать, но на Tизм будет только легкий шорох.

    Этот процесс очень долгий и нудный. Но если его пройти до конца и записать полученные параметры, то дальше только легкая подстройка.
    Ti=0 ? А ты формулу ПИД-регулятора посмотри где там Ti стоит, в числителе или знаменателе.

  6. #6

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Ti=0 ? А ты формулу ПИД-регулятора посмотри где там Ti стоит, в числителе или знаменателе.
    Я пользуюсь только нормальными (включая макросы), которые обрабатывают все возможные значения.
    Owen.jpg

  7. #7
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,870

    По умолчанию

    Цитата Сообщение от IVM Посмотреть сообщение
    Ti=0 ? А ты формулу ПИД-регулятора посмотри где там Ti стоит, в числителе или знаменателе.
    Ti может быть только в знаменателе т.к. если он - время, т.к. сам интеграл безразмерный и копится он со временем в размерности (*dt). Вот Ti и снимает время с размерности интеграла делением.

  8. #8
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,870

    По умолчанию

    Dimaes
    Вы дали много инфы про амплитуды, но совершенно не дали инфы про периоды
    Сейчас просто качели 0-25%
    А период-то (между 25% и 25%) какой?



    Температура растет примерно со скоростью 0,1 град. в 5-7 сек.
    выцепляя такие крошки, то я согласен с
    Цитата Сообщение от cond33 Посмотреть сообщение
    Ti поставьте 30 - 300 секунд.
    причем в сторону 300 и больше
    Последний раз редактировалось Валенок; 14.03.2025 в 12:01.

  9. #9

    По умолчанию

    Цитата Сообщение от Валенок Посмотреть сообщение
    Ti может быть только в знаменателе т.к. если он - время, т.к. сам интеграл безразмерный и копится он со временем в размерности (*dt). Вот Ti и снимает время с размерности интеграла делением.
    Подозреваю, что было желание поймать на недопустимости значения 0, т.к. произойдет "деление на 0".

  10. #10
    Пользователь
    Регистрация
    23.09.2008
    Адрес
    Центророссийск
    Сообщений
    2,870

    По умолчанию

    Цитата Сообщение от EFrol Посмотреть сообщение
    Подозреваю, что было желание поймать на недопустимости значения 0, т.к. произойдет "деление на 0".
    Ну так просто Большой взрыв. Может Dimaes так и сделал. На связь то - не выходит))

Страница 1 из 5 123 ... ПоследняяПоследняя

Похожие темы

  1. Настройка ПИД-регулятора на ТРМ10А
    от Дмитрий_91 в разделе Эксплуатация
    Ответов: 4
    Последнее сообщение: 25.10.2023, 05:38
  2. Настройка ПИД регулятора на ТРМ 212
    от ksi69 в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 11.01.2017, 18:06
  3. Настройка ПИД регулятора
    от PotokU в разделе СПК1xx (архив)
    Ответов: 1
    Последнее сообщение: 23.04.2014, 18:43
  4. Настройка ПИД регулятора на ПЧВ ОВЕН
    от puma_59 в разделе Эксплуатация
    Ответов: 12
    Последнее сообщение: 06.02.2014, 15:15
  5. Настройка регулятора ТРМ101
    от Иван_гость в разделе Эксплуатация
    Ответов: 3
    Последнее сообщение: 04.03.2008, 15:36

Метки этой темы

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •