Статті бази ▾ ← Усі бази знань
Автоматика oCBot
Концепція та філософія12 Ласкаво просимо до екосистеми oCBotЗвідки взявся oCBotІдеологія oCBotСфери призначення та режими роботиПериферійні пристроїСвобода периферіїБазові скрипти автоматизаціїВіртуальні панелі оператораСкладні сценарії та логіка автоматизаціїМультиконтролерністьЗагальний огляд автоматики oCBotАрхітектура та опис
Підтримувані контролери18 Контролер Kincony KC868-A6Підключення живлення й USB на KC868-A6Реле й аналогові виходи KC868-A6Сухі контакти й аналогові входи KC868-A6Шини й роз'єми 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
База знаньАвтоматика oCBotНаписання сценаріїв (C++ Скрипти)

Скрипт регулювання тиску парогенератора

Скрипт Регулювання тиску парогенератора (parogen_pressure_script) призначений для стабілізації тиску пари в паровому генераторі. Це критично для процесів безперервної дистиляції та вакуумної перегонки, де стабільність тиску пари безпосередньо впливає на роздільну здатність колони.


Стадії роботи скрипта#

Скрипт послідовно проходить такі етапи:

  1. slt_startup (Ініціалізація): Скидання таймерів, запуск 2-хвилинного таймера контролю наповнення.
  2. slt_filling_up_steam_gen (Наповнення водою): Запуск вхідного клапана води. Після досягнення верхнього давача рівня система переходить на наступний крок.
  3. slt_boosting_to_pressure (Форсований набір тиску): Ввімкнення ТЕНів на максимальну потужність (power_limit_high) для швидкого закипання та генерації пари. Триває до досягнення стартового тиску (boost_to_pressure).
  4. slt_handling_heater_power (PID-стабілізація): Перехід на плавне регулювання потужності ТЕНів за допомогою алгоритму PID для точного утримання заданого тиску.
  5. slt_fault_state (Стан аварії): Зупинка нагріву, повне закриття клапанів та очікування втручання оператора у разі виходу за ліміти безпеки.

Алгоритм PID-регулювання тиску#

Скрипт реалізує класичний пропорційно-інтегрально-диференціальний (PID) регулятор для обчислення необхідної теплової потужності:


Розумне керування каскадом ТЕНів#

Скрипт підтримує динамічне підключення декількох ТЕНів різної потужності:

  1. Основний ТЕН (&1/1) керується плавно (через ШІМ/симістор).
  2. Додаткові ТЕНи (релейні навантаження) вмикаються дискретно (0% або 100%).

Логіка розподілу навантаження:#

Якщо розрахована PID-регулятором потужність менша або дорівнює максимальній потужності основного ТЕНу, регулювання відбувається виключно основним ТЕНом. Якщо ж необхідна потужність перевищує можливості основного ТЕНу:

Порада

Такий каскадний підхід дозволяє стабільно утримувати тиск навіть на великих об'ємах без використання дорогих регуляторів потужності на всі наявні ТЕНи.