# Описание работы в режиме “Пиво”

- Link: https://www.samovar-tool.ru/2021/05/15/opisanie-raboty-v-rezhime-pivo/
- Published: 2021-05-15T00:48:41+03:00
- Author: kosoj.diy

«Самовар» поддерживает режим для затирания солода при варке пива, приготовления 
зерновых браг и низкотемпературной обработки продуктов (су-вид). Логика режима работает
на отдельном контуре управления, который понимает восемь типов этапов программы 
и оперирует параметрами времени, температуры, исполнительного устройства и контрольного
датчика. Управлять режимом можно из веб-интерфейса, из мобильных приложений Android
и iOS и со страницы на сайте samovar-tool.ru.

## Выбор режима и адресация датчиков

Режим «Пиво» выбирается в настройках «Самовара». После сохранения настроек контроллер
применяет их без перезагрузки: меняется режим работы, набор активных датчиков и 
параметры регулятора.

«Самовар» запоминает только адреса температурных датчиков, физически подключённых
к шине в момент сохранения настроек. Чтобы не вводить адреса заново при каждом переключении
режима, сохраните на компьютере отдельные файлы настроек с понятными именами (например,
по режиму) и загружайте нужный при смене режима.

## Формат строки программы

Программа режима «Пиво» — это набор строк, разделённых пробелом. Каждая строка состоит
из пяти полей, разделённых точкой с запятой:

    ```wp-block-code
    ТИП;ТЕМПЕРАТУРА;ВРЕМЯ;УСТРОЙСТВО;ДАТЧИК
    ```

 * **ТИП** — одно из значений `M`, `P`, `B`, `C`, `F`, `W`, `L`, `A` (см. раздел«
   Типы этапов» ниже).
 * **ТЕМПЕРАТУРА** — целевая температура, °C. Для этапов, где температура не используется,
   поле остаётся, но значение игнорируется.
 * **ВРЕМЯ** — длительность в минутах. Для этапов, где время не используется, ставится`
   0`.
 * **УСТРОЙСТВО** — номер исполнительного устройства (например, мешалки или клапана),
   к которому относится этап. Если этап не связан с конкретным устройством — `0`.
 * **ДАТЧИК** — индекс датчика температуры, по которому контролируется этап. По 
   умолчанию — куб (`TankTemp`); для отдельных этапов можно задать пары или колонну.

Пример программы затирания солода по классической схеме с пятью температурными паузами:

    ```wp-block-code
    M;45.00;0;0;0 P;52.00;5;0;0 P;63.00;5;0;0 P;72.00;5;0;0 P;78.00;2;0;0 W;0.00;0;0;0 B;0.00;5;0;0 B;0.00;5;0;0 W;0.00;0;0;0 C;30.00;0;0;0
    ```

Эта программа прогревает затор до 45 °C (кислотно-белковая пауза), последовательно
поднимает температуру до 52, 63, 72 и 78 °C с удержанием, ждёт ручного подтверждения
засыпки солода и варки, затем кипятит сусло с двумя добавками хмеля, ждёт подтверждения
и охлаждает до 30 °C.

## Порядки затирания

«Самовар» не имеет фиксированных шаблонов «инфузия / декокция / осахаривание». Способ
затирания целиком задаётся программой строк и комбинацией типов этапов. Ниже — четыре
типовых порядка, которые чаще всего используют на практике. Любой из них описывается
обычной программой режима «Пиво».

### Инфузионное затирание со ступенчатым нагревом

Самый распространённый порядок. Затор нагревается ступенями, на каждой ступени —
пауза нужной длительности. Каждая ступень — это пара «нагрев до температуры» + «
удержание заданное время», плюс ручное подтверждение засыпки солода в начале. В 
примере выше показана классическая пятиступенчатая схема: 45 → 52 → 63 → 72 → 78
°C. Число ступеней и их температуры — на усмотрение пивовара: кислотная пауза 35–
45 °C, белковая 45–55 °C, осахаривание 62–72 °C (для сладкого полнотелого пива —
68–72 °C, для сухого — 60–63 °C).

### Затирание с одной паузой осахаривания

Упрощённый порядок для лёгких сортов. Затор нагревается до 52 °C, выдерживается,
далее — одна пауза осахаривания при 66–68 °C. Программа:

    ```wp-block-code
    M;52.00;0;0;0 P;52.00;10;0;0 P;67.00;45;0;0 W;0.00;0;0;0 B;0.00;60;0;0 W;0.00;0;0;0 C;25.00;0;0;0
    ```

### Декокция (отварной способ)

Часть затора отбирается в отдельную ёмкость, доводится до кипения и возвращается
обратно — это поднимает температуру основного затора на нужную ступень. В программе«
Самовара» это выглядит как чередование ступеней нагрева и этапов `W`: пока оператор
отбирает, кипятит и возвращает отварку, контроллер ждёт ручного подтверждения, затем
переходит к следующей ступени.

    ```wp-block-code
    M;45.00;0;0;0 P;45.00;15;0;0 W;0.00;0;0;0   -- засыпь, белковая, ручное подтверждение перед отваркой
    M;63.00;0;0;0 P;63.00;20;0;0 W;0.00;0;0;0   -- нагрев до осахаривания, пауза, ручное подтверждение
    P;72.00;30;0;0 W;0.00;0;0;0                  -- осахаривание, ручное подтверждение
    B;0.00;60;0;0 W;0.00;0;0;0 C;25.00;0;0;0     -- кипячение с хмелем, охлаждение
    ```

### Затирание на двух котлах (HI / HERMS / RIMS)

В установках с двумя котлами затор фильтруется через фильтр-чан с нагревом (HI —
Heat Infusion), либо через теплообменник в отдельном котле с собственной температурой(
HERMS — Heat Exchange Recirculating Mash System), либо через рециркуляцию через 
RIMS-трубку с подогревателем. Во всех случаях заторная вода и сусло рециркулируют;
температура основного затора поднимается за счёт нагрева в отдельном контуре, а 
не прямого подогрева куба. В программе «Самовара» этот порядок описывается так же
строками `M`, `P` и `W`: пока оператор настраивает расход и температуру во втором
котле или в RIMS-контуре, контроллер удерживает целевую температуру и ждёт ручного
подтверждения перед переходом к следующей ступени. Если контур управляется автоматикой
через реле или сервопривод, шаги переходов между ступенями можно автоматизировать
через этап `L` с собственным Lua-сценарием (см. раздел «Типы этапов»).

    ```wp-block-code
    M;45.00;0;0;0 P;45.00;15;0;0 L;0;0;0;0     -- засыпь, белковая, прогрев до следующей ступени через второй котёл (Lua-этап)
    P;63.00;0;0;0 L;0;0;0;0                      -- осахаривание с прогревом через второй котёл
    P;72.00;30;0;0 W;0.00;0;0;0                  -- финальная пауза, ручное подтверждение
    B;0.00;60;0;0 W;0.00;0;0;0 C;25.00;0;0;0    -- кипячение с хмелем, охлаждение
    ```

Конкретные температуры, время выдержки и число ступеней зависят от рецептуры, сорта
и схемы установки. Программу можно собрать под любой порядок затирания — «Самовар»
выполняет её буквально, без вмешательства в логику между строками.

## Импорт рецептов из BeerXML

Веб-интерфейс «Самовара» умеет загружать рецепты в формате BeerXML (и совместимом
BrewMate) и автоматически собирать из них программу режима «Пиво». Это позволяет
переносить рецепты из сторонних программ — BeerSmith, BrewMate и других — без ручного
переписывания строк.

Путь в интерфейсе: _Режим «Пиво» → Импорт рецепта_ (страница `brewxml.htm`).

 1. Выберите XML-файл рецепта на компьютере. Поддерживаются форматы BeerXML и BrewMate—
    модуль сам определяет формат.
 2. Загруженный файл парсится в браузере: извлекаются этапы затирания, кипячения, брожения,
    объёмы, ингредиенты.
 3. На основе этих данных формируется последовательность температурных шагов в формате
    программы «Самовара»: пары «нагрев до температуры» + «удержание», кипячение с добавками
    хмеля, охлаждение.
 4. Сгенерированную программу можно просмотреть в окне предпросмотра, при необходимости
    отредактировать вручную и сохранить как обычную программу режима «Пиво».

Поддерживается обратный путь: написанную вручную программу можно сохранить на компьютер
в виде текстового файла и в дальнейшем использовать повторно. Формат программы —
обычный текст со строками вида `ТИП;ТЕМПЕРАТУРА;ВРЕМЯ;УСТРОЙСТВО;ДАТЧИК`, разделёнными
пробелом.

## Типы этапов

В режиме «Пиво» доступны следующие типы этапов.

 * **`M` — нагрев до температуры с ручным подтверждением.** Контроллер нагревает
   затор до заданной температуры и удерживает её, пока оператор не перейдёт к следующей
   строке. При достижении температуры отправляется уведомление о необходимости засыпать
   солод.
 * **`P` — нагрев до температуры с автопереходом.** Контроллер нагревает до заданной
   температуры и поддерживает её указанное время, после чего автоматически переходит
   к следующей строке.
 * **`B` — кипячение.** Контроллер кипятит заданное время. По истечении времени 
   отправляется уведомление о необходимости добавить хмель. Если хмель добавляется
   несколько раз, делается несколько строк `B` с соответствующими интервалами.
 * **`C` — охлаждение.** Контроллер открывает клапан подачи воды охлаждения и ждёт,
   пока температура опустится до заданной. После этого клапан закрывается и контроллер
   переходит к следующей строке. Если строки программы закончились — нагрев выключается.
 * **`F` — финальный этап.** Завершает программу: отключает нагрев, клапаны и мешалку,
   отправляет уведомление о готовности.
 * **`W` — ручное ожидание.** Контроллер ничего не делает, пока оператор вручную
   не перейдёт к следующей строке. Используется для пауз, требующих участия человека:
   осмотр затора, добавление ингредиентов вне расписания, отбор проб.
 * **`L` — пользовательский Lua-этап.** Контроллер вызывает сценарий `beer.lua` 
   с заданным контекстом. Сценарий управляет внешним оборудованием, клапанами и 
   мешалкой до тех пор, пока не вызовет `setNextProgram()` или не будет остановлен
   по таймауту. Подробнее — в разделе о Lua-сценариях ниже.
 * **`A` — автокалибровка PID-регулятора.** Контроллер нагревает до заданной температуры,
   затем запускает автокалибровку. По завершении новые коэффициенты записываются
   в настройки, нагрев выключается и контроллер требует перезагрузки. Процесс может
   занимать несколько часов; точность поддержания температуры после калибровки повышается.
   Калибровать рекомендуется на том рабочем напряжении, на котором регулятор будет
   работать.

## Управление нагревом

«Самовар» управляет нагревом через регулятор мощности: РМ2, РМВК или kvic. Для разгона
используется максимальное напряжение (режим разгона), для удержания — рабочее напряжение,
заданное в настройках. При использовании РМВК или kvic напряжение рабочего режима
задаётся в настройках; для других регуляторов рабочее напряжение фиксировано.

В сборках с управлением по UART (РМВК, kvic) доступен **разгонный ТЭН**: при температуре
в кубе ниже целевой более чем на `ACCELERATION_HEATER_DELTA` (по умолчанию 4 °C,
задаётся в `Samovar_ini.h`) включается реле №4 (`RELE_CHANNEL4`) и подаёт питание
на дополнительный ТЭН. Когда дельта становится меньше порога, реле выключается и
работает только основной нагрев.

Реле №4 рассчитано на мощность, превышающую мощность разгонного ТЭНа минимум на 
20%. Если используется модуль из четырёх реле, через него можно коммутировать контактор
или более мощное реле.

## Гистерезис достижения температуры

В настройках задаётся уставка температуры куба — дельта, с которой контроллер считает,
что заданная температура достигнута. Например, если в строке `P;64.00;15;0;0` уставка`
0.1`, отсчёт 15 минут начнётся при температуре 63.9 °C.

## Автокалибровка PID

Чтобы запустить автокалибровку PID-регулятора, задайте отдельную программу из двух
строк:

    ```wp-block-code
    P;50.00;0;0;0
    A;50.00;0;0;0
    ```

Контроллер нагреет до 50 °C, затем запустит калибровку. По завершении новые коэффициенты
будут записаны в настройки, нагрев выключится, потребуется перезагрузка. Коэффициенты
также можно скорректировать вручную в настройках.

## Су-вид

Температурный режим су-вид реализуется как обычная программа режима «Пиво» с одной
строкой удержания:

    ```wp-block-code
    P;65;300;0;0
    ```

Контроллер удерживает 65 °C в течение 300 минут (5 часов), затем отправляет уведомление
и выключает нагрев. Продукт предварительно упаковывается в вакуумный пакет. Для 
вакуумирования используется отдельный вакууматор.

В «Самоваре» есть отдельный режим «Сувид» со своим сценарием `suvid.lua` и более
тонкой логикой удержания температуры. Для разовых задач достаточно режима «Пиво»;
для регулярного приготовления рекомендуется использовать выделенный режим.

## Логирование и уведомления

Контроллер ведёт лог работы на внутренней памяти и отправляет данные на сервер samovar-
tool.ru. Уведомления о ключевых событиях — достижении температурной паузы, добавлении
хмеля, завершении программы — отображаются в мобильных приложениях Android и iOS
и на странице управления на сайте samovar-tool.ru. Тревожные события приходят push-
уведомлением в приложениях.

Опционально поддерживается отправка показаний по MQTT: сервер, порт, пользователь,
пароль и топик задаются в локальном файле `user_config_override.h` и не хранятся
в веб-интерфейсе устройства. MQTT работает без TLS, отправляет только текущие значения
датчиков.

## Что нужно знать перед запуском

 * Перед запуском программы проверьте адреса температурных датчиков и сохраните 
   настройки на компьютере — без сохранённого файла придётся вводить адреса заново
   после перезагрузки.
 * Программа запускается автоматически после перезагрузки; если нужно прервать процесс—
   используйте кнопку остановки в веб-интерфейсе или команду `setAlarm()` из Lua.
 * Строки без числового времени (`M`, `W`) переходят к следующему этапу только по
   ручному подтверждению. Если оператор не подтвердит переход, программа останется
   на текущем этапе.
 * Этап `A` (автокалибровка PID) занимает несколько часов. Не запускайте его без
   необходимости и не отключайте контроллер до завершения.
 * Разгонный ТЭН включается автоматически при дельте температуры больше `ACCELERATION_HEATER_DELTA`(
   по умолчанию 4 °C), если в прошивке включён UART-регулятор мощности (флаг `SAMOVAR_USE_POWER`
   в `Samovar_ini.h`) и пин `RELE_CHANNEL4` не занят другим устройством. В остальных
   сборках разгонный ТЭН не задействуется.

### Понравилось это:

Нравится Загрузка…

### _Похожее_
