Статті бази ▾ ← Усі бази знань
Автоматика 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-A16

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

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

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

Карта клем KC868-A16: сім груп клем — дискретні входи 1-8 і 9-16, аналогові 1-4, три роз'єми датчиків 1-Wire, RS485, I2C, Ethernet і шістнадцять MOSFET-виходів — і через що кожна йде в прошивку


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

Тип датчика чи пристрою Роз'єм на платі Через що
сухий контакт: поплавок, пресостат, кнопка Digital Input 1…16 + GND розширювачі PCF8574 на 0x22 (1–8), 0x21 (9–16), опитування ≈0,5 с
датчик тиску, вологості 0–5 В Analog Input 1…4 + GND внутрішній АЦП; дільник 5,1к/10к уже на платі
витратомір Холла (імпульсний) одна з Analog Input 1…4 той самий пін, але апаратний лічильник PCNT, не АЦП
DS18B20 (температура) GPIO's 1…3 + 3.3V + GND три незалежні шини 1-Wire: GPIO 33 (HT2), 32 (HT1), 14 (HT3)
твердотілка ТЕНа нема власного DA — через плату розширення PCA9685 + буфер ULN2803 по I2C
драйвер помпи з ШІМ те саме PCA9685 по I2C
частотник, лічильник PZEM, модуль PT100 RS485 A1, B1 Modbus, автонапрям, TX GPIO 13 / RX GPIO 16
плата PCA9685, вага NAU7802, дисплей I²C (4 незапаяні майданчики) I2C, SDA GPIO 4 / SCL GPIO 5
дротова мережа порталу Ethernet (RJ45) LAN8720 на RMII — не периферія датчиків
клапан, контактор, вхід твердотілки, блок E16 Output 1…16, кожна зі своєю 12/24V розширювачі PCF8574 на 0x24 (1–8), 0x25 (9–16), MOSFET-ключ у плюсі

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


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

Дві колодки, 1–8 і 9–16, кожна зі своїм розширювачем PCF8574 (0x22 і 0x21) по спільній шині I2C — опитування раз на півсекунди. Для поплавка, пресостата чи кнопки цього достатньо. Для імпульсного сигналу — ні: швидкість I2C не дозволить порахувати швидкі імпульси витратоміра (чому саме — у статті про витратоміри).

Живлення на контакт подає сама плата, полярності немає. Хто сідає на ці входи по типах датчика — рівень, тиск; саму колодку й дільник — у статті про входи A16.


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

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

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

Важливо

Нумерація каналів АЦП = нумерація клем лише з прошивки 0.2.213 і новіших (ain_adc_channel у board_peripheral_map.cpp). На старіших прошивках канали 2–4 читали клеми в іншому порядку — деталі й що робити після оновлення.


DAC/PWM: власного виходу немає#

На A16 аналогових виходів нуль (dac = IO_NONE у розкладці плати). Регульований нагрів і помпа з ШІМ ідуть не на клему плати, а на плату розширення PCA9685 по I2C, через буфер ULN2803 — обов'язковий комплект, якщо потрібен плавний нагрів. Чому напряму не можна і як підключити — плата PCA9685, буфер ULN2803. Власний вихід плати в цій схемі лишається під клапани, помпи «увімкнено/ вимкнено» й аварійну твердотілку (виходи A16).


1-Wire: три роз'єми, порядок важливий#

GPIO's 1…3 — три незалежні шини: GPIO 33 (роз'єм HT2, шина 0, історичний пін), GPIO 32 (HT1, шина 1), GPIO 14 (HT3, шина 2). Підтяжка 4,7 кОм уже на платі. Детально — шини A16, чому датчики губляться на апараті — проводка DS18B20.


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

A1, B1 — Modbus з автоматичним напрямом, TX GPIO 13, RX GPIO 16 (на A6 інші піни — TX 27, RX 14). Частотник мішалки, лічильник PZEM, модуль PT100 — кожен своїм slave-id (шини A16, кілька пристроїв на шині).


I2C: чотири незапаяні майданчики#

Роз'єму як такого немає — чотири отвори 3V3, GND, SCL, SDA між розширювачами, паяти самому. SDA GPIO 4, SCL GPIO 5; адреси 0x21, 0x22, 0x24, 0x25 зайняті власними розширювачами плати — зовнішній модуль перемикайте на вільну (повний список — шини A16).


Ethernet: мережа порталу, не периферія#

Роз'єм Ethernet веде на LAN8720 і забирає девʼять ніжок ESP32 — звідси й нуль вільних GPIO на платі. Це дротова мережа для зв'язку з порталом, а не вхід чи вихід для датчика; і в неї є власна пастка після перезапуску — деталі в статті про шини.


Виходи: ключ у плюсі, не сухий контакт#

Output 1…16, кожна колодка зі своєю клемою 12/24V, — MOSFET-ключі, а не реле: на клему подається плюс, навантаження — між виходом і мінусом. 220 В напряму не комутувати. Деталі, блок реле KC868-E16 і межі ключа — статті про виходи.


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

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

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

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

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

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