Статті бази ▾ ← Усі бази знань
Автоматика 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Складання та Перший запуск (DIY)
#DIY#Складання#Залізо#I2CОновлено: 2026-08-21

Кілька плат PCA9685 на одній шині

Шістнадцять каналів закінчуються швидше, ніж здається: насоси, вентилятори, мішалка, підсвітка, кілька нагрівальних контурів — і місця вже немає. Друга плата вирішує це за десять хвилин і за вартість чашки кави, але рівно один недогляд перетворює її на кілька годин пошуку: дві плати з однаковою адресою на одній шині.

Ця стаття — про те, як не потрапити в цю ситуацію.

Три плати PCA9685 на спільній шині I2C: різні адреси, спільна земля, силові кола роздільні


Скільки плат тримає контролер#

Прошивка oCBot має вісім слотів під плати розширення. Вісім плат PCA9685 — це 128 каналів ШІМ, і всі вони живуть на тих самих двох лініях SDA і SCL. Жодного додаткового піна контролера друга й наступні плати не займають.

Нотатка

У чужих туторіалах трапляється цифра «62 модулі, 992 сервоприводи» — це теоретична межа адресації самої мікросхеми, а не працездатна конфігурація. Реальні межі задають довжина шини, підтяжки й кількість слотів у прошивці.


Таблиця адрес#

Адресу задають паяльні майданчики A0A5 на платі. Незапаяні дають базову 0x40, кожен запаяний додає свій біт. Веб-інтерфейс oCBot пропонує вісім адрес — рівно стільки, скільки є слотів, і всі вони набираються трьома майданчиками:

Адреса Що запаяно на платі
0x40 нічого (заводський стан)
0x41 A0
0x42 A1
0x43 A1 + A0
0x44 A2
0x45 A2 + A0
0x46 A2 + A1
0x47 A2 + A1 + A0

Майданчики A3A5 існують на платі, але в інтерфейсі відповідних адрес немає — запаювати їх не треба.

Порядок дій простий: спершу паяльник, потім інтерфейс. Запаяли перемичку — записали на плату маркером її адресу — і тільки тоді додаєте плату в розділі Плати та шини з тією самою адресою. Навпаки виходить гірше: плата в інтерфейсі є, на шині її немає, а причина неочевидна.

Порада

Підпишіть адресу прямо на платі, поки вона в руках. Через півроку, коли треба буде додати третю плату, знімати щиток і роздивлятись краплі припою під лупою — найгірший спосіб згадати, яка з них 0x41.


Як з'єднати плати#

Кожна плата має гребінку 1×6 з обох торців, і вони повністю однакові. Тому з'єднання виглядає так:

  1. Перша плата йде до контролера чотирма проводами: VCC → 3.3 В, GND → земля, SDA → пін SDA, SCL → пін SCL.
  2. Друга плата з'єднується з першою шлейфом на шість контактів: вивід у вивід, GND до GND, SDA до SDA і так далі.
  3. Третя — з другою, і далі так само.

Шлейф іде паралельно, а не послідовно: усі плати сидять на одних і тих самих лініях. Порядок плат у ланцюжку не має значення — важлива лише адреса.

Якщо гребінка з другого боку плати не запаяна, є два варіанти: запаяти штирки самому або розвести шину зіркою — від контролера окремими проводами до кожної плати. Електрично це те саме, монтажно зірка навіть акуратніша, коли плати рознесені по щитку.


Три речі, які ламають ланцюжок#

Однакова адреса. Дві плати з 0x40 на одній шині відповідають одночасно. Симптом упізнаваний: канал, увімкнений на одній платі, вмикається одразу на обох, або жодна з них не працює стабільно. Лікується перепайкою перемички.

Немає спільної землі. Плата, живлена «своїм» блоком без з'єднання земель з контролером, не має точки відліку для сигналів I2C. Працює випадково: іноді озивається, іноді ні, іноді ламає всю шину разом із рештою пристроїв. Земля контролера, земля кожної плати й мінус кожного джерела мають сходитись в одну точку.

Перевантажені підтяжки. На кожній платі SDA і SCL підтягнуті до VCC власними резисторами. Вісім плат — вісім пар резисторів паралельно, і сумарний опір падає у вісім разів: типові 10 кОм перетворюються на 1.25 кОм. Разом із підтяжками самого контролера й інших пристроїв шини цього достатньо, щоб лінія перестала впевнено притягуватись до нуля.

Увага

Симптом перевантажених підтяжок — система, яка працює з двома-трьома платами й починає сипатись на четвертій-п'ятій. Лікування: випаяти підтягувальні резистори з усіх плат, крім однієї, лишивши одну пару на всю шину.

Номінал підтяжок на клонах буває різний — звірте зі своєю платою, перш ніж рахувати. Правило те саме незалежно від номіналу: підтяжка на шині потрібна одна, а не по одній на кожному пристрої.


Силове коло не ланцюжкове#

Шлейф на шість контактів несе й вивід V+ — силову шину сервоприводів. У нашій схемі вона не використовується взагалі, тому питання «як розподілити живлення між платами» не виникає: живлення до навантаження приходить не через плати.

Кожен буфер, кожен ключ, кожна твердотілка отримує напругу від свого джерела за схемою, описаною в статті Твердотілки на платі розширення. Плати передають лише сигнал. Єдине, що між ними обов'язково спільне, — земля.


Додавання другої плати в інтерфейсі#

Дії ті самі, що й для першої, лише адреса інша:

  1. Плати та шини → додати плату.
  2. Тип плати — Шина I2C, тип пристрою — ШІМ PCA9685 — 16 каналів.
  3. Адреса — та, яку ви запаяли: 0x41, 0x42 і так далі.
  4. Назва, за якою ви впізнаєте плату в списках («ШІМ куба», «ШІМ щитка №2»).
  5. Зберегти — плата стає до роботи одразу, без перезавантаження контролера.

Далі пристрої створюються звично, у розділі Периферія, і в полі джерела з'являється вибір між усіма доданими платами. Нумерація каналів у кожної своя, від 0 до 15 — це OUT0OUT15 на її корпусі.


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