Автонастройка PID регулятора
- Войдите на сайт для отправки комментариев
Здравствуйте, есть бак с молоком (приготовление сыра). Необходимо сделать систему для поддержания точной температуры данного бака. Например 32 градуса (+- 0.5 градуса). Вариант нагреть до 32 а потом по гистерезису - отпадает. Так как нагрея молоко до 32 и отключая ТЕН - система сама нагревается от металла до 35 градусов и молоку хана (очень инерционная система))))). Понятно что можна как-то заранее отключать и т .д., но вот могу быть разные начальные температуры, напряжения в сети и.т.д. (тем более потом надо греть до 65 градусов и т.д. а там свой перегрев)
Постал вопрос ПИД и его автонастройки. Нашел единственную библиотеку автотюнинга https://playground.arduino.cc/Code/PIDAutotuneLibrary/ ну и понятно к ней библиотеку пид регулятора https://playground.arduino.cc/Code/PIDLibrary/.
Время 1 секунду по анализу и там и там (инерционная довольно система), выбирал и PI и PID систему в автоподборе, выбирал и разный шаг изменения, и шум разный 0.5 - 1 градус. Да подбирает разные коефициенты - причем конечно зачем было делать столько коефициентов для автоподбора? я могу так же играться и с pid коефициентами сам. Те коефициенты прописываю потом в пид регулято- либо перерегулирование либо недорегулирование. Как вообще завести систему?
Ну не работает нормально и все.
Смотрел разные видео по пид регуляторам всяким - что инкубаторы делали люди, коптильни. Мне знающие люди сказали что ерунда полная это. На всех видео есть перегрев сначала, а потом выравнивается уже на нужную температуру (перерегулирование). При изготовлении сыра, мяса, колбас - даже перегрев на несколько градусов чем нужно уже критичен тем, что продукт можна выкинуть(корка на мясе, сворачивание молока).
Тоесть мне нужна система что постепенно по чуть чуть догреет до нужной температуры и не перескочит через нее а будет поддерживать. (настроенные правильно пид коефициенты)
https://youtu.be/9odcsuAquLU
https://youtu.be/KI5hFAxQoe0
Пример рабочей системы - регулятор рекс с самообучением. Идеально на термопаре к-типа поддерживает с точностью до градуса.
https://youtu.be/RdseQjtPnqE
ПИД не настраивается автонастройкой. По крайней мере за 20 лет попыток этого добиться я не встречал ни одного упоминания об успешной автонастройке. Почитайте WIKI про ПИД и особенно методы настройки. У нас на сайте есть темы по ПИД. Очень полезные. Прочитайте и если останутся вопросы - задавайте. Если объём молока более менее постоянен, то случай вполне подходящий для ПИД. Единственную засаду я вижу в измерении температуры - процесс прогрева очень не быстрый и расположение термометра, лучше нескольких, очень важно. Распределение температуры в баке имеет перепады больше +- 0.5 градуса, поэтому измерение температуры в разных точках очень важно, если превышение 32-х градусов критично.
Тоесть мне нужна система что постепенно по чуть чуть догреет до нужной температуры и не перескочит через нее а будет поддерживать
То есть тупой как пробка PI. Только зачем тогда жаловаться на недорегулирование, если оно и нужно?
Идеально на термопаре к-типа поддерживает с точностью до градуса.
Как это так они умудрились на термопаре с погрешностью +-2.2 держать "точность до градуса" (что бы это ни значило)? Всем по нобелевке.
Посмотрите видео за терморегулятор рекс 100. за 10 долларов прекрасно автонастраиваеться и подбирает коефициенты p i d. И идеально поддерживает температуру с точностью до градуса. Понятно что надо калиброваться на разной комнатной температуре, на разном металлическом баке, на разном объеме молока, даже нагрев до разной температуры молока и то калиброваться надо.
Но устройство за 10 баксов прекрасно делает такое автокалибровкой пид. Неужели нигде нету нормальных програмных разработок автонастройки пид? билиотека же есть автотюнинга что выдает коефициенты. В зд принтере прошивка меги марлин видели автоподбор коефициентов стола нагрева? прекрасно у меня дома работает, ни градуса вверх.
К типа точность до 1 градуса. И прекрасно держит, сам тестил. По лабораторному термометру.
Тоесть мне нужна система что постепенно по чуть чуть догреет до нужной температуры и не перескочит через нее а будет поддерживать
То есть тупой как пробка PI. Только зачем тогда жаловаться на недорегулирование, если оно и нужно?
Идеально на термопаре к-типа поддерживает с точностью до градуса.
Как это так они умудрились на термопаре с погрешностью +-2.2 держать "точность до градуса" (что бы это ни значило)? Всем по нобелевке.
Недорегулирование - оно никогда не выйдет на заданную температуру, а будет ниже )))))
К типа точность до 1 градуса. И прекрасно держит с рексом, сам тестил. По лабораторному термометру.
Тоесть мне нужна система что постепенно по чуть чуть догреет до нужной температуры и не перескочит через нее а будет поддерживать. (настроенные правильно пид коефициенты)
КакипраблЭмы? Греешь ПИ до 30-31 апосля РЕЗКО меняшь алгоритм на ПИД и фсё. Правда придёццо всё писАть своими ручками, но ничо сложного я здеся не вижу.
Недорегулирование - оно никогда не выйдет на заданную температуру, а будет ниже )))))
Пид регулятор не может не выйти на заданную температуру. Если он не выходит, то никакой не выйдет.
Из инструкции автонастройки рекса:
Предостережения: Когда происходит изменение температуры в 1 °C или меньше в минуту во время Автоматической настройки, Автоматическая настройка может быть отменена прежде, чем вычислит значения PID. В этом случае, скорректируйте значения PID вручную. Это может произойти, когда установлено значение уставки близкое к окружающей температуре или близкое к максимальной температуре, достигнутой нагревателем.
Что то сердце мне вещует, что автонастройка с баком с молоком не справиться. Прогрев буде всяко меньше чем 1 °C в минуту.
neoblack2, а почитай здесь: https://apmonitor.com/pdc/index.php/Main/ArduinoControl?fbclid=IwAR0PDyL...
Из инструкции автонастройки рекса:
Предостережения: Когда происходит изменение температуры в 1 °C или меньше в минуту во время Автоматической настройки, Автоматическая настройка может быть отменена прежде, чем вычислит значения PID. В этом случае, скорректируйте значения PID вручную. Это может произойти, когда установлено значение уставки близкое к окружающей температуре или близкое к максимальной температуре, достигнутой нагревателем.
Что то сердце мне вещует, что автонастройка с баком с молоком не справиться. Прогрев буде всяко меньше чем 1 °C в минуту.
22 литра бак, 3 киловатта ТЕН
Ну реально работает. Взял автонастройку, три часа идет на баке. Потом ставишь нагрев на 32 и прекрасно доходит, не перескакивает и держит. По лабораторнику 32 в баке тоже.
А коеффициенты ПИД с неба упадут? какие ставить - причем условия часто разные ))
Тоесть мне нужна система что постепенно по чуть чуть догреет до нужной температуры и не перескочит через нее а будет поддерживать. (настроенные правильно пид коефициенты)
КакипраблЭмы? Греешь ПИ до 30-31 апосля РЕЗКО меняшь алгоритм на ПИД и фсё. Правда придёццо всё писАть своими ручками, но ничо сложного я здеся не вижу.
А коеффициенты ПИД с неба упадут? какие ставить - причем условия часто разные ))
neoblack2, а почитай здесь: https://apmonitor.com/pdc/index.php/Main/ArduinoControl?fbclid=IwAR0PDyL...
Реально мало что понятно из кода
22 литра бак, 3 киловатта ТЕН
Ну реально работает. Взял автонастройку, три часа идет на баке. Потом ставишь нагрев на 32 и прекрасно доходит, не перескакивает и держит. По лабораторнику 32 в баке тоже.
В таких условиях конечно будет. Скорость нагрева 2 градуса в минуту. А Вас не смущает существенный перегрев молока около такого мощного нагревателя? Я опять про распределение температуры в баке?
22 литра бак, 3 киловатта ТЕН
Ну реально работает. Взял автонастройку, три часа идет на баке. Потом ставишь нагрев на 32 и прекрасно доходит, не перескакивает и держит. По лабораторнику 32 в баке тоже.
В таких условиях конечно будет. Скорость нагрева 2 градуса в минуту. А Вас не смущает существенный перегрев молока около такого мощного нагревателя? Я опять про распределение температуры в баке?
Не успевает перегреться. ПИД работает рекса. У него релейный ПИД. И как работает - грубо до 28 греет включено реле ТЕНА. Далее вкл реле - выкл так по 5 секунд. И далее уменьшаеться и выходит чтобы поддерживать такую температуру 32 включаеться на 1 секунду реле ТЕНа ну через 5-6 секунд гдето.
Колоссально инерционная система, не успевает перегреться.
22 литра бак, 3 киловатта ТЕН
Ну реально работает.
А коеффициенты ПИД с неба упадут? какие ставить - причем условия часто разные ))
В таком случае да, только "с неба" и упадут.
А вот допустим поэкспериментировать на воде или другой жидкости ну совсем никак? Или надо как в песне - нажал на кнопку --- получил шо надо???
22 литра бак, 3 киловатта ТЕН
Ну реально работает.
А коеффициенты ПИД с неба упадут? какие ставить - причем условия часто разные ))
В таком случае да, только "с неба" и упадут.
А вот допустим поэкспериментировать на воде или другой жидкости ну совсем никак? Или надо как в песне - нажал на кнопку --- получил шо надо???
Уже неделю на воде експерименты.... Понимаете у меня есть разные условия очень входящие. Седня 25 в комнате, а послезавтра грубо 10 в комнате. Сейчас 10 литров молока, а завтра 20 литров молока.... и т.д. Сегодня в розетке 220 вольт, а завтра 190 .... Сейчас надо греть до 32 градусов, а через 3 часа нужно нагреть до 65.
И всегда коеффициенты другие. Тоесть по любе автонастройка какая-то нужна.
И самое печально какой-то рекс за 10 баксов прекрасно автонастраивается, в каждом случаем в меню разные пид коефициенты вижу и работает ведь! )) Аналогично в прошивке 3д принтера марлин тоже есть автоподбор нагрева стола и пробовал в разных условиях - тоже супер работает. И прошивка ардуино, только большая немогу даже найти где такое.
Тоесть нельзя говорить что такое нереально. Вот реальные примеры. надо могу видео снять
Если решим вопрос с автотюнингом, выложу прошивку с удовольствием сюда)
Если решим вопрос с автотюнингом, выложу прошивку с удовольствием сюда)
ну вряд ли стоит ждать. что кто-то напишет этот код нахаляву... особенно для коммерческого использования :)
Если решим вопрос с автотюнингом, выложу прошивку с удовольствием сюда)
ну вряд ли стоит ждать. что кто-то напишет этот код нахаляву... особенно для коммерческого использования :)
Имеется ввиду насчет библиотек автотюнинга. Ведь же есть они, писал выше. Может просто кто-то разобрался)
Может просто кто-то разобрался)
КанЭшна разобрался. У меня заторный бак на дурдуине сам "пробегает" по термопаузам вплоть до машаута. Условия те-же, три ТЭНа, ПИДы и всё такое. Но это писАлось не один день и моими руками полностью.
здесь самое главное у ТС - объём бака, видел и на 5 тонн и на 60, а вот для производства сгущёного молока там литров на 200 всего )))
здесь самое главное у ТС - объём бака
Отлично! У меня есть "полевой" вариант типа: 18В20+лсд20х4+дурдуина+БП+джойстик+твердотелка на 25а. Смысл элементарен: закидываем даччег в кастрюлю а плитку подключаем через твердотелку. Варианты кастрюль, которые опробованы на практике от 5 до 25 литров. Работает уже больше года. Код иногда меняю ради дополнения функционала но "ядро" неизменно уже лет 5.
PS: кстати, метод "испытаний" подсказал один очень грамотный инженер из мск, зовут Александр (может есть на форуме и меня узнает) --- лампа накаливания + 18В20 + СИНЯЯ изолента. Приматываем с её помощью даччег к лампе а инерционность меняем любыми попавшимися под руку "железяками" Результат - за несколько вечеров всё готово!!!