raziel: добрый день! я взял настройки "dirk 2.6 / 255 / 56" (так как у нас схожие кофеварки, одинаковый PID) боле менее меня устроило! Но это не основная мой кофеварка поэтому я сильно и заморачиваться не стал...
Я как инженер АСУ ТП поделюсь старенькой, но верной табличкой подбора параметров регуляторов. Всё же котлы у всех разные, и процесс регулирования температуры очень инерционный с большим запаздыванием. Понимаю, что неудобно снимать кривые по точкам, но тут контингент вообще не ходит легкими путями)))) Так что держите:
Настраиваю пид xmt7100 у себя. Опытным пришел к тому, что лишь при P=0.1 можно добиться быстрого прогрева почти до заданной температуры, после чего начинается включение-отключение реле, перебег на 2-3 градуса с последующим устаканиванием. Интегральную и дифференциальную составляющую пока не сильно трогал.
Добрый день! Подключил ПИД Autonics TCN к Gaggia Classic 2015 с PT100 под винт и SSR реле. Датчик с термопастой прикручен на фланце стыкования бойлера и заварочной группой, недалеко от крепления ТЭНа. Пользуюсь автонастройкой (AT), которая работает в целом неплохо, но при холодном включении выбег на 10-12 градусов выше уставки с очень медленной стабилизацией вокруг Т уст, но хотелось чтобы при холодном пуске выбег был не выше 2-3 градусов и нагрев отключался задолго до Т уст., а не на ее границе или даже с перепробегом.
Туст. = 60гр определил опытным путём, вначале наблюдая за температурой с термостатом. При 60-62гр. получается вкусный кофе без горечи. На родном термостате вкус обычно уходит в горечь, если не ловить момент перед самым включением термостата.
Может кто в теме, почему P-регулятор (при I и D установленных на ноль) стабилизирует (а точнее создаёт автоколебания) выше Туст и при остывании нагрев включается на 1-2 градуса выше Туст? И не могли бы для сравнения поделиться установками ПИД на Аубер для Классики PI9403?
Довольно большая тема, всю за раз не осилил. Я как-то столкнулся с настройкой PID, перепробовал все способы, но помог мне лишь один. Хотел специально тему создать с описанием, но вовремя не сделал, а теперь, увы, забыл. Суть сводилась к установке P,I,D 1,0,0 и после выхода системы к устойчивым одинаковым колебаниям, необходим замер времени в секундах одного цикла. Для алюминиевого термоблока 3д-принтера время составит несколько секунд, для бойлера - от 100 до нескольких тысяч. Дальше предлагались коэффициенты для каждого параметра. Если кто найдёт, дайте знать.
Чем копаться в куче научной литературы и выискивать формулы настройки, легче настраивать по графикам. Для понимания например:
Ось Х - время, Y - температура. Начинать надо с того, что поставили П=1, И=1, Д=0 и замерили сколько времени потребуется на прогрев бойлера до нужной температуры. Например потребовалось 2 минуты, то есть 120с. Значит поставили И=100с, и подбираем П таким образом, чтобы перерегулирование было минимальное, то есть перелёт температуры выше задания. Д при этом изначально можно поставить 0,15*И, если оно в секундах. Бывает так, что настройка коэффициента дифференцирования уже скрыта в настройке И, так было у меня на Унике. Тогда И надо брать гораздо меньше. В любом случае все коэффициенты можно подобрать, наблюдая за ростом температуры. Она должна достаточно быстро, но "апериодично", как на красном графике подходить к заданию. Чем И больше, тем дольше она туда будет ползти, а скорость достижения заданной температуры будет тем выше, чем выше П. Дифференциатор по началу можно вообще отключить, занулив Д. Потом потихоньку добавлять и наблюдать как изменяется скорость. В любом случае надо не допустить колебания температуры.
Хотел бы уточнить В xmt7100 настраиваются - proportional band - integration TIME - differentiation TIME Не очень понимаю, почему differentiation, а не derivative Но в любом случае второй и третий параметр - время Так что уважаемые знатоки и дипломированные специалисты, включайте автонастройку и все будет как надо
По поводу выхлестов температуры вверх вначале. Если PID был включен, а потом спустя какое то время подключили нагреватель, выхлест обеспечен за счет integration time. Оно по умолчанию 100 секунд. Просто питание на PID и подключение нагревателя нужно делать одновременно
Чем копаться в куче научной литературы и выискивать формулы настройки, легче настраивать по графикам. Для понимания например:
Ось Х - время, Y - температура. Начинать надо с того, что поставили П=1, И=1, Д=0 и замерили сколько времени потребуется на прогрев бойлера до нужной температуры. Например потребовалось 2 минуты, то есть 120с. Значит поставили И=100с, и подбираем П таким образом, чтобы перерегулирование было минимальное, то есть перелёт температуры выше задания. Д при этом изначально можно поставить 0,15*И, если оно в секундах. Бывает так, что настройка коэффициента дифференцирования уже скрыта в настройке И, так было у меня на Унике. Тогда И надо брать гораздо меньше. В любом случае все коэффициенты можно подобрать, наблюдая за ростом температуры. Она должна достаточно быстро, но "апериодично", как на красном графике подходить к заданию. Чем И больше, тем дольше она туда будет ползти, а скорость достижения заданной температуры будет тем выше, чем выше П. Дифференциатор по началу можно вообще отключить, занулив Д. Потом потихоньку добавлять и наблюдать как изменяется скорость. В любом случае надо не допустить колебания температуры.
Один из способов. Но мой был куда проще. Найду - обязательно размещу здесь.
2. Начинаем постепенно увеличивать значение Kp и следим за реакцией системы. Нам нужно добиться, чтобы в системе начались устойчивые колебания (вызванные перерегулированием). Увеличиваем Kp, пока колебания системы не стабилизируются (перестанут затухать). У меня это значение около 1.
3. Запоминаем текущее значение (Ku = 1) и замеряем период колебаний системы, у меня оно около 120 с. (Tu = 120).
Теперь используем полученные значения Ku и Tu для расчета всех параметров ПИД регулятора по формулам:
IgorK: Не понимаю, что такое обратные секунды, но, возможно, в устройствах типа XMT7100 используется параметр равный x/100 или 100-x (я с таким где-то встречался). Мой способ подходит для следующей функции (Arduino):
// (вход, установка, kP, kI, kD, период в секундах)
int computePID(float input, float setpoint, float kp, float ki, float kd, float dt) {
float err = setpoint - input;
static float integral = 0, prevErr = 0;
integral = constrain(integral + (float)err * dt * ki, -1, 1);
float D = (err - prevErr) / dt;
prevErr = err;
return constrain(err * kp + integral + D * kd, 0, 1);
}
...которую я вызываю раз в секунду в основном коде вот так
digitalWrite(tenpin, computePID(steinhart, brewtemp, PP, II, DD, 1));
где tenpin - это пин для SSR, коммутирующего ТЭН, steinhart - текущая температура с датчика (терморезистор), brewtemp - необходимая нам температура.
IgorK: Не понимаю, что такое обратные секунды, но, возможно, в устройствах типа XMT7100 используется параметр равный x/100 или 100-x (я с таким где-то встречался). Мой способ подходит для следующей функции (Arduino):
Вам уже пытались объяснить:
Медведий написал(а) ...
Бывает так, что настройка коэффициента дифференцирования уже скрыта в настройке И, так было у меня на Унике. Тогда И надо брать гораздо меньше.
Так бывает в xmt7100, Autronocs и других. Нет у нас доступа к коэффициентам интегрирования и дифференцирования. Мы настраиваем время. Хуже того, мы не знаем их значения. И вся математика выше бесполезна. Нужно включать автонастройку и не морочить голову окружающим
Господа! Как я ощущаю, здесь обсуждается установка на проточный бойлер. А возможно ли ответить, насколько имеет смысл пытаться поставить PID для стабилизации температуры кофе на машину с теплообменником?
Нагрев "стакана", он же термосифон там происходит достаточно многоэтапно от ТЭНа к воде/пару, затем к стенкам стакана и уже послое всего этого - снова вода для кофе.
На первый взгляд задача выглядит технически невыполнимой. Вероятно, кто нибулдь имеет позитивный опыт как перейти от регулировки через давление пара (прессостат) к более тонкому и стабильному?
Кофемашина:Rocket Cellini Evo v2, La Pavoni EL
Кофемолка:Promac MD 74 AT, Mazzer Mini E, Hario mini
Ростер:Gene Cafe, I-Roast2
Др. оборудование: аэропресс, Кемекс, Харио V60, электронная турка, френч-пресс
arc966: Поставить не проблема, многие производители сегодня ставят пид вместо прессостата. Но разница будет только в том, что изменить давление/температуру в бойлере можно будет пальчиками и без снятия крышки корпуса.
Господа! Как я ощущаю, здесь обсуждается установка на проточный бойлер.
нет
arc966 написал(а) ...
А возможно ли ответить, насколько имеет смысл пытаться поставить PID для стабилизации температуры кофе на машину с теплообменником?
У меня на Xenia стоит PID на теплообменнике. Греет до заданной (с перебегом, правда, на 3 градуса, но то мелочи) и замирает. Почему эта задача кажется вам нереализуемой?
arc966 написал(а) ...
Нагрев "стакана", он же термосифон там происходит достаточно многоэтапно от ТЭНа к воде/пару, затем к стенкам стакана и уже послое всего этого - снова вода для кофе.
В моём случае (да, костыль, но он работает) бойлер заполнен на 100% водой, через него проходит теплообменник также заполненный на 100% водой. Минус - бойлер не даст пар, но для этого стоит второй бойлер.
На следующей кофемашине я сварил из нержавейки бойлер (он также заполнен на 100% водой) и терморезистор засунул прям внутрь (в воду). Да, термостабильность не идеальная, но это связано с тем, что за 25 секунд к объёму горячей воды в 300 мл подмешивается 50 мл холодной воды, а ТЭН не успевает этот объём прогреть. Но прогретая группа является неким демпфером, в итоге перепад температуры на выходе - менее 1 градуса.
Ну, заниматься сваркой дополнительных бойлеров совсем уже фантастика Да и не поместится туда ничего более.
А сам по себе теплообменник как он есть, как я понял из постов повыше, с термостабильностью PID ом никак не помочь? Из-за иннерционности все будет постоянно в противофазе/ Однако, сохраняется опция регулирования температуры пролива. Но, при этом нужно отказаться от пара. Все верно? Или же есть вариант оставить пар как он был?
Почему не помочь? С прессостатом температура гуляет в обе стороны на три градуса, с PID - на половину. Но да, либо от пара придётся отказаться, либо после приготовления эспрессо ждать разогрева бойлера с 95 до 120.
Есть вариант греть бойлер, скажем, до 120 и к кипятку подмешивать холодную воду, этим путём пошли La Marzocco, но для меня это куда сложнее, чем сделать маленький заварочный бойлер
Многие знают, что я фанат Аэропресс. Поэтому, очень долго откладывал в самый дальний ящик покупку данного устройства. Зачем кому-то нужен клон Аэропресса? Однако, на деле оказалось, хоть эти устройства и похожи, у Дельтер Пресса есть свои особенности. Покупать Дельтер Пресс рекомендую в случае, если уже всё есть. На этом можно было бы закончить статью, но давайте разберемся, почему эта кофеварка не только красивый кусок китайского пластика с австралийским акцентом, но имеет огромный потенциал.
Сейчас разгар отпусков и лета 2019 года, я сижу в кофейне, где-то между Австрией, Венгрией и Чехией, пью колд-брю и решил написать для нашего прекрасного русско-язычного кофейного комьюнити, что я думаю по этому поводу и какие основные два метода заваривания доступны для обычного человека. Тем более, что у Sweet Beans Coffee на складе в Краснодаре появился удивительный PUCKPUCK, который теперь всегда со мной.