Шини й мережа KC868-A16: Ethernet, RS485, I2C, 1-Wire
Усе, що на A16 не є клемою входу чи виходу, — це шина: дротова мережа, RS485 до частотника, I2C до плати розширення, три роз'єми під датчики температури. Кожна зі своїми особливостями, і принаймні одна — Ethernet — з пасткою, яка виглядає як поломка плати, а є властивістю схеми. Ця стаття проходить їх у порядку, в якому вони зазвичай і додаються до щитка.
Ethernet: працює, поки не перезавантажите#
Дротова мережа — мікросхема LAN8720A на шині RMII, магджек із трансформатором
на платі. Прошивка на A16 при старті спочатку пробує дріт, а якщо лінк
не піднявся за 10 секунд — переходить на Wi-Fi (main.cpp, вибір мережі
за типом плати). Робити нічого не треба: кабель у гнізді — контролер у
дротовій мережі.

Пастка — у лінії скидання. Вивід nRST мікросхеми LAN8720 заведений на
мережу RST_NET, яка сидить на RC-ланцюзі подачі живлення і не
підключена до жодного піна ESP32. Наслідок, перевірений на стенді
(docs/board_peripheral_map.md прошивки, 2026-07-24):
| Що сталося | Ethernet після цього |
|---|---|
| зняли й подали живлення 12 В | піднімається |
кнопка RESET, скид по EN, esptool після прошивання по USB |
не піднімається |
| перепрошивка по повітрю (OTA) і перезапуск із неї | не піднімається |
esp_restart() зі сценарію чи веб-панелі |
не піднімається |
Симптом у логах: лінк на дві секунди піднімається, падає, і так кожні дванадцять секунд; IP не береться, через 10 секунд прошивка відкочується на Wi-Fi. Програмний перезапуск драйвера це не лікує — перевірено: клок PHY глітчить при перезапуску, і скинути мікросхему без її лінії скидання нічим.
Що з цим робити:
- Wi-Fi налаштувати обовʼязково, навіть якщо працюватимете по дроту: саме на нього контролер відкотиться після кожного OTA. Прошивати по повітрю — на Wi-Fi-адресу.
- Коли потрібен саме дріт — після перепрошивки зняти й подати живлення.
Кнопка
RESETне допоможе. - Кому дріт критичний: апаратна правка — перекинути
RST_NETна вільний GPIO і задати його як пін скидання PHY. Вільних GPIO на A16 майже немає (карта), тож це рішення для тих, хто розуміє, що робить.
Це не дефект конкретної плати і не проблема прошивки — так розведена схема Kincony. Ethernet на A16 варто розглядати як «дріт після подачі живлення», а не як заміну Wi-Fi.
Ціна дротової мережі — дев'ять ніжок ESP32 (17, 18, 19, 21, 22, 23, 25, 26, 27). Серед них обидва виводи справжнього ЦАП — тому на A16 і немає плавних виходів.
RS485: Modbus без піна напряму#

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

Що на платі вже є, а що треба ставити самому:
- Термінатор 120 Ом стоїть на платі (R79). Отже, A16 — один із двох фізичних кінців шини; другий термінатор ставиться на дальньому пристрої, посередині шини — жодного.
- Захист — TVS-діоди SMBJ6.8CA і самовідновні запобіжники на лініях. Це від статики й коротких викидів, а не від 220 В: силові кабелі поруч із шиною не вести.
- Земля — третій дріт
GNDміж A16 і пристроями на шині, особливо якщо частотник живиться від іншого джерела. Вирівнює потенціали й прибирає «випадкові» помилки CRC.
На одній шині — до 247 адрес, але на практиці її ділять частотник мішалки, модуль PT100 для гарячих точок і зовнішні релейні модулі — у кожного свій slave-id, і кожен канал заводиться в oCBot як окрема периферія (налаштування Modbus).
UART під RS485 на платі один. Контролер у ролі вузла (slave для іншого oCBot) не може одночасно бути майстром для власного частотника: порт зайнятий. Частотник у такій схемі вішайте на майстра.
I2C: чотири майданчики й чотири зайняті адреси#
Роз'єму I2C на платі як такого немає — є чотири незапаяні отвори посеред
плати між розширювачами PCF8574, підписані 3V3, GND, SCL, SDA.
Гребінку або дроти доведеться паяти самому.

Це та сама шина, на якій сидять власні розширювачі плати: SDA — GPIO 4,
SCL — GPIO 5, підтяжки на платі є. Тому:
| Адреса | Зайнята | Ким |
|---|---|---|
0x21 |
так | входи 9–16 |
0x22 |
так | входи 1–8 |
0x24 |
так | виходи 1–8 |
0x25 |
так | виходи 9–16 |
0x40 |
ні | плата PCA9685 за замовчуванням — конфліктів немає |
0x27, 0x3F |
ні | типові адреси дисплеїв LCD по I2C |
Зовнішній модуль PCF8574 (ще вісім реле чи входів) з адресою за
замовчуванням 0x20–0x27 треба перемкнути перемичками A0–A2 на
вільну, інакше він сяде на адресу колодки плати й обидва перестануть
працювати. Що ще — у статті про плату розширення
і про кілька плат на одній шині.
Живлення на майданчику — 3.3 В із запасом у сотню-другу міліампер (деталі); дисплей із підсвіткою на 5 В сюди не повісити без окремого джерела й перетворювача рівнів.
1-Wire: три роз'єми, порядок важливий#
Роз'єм GPIO's 1–3, 3.3V, GND праворуч угорі — три окремі шини 1-Wire:

| Роз'єм | GPIO | Підтяжка на платі | Номер шини в oCBot |
|---|---|---|---|
| HT1 | 32 | 4.7 кОм до 3.3 В + 100 Ом послідовно | 1 |
| HT2 | 33 | те саме | 0 |
| HT3 | 14 | те саме | 2 |

Шина 0 — це HT2, а не HT1: у прошивці шина 0 прибита до GPIO 33, який
історично був єдиним роз'ємом датчиків. Датчики, збережені на старіших
версіях, вантажаться з шиною 0, і якби її переселили на HT1, вони б
опинились не на тому роз'ємі. Тож при першому підключенні дивіться в
Периферії, як підписана шина, а не на цифру на платі.
З версії 0.1.853 усі три роз'єми працюють одночасно як окремі шини, на кожній — свої DS18B20 (кожна шина займає два канали RMT ESP32, разом шість із восьми). Навіщо три, якщо на одну шину можна повісити десяток датчиків:
- короткі окремі кабелі до куба, дефлегматора й парогенератора замість однієї довгої петлі через весь апарат — менше наведень;
- обрив на одному кабелі не кладе всі датчики;
- датчик у роз'ємі HT3 неможливо переплутати з датчиком у HT1 при заміні.
DS18B20 — до +125 °C. Для парогенератора, перегрітої пари й усього, що гарячіше, — PT100 через Modbus-модуль на RS485 (датчики температури). Датчики з уже впаяним резистором 4.7 кОм сюди не брати: друга підтяжка псує шину.
Радіо 433 МГц: гнізда є, підтримки немає#
Два гнізда під приймач і передавач 433 МГц (GPIO 2 і 15 через буфер). Прошивка oCBot їх не використовує — у коді під RF433 нічого немає, тож модулі купувати не треба. Звільнити ці два GPIO під щось інше теж не вийде: прошивка не дає призначати піни на A16 руками.

Суміжні статті#
- Контролер Kincony KC868-A16 — огляд плати й решта серії.
- Налаштування Modbus — топологія шини, slave-id, регістри.
- Плати й шини в oCBot — де в інтерфейсі задаються I2C-плати й шини 1-Wire.
- Що зайнято на ESP32 у KC868-A16 — повна карта GPIO, звідки видно, чому вільних ніжок немає.