Статті бази ▾ ← Усі бази знань
Автоматика 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: Захист від аварійПідключення контролера до кабінету the.in.uaЯк опублікувати звіт про перегонкуШеринг кастомних пультів оператора (HMI)Інтеграція з Home Assistant та MQTT
Сценарії5
ББК5 Сценарій ББК: що робить автоматика і де вона чекає на васББК: залізо й прив'язки — без чого сценарій не стартуєББК: параметри за етапами — що означає кожен і як обратиББК: перший запуск — спочатку на воді, потім брагаББК: аварії — що написано на картці, чому і що робити
У каталозі:KinCony KC868-A6

Шини й роз'єми KC868-A6: RS485, I2C, 1-Wire і решта

Написано для прошивки 0.2.93 (коміт 9648be9) · порталу 0.0.176Можливо, застаріло: поточна прошивка 0.2.237, поточний портал 0.0.331

На A6 роз'ємів більше, ніж на будь-якій іншій платі серії: Kincony зробила її «конструктором» під nRF24, LoRa, дисплей, RS232 і годинник. Прошивці oCBot з цього потрібні три речі — RS485 до частотника, I2C до плати розширення й два роз'єми датчиків. Ця стаття розбирає їх, а решту роз'ємів називає тим, чим вони для нас є: незадіяними.


RS485: Modbus з автоматичним напрямом#

Клеми A, B ліворуч угорі, біля DB9. Драйвер — MAX13487EESA з автоперемиканням напряму: піна DE/RE немає, у розкладці плати rts = -1, у налаштуваннях нічого задавати не треба. TX — GPIO 27, RX — GPIO 14 через буфер 74LVC1G125, за замовчуванням 9600.

Принципова схема RS485 KC868-A6: MAX13487EESA з автонапрямом, буфер 74LVC1G125, термінатор 120 Ом, захисні TVS-діоди й самовідновні запобіжники

Колодка RS485 A і B на платі KC868-A6

Що на шину чіпляють у дистиляторі: частотник мішалки, модуль PT100 для точок гарячіших за 125 °C, зовнішній релейний модуль, коли шести реле замало. Кожен — зі своїм slave-id, кожен канал у oCBot окремою периферією (налаштування Modbus). UART під RS485 один: вузол у ролі slave для іншого oCBot не може водночас бути майстром для свого частотника. Як розкласти таку шину — кілька пристроїв на одній лінії; там і про те, що термінатор R54 доречний на кінці шлейфа, а посеред нього його доводиться піднімати паяльником.


I2C: два роз'єми однієї шини#

SDA — GPIO 4, SCL — GPIO 15. На платі два роз'єми на цю шину, обидва запаяні (на відміну від A16 паяти нічого не треба):

Роз'єм IIC на платі KC868-A6 — чотири контакти GND, 3V3, SCL, SDA

Принципова схема роз'єму IIC на KC868-A6: чотири контакти GND, 3V3, SCL, SDA на шині I2C плати

На цій же шині сидять власні мікросхеми плати, тож частина адрес зайнята:

Адреса Хто
0x22 розширювач входів
0x24 розширювач реле
0x68 годинник DS1307 (прошивка не звертається, але адреса на шині є)
0x40 вільна — PCA9685 за замовчуванням сідає без конфліктів
0x27, 0x3F вільні — типові адреси LCD-дисплеїв

Зовнішній модуль PCF8574 на вісім реле — обовʼязково перемкнути перемичками A0–A2 на адресу, відмінну від 0x22 і 0x24; на заводських 0x20/0x27 він теж стане. Плата PCA9685 для плавного нагріву або додаткових ШІМ — окрема серія статей.

Живлення на роз'ємах — 3.3 В із запасом близько двохсот міліампер на все разом (деталі).


1-Wire: IO-1 і IO-2#

Колодка IO-2, IO-1, 3V, GND між аналоговими виходами й входами — два роз'єми датчиків із підтяжкою 4.7 кОм і послідовним 100 Ом на платі (аркуш Sensors):

Принципова схема роз'єму датчиків KC868-A6: дві лінії HT1 і HT2 з підтяжкою 4.7 кОм до 3.3 В і резисторами 100 Ом

Клема GPIO Мережа на схемі Шина в oCBot
IO-1 32 HT1 1
IO-2 33 HT2 0

Шина 0 — це IO-2: GPIO 33 історично був єдиним роз'ємом датчиків, і периферія, збережена на старіших прошивках, вантажиться саме з шиною 0. Тож підпис шини дивіться в Периферії, а не вгадуйте за цифрою на платі. Обидві шини працюють одночасно, на кожній — свої DS18B20; типовий поділ — куб і колона на одному кабелі, дефлегматор і холодильник на другому. DS18B20 — до +125 °C; гарячіше — PT100 по Modbus (датчики температури).

Роз'єм датчиків IO-1, IO-2 на платі KC868-A6

Як завести зонд екранованим кабелем — які жили на IO, GND і 3V, куди екран — схемою в статті про колодку DA/IO. Що робити, коли датчики на апараті зникають і з'являються: кабель, топологія, додаткова підтяжка на довгій лінії й розбір симптомів — проводка датчиків DS18B20.


Що на платі є, а в прошивці — ні#

Про це чесно, бо ці роз'єми — половина маркетингового опису A6.

Роз'єм Що це в залізі У oCBot
OLED I2C-гребінка під SSD1306 драйвера дисплея немає; роз'єм — ще одна точка I2C
Serial UART на GPIO 12/13 не використовується; GPIO 12 — страп завантаження, чіпати не варто
nRF24L01 / LoRa SPI на GPIO 18/19/23 + CS 5, CE 22, RST 21, DIO0 2 не використовується; обидва гнізда ділять одну шину, і навіть у Kincony одночасно не працюють
RS232 DB9 SP3232 на GPIO 16/17 не використовується
RTC DS1307 I2C 0x68, гніздо CR1220 драйвер є, але rtc.init() вимкнений; час — з NTP

Звільнити ці піни під своє прошивка на A6 не дає: піни плати зашиті в розкладці, редагуються лише на профілі Custom (карта GPIO).


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