Статті бази ▾ ← Усі бази знань
Автоматика oCBot
Концепція та філософія12 Ласкаво просимо до екосистеми oCBotЗвідки взявся oCBotІдеологія oCBotСфери призначення та режими роботиПериферійні пристроїСвобода периферіїБазові скрипти автоматизаціїВіртуальні панелі оператораСкладні сценарії та логіка автоматизаціїМультиконтролерністьЗагальний огляд автоматики oCBotАрхітектура та опис
Підтримувані контролери22 Контролер Kincony KC868-A6Підключення живлення й USB на KC868-A6Підключення периферії до 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Проміжне реле й контактор АСКО-УКРЕМ на 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)
Каталог периферійних пристроїв11 Датчики температуриДатчики тискуДатчики рівня рідиниСхема підключення щупа рівня через платку оптопариДатчики потоку (витратоміри)Схема підключення витратоміра до KC868-A6 і A16Виконавчі механізми (Клапани, Насоси, ТЕНи)Датчики середовища (Вологість, Світло, Тиск)Датчики електричні та вагиОргани керування (Кнопки, Енкодери)Електродвигуни та вентилятори
Складання та Перший запуск (DIY)27 Збирання контролера oCBot своїми рукамиПервинне прошивання та запуск контролераШвидке підключення Wi-Fi через BluetoothПідключення ТЕНів та регуляторів потужностіВибір та підключення електромагнітних клапанівКілька плат PCA9685 на одній шиніПін OE — апаратне зняття всіх виходівПлата PCA9685 зблизька — що на ній є і навіщоПлата розширення PCA9685 — 16 каналів ШІМСервопривід на платі PCA9685 — режим 50 ГцТвердотілки на платі розширенняПідключення LCD та OLED дисплеїв по шині I2CДвигун і частотний перетворювач: силове підключенняПроводка датчиків DS18B20: чому зникають показанняПроводка датчиків DS18B20: як зібрати шину на A6 і A16Промисловий протокол RS485 (Modbus RTU)Термометри стартового комплекту: ланцюжок на M12 і ящик з нержавійкиЧастотник AE200 (Yingshida) по Modbus: клеми, параметри й регістр завдання частотиЧастотник CFM310 по Modbus: панель RS485, сервісне меню і три регістриЧастотник Ennera FCE по Modbus: налаштування і діагностикаЧастотник без Modbus (900E): пуск реле й оберти 0–10 ВШина RS485 на кілька пристроїв: шлейф, термінатори, адресиВаги на тензодатчиках (NAU7802)Роз'єми M12: кодування A, B, D, X і кількість контактівРоз'єми M12: трійники, вилки, гнізда і заглушкиРоз'єми M12: чим захистити від води — корпус, кабель, IPУсунення типових несправностей
Робота з веб-інтерфейсом18 Головна сторінка (Home)Технічна підтримка: віддалена допомогаДіаграма процесу (Flow)Сценарії автоматизаціїРедактор скриптівПульти оператораДизайнер пультів HMI DesignerПериферіяПлати та шиниЗагальні налаштуванняОбладнанняТочки монтажуНалаштування графіківОновлення прошивкиНалаштування Wi-FiЛогиПорталПро програму
Написання сценаріїв (C++ Скрипти)10 Огляд скриптівМій перший сценарій: Крок за крокомШІМ-відбір: Як налаштувати клапан правильноНалаштування ПІД-регулятора для стабілізаціїАвтоматизація температурних пауз при затиранні солодуСкрипт ББКРегулювання тискуРозрахунок ABV за температурою париСкрипт «Розрахунок ABV»ABV у сценаріях
Безпека, Хмара та Інтеграція5 Система безпеки oCBot: Захист від аварійСтворення хмарного кабінету UA DistilleryЯк опублікувати звіт про перегонкуШеринг кастомних пультів оператора (HMI)Інтеграція з Home Assistant та MQTT
Сценарії5
ББК5 Сценарій ББК: що робить автоматика і де вона чекає на васББК: залізо й прив'язки — без чого сценарій не стартуєББК: параметри за етапами — що означає кожен і як обратиББК: перший запуск — спочатку на воді, потім брагаББК: аварії — що написано на картці, чому і що робити
У каталозі:KinCony KC868-A6

Підключення периферії до KC868-A6

Написано для прошивки 0.2.213 (коміт 35e8a03) · порталу 0.0.267Можливо, застаріло: поточна прошивка 0.2.232, поточний портал 0.0.312

Статті про окремі давачі — температуру, тиск, рівень, потік — кажуть, що за прилад і як його калібрувати, але не на яку саме клему його садити: це залежить від плати. Ця стаття — одна точка відповіді на «куди» для KC868-A6: сім груп клем, через що кожна працює в прошивці, і типовий датчик чи пристрій на ній. Деталі кожного вузла — у статтях нижче за посиланнями; тут — лише карта.

Карта клем KC868-A6: сім груп клем — дискретні входи DI1-DI6, аналогові A1-A4, аналогові виходи DA-1/DA-2, роз'єми датчиків IO-1/IO-2, RS485 A/B, I2C IIC і шість реле виходів — і через що кожна йде в прошивку


Таблиця: тип датчика → роз'єм → через що#

Тип датчика чи пристрою Роз'єм на платі Через що
сухий контакт: поплавок, пресостат, кнопка DI1…DI6 + GND розширювач PCF8574 на 0x22 (I2C), опитування ≈0,5 с
датчик тиску, вологості 0–5 В A1…A4 + GND внутрішній АЦП; дільник 5,1к/10к уже на платі
витратомір Холла (імпульсний) одна з A1…A4 той самий пін, але апаратний лічильник PCNT, не АЦП
DS18B20 (температура) IO-1, IO-2 + 3V + GND 1-Wire, GPIO 32 і 33
твердотілка ТЕНа DA-1 + GND ШІМ 4 кГц, часо-пропорційно з 0.2.7
драйвер помпи IBT-2 DA-2 + GND ШІМ 4 кГц через резисторний дільник
частотник, лічильник PZEM, модуль PT100 RS485 A, B Modbus, автонапрям, TX GPIO 27 / RX GPIO 14
плата PCA9685, вага NAU7802, дисплей IIC (4 pin) I2C, SDA GPIO 4 / SCL GPIO 15
клапан, контактор, аварійна твердотілка Output 1…6 (NO/COM/NC) розширювач PCF8574 на 0x24 (I2C), active-low

Витратомір і аналоговий датчик тиску ділять один пул із чотирьох клем A1…A4: апаратний лічильник імпульсів сидить на тих самих GPIO, що й АЦП, тому зайняти всі чотири аналоговими датчиками й витратоміром одразу не вийде — рахуйте їх разом до закупівлі.


Дискретні входи: сухий контакт, не для імпульсів#

DI1…DI6 читає розширювач PCF8574 на адресі 0x22 по шині I2C — опитування раз на півсекунди (debounce_ms і головний цикл периферії, rb_environment.cpp). Для поплавка, пресостата чи кнопки цього достатньо з запасом. Для імпульсного сигналу — ні: швидкість I2C не дозволить порахувати швидкі імпульси витратоміра, і похибка виміру буде величезною (чому саме — у статті про витратоміри).

Живлення на контакт подає сама плата, живлення зовнішнє не потрібне, полярності немає. Хто саме сідає на ці входи — поплавки, пресостати, електродні модулі на зразок XH-M203 — розібрано по типах датчика в статтях про рівень і про тиск; саму колодку й дільник — у статті про входи A6.


Частотні й аналогові входи: один пул на чотири клеми#

A1…A4 ведуть на внутрішній АЦП ESP32, GPIO 36, 39, 34, 35. Дільник 5,1 кОм на 10 кОм, що переводить 5 В датчика в 3,3 В піна, уже стоїть на платі — зовнішній на ці клеми не ставити, він ріже шкалу вдвічі.

Апаратний лічильник імпульсів (PCNT) рахує на цих же чотирьох GPIO — тому порт для витратоміра і порт для аналогового датчика тиску фізично одне й те саме місце, просто в різному режимі. На A6 і там, і там дільник плати вже розрахований на 5 В, тож і датчик Холла з живленням 5 В, і промисловий датчик тиску 0–5 В сідають напряму, без перетворювача рівнів (деталі про витратомір, про тиск).


DAC/PWM: два виходи, обидва ШІМ#

DA-1 і DA-2 — не постійна напруга, а ШІМ 4 кГц на GPIO 25 і 26. Що на клемі насправді і як прошивка веде нагрівач часо-пропорційно — у статті про виходи; куди саме дріт від твердотілки й драйвера помпи — у схемі колодки DA/IO.


1-Wire: два роз'єми, дві незалежні шини#

IO-1 (GPIO 32, шина 1) і IO-2 (GPIO 33, шина 0) — під DS18B20, з підтяжкою 4,7 кОм уже на платі. Обидві працюють одночасно, на кожній — кілька датчиків паралельно. Детально — шини A6, проводка екранованим кабелем — колодка DA/IO, чому датчики губляться на апараті — проводка DS18B20.


RS485: один майстер на всю шину#

A, B — Modbus з автоматичним напрямом, TX GPIO 27, RX GPIO 14. Сюди йдуть частотник мішалки, лічильник енергії PZEM, модуль PT100 для гарячих точок — кожен своїм slave-id (шини A6, кілька пристроїв на шині).


I2C: плата розширення, не зовнішні реле#

Роз'єм IIC — SDA GPIO 4, SCL GPIO 15. Сюди сідає плата PCA9685 (плавний нагрів, додаткові ШІМ) і плата NAU7802 (тензодатчик ваги); адреси 0x22 і 0x24 вже зайняті власними розширювачами плати — зовнішній модуль перемикайте на вільну (повний список адрес — шини A6).


Виходи: сухий контакт, байдуже до навантаження#

Output 1…6 (NO/COM/NC) — шість реле через розширювач 0x24. Контакт сухий і перекидний, тому одне й те саме реле вмикає і 220 В, і 12 В — деталі, межа струму й схема в статті про виходи.


Схеми підключення датчиків: повний перелік#

Усі типи периферії, які знає прошивка (rb_environment_parts.h, enum rb_speripheral_type), і де на KC868-A6 шукати схему підключення кожного. Рядок є для кожного типу, навіть якщо окремої схеми ще нема — тоді позначка «готується». Типи без фізичного підключення (логічні вузли сценарію — перемикач, таймер, компаратор, системний пристрій, стан) до переліку не входять: підключати в них нічого.

Тип периферії (прошивка) Приклад Схема підключення Стан
температура DS18B20, NTC/PTC Датчики температури є
дискретний вхід (загальний) кнопка, сухий контакт Дискретні входи є
аналоговий вхід (загальний) будь-який датчик 0–5 В Аналогові входи є
потік (витратомір) датчик Холла Датчики потоку, схема для A6 і A16 є
тиск аналоговий, пресостат Датчики тиску є
рівень поплавок, геркон, електроди, XH-M203 Датчики рівня, щупи через оптопару є
насос реле або ШІМ-драйвер на DA Виконавчі механізми є
нагрівач (ТЕН) твердотілка на DA-1 Виконавчі механізми є
клапан реле Виконавчі механізми є
реле (загальний вихід) контактор, аварійна твердотілка Виходи є
атмосферний тиск барометр BME280 Датчики середовища є
струм лічильник PZEM на RS485 Датчики електричні та ваги є
напруга лічильник PZEM Датчики електричні та ваги є
вологість DHT22, BME280 Датчики середовища є
рух PIR-давач — готується
вага тензодатчик через NAU7802 Датчики електричні та ваги є
охолодження (вентилятор радіатора) 12 В на виході Електродвигуни та вентилятори є
вентилятор те саме Електродвигуни та вентилятори є
освітленість фоторезистор, BH1750 Датчики середовища є
зумер пищалка на виході Органи керування є
мішалка частотник по RS485 Електродвигуни та вентилятори є
кнопка фізична кнопка на вході Органи керування є
індикатор лампа, світлодіод на виході Органи керування є
енкодер поворотний енкодер на аналоговому вході Органи керування є
сервопривід через плату PCA9685 Сервопривід на PCA9685 є
кроковий двигун 28BYJ-48 + ULN2003 через PCA9685 — готується
кінцевик сухий вхід «дійшов до краю» — готується
геркон (загальний) дверцята, кришка, положення без контакту Датчики рівня, розділ про поплавки — та сама схема, інший вхід є
протікання електродний модуль на підлозі Датчики рівня є
CO₂, ppm SCD40/41 по I2C або RS485-трансмітер — готується
потужність лічильник PZEM Датчики електричні та ваги є
енергія лічильник PZEM Датчики електричні та ваги є

Плати розширення на шині I2C:

Плата Навіщо Схема підключення Стан
PCA9685 плавний нагрів, сервоприводи, кроковики Плата PCA9685 є
NAU7802 тензодатчик ваги Датчики електричні та ваги є
SCD4x CO₂ по I2C — готується
PCF8574 додаткові дискретні входи чи виходи I2C є
Modbus-пресети на RS485 PZEM, PT100, частотники Налаштування Modbus є

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