Статті бази ▾ ← Усі бази знань
Автоматика oCBot
Концепція та філософія12 Ласкаво просимо до екосистеми oCBotЗвідки взявся oCBotІдеологія oCBotСфери призначення та режими роботиПериферійні пристроїСвобода периферіїБазові скрипти автоматизаціїВіртуальні панелі оператораСкладні сценарії та логіка автоматизаціїМультиконтролерністьЗагальний огляд автоматики oCBotАрхітектура та опис
Підтримувані контролери19 Контролер Kincony KC868-A6Підключення живлення й USB на KC868-A6Реле й аналогові виходи KC868-A6Сухі контакти й аналогові входи KC868-A6Твердотілка, драйвер помпи й датчики: підключення до колодки DA/IOШини й роз'єми KC868-A6: RS485, I2C, 1-Wire і рештаЩо зайнято на ESP32 у KC868-A6: карта GPIOЯк зібрати щиток на KC868-A6Як прогнати сценарії без куба: тестовий стенд для KC868-A6Контролер Kincony KC868-A16Підключення живлення й USB на KC868-A16Силові виходи KC868-A16: MOSFET замість релеСухі контакти й аналогові входи KC868-A16Шини й мережа KC868-A16: Ethernet, RS485, I2C, 1-WireЩо зайнято на ESP32 у KC868-A16: карта GPIOЯк зібрати щиток на KC868-A16Як прогнати сценарії без куба: тестовий стенд для KC868-A16Контролер WT32-ETH01Універсальний ESP32 DevKit (Custom)
Каталог периферійних пристроїв9 Датчики температуриДатчики тискуДатчики рівня рідиниДатчики потоку (витратоміри)Виконавчі механізми (Клапани, Насоси, ТЕНи)Датчики середовища (Вологість, Світло, Тиск)Датчики електричні та вагиОргани керування (Кнопки, Енкодери)Електродвигуни та вентилятори
Складання та Перший запуск (DIY)20 Збирання контролера oCBot своїми рукамиПервинне прошивання та запуск контролераШвидке підключення Wi-Fi через BluetoothПідключення ТЕНів та регуляторів потужностіВибір та підключення електромагнітних клапанівКілька плат PCA9685 на одній шиніПін OE — апаратне зняття всіх виходівПлата PCA9685 зблизька — що на ній є і навіщоПлата розширення PCA9685 — 16 каналів ШІМСервопривід і плата розширення — чому це не працюєТвердотілки на платі розширенняПідключення LCD та OLED дисплеїв по шині I2CДвигун і частотний перетворювач: силове підключенняПромисловий протокол RS485 (Modbus RTU)Частотник AE200 (Yingshida) по Modbus: клеми, параметри й регістр завдання частотиЧастотник CFM310 по Modbus: панель RS485, сервісне меню і три регістриЧастотник Ennera FCE по Modbus: налаштування і діагностикаЧастотник без Modbus (900E): пуск реле й оберти 0–10 ВКалібрування ваг на тензодатчиках (HX711)Усунення типових несправностей
Робота з веб-інтерфейсом17 Головна сторінка (Home)Діаграма процесу (Flow)Сценарії автоматизаціїРедактор скриптівПульти оператораДизайнер пультів HMI DesignerПериферіяПлати та шиниЗагальні налаштуванняОбладнанняТочки монтажуНалаштування графіківОновлення прошивкиНалаштування Wi-FiЛогиПорталПро програму
Написання сценаріїв (C++ Скрипти)10 Огляд скриптівМій перший сценарій: Крок за крокомШІМ-відбір: Як налаштувати клапан правильноНалаштування ПІД-регулятора для стабілізаціїАвтоматизація температурних пауз при затиранні солодуСкрипт ББКРегулювання тискуРозрахунок ABV за температурою париСкрипт «Розрахунок ABV»ABV у сценаріях
Безпека, Хмара та Інтеграція5 Система безпеки oCBot: Захист від аварійСтворення хмарного кабінету UA DistilleryЯк опублікувати звіт про перегонкуШеринг кастомних пультів оператора (HMI)Інтеграція з Home Assistant та MQTT
Сценарії5
ББК5 Сценарій ББК: що робить автоматика і де вона чекає на васББК: залізо й прив'язки — без чого сценарій не стартуєББК: параметри за етапами — що означає кожен і як обратиББК: перший запуск — спочатку на воді, потім брагаББК: аварії — що написано на картці, чому і що робити
База знаньАвтоматика oCBotСценаріїББК

ББК: параметри за етапами — що означає кожен і як обрати

Написано для прошивки 0.2.93 · порталу 0.0.176Можливо, застаріло: поточна прошивка 0.2.127, поточний портал 0.0.182

У сценарію ББК дванадцять уставок на екрані, і половина з них із нулем не «нічого не робить», а ламає процес із хибним діагнозом: таймаут 0 дає аварію через дві секунди, ціль міцності 0 — «Міцність висока» за годину прогріву. Тому з версії 0.2.93 сценарій відмовляється стартувати з незаповненими критичними полями і каже, якими саме. Тут — що означає кожне поле, звідки взяти число під свій апарат і які уставки учасників на нього накладаються.

Дефолтів у сценарію немає навмисно: вати й хвилини залежать від апарата, і підставлене «типове» число було б брехнею.


Як прошивка розкладає параметри#

З 0.2.92 вкладка «Параметри» сценарію групує уставки за етапом, на якому вони починають діяти: панелі «Розігрів парогенератора», «Стабілізація колони», «Подача браги», «Дистиляція». Всередині етапу — за обладнанням: парогенератор → насос → брага → продукт. Праворуч — «Загальні» й «Безпека», далі скрипти-учасники. Нижче таблиці йдуть у тому самому порядку, що й на екрані.


Розігрів парогенератора#

Уставка Одиниці Що означає Як обрати
Максимальна потужність парогенератора кВт Потужність на стадії розігріву, а також стеля, вище якої регулятор дистиляції не підніме нагрів Сума ваших ТЕНів, обмежена мережею. Не вище «Максимальної потужності» учасника «Керування нагрівом» — сценарій переводить вати у відсотки саме від неї, і надлишок просто зріжеться до 100 %
Потужність парогенератора в робочому режимі кВт Куди падає нагрів, щойно верх колони перейшов цільову температуру; з нею колона стабілізується й починає дистиляцію Потужність, на якій ваша колона тримає пару без захлинання при закритій подачі браги. Між мінімумом і максимумом — регулятор потім зсуватиме її кроками
Таймаут розігріву парогенератора хв Скільки часу дається на те, щоб верх колони дійшов до цілі. Перевищено → аварія «Час ПГ нагріву» Час розігріву на воді з першого прогону, плюс запас. Замалий таймаут — хибна аварія на холодному апараті
Температура верху колони для переходу в робочий режим °C Показ термометра верху, після якого сценарій знімає максимум і переходить до стабілізації Трохи нижче температури пари води на вашій висоті: ціль — упіймати момент, коли пара дійшла до верху, а не дочекатися перегріву
Важливо

Обидві потужності — у кіловатах, а в учасника «Керування нагрівом» — у ватах. 3 кВт тут = 3000 Вт там.


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

Уставка Що означає Коли вмикати
Чистий дистилятор (спочатку на воді) Після першої стабілізації колона працює на воді без браги і чекає «Готово» на панелі оператора — лише тоді йде подача. На повторних стабілізаціях не діє Перший запуск апарата, перший прогін після переробки, або коли потрібна дистильована вода. Вимкнено — брага йде одразу після стабілізації

Самі критерії стабільності — розкид верху не більше 2 °C у вікні з 20 показів, щонайменше 30 с, не довше 10 хв — у сценарій зашиті й не налаштовуються.


Подача браги#

Уставка Одиниці Що означає Як обрати
Стартова потужність насоса % З якої потужності помпа стартує після стабілізації (60 с проміжної подачі) і після кожної повторної стабілізації Між мінімумом і максимумом помпи, ближче до тієї витрати, на якій колона працювала минулого разу. Зависокий старт — колона захлинеться до того, як регулятор устигне відступити

Дистиляція#

Уставка Одиниці Що означає Як обрати
Мінімальна потужність парогенератора кВт Підлога для регулятора: нижче нагрів не опуститься; на ній із помпою на максимумі — аварія «Міцність низька» Найменша потужність, на якій колона ще дає пару в дефлегматор
Мінімальна потужність насоса % Підлога помпи: помпа на ній і міцність усе ще висока → потужність парогенератора вгору Найменший %, на якому помпа справді качає. Нижче — вона стоїть, а сценарій думає, що брага йде
Максимальна потужність насоса % Стеля помпи: на ній і міцність усе ще низька → потужність униз Найбільший %, на якому помпа не б'є й колона не захлинається
Період регулювання насоса с Як часто помпа рухається на 1 % Колона інерційна: частіше, ніж вона встигає відповісти на зміну подачі, — розгойдування. Починайте з великого періоду й зменшуйте, дивлячись на міцність
Мінімальна подача браги л/хв Лише з витратоміром. Витрата нижча → кінець браги (штатне завершення) або забитий фільтр (аварія) Трохи нижче витрати помпи на мінімальній потужності, інакше сценарій зупинить нормальний прогін
Цільова спиртуозність продукту % об. Міцність пари, яку тримає регулятор: вища — менше браги, нижча — більше Опис у прошивці радить 30–60. Нуль не приймається — сценарій не стартує

Що з цим робить регулятор — у огляді, розділ «Регулятор дистиляції».


Безпека сценарію#

Три однакові слоти, як у кожного скрипта: датчик з прапорцем «Може сигналізувати аварію», умова (більше / менше / ≥ / ≤), поріг, затримка «через N с», перемикач «Лише після норми». Для ББК тут живе перегрів продукту на термометрі попугая; окремого коду й параметра для нього більше немає. Як заповнити — у першому запуску.

Два старі поля — «Цільова температура охолоджувача» й «Максимальна температура продукту» — у прошивці лишились для сумісності збережених налаштувань, але на екрані сховані й ні на що не впливають.


Уставки учасників, які впливають на ББК#

Сценарій командує учасникам потужність і «увімкнути/вимкнути», але не переписує їхні параметри. Ось які з них насправді працюють під ББК.

Парогенератор#

Уставка Що означає під ББК
Гріти під час доливу Увімкнено — нагрів під час доливу лишається (ТЕНи мають бути під нижнім датчиком). Вимкнено — на час доливу нагрів 0 і сценарій ставить стабілізацію й регулятор на паузу. Первинний налив завжди без нагріву

Рівень води#

Уставка Що означає
Вимикати подачу на датчику Датчик, мокрий стан якого закриває клапан. Типово — верх
Вмикати подачу на датчику Датчик, сухий стан якого відкриває клапан. «Той самий» — гістерезис на одному поплавку; нижчий — рівень гуляє між двома, клапан клацає рідше

Поля «Інверсія» й «Фільтрація шуму» цього скрипта на екран не виводяться: обидва тепер у налаштуваннях самого датчика.

Тиск пари#

Уставка Типово Що означає під ББК
Потужність розгону 100 % Не діє: сценарій підмінює її своєю вимогою
Робоча потужність 100 % Не діє з тієї ж причини
Потужність при робочому тиску 0 % Діє. Щойно тиск досягнуто (контакт замкнутий, аналоговий вище цілі, температура вище кипіння), вимога нагріву стає такою — незалежно від того, скільки ват просить сценарій. 0 = нагрів знято, як у класичному ББК
Цільовий тиск, Гістерезис тиску 0.5 / 0.1 бар Лише для аналогового датчика тиску
Температура кипіння 98 °C Лише коли тиску нема, а є термометр води в парогенераторі; гістерезис 2 °C зашитий
Нотатка

Отже, з прив'язаним датчиком тиску у парогенератора є дві стелі: потужність від сценарію і тиск від «Тиску пари». Коли тиск досягнуто, сценарій продовжує показувати свою вимогу у ватах, а ТЕНи гріють на «Потужності при робочому тиску».

Керування нагрівом#

Уставка Що означає під ББК
Максимальна потужність База, від якої сценарій рахує відсотки. 0 = сума номіналів прив'язаних ТЕНів. Вище суми номіналів скрипт сам зріже
Мінімальна потужність Підлога для власного режиму скрипта; сценарій її не використовує
Цільова потужність Для самостійного запуску скрипта; під ББК не діє
Період почергового перемикання Коли вимога покриває лише частину елементів банку — вони чергуються з цим періодом для рівномірного зносу

Розрахунок ABV#

Уставка Що означає під ББК
Алгоритм Класична формула або VLE (рівновага пара–рідина). Сценарій регулює за тим, що обчислить обраний алгоритм
Бажаний вміст спирту Не діє — ББК веде регулятор за власною «Цільовою спиртуозністю продукту»

Охолодження#

Уставка Що означає
Потужність охолодження Відкриття клапана подачі / потужність помпи контуру, поки сценарій тримає охолодження ввімкненим (з «Готово» до кінця «Завершення процесу»). Типово 100 %

Статті серії#

Суміжні статті#