# Описание работы с Самоваром в режиме ректификации

- Link: https://www.samovar-tool.ru/2021/03/25/opisanie-raboty-s-samovarom-v-rezhime-rektifikacii/
- Published: 2021-03-25T01:10:21+03:00
- Author: kosoj.diy

Эта страница описывает полный цикл работы «Самовара» в режиме «Ректификация»: от
включения и разгона колонны до отбора голов, тела, хвостов и автоматического завершения
программы. Описание соответствует прошивке 7.00.

## Общая логика режима

В режиме ректификации «Самовар» разделяет спирт-сырец на три фракции: головы, тело
и хвосты. Контроллер нагревает куб через SSR-реле, стабилизирует колонну по PID-
регулятору и по заданной программе переключает ёмкости для отбора и управляет перистальтическим
насосом. Температура контролируется пятью датчиками DS18B20: пар, царга, вода охлаждения,
куб, ТСА. Весь процесс визуализируется в веб-интерфейсе, мобильных приложениях Android
и iOS и на сайте samovar-tool.ru.

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

## Состояние «Выключено» и запуск

При выборе режима «Ректификация» или после перезагрузки контроллер остаётся в состоянии«
Выключено»: показания датчиков отображаются, но нагрев и насосы выключены. Из этого
состояния возможны два перехода:

 * «Включить питание» — контроллер включает нагрев в режиме разгона колонны.
 * «Калибровка насоса» — отдельный сервисный режим для измерения производительности
   перистальтического насоса.

## Разгон колонны

После нажатия «Включить питание» контроллер переходит в состояние «Разгон» (статус
50, SAMOVAR_STATUS_RECT_ACCEL). В этом состоянии регулятор мощности работает в режиме
разгона. Если в сборке включён UART-регулятор мощности (флаг SAMOVAR_USE_POWER в
Samovar_ini.h), реле № 4 может включить разгонный ТЭН — он отключится, когда температура
в кубе приблизится к порогу открытия клапана воды. Реле для разгонного ТЭНа должно
быть с паспортной мощностью минимум на 20 % выше мощности ТЭНа. Если используется
модуль-сборка из четырёх реле, разгонный ТЭН можно подключать через реле № 4 — оно
управляет контактором или другим реле с нужной мощностью.

Когда температура в кубе достигает 77 °C (константа OPEN_VALVE_TANK_TEMP в Samovar_ini.
h), «Самовар» открывает клапан воды охлаждения (реле № 3, RELE_CHANNEL3), отправляет
уведомление в мобильное приложение и на сайт samovar-tool.ru и показывает сообщение
о подаче воды охлаждения на основном экране.

## Стабилизация колонны

Когда температура пара превышает 39 °C (константа CHANGE_POWER_MODE_STEAM_TEMP в
Samovar_ini.h), контроллер отключает режим разгона и переходит в режим стабилизации(
статус 51, SAMOVAR_STATUS_RECT_STABILIZING). Уведомление об этом отправляется в 
приложение и на сайт.

В режиме стабилизации «Самовар» ждёт, когда колебания температуры пара станут меньше
0,1 °C в течение 6 минут (отсчёт ведётся по числу опросов датчика, см. alarm.h:463).
После этого контроллер переходит в состояние «Стабилизация завершена» (статус 52,
SAMOVAR_STATUS_RECT_STABLE), звучит короткий сигнал и приходит уведомление. Если
в настройках включён параметр COLUMN_WETTING и wetting_autostart, отбор голов может
стартовать автоматически — для этого в скетче задаётся опция автостарта голов после
стабилизации.

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

## Программа отбора: структура строки

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

 1. Тип строки: H (головы), B (тело), C (хвосты), T (пауза), P (пауза-программа), L(
    Lua-этап).
 2. Объём отбора в миллилитрах (для строк типа H/B/C) либо длительность в секундах (
    для пауз).
 3. Скорость отбора в литрах в час (от 0,001 до 5 л/ч).
 4. Номер ёмкости для отбора (целое число от 1 до 4).
 5. Температура отбора в °C. Для голов и хвостов используется автоматически определённая
    температура тела, для тела — зафиксированная в начале первой строки тела (см. ниже).
    Значение 0 — определяется автоматически.
 6. Напряжение на ТЭНе, В (опционально).

Пример строки голов: `H;200;0.05;1;0;0` — отбор 200 мл голов со скоростью 0,05 л/
ч в ёмкость № 1. Пример строки тела: `B;1500;1.5;2;0;0` — отбор 1500 мл тела со 
скоростью 1,5 л/ч в ёмкость № 2.

## Отбор голов

После запуска программы контроллер начинает с первой строки голов. Насос работает
на скорости, указанной в строке, контроллер переключает ёмкости в соответствии с
номерами, заданными в строках. Когда объём первой строки голов набирается, контроллер
переходит к следующей строке программы.

Во время работы любой строки оператор может в любой момент скорректировать скорость
отбора — для этого нужно задать новое значение в литрах в час на вкладке «Дополнительно»
и нажать «Установить». Минимальная скорость — 0,001 л/ч, максимальная — 5 л/ч.

## Отбор тела и фиксация температуры

Когда начинается первая строка тела, контроллер запоминает текущие температуры пара
и царги. Эти температуры становятся опорными для всего отбора тела. Их можно скорректировать
в любой момент работы строки тела, нажав «Задать Т отбора тела» на вкладке «Дополнительно».
Контроллер перезапишет запомненные температуры текущими показаниями датчиков.

Если включена опция «Использовать корректировку давления» (UsePreccureCorrect в 
Samovar.h), контроллер пересчитывает запомненные температуры отбора тела при изменении
атмосферного давления (по датчику BMP180/BMP280/BME280, если он установлен): при
понижении давления — понижает, при повышении — повышает, в соответствии с зависимостью
температуры кипения спирта от давления.

Строки тела работают, пока не наберётся заданный в программе объём. Если в процессе
отбора температуры пара и царги выходят за указанные в настройках пределы, контроллер
ставит отбор на паузу. Если включена опция «Использовать корректировку скорости 
насоса» (useautospeed в Samovar.h), одновременно с паузой контроллер снижает скорость
отбора на заданный в настройках процент.

## Детектор примесей

В 7.00 встроен детектор примесей, который следит за стабильностью температуры пара
и флегмы во время отбора тела. Если колебания температуры превышают порог, заданный
для текущей ступени отбора, детектор останавливает отбор до восстановления стабильности.
Это защищает от проскока хвостовых фракций в тело. Параметры детектора — в файле
impurity_detector.h.

## Отбор хвостов

Когда последняя строка тела завершается, контроллер переходит к строкам хвостов,
если они есть в программе. Скорость и ёмкость для хвостов задаются в программе. 
Когда завершается последняя строка хвостов, контроллер переходит в режим ожидания:
насос останавливается, регулятор мощности продолжает работать на напряжении, которое
использовалось в последней строке хвостов. На основной экран и в уведомления приходит
сообщение о завершении программы.

После завершения программы включается режим «работа на себя»: насос остановлен, 
нагрев продолжается. По умолчанию режим длится 30 минут (константа PROGRAM_DONE_AUTO_POWEROFF_MIN
в Samovar_ini.h). За это время оператор может принять решение — выключить колонну
или продолжить отбор с другой программой (например, для отбора жирных кислот, если
сырьём было зерно). Если по истечении 30 минут оператор не вмешался, контроллер 
автоматически отключает нагрев. Значение 0 в настройке отключает удержание — питание
снимается сразу после завершения программы.

## Управление во время отбора

Во время выполнения программы оператор может в любой момент:

 * Нажать «Начать отбор» повторно — контроллер перейдёт к следующей строке программы.
 * Нажать «Поставить на паузу» — насос остановится, нагрев продолжится.
 * Нажать «Продолжить отбор» — программа продолжит выполнение с того же места.
 * Изменить скорость отбора на вкладке «Дополнительно» — новая скорость применяется
   сразу.
 * Скорректировать температуру отбора тела на вкладке «Дополнительно» — запомненные
   температуры будут перезаписаны текущими показаниями датчиков.

## Аварийное отключение

Контроллер отключает нагрев и переводит процесс в режим «Авария» при превышении 
температуры в кубе выше аварийного порога (по умолчанию 100 °C), при потере связи
с датчиком куба или пара, а также при срабатывании детектора проскока примесей. 
Сообщение об аварии отправляется в мобильное приложение и на сайт samovar-tool.ru,
отображается на основном экране и в логе. После устранения причины оператор запускает
процесс заново.

## Где смотреть параметры

 * Температура открытия клапана воды — `OPEN_VALVE_TANK_TEMP` в Samovar_ini.h.
 * Температура перехода из разгона в рабочий режим — `CHANGE_POWER_MODE_STEAM_TEMP`
   в Samovar_ini.h.
 * Удержание «работа на себя» после завершения программы — `PROGRAM_DONE_AUTO_POWEROFF_MIN`
   в Samovar_ini.h.
 * Включение UART-регулятора мощности и разгонного ТЭНа — флаг `SAMOVAR_USE_POWER`
   в Samovar_ini.h.
 * Пины клапана воды и разгонного ТЭНа — RELE_CHANNEL3 и RELE_CHANNEL4 в Samovar_pin.
   h.
 * Статусы ректификации — SAMOVAR_STATUS_RECT_* в Samovar.h.
 * Парсинг программы — rect_program_parse_spec() в program_io.h.
 * Детектор примесей — impurity_detector.h.
 * Стабилизация колонны — alarm.h, обработчик SAMOVAR_STATUS_RECT_STABILIZING.

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

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

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