Всем привет! Интересует алгоритм поддержания температуры ферментации в холодильнике. Имеется 2 датчика DS18B20, один планирую держать прямо в сусле, другой снаружи ферментера, то есть частично измерять температуру в холодильной камере. Вопрос по взаимодействию этих датчиков, включение охлаждения должно быть по датчику который находится в сусле? Просто между ними будет разница, один охлаждаться и нагреваться будет быстрее. Если ориентироваться по датчику который в сусле, то неизбежен перелёт температуры. Вроде у brewpilles есть такой алгоритм, но не могу найти.
У BrewPiLess достаточно хорошо все задокументировано. Есть Wiki, правда слегка устаревшее, есть более новая документация.
Может начать свое повествование с того что имеем, как настроено? Про два датчика понятно, но контроль будет все равно по одному. Могу ошибаться, давно там не копался. Все же хотелось бы подробностей, чтоб помочь найти ответ. Тут завязано сразу несколько тем.
Имеется холодильник, управление на ардуино с возможностью регулировки заданной температуры (откл, вкл). В камере 2 датчика, один в сусле, другой снаружи ферментера. Отключение и включение происходит при заданной температуре (пример вкл = 20С, откл = 18С) от датчика, который находится непосредственно в сусле. При таком подходе неизбежен перелёт температуры примерно на 0,7С. Второй датчик соответственно показывает уже температуру намного ниже. При включении компрессора соответственно наружний датчик уже будет показывать + 24, при температуре сусла +20. Просто PID неохота ваять, может есть формула попроще?
Grind сказал(а)
При таком подходе неизбежен перелёт температуры примерно на 0,7С.
не возможен, если используется PID, а в BrewPiLess он есть.
Grind сказал(а)
Второй датчик соответственно показывает уже температуру намного ниже
Он может показывать все что угодно, особенно если нет элементарного вентилятора, который перемешивает воздух внутри камеры.
Grind сказал(а)
Просто PID неохота ваять, может есть формула попроще?
Есть - использовать специализированные контрорллеры для холодильников. Ни один ни даст точности, так как работает по гистерезису. Да и чаще для холодильников этого не требуется. Ну и про остальные приятные вещи тоже придется забыть.
Grind сказал(а)
управление на ардуино
Что конкретно? BrewPiLess? Если он, то советую довести дело до конца, и не лениться.
BrewPiles не использую, собрал из того что было под рукой, для ферментации и хранения пива мне достаточно. Ладно, уже вычислил насколько идет перелёт и на сколько температура изменяется снаружи и внутри ферментера, буду от этих данных отталкиваться. Будет этакий самопальный PID
Проблема в том, что у холодильного оборудования есть много нюансов в работе, как то "отложенный старт" компрессора, если он только перестал работать и была, скажем, открыта дверь. Компрессор не "кинется" догонять температуру до нужной, да и из-за инерции объема сусла это не требуется. Так что смысла, особого, в увязывании двух датчиков температуры я не вижу. Но тут есть более грамотные люди, возможно они меня поправят. 🙂
EroshKA сказал(а)
Судя по всему тебе стоит поменять ардуино на ESP8266, благо это не дорого. и получить совсем другой, уже готовый функционал. Просто совет. Все остальное подключается так же.
Жду уже STM32.
EroshKA сказал(а)
Проблема в том, что у холодильного оборудования есть много нюансов в работе, как то "отложенный старт" компрессора, если он только перестал работать и была, скажем, открыта дверь. Компрессор не "кинется" догонять температуру до нужной, да и из-за инерции объема сусла это не требуется. Так что смысла, особого, в увязывании двух датчиков температуры я не вижу. Но тут есть более грамотные люди, возможно они меня поправят. 🙂
2 датчика внедрил, для подстраховки, на случай выхода из строя одного. Для этого и нужно их увязать, чтоб при выходе одного система продолжала работать, но уже на другом. Показания у них разнятся, поэтому и спросил. Ладно, уже примерно есть идея как их увязать. Про отложенную систему знаю, тоже это учёл при разработке (таймер отдыха и работы компрессора).
Сделать правильно очень сложно и дорого. Здесь надо идти по пути экспериментов. Надо опытным путем определять, какая температура должна быть вокруг ферментов, чтобы внутри него была нужная. И качать эту температуру по гистерезису. Чтобы было понятно: вычислили, что когда в обьеме 12 градусов температура в ферментере 18 градусов. Управляем через датчик воздуха. Ставим уставу 12 и гистерезис 2. При этом температура в объеме будет колебаться от 10 до 14 градусов. Холодильнику,если нормальная изоляция ничего не будет. Датчик в ферментере нужен обязательно, так как в процессе брожения возможны изменения в выделении тепла, и температуру воздуха надо повышать. Главное определить зависимость температур внутри и снаружи. Также смотреть на время работы и время стоянки компрессора, может менять гистерезис в ту или иную сторону
Вот по этому, на мой взгляд проще использовать BrewPiLess в данном, конкретном случае. Это и взаимодействие с iSpindel, и электронный шпунт, и логи, и универсальная, полностью настраиваемая система. А самое главное, она уже создана. Осталось только использовать. Смена ардуинки на ESP это 250-300 рублей трат. И получаем систему на вырост. Ну то мое мнение. Возможно есть и лучше вещи. CraftBeerPi тоже хорошо работает. Из готовых устройств таких возможностей из коробки не встречал.
Kalcid сказал(а)
Сделать правильно очень сложно и дорого. Здесь надо идти по пути экспериментов. Надо опытным путем определять, какая температура должна быть вокруг ферментов, чтобы внутри него была нужная. И качать эту температуру по гистерезису. Чтобы было понятно: вычислили, что когда в обьеме 12 градусов температура в ферментере 18 градусов. Управляем через датчик воздуха. Ставим уставу 12 и гистерезис 2. При этом температура в объеме будет колебаться от 10 до 14 градусов. Холодильнику,если нормальная изоляция ничего не будет. Датчик в ферментере нужен обязательно, так как в процессе брожения возможны изменения в выделении тепла, и температуру воздуха надо повышать. Главное определить зависимость температур внутри и снаружи. Также смотреть на время работы и время стоянки компрессора, может менять гистерезис в ту или иную сторону
Вот! Путём экспериментов уже примерно вычислил разницу температур и гистерезис, осталось довести до ума и опять же эксперементировать. Алгоритм работы и стоянки компрессора учёл и внедрено программно, с этим вопросов нет. Тем более сусло остывает с 16 до 18 градусов в холодильнике за 3 часа примерно, это более чем достаточно для отдыха компрессора. В морозилке остывает с 3 до 5 градусов тоже примерно 3 часа.
EroshKA сказал(а)
Вот по этому, на мой взгляд проще использовать BrewPiLess в данном, конкретном случае. Это и взаимодействие с iSpindel, и электронный шпунт, и логи, и универсальная, полностью настраиваемая система. А самое главное, она уже создана. Осталось только использовать. Смена ардуинки на ESP это 250-300 рублей трат. И получаем систему на вырост. Ну то мое мнение. Возможно есть и лучше вещи. CraftBeerPi тоже хорошо работает. Из готовых устройств таких возможностей из коробки не встречал.
iSpindel не использую, шпунт тоже, логи и сам внедрить могу, это не сложно. Я люблю изобретать велосипед, мне так проще, чем ковыряться в чужом коде, вычёркивать то, что не нужно. Там уже нет функции 2-х датчиков, уже придётся самому доразрабатывать, остальное мне неинтересно, так зачем мне эта готовая система, если она уже не отвечает моим запросам?
Grind сказал(а)
Там уже нет функции 2-х датчиков, уже придётся самому доразрабатывать
Как раз таки и есть. Есть возможность включить контроль по датчику камеры (обычный холодильник с гистерезисом), а так же есть возможность включить контроль по датчику пива. В этом случае алгоритм усложняется. Кратко это можно описать так: Чем больше разница между измеренной и заданной температурой пива, тем ниже температура задания для холодильной камеры.
Допустим ты поставил бродилку в холодильник. Температура сусла в ней 23 градуса. Задание же по пиву стоит 10 градусов. Разницы большая, и соответственно задание для холодильника будет установлено минимально возможное (настраивается), например 3 градуса. Холодильник начинает охлаждать пространство вокруг ферментера, охлаждается пиво, и с уменьшением разницы между заданием температуры пива и достигнутым значением, будет меняться и задание для холодильной камеры (по PID закону). Допустим температура пива стала 15 градусов(при том же задании в 10), соответственно сменится задание для холодильной камеры с 3 градусов на 12 градусов. И при достижении задания по пиву, компрессор остановится. Так будет происходить при каждом разбалансе температур (пиво / задание по пиву). И заметь, никакого гистерезиса. Естественно нужно настроить сам PID регулятор и параметры, такие как время минимальной работы и стоянки компрессора, минимальная температура в холодильной камере и еще много других.
Все уже придумано, нужно просто изучить возможности. Ну а хочется порукотворить - дерзай 🙂 Не забудь поделиться результатом.

