Статті бази ▾ ← Усі бази знань
Автоматика 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 — 16 каналів ШІМ

У контролера є лише два вбудовані виходи з плавним регулюванням. Щойно в системі з'являється третій пристрій, яким треба керувати не в режимі «увімкнено-вимкнено», а плавно, вбудованих виходів не вистачає. Плата розширення PCA9685 додає одразу 16 незалежних каналів ШІМ по шині I2C.

Що входить у тему плати PCA9685: ліворуч три обмеження — канал не тягне навантаження, потрібна спільна земля, адреса в кожної своя; праворуч чотири окремі статті


Що це дає#

Кожен із 16 каналів працює як окремий вихід 0–100%. До каналу прив'язується один пристрій: насос, вентилятор, мішалка, підсвітка, нагрівач. У картці пристрою з'являється звичний повзунок замість перемикача, а сценарії й скрипти керують ним так само, як вбудованими виходами.

Плата коштує копійки, займає лише дві лінії контролера (SDA і SCL) і не потребує жодного вільного GPIO на кожен канал.


Підключення до контролера#

Плата живиться й спілкується по чотирьох проводах:

Вивід плати Куди Примітка
VCC 3.3 В контролера живлення логіки
GND земля контролера спільна з контролером обов'язково
SDA пін SDA контролера лінія даних I2C
SCL пін SCL контролера лінія тактування I2C

Плата стає на ту саму шину I2C, де вже сидить вбудована периферія контролера. Окремих пінів під неї виділяти не треба: I2C на те й розрахована, щоб на двох лініях жило багато пристроїв з різними адресами.

Пін V+ на платі (окремий силовий рай для сервоприводів) для наших задач не використовується — залиште його непідключеним.

Нотатка

Номери пінів SDA і SCL для вашої моделі контролера дивіться в розділі Налаштування → Обладнання. У KC868-A6 та KC868-A16 вони вже задані заводською розкладкою й міняти їх не треба.


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

PCA9685 займає адреси від 0x40 до 0x47 — конкретна задається перемичками (майданчиками A0…A5) на самій платі. Заводська, коли жодна перемичка не запаяна, — 0x40.

Адреса має бути унікальною на шині. Якщо ставите дві або більше плат (32 канали й далі), кожній наступній запаяйте свою перемичку: 0x41, 0x42 і так далі. Контролер підтримує до восьми плат розширення одночасно.


Додавання в інтерфейсі#

  1. Відкрийте розділ Плати та шини й натисніть додавання плати.
  2. Тип плати — Шина I2C, тип пристрою — ШІМ PCA9685 — 16 каналів.
  3. Адреса підставиться 0x40 автоматично. Якщо ви паяли перемички, оберіть свою.
  4. Дайте платі зрозумілу назву («ШІМ куба», «ШІМ холодильника») і колір картки — за ними її буде видно у списках.
  5. Збережіть.

Плата починає працювати одразу після збереження, перезавантажувати контролер не потрібно.

Якщо плата не озвалась на шині, контролер напише про це в журнал і канали лишаться мертвими. Найчастіші причини: переплутані SDA і SCL, відсутня спільна земля, або адреса в інтерфейсі не збігається з перемичками на платі.


Прив'язка пристрою до каналу#

Пристрої створюються як завжди, у розділі Периферія:

  1. Створіть пристрій і виберіть його тип (насос, нагрівач, вентилятор, мішалка).
  2. У полі джерело замість «Внутрішні порти контролера» оберіть вашу плату.
  3. Виберіть канал — від 0 до 15. Зайняті канали в списку позначені, двічі один канал зайняти не вийде.
  4. Збережіть.

Номер каналу відповідає підпису OUT0OUT15 на платі.


Два режими керування каналом#

Контролер сам обирає, як керувати каналом, за типом пристрою — бо різні навантаження вимагають різного:

Другий режим існує тому, що ТЕНи вмикають через твердотілки, а твердотілка швидкий ШІМ відпрацювати не може. Докладно — у статті Твердотілки на платі розширення.


Головне обмеження: канал не тягне навантаження#

Виходи PCA9685 розраховані приймати струм до 25 мА і віддавати лише близько 10 мА. Це сигнальні виходи, а не силові.

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

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

Важливо

Перетворювач логічних рівнів (модуль на BSS138 з підтяжками 10 кОм) не є буфером і цієї задачі не вирішує: він передає рівень сигналу, але віддає менш ніж міліампер струму. Для узгодження I2C між 3.3 і 5 В він правильний, для живлення навантаження — ні.


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