1. Уважаемые форумчане! Убедительная просьба, используйте наиболее подходящие темы для своих сообщений. Спасибо за понимание.
    Скрыть объявление

ПИД параметры для автоматики

Тема в разделе "Автоматика", создана пользователем flexx, 25 ноя 2014.

  1. RDVRU

    RDVRU Участник

    Регистрация:
    09.08.2017
    359
    27
    Имя:
    Дмитрий
    Я и говорю, если при 100 не кипит, не надо лезть в калибровку. Нужно выставить температуру кипения , например,98
     
  2. SLED

    SLED Участник

    Регистрация:
    07.05.2016
    83
    2
    имел в виду вот это "Если у меня закипает при 98, а не при 100 градусах, я делаю коректировку датчика, при этом уходит температура в паузах." Т.е. ее не за чем делать в этом случае, т.к. это вещи не связанные. А дальше правильно. НУ это мое понимание, я только читаю и тестю в разных режимах. У меня у самого вода кипит при 99, при этом сколько не выставляй температуру кипения в настройка (даже 110), датчик больше 99,25 - 99,50 не показывает. Это ж вода :)))
     
  3. vitanura

    vitanura Active Member

    Регистрация:
    07.06.2016
    491
    157
    Имя:
    Виктор
    А в горах вода кипит и при 80 гр С....
     
  4. SLED

    SLED Участник

    Регистрация:
    07.05.2016
    83
    2
    это точно, только кастрюлю туда тащить не хотца...
    --- сообщения объединены, 19 мар 2018, дата первого сообщения: 19 мар 2018 ---
    если не секрет, у кого клоны на 20л, подскажите при ваших пид настройках за какое время набирается последний градус от заданной температуры паузы? к примеру если пауза 67 градусов, то с 66 до 67 сколько по времени займет?
     
  5. moct05

    moct05 Участник

    Регистрация:
    22.11.2016
    105
    2
    Имя:
    Станислав
    Решил я тоже побаловаться с настройками. Вот исходные данные.
    Дано: Пивоварка на 55 литров чистого объема, чистая вода 25 литров, Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок! на базе разработки Михаила Демина.
    Задача: Настроить параметры ПИД, чтобы перескок заданной температуры был минимальный. В идеале =0

    Решение.

    Налил в пивоварку чистой воды 25 литров. Установил параметры Kp=100, Ki=0, Kd=0, Ws=0. Начальная температура 15, первая пауза 30 градусов. Вода нагрелась за 10 минут. Перескок 1.4 градуса.

    Перезагружаю контроллер. Устанавливаю параметры Kp=100, Ki=50, Kd=0, Ws=0. Начальная температура 31.1, температура паузы 45. Вода нагрелась за 9 минут. Перескок 1.2 градуса.

    Перезагружаю контроллер. Устанавливаю параметры Kp=100, Ki=150, Kd=0, Ws=0. Начальная температура 46.0, температура паузы 60. Вода нагрелась за 9 минут. Перескок 1 градус.

    Перезагружаю контроллер. Ставлю настройки Kp=50, Ki=150, Kd=0, Ws=0. Начальная температура 60.3, температура паузы 75. Вода нагрелась за 9 минут. Перескок 0.6 градуса.

    Перезагружаю контроллер. Ставлю настройки Kp=1, Ki=150, Kd=0, Ws=0. Начальная температура 75, температура паузы 85 (больше контроллер не дает). Вода нагрелась за 10 минут. Перескок 0.5 градуса.

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

    На следующий день.

    Добавил воды в замен испарившейся и продолжил работу. Для того чтобы можно было сделать больше измерений я установил нагрев воды по 10 градусов. Итак....

    Установил параметры Kp= -50, Ki=150, Kd=0, Ws=0. Начальная температура 21,6, первая пауза 30 градусов. Вода нагрелась за 6 минут. Перескок 1.2 градуса.

    Перезагружаю контроллер. Ставлю настройки Kp= -100, Ki=150, Kd=0, Ws=0. Начальная температура 30,1, температура паузы 40. Вода нагрелась за 5 минут. Перескок 1,1 градуса.

    Перезагружаю контроллер. Ставлю настройки Kp= -150, Ki=150, Kd=0, Ws=0. Начальная температура 40,8, температура паузы 50. Вода нагрелась за 6 минут. Перескок 1,0 градуса.

    Перезагружаю контроллер. Ставлю настройки Kp=1, Ki=150, Kd=50, Ws=0. Начальная температура 50,6, температура паузы 60. Вода нагрелась за 7 минут. Перескок 0.9 градуса.

    Перезагружаю контроллер. Ставлю настройки Kp=1, Ki=150, Kd=100, Ws=0. Начальная температура 60,6, температура паузы 70. Вода нагрелась за 7 минут. Перескок 0,7 градуса.

    Перезагружаю контроллер. Ставлю настройки Kp=0, Ki=150, Kd=150, Ws=1000. Начальная температура 69,8, температура паузы 80. Вода нагрелась за 11 минут. Перескок 1,3 градуса.

    Ну и последний диапазон. Т.к. осталось всего 5 градусов до максимально допустимого, то решил использовать этот промежуток.

    Перезагружаю контроллер. Ставлю настройки Kp=0, Ki=150, Kd=150, Ws=7500 (максимальное значение). Начальная температура 79, температура паузы 85. Вода нагрелась за 7 минут. Перескок 1,6 градуса.

    Не понятны изменения второго дня, логика ваще отсутствует.
    1. Что не так? Почему такие разбросы?
    2. Можно ли уменьшить показатели разброса?
     
  6. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    485
    135
    Имя:
    Олег
    Во второй день эксперимент проводился некорректно.
    1) Уставка 30гр ни о чем. Дело в том, что степень охлаждения бака зависит от разности температур его и атмосферы. Поэтому процесс нагрева при уставке 30гр и 80 будет совершенно разным.
    2) Применяется метод тыка без вникания в суть коэффициентов и того, какую лепту в результат вносит каждый из них. Отрицательные значения Кр и вовсе переворачивают всё с ног на голову. Пока уставка не достигнута, он не дает нагрева. А как только вылет выше уставки, то начинает жарить (минус на минус дает плюс).
    3) Вылет температуры - не единственный показатель качества регулирования. Проверялась стабильность поддержания заданной температуры? На другой системе я не так давно добился выхода на заданную температуру практически без вылета, но поддерживать ее система не смогла, сильно падала вниз.
    4) Температура в баке распределена неравномерно, стремиться к нулевой ошибке не вижу смысла.

    Могу посоветовать при нулевых И и Д коэффициентом П добиться выхода температуры близко к уставке, но без перерегулирования. А затем, увеличивая И, избавиться и от него.
     
  7. moct05

    moct05 Участник

    Регистрация:
    22.11.2016
    105
    2
    Имя:
    Станислав
    Понять бы теперь что такое перерегулирование и как его поймать. А так мой первый день так и настраивался. Подобрал П, потом И. И стал играть с другими параметрами.
     
  8. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    485
    135
    Имя:
    Олег
    Перерегулирование - это величина вылета температуры выше уставки. По методике настройки ПИД можно поискать материалы у ОВЕН. Но они используют иную формулу, потому где у них нужно увеличивать коэффициент, то у нас - уменьшать. Без понимания легко запутаться. Сейчас нет времени разбираться, вот мои черновые выписки
     

    Вложения:

  9. moct05

    moct05 Участник

    Регистрация:
    22.11.2016
    105
    2
    Имя:
    Станислав
    Phantom читаю, читаю....блин китайская грамота выходит. Что такое уставка? Это необходимая температура? У меня всегда перескакивает.

    Я правильно ловлю параметры? Вот с начала вода 19 градусов. Делаю настройки ПИД. Запускаю затирание на чистой воде. Дошло до заданной температуры (например 30 градусов), снял показания времени набора до заданной температуры и значение перехода за заданную температуру. Вношу коррективы в ПИД. Опять делаю рецепт затирания, но начальная около 30 градусов, а конечная 35. Или это маленький промежуток? И так делаю повторы, пока не дойду до максимально возможной температуры в 85 градусов. Можно так настраивать? Или всегда нужно начинать с 19 градусов?
     
  10. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    485
    135
    Имя:
    Олег
    уставка - заданная температура.
    Задавать 30гр - не верно. нарушен баланс нагрев-охлаждение, т.к. мала разница между температурой воды и воздуха. Я бы рекомендовал задавать уставку градусов от 50.
    Шаг при изменении уставки использовать градусов 10 правильнее. Из-за особенностей алгоритма не советую разницу менее 7гр. Да и эффект запаздывания лучше проявит себя.
     
  11. moct05

    moct05 Участник

    Регистрация:
    22.11.2016
    105
    2
    Имя:
    Станислав
    Phantom т.е. в принципе первая пауза 50 градусов с одними параметрами. Затем сбрасываем прграмму затирания. Ставим другиепараметры ПИД и температуру паущы (уставку) делаем на 10 градусов больше и так до максимально возможного. Правильно понял?
     
  12. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    485
    135
    Имя:
    Олег
    Я бы так делал
     
  13. SLED

    SLED Участник

    Регистрация:
    07.05.2016
    83
    2
    У меня несколько другая история. Это "перерегулирование" никогда не бывает большим +/- 0,25гр.С или +/-0,5. При этом набирает температуру до последнего градуса установки быстро (быстрее чем 1гр.С в минуту). А вот последний градус набирает минуты 3-5. По факту получается "микропауза" на более низкой температуре. Пресловутая инертность системы не такая большая (у меня во всяком случае). Первую варку выходил из положения так (к примеру пауза на 73гр.С.): после набора 72, повышаю вручную температуру установки до 75 к примеру. Тэн перестает отключаться и быстро набирает нужные 73. Сразу снова вручную снижаю значение установки до первоначальных 73, срабатывает датчик и начинается отсчёт времени паузы. При этом температура гуляет +/-0,25. Никуда в + она не убегает. Но это уже не автоматический, а полуавтоматический режим получается)))Наверное некритично, но странно.
     
  14. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    485
    135
    Имя:
    Олег
    попробуй увеличить И.
     
  15. moct05

    moct05 Участник

    Регистрация:
    22.11.2016
    105
    2
    Имя:
    Станислав
    Уже начинает брать псих......
    Из всего множества вариантов опробованных нашел Kp=50, Ki=70, Kd=1, Ws=1000. с 14 градусов до 60 (т.е. 46 градусов разницы) нагрелось за 30 минут 18 сек (т.е. 40 секунд на градус), перескок составил 0,2 градуса. Супер!!!!! Постояло на этой паузе 20 минут. Все держит. На паузе перескок максимум 0,2 градуса. Набор температуры начинается с 59,5 градуса. Когда выставлял рецепт то второй паузой сделал 70 градусов 30 минут. Прошла первая пауза и пошел набор температуры......дошло до 69,4 и встало. Колеблется между 68,8 и 69,5 и дальше не идет. Пока занимался домашними делами ничего не сбрасывал.....за 2,5 часа так и не набрало нужной температуры.
    --- сообщения объединены, 3 май 2018, дата первого сообщения: 3 май 2018 ---
    В начале темы дана ссылка на сайт где объясняют про ПИДы. Для меня не понятно и не потеме (про обороты и серверы). Запутался в конец. Пока не нашел это Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок! как раз по теме. И понятно и доходчиво. Стало немного понятнее
     
  16. Miraj

    Miraj Участник

    Регистрация:
    09.12.2016
    124
    1
    Имя:
    Александр
    Мне кажется Ki очень большой. У меня Кр=110 Ki=0 Kd=15. Подбирал по описанной выше методике. ТЭН 2,5 кВт. Клон стандартный 50л. Перескок температуры 0,1 градуса, очень редко 0,2 градуса. Учитывая градиент температуры по высоте бункера котла, считаю это в пределах погрешности системы. Нагрев без длительных задержек, снижение мощности нагрева начинается при разности температур -1 градус от заданной. Зависаний нет.
     
  17. moct05

    moct05 Участник

    Регистрация:
    22.11.2016
    105
    2
    Имя:
    Станислав
    Решил начать все с нуля. Не торопясь и записывая, как можно подробнее результаты. Вот что выходит.

    Для всех замеров установлены такие паузы
    1. Температура 60 градусов, пауза 10 минут
    2. Температура 70 градусов, пауза 10 минут.
    После каждого цикла сливается горячая вода, и заливается холодная. Всегда 25 литров. Делаю все в гараже, охлаждать не чем.

    1. Опыт. Kp=0; Ki=0; Kd=0; Ws=3000. Началось с 20 градусов. До 60 нагрелось за 20 минут (1 градус 30 секунд) перескок 1,3 градуса. До 70 градусов нагрелось за 5:47 минут (1 градус за 37 секунд) перескок 1 градус.

    2 Опыт. Kp=1; Ki=0; Kd=0; Ws=3000. Началось с 25,3 градусов. До 60 не нагрелось вообще. Остановилось на 56, 5 градусов и держалось на этой отметке

    3. Опыт. Kp=50; Ki=0; Kd=0; Ws=3000. Началось с 41,4 градусов (закончилась ледяная вода поэтому получилось до этого разбавить). До 60 нагрелось за 13:20 минут (1 градус 43 секунд) перескок 0,3 градуса. Потом остывала до 59,6 и держалась на этой отметке всю паузу. До 70 градусов нагрелось за 8:35 минут (1 градус за 50 секунд) перескок 0 градус. Остыла до 69,5 градусов и держалась на этой отметке.

    4. Опыт. Kp=100; Ki=0; Kd=0; Ws=3000. Началось с 24,3 градусов (привезли еще холодной воды). До 60 нагрелось за 22:35 минут (1 градус 38 секунд) перескок 0,9 градуса. Потом остывала до 59,7 и держалась на этой отметке всю паузу. До 70 градусов нагрелось за 7:24 минут (1 градус за 44 секунд) перескок 0,5 градуса. Остыла до 69,7 градусов и держалась на этой отметке.

    Дайте совет. Остановиться на 3 опыте и покрутить немного Ki и чутка Kd. Или взять 4 опыт и уже конкретно крутить эти параметры.

    Не могу понять для чего нужна Ws. Что дает?
    --- сообщения объединены, 4 май 2018, дата первого сообщения: 4 май 2018 ---
    У Михаила есть веб интерфейс, там есть графики, но он получается давольно мелкий, и значения приближающиеся к уставке сливаются. Да и не знаю как его можно сюда выложить, т.е. как его с его интерфейса получить.
     
  18. Phantom

    Phantom Active Member

    Регистрация:
    11.05.2014
    485
    135
    Имя:
    Олег
    Ws - это период ШИМ. В данном случае он равен 3000мс=3сек. Т.е. при мощности 33% из этих 3сек тэн будет включен 1 сек, а затем 2сек выключен.
    Очень странный результат в 1 опыте и 2 опыте.. Ну да ладно. Лучше забыть о них)
    Попробуй остановить Кр = 50 и увеличивать Ки. Ки как раз и служет для компенсации небольшого недобора температуры при установившемся режиме. Со временем накапливает эту разницу и всё больше и больше греет тэн, чтобы ее устранить.
     
  19. Andrey_33

    Andrey_33 Участник

    Регистрация:
    20.03.2017
    30
    3
    Имя:
    Андрей
    двс!
    пытаюсь настроить PID на пвк, воды с учетом рубашки 50 л, мощность тэна измеренная 2,6 кВт.
    установил параметры Kp=100, Ki=0, Kd=0, как в Ссылки могут видеть только зарегистрированные пользователи. Зарегистрируйтесь или авторизуйтесь для просмотра ссылок! и хотел увидеть колебания, а тут только один всплеск...
    что посоветуете?
    --- сообщения объединены, 16 май 2018, дата первого сообщения: 16 май 2018 ---
    добиться устойчивых, незатухающих колебаний не удалось, делаю только вывод, что мощность маловата.
    а вот как теперь настроить Ki Kp Kd ?
     

    Вложения:

    • graph.JPG
      graph.JPG
      Размер файла:
      87,5 КБ
      Просмотров:
      37
  20. Ers

    Ers Admin Команда форума

    Регистрация:
    02.01.2012
    1.141
    268
    Имя:
    Иван
    Andrey_33 для ПВК больше инерционность и потому заметить колебания сложнее. Не очень давно MBOY проводил настройку своего ПВК, в результате мы сделали интегральную составляющую меньше единицы, и он смог подстроить минимальное расхождение на своем оборудовании. Если интересно, можешь его спросить методику, а изменения я тогда включу в общую прошивку и предоставлю всем как обновление.