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

Що зайнято на ESP32 у KC868-A16: карта GPIO

Ця стаття — довідкова. Вона потрібна в трьох випадках: коли ви відкрили принципову схему й хочете звірити, куди йде конкретна ніжка; коли шукаєте, куди підпаяти ще один датчик; і коли з'ясовуєте, чому в Налаштуваннях → Обладнання для A16 не редагуються піни. Відповідь на друге питання — «нікуди», і таблиця нижче пояснює чому.

Джерело — принципова схема Kincony KC868-A16 (аркуш CORE) і розкладка плати в прошивці (board_peripheral_map.cpp, docs/board_peripheral_map.md).

Принципова схема модуля ESP-WROOM-32 на платі KC868-A16 з підписами всіх задіяних виводів


Карта ніжок#

GPIO Мережа на схемі Підсистема Вільний?
0 IO0 страп завантаження, авто-скид від CH340 (RTS) ні
1 U0T UART0 TX → CH340C (USB) ні
2 433M приймач 433 МГц ні
3 U0R UART0 RX ← CH340C ні
4 IIC_SDA I2C SDA — усі чотири PCF8574 і майданчики I2C ні
5 IIC_SCL I2C SCL ні
6–11 SD0–3, CMD, CLK внутрішня SPI-флеш модуля ні, ніколи
12 страп резистор 10 кОм на землю; не чіпати ні
13 485_TX RS485 DI ні
14 HT3 1-Wire, роз'єм HT3 (шина 2 в oCBot) ні
15 433M передавач 433 МГц ні
16 485_RX RS485 RO через буфер ні
17 CLK_NET Ethernet RMII, тактування 50 МГц (ESP32 генерує) ні
18 EMAC_MDIO Ethernet SMI ні
19 EMAC_TXD0 Ethernet RMII ні
21 EMAC_TX_EN Ethernet RMII ні
22 EMAC_TXD1 Ethernet RMII ні
23 EMAC_MDC Ethernet SMI ні
25 EMAC_RXD0 Ethernet RMII (це ж DAC1 — тому ЦАП на A16 немає) ні
26 EMAC_RXD1 Ethernet RMII (це ж DAC2) ні
27 EMAC_RX_DV Ethernet RMII ні
32 HT1 1-Wire, роз'єм HT1 (шина 1) ні
33 HT2 1-Wire, роз'єм HT2 (шина 0, історичний пін датчиків) ні
34 INA2 аналог, клема 2 (лише вхід) ні
35 INA3 аналог, клема 3 (лише вхід) ні
36 INA1 аналог, клема 1 (лише вхід) ні
39 INA4 аналог, клема 4 (лише вхід) ні
EN скид чипа, авто-скид від CH340 (DTR), кнопка RESET

Рахунок: дев'ять ніжок під Ethernet, чотири під аналог, три під 1-Wire, по дві під I2C, RS485, UART0 і радіо, дві страпові, шість під флеш. Вільних — нуль. Єдине, що теоретично звільняється, — GPIO 2 і 15 від радіомодулів, яких прошивка не використовує, але призначати їх на щось інше прошивка на A16 не дає: піни цієї плати зашиті в розкладці, а редагуються лише на профілі Custom.


Адреси на шині I2C#

Чотири розширювачі PCF8574P на одній шині (GPIO 4 / 5):

Адреса Що керує У прошивці
0x24 виходи 1–8 outputs.bank_addr[0]
0x25 виходи 9–16 outputs.bank_addr[1]
0x22 входи 1–8 inputs.bank_addr[0]
0x21 входи 9–16 inputs.bank_addr[1]

Виходи активні низьким рівнем (active_low = true): після подачі живлення розширювач тримає всі ніжки високими, тож до старту прошивки всі шістнадцять каналів вимкнені. Зовнішні модулі на цю шину — на будь-які інші адреси (деталі).


Що з цього бере прошивка#

Розкладка A16 у board_peripheral_map.cpp — це і є «паспорт» плати для oCBot. Звідси беруться значення за замовчуванням, які показує Налаштування → Обладнання і які на A16 не редагуються:

Поле Значення
виходи PCF8574, 16 каналів, банки 0x24, 0x25, active-low
входи PCF8574, 16 каналів, банки 0x22, 0x21
аналогові входи внутрішній АЦП, 4 канали
плавні виходи немає (IO_NONE, 0)
Ethernet так: MDC 23, MDIO 18, CLK 17
I2C SDA 4, SCL 5
1-Wire 3 шини: 33 (HT2), 32 (HT1), 14 (HT3)
RS485 TX 13, RX 16, без піна напряму, 9600
Нотатка

З прошивки FW_VER код читання АЦП бере порядок каналів саме з цієї розкладки (ain_adc_channel), тож канал N у прошивці = клема N на платі. У старіших прошивках A16 читала клеми в порядку 1-4-2-3 — що робити після оновлення, у статті про входи.


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