![](https://habrastorage.org/webt/me/gr/v2/megrv2k-t4dvanfd6b7cgbbqv7k.jpeg)
Итак, мы с вами потренировались на начальных контроллерах компании Kincony (KC868-A4, KC868-A8, KC868-Uair, KC868-AG) и теперь переходим в «высшую лигу» и разберём устройство и назначение более серьёзного контроллера KC868-A16. Это представитель всё той же линейки ESP32 контроллеров Kincony для DIY и малой автоматизации, но имеющий другую архитектуру и некоторые дополнительные (долгожданные) возможности, например, встроенный интерфейс RS485.
Здесь всё также присутствует возможность работы как по беспроводному Wi-Fi, так и по проводному Ethernet, возможность работы с беспроводными устройствами 433 МГц и подключения дополнительного оборудования и т. д., но не будем забегать вперёд и постараемся обстоятельно разобраться с тем, что же представляет собой Kincony KC868-A16 и как его можно использовать в вашем хозяйстве.
Kincony KC868-A16
Для начала проведём формальную инвентаризацию оборудования и функциональных блоков, имеющихся на борту KC868-A16. Прежде всего это, конечно, «мозг» всей системы — микроконтроллер ESP32 (ESP-WROOM-32) со всеми его возможностями (Wi-Fi, Bluetooth, 4 МБ EEPROM и т. д.).
Кроме ESP-WROOM-32, Kincony KC868-A16 содержит:
- 16 цифровых опторазвязанных входов («сухой контакт»);
- 4 аналоговых входа 0–5 В;
- 16 MOSFET выходов 12/24 В для управления реле и прочим оборудованием;
- Возможность подключения блока KC868-E16 на 16 реле или аналогичного;
- 3 контакта для подключения температурных и прочих датчиков;
- Модули приёмника/передатчика 433 МГц;
- Интерфейс RS485;
- I2C разъём;
- Ethernet LAN8270A;
- Разъём USB Type-C для программирования и заливки прошивок;
- Питание от 12 В постоянного тока.
Как мы видим, список функциональных блоков и возможностей KC868-A16 довольно внушительный — 16 цифровых входов и 16 MOSFET выходов позволяют создавать на этом контроллере довольно развитые проекты по автоматизации. Кроме этого, наличие аналоговых входов и GPIO для работы с различными датчиками, а также свободного I2C разъёма даёт возможность для подключения нужного вам дополнительного оборудования.
Список интерфейсов тоже довольно внушительный: здесь и беспроводные Wi-Fi, Bluetooth, 433 МГц и проводные Ethernet и RS485 — всё это позволяет покрыть большую часть потребностей малой автоматизации и в целом KC868-A16 смотрится довольно «сильным» решением. Это уже контроллер более высокого уровня, чем рассмотренные нами ранее контроллеры Kincony.
![](https://habrastorage.org/webt/lj/9b/xa/lj9bxaukds2e4j7iisqm4w5b2ue.jpeg)
Для сравнения A4 и A16 рядом
За «серьёзность» KC868-A16 пришлось расплатиться потерей реле — во-первых, 16 реле установить на плате довольно проблематично, и, во-вторых, MOSFET выходы можно использовать не только для реле, но и для управления другим оборудованием, например, контакторами, электроклапанами и прочими подобными устройствами. Поэтому замена реле на колодки с 16-ю MOSFET выходами выглядит разумной и вполне уместной в контексте назначения и области применения KC868-A16.
![](https://habrastorage.org/webt/wm/xa/fx/wmxafx6yorumdwutgwhbyjwi6ec.jpeg)
Блок реле KC868-E16, предназначенный для работы в связке с KC868-A16
Внешний вид
KC868-A16 комплектуется корпусом аналогичной конструкции, как и у контроллеров KC868-A4 и KC868-A8, но только несколько увеличенной длины. Также бросается в глаза другой цвет пластмассы и отсутствие технологических отверстий и заглушек на верхней крышке корпуса. В целом, качество корпуса для KC868-A4 и KC868-A8 я бы оценил на «5», а качество корпуса для KC868-A16 на «4+».
![](https://habrastorage.org/webt/a0/6l/ca/a06lcaqqf2amfne-wkkuk21pfdo.jpeg)
Вид KC868-A16 со снятой верхней крышкой корпуса. Можно отметить, что у платы нет сильно выступающих деталей и в корпусе остаётся много места для размещения дополнительной платы или дисплея.
![](https://habrastorage.org/webt/i-/7m/lz/i-7mlzprdnnkfuxxzj1why7o-ag.jpeg)
Плата без корпуса, вид со стороны Ethernet-разъёма. Видны разъёмы цифровых входов, интерфейса RS485, аналоговых входов и разъём для подключения дополнительных датчиков.
![](https://habrastorage.org/webt/su/cm/nt/sucmntqv4fjtl6smn2lxyaym4a4.jpeg)
Плата KC868-A16
Вид сверху на плату KC868-A16 и установленные на ней компоненты. Всё сделано качественно и аккуратно — к внешнему виду платы у меня нет никаких нареканий.
![](https://habrastorage.org/webt/ns/bl/dj/nsbldjk0y9n_u-p1fepfxbvovdk.jpeg)
Вид с обратной стороны. Детали на нижней стороне полностью отсутствуют. Единственное замечание — я бы сделал «окно» для антенны ESP32 в фольге текстолита немного больше.
![](https://habrastorage.org/webt/lh/1v/jn/lh1vjn6cs8kdpilqneb4o4pd4ny.jpeg)
Схемотехника
Теперь разберём схемотехнику KC868-A16. Для каждого функционального блока я приведу фото компонентов этого блока на плате контроллера и его принципиальную схему, а также дополню это описание своими комментариями.
▍ Питание
Подсистема питания контроллера KC868-A16 состоит из микросхемы понижающего DC-DC преобразователя XL1509-5 для формирования напряжений 12 В и 5 В и линейного регулятора LM117-3V3 для формирования напряжения 3,3 В. Всё это снабжено соответствующей обвязкой.
![](https://habrastorage.org/webt/ti/-i/wg/ti-iwgt1_mr3z3eeiqqkxcy39ic.jpeg)
Принципиальная схема подсистемы питания KC868-A16:
![](https://habrastorage.org/webt/jr/rx/04/jrrx04mfgqrwmikuu2s9ucbchpw.png)
▍ ESP32
В Kincony KC868-A16 установлен модуль ESP32 в модификации ESP-WROOM-32. Ранее в некоторые модели линейки KC868 устанавливались модули ESP32-S, но теперь компания полностью перешла на комплектацию этих контроллеров модулями ESP-WROOM-32.
![](https://habrastorage.org/webt/r8/xi/m5/r8xim5e1ebph5zhjk7en5tluh80.jpeg)
Принципиальная схема и распиновка ядра (ESP32) контроллера:
![](https://habrastorage.org/webt/vi/9m/sd/vi9msd7lygiifwzuhfu5wrq5tg4.png)
▍ USB/CH340
Подсистема подключения к компьютеру и программирования KC868-A16 радует нас появлением USB разъёма Type-C вместо устаревшего Mini-USB. Сама работа этого блока обеспечивается микросхемой CH340C. Здесь же присутствуют две кнопки — «RESET» и «DOWNLOAD». Расположение кнопок позволяет иметь к ним доступ без демонтажа верхней крышки контроллера.
![](https://habrastorage.org/webt/41/be/jp/41bejpt6ouu_tjej5g4bxhkh09i.jpeg)
Принципиальная схема подсистемы USB/CH340 контроллера:
![](https://habrastorage.org/webt/-a/e6/vu/-ae6vuu6vxavi2m8dz-cbbca4fs.png)
▍ Цифровые входы
Плата Kincony KC868-A16 имеет 16 цифровых оптоизолированных входов «сухой контакт» на оптронах EL357. Индикации состояния цифровых входов нет (она закончилась на KC868-A4, а жаль).
Для обеспечения работы 16-и цифровых входов в связке с ESP32 (с его ограниченным количеством свободных GPIO) в KC868-A16 применён pасширитель цифровых входов/выходов c I2C интерфейсом на двух чипах PCF8574P.
![](https://habrastorage.org/webt/rm/tg/9i/rmtg9ihr0kinx3n4nrplbgwfgli.jpeg)
Принципиальная схема подсистемы цифровых входов:
![](https://habrastorage.org/webt/md/jm/pm/mdjmpmtzz9rgulpvmtldgxiq2sc.png)
▍ Аналоговые входы
Плата KC868-A16 имеет 4 аналоговых входа для сигналов 0–5 B. Формирование напряжения производят входные каскады, счетверённый операционный усилитель LM324 и диоды Шоттки BAT54S.
Тут же формируется напряжение VCC_12V_1.
![](https://habrastorage.org/webt/-o/x-/se/-ox-sesfghgtm8cugrrlehdlkvk.jpeg)
Принципиальная схема подсистемы аналоговых входов:
![](https://habrastorage.org/webt/1a/sh/tj/1ashtj5w0mibm6sakjczafom4w8.png)
▍ MOSFET выходы
Самая большая подсистема контроллера KC868-A16, взаимодействие которой с микроконтроллером ESP32 осуществляется при помощи двух расширителей цифровых входов/выходов c I2C интерфейсом PCF8574P. Далее управляющие сигналы поступают на оптопары TLP181, которые, в свою очередь, управляют 16-ю мосфетами NCE60P10K.
Здесь же присутствуют индикаторные светодиоды, по свечению которых можно определить состояние выходов контроллера KC868-A16.
![](https://habrastorage.org/webt/xm/qz/is/xmqzisvc5lmjwv24bx_w1j4y_ba.jpeg)
Принципиальная схема подсистемы MOSFET выходов:
![](https://habrastorage.org/webt/ut/af/rw/utafrwded8pdkq6itvwixg8k35m.png)
Далее я привожу типовую схему подключения блока реле (в данном случае KC868-E16) к контроллеру KC868-A16. В целом всё понятно и никаких трудностей с подключением реле к KC868-A16 у вас быть не должно.
![](https://habrastorage.org/webt/pb/_t/lq/pb_tlqunymrxpinzucnpwdoe9lo.jpeg)
▍ Датчики (температуры/влажности и т. д.)
KC868-A16 имеет разъём с 3-я свободными GPIO выводами, к которым можно подключать любые датчики или другие нужные вам компоненты. Нужно только обратить внимание, что все эти контакты подтянуты на плате к напряжению 3 В.
![](https://habrastorage.org/webt/n6/ol/gp/n6olgpuj_-wafabzezo8tsct2v4.jpeg)
Принципиальная схема подсистемы подключения датчиков:
![](https://habrastorage.org/webt/2b/ar/mf/2barmfqui4rromrxxe5v-uja2oo.png)
▍ Модули 433 МГц
Здесь мы видим реализацию простой и очевидной идеи — распайку не самих беспроводных модулей 433 МГц на плату KC868-A16, а вместо них распайку разъёмов. Это даёт возможность в случае необходимости быстро подключать беспроводные модули или отключать их, просто вынимая из разъёмов. Это же позволяет получить 2 дополнительных свободных GPIO в случае, если связь на 433 МГц вам не нужна.
![](https://habrastorage.org/webt/57/qb/q4/57qbq4ak411mv9i2fibhpdmt1zg.jpeg)
Принципиальная схема подсистемы подключения беспроводных модулей на 433 МГц:
![](https://habrastorage.org/webt/bo/pj/po/bopjpofvgj6nzqkuny6zctphjsq.png)
▍ Ethernet
Контроллер Kincony KC868-A16 снабжён проводным Ethernet интерфейсом на чипе LAN8270A. Это позволяет подключать контроллер по Wi-Fi, или Ethernet, или одновременно по двум интерфейсам, или использовать второй интерфейс как резервный.
Расплатиться за возможность использования Ethernet интерфейса придётся потерей 9-и свободных GPIO из и без того крайне скудного их количества на ESP32.
![](https://habrastorage.org/webt/v5/vy/bm/v5vybm4p6_anrrbtsg_lbonngro.jpeg)
Принципиальная схема подсистемы Ethernet:
![](https://habrastorage.org/webt/dl/g9/rb/dlg9rbw2tcmr30_ilfllwpf9ezy.png)
▍ RS485
При рассмотрении контроллеров KC868-A4 и KC868-A8, всем не хватало интерфейса RS485 на борту и вот компания Kincony услышала пожелания своих пользователей и добавила этот интерфейс на плату.
![](https://habrastorage.org/webt/qg/yq/ug/qgyqugrzs1vbnwwmrdzyj19---s.jpeg)
Работа подсистемы RS485 обеспечивается драйвером интерфейса MAX13487EESA, буфером 74LVC1G125 и соответствующими элементами обвязки.
![](https://habrastorage.org/webt/fo/ky/rv/fokyrvt_oq0y0xrxcwqrvntjrfi.png)
▍ I2C
Наличие разъёма I2C на плате KC868-A16 трудно переоценить — благодаря ему мы можем подключить к контроллеру различные I2C компоненты, например, дисплей или дополнительные сенсоры.
![](https://habrastorage.org/webt/dc/nk/sf/dcnksfmlgny3wphud2euiqu3izo.jpeg)
Схема внешних подключений
Далее я привожу немного окультуренную «оригинальную» схему разъёмов и внешних подключений к контроллеру KC868-A16.
![](https://habrastorage.org/webt/04/5z/n2/045zn2qexybqqwmqphcsn6ni-1s.jpeg)
Проекты на KC868-A16
Ну и в завершение приведу пример схемы простого проекта на KC868-A16. На этой схеме хорошо видны все паттерны подключений различного оборудования — как запитывается сам контроллер, как к нему подключается блок реле, как управляются исполнительные устройства и т. д.
![](https://habrastorage.org/webt/fx/wf/zr/fxwfzrirvb-vos1kqow7j8wvmx0.jpeg)
После ознакомления с этой тестовой схемой у вас не должно остаться никаких вопросов по подключению оборудования к KC868-A16.
Заключение
Ну что же, вот и закончилось наше очередное путешествие в интересный мир микроконтроллеров серии KC868 компании Kincony. Не знаю как вам, а мне было интересно разобраться с тем, как устроен KC868-A16 и надо сказать, что A16 оправдал мои ожидания — это отличный контроллер для домашней DIY автоматизации.
![](https://habrastorage.org/webt/ou/g5/kh/oug5kh6sjydt9llengsiebnp40w.png)