Итак, мы с вами потренировались на начальных контроллерах компании 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.
Для сравнения A4 и A16 рядом
За «серьёзность» KC868-A16 пришлось расплатиться потерей реле — во-первых, 16 реле установить на плате довольно проблематично, и, во-вторых, MOSFET выходы можно использовать не только для реле, но и для управления другим оборудованием, например, контакторами, электроклапанами и прочими подобными устройствами. Поэтому замена реле на колодки с 16-ю MOSFET выходами выглядит разумной и вполне уместной в контексте назначения и области применения KC868-A16.
Блок реле KC868-E16, предназначенный для работы в связке с KC868-A16
Внешний вид
KC868-A16 комплектуется корпусом аналогичной конструкции, как и у контроллеров KC868-A4 и KC868-A8, но только несколько увеличенной длины. Также бросается в глаза другой цвет пластмассы и отсутствие технологических отверстий и заглушек на верхней крышке корпуса. В целом, качество корпуса для KC868-A4 и KC868-A8 я бы оценил на «5», а качество корпуса для KC868-A16 на «4+».
Вид KC868-A16 со снятой верхней крышкой корпуса. Можно отметить, что у платы нет сильно выступающих деталей и в корпусе остаётся много места для размещения дополнительной платы или дисплея.
Плата без корпуса, вид со стороны Ethernet-разъёма. Видны разъёмы цифровых входов, интерфейса RS485, аналоговых входов и разъём для подключения дополнительных датчиков.
Плата KC868-A16
Вид сверху на плату KC868-A16 и установленные на ней компоненты. Всё сделано качественно и аккуратно — к внешнему виду платы у меня нет никаких нареканий.
Вид с обратной стороны. Детали на нижней стороне полностью отсутствуют. Единственное замечание — я бы сделал «окно» для антенны ESP32 в фольге текстолита немного больше.
Схемотехника
Теперь разберём схемотехнику KC868-A16. Для каждого функционального блока я приведу фото компонентов этого блока на плате контроллера и его принципиальную схему, а также дополню это описание своими комментариями.
▍ Питание
Подсистема питания контроллера KC868-A16 состоит из микросхемы понижающего DC-DC преобразователя XL1509-5 для формирования напряжений 12 В и 5 В и линейного регулятора LM117-3V3 для формирования напряжения 3,3 В. Всё это снабжено соответствующей обвязкой.
Принципиальная схема подсистемы питания KC868-A16:
▍ ESP32
В Kincony KC868-A16 установлен модуль ESP32 в модификации ESP-WROOM-32. Ранее в некоторые модели линейки KC868 устанавливались модули ESP32-S, но теперь компания полностью перешла на комплектацию этих контроллеров модулями ESP-WROOM-32.
Принципиальная схема и распиновка ядра (ESP32) контроллера:
▍ USB/CH340
Подсистема подключения к компьютеру и программирования KC868-A16 радует нас появлением USB разъёма Type-C вместо устаревшего Mini-USB. Сама работа этого блока обеспечивается микросхемой CH340C. Здесь же присутствуют две кнопки — «RESET» и «DOWNLOAD». Расположение кнопок позволяет иметь к ним доступ без демонтажа верхней крышки контроллера.
Принципиальная схема подсистемы USB/CH340 контроллера:
▍ Цифровые входы
Плата Kincony KC868-A16 имеет 16 цифровых оптоизолированных входов «сухой контакт» на оптронах EL357. Индикации состояния цифровых входов нет (она закончилась на KC868-A4, а жаль).
Для обеспечения работы 16-и цифровых входов в связке с ESP32 (с его ограниченным количеством свободных GPIO) в KC868-A16 применён pасширитель цифровых входов/выходов c I2C интерфейсом на двух чипах PCF8574P.
Принципиальная схема подсистемы цифровых входов:
▍ Аналоговые входы
Плата KC868-A16 имеет 4 аналоговых входа для сигналов 0–5 B. Формирование напряжения производят входные каскады, счетверённый операционный усилитель LM324 и диоды Шоттки BAT54S.
Тут же формируется напряжение VCC_12V_1.
Принципиальная схема подсистемы аналоговых входов:
▍ MOSFET выходы
Самая большая подсистема контроллера KC868-A16, взаимодействие которой с микроконтроллером ESP32 осуществляется при помощи двух расширителей цифровых входов/выходов c I2C интерфейсом PCF8574P. Далее управляющие сигналы поступают на оптопары TLP181, которые, в свою очередь, управляют 16-ю мосфетами NCE60P10K.
Здесь же присутствуют индикаторные светодиоды, по свечению которых можно определить состояние выходов контроллера KC868-A16.
Принципиальная схема подсистемы MOSFET выходов:
Далее я привожу типовую схему подключения блока реле (в данном случае KC868-E16) к контроллеру KC868-A16. В целом всё понятно и никаких трудностей с подключением реле к KC868-A16 у вас быть не должно.
▍ Датчики (температуры/влажности и т. д.)
KC868-A16 имеет разъём с 3-я свободными GPIO выводами, к которым можно подключать любые датчики или другие нужные вам компоненты. Нужно только обратить внимание, что все эти контакты подтянуты на плате к напряжению 3 В.
Принципиальная схема подсистемы подключения датчиков:
▍ Модули 433 МГц
Здесь мы видим реализацию простой и очевидной идеи — распайку не самих беспроводных модулей 433 МГц на плату KC868-A16, а вместо них распайку разъёмов. Это даёт возможность в случае необходимости быстро подключать беспроводные модули или отключать их, просто вынимая из разъёмов. Это же позволяет получить 2 дополнительных свободных GPIO в случае, если связь на 433 МГц вам не нужна.
Принципиальная схема подсистемы подключения беспроводных модулей на 433 МГц:
▍ Ethernet
Контроллер Kincony KC868-A16 снабжён проводным Ethernet интерфейсом на чипе LAN8270A. Это позволяет подключать контроллер по Wi-Fi, или Ethernet, или одновременно по двум интерфейсам, или использовать второй интерфейс как резервный.
Расплатиться за возможность использования Ethernet интерфейса придётся потерей 9-и свободных GPIO из и без того крайне скудного их количества на ESP32.
Принципиальная схема подсистемы Ethernet:
▍ RS485
При рассмотрении контроллеров KC868-A4 и KC868-A8, всем не хватало интерфейса RS485 на борту и вот компания Kincony услышала пожелания своих пользователей и добавила этот интерфейс на плату.
Работа подсистемы RS485 обеспечивается драйвером интерфейса MAX13487EESA, буфером 74LVC1G125 и соответствующими элементами обвязки.
▍ I2C
Наличие разъёма I2C на плате KC868-A16 трудно переоценить — благодаря ему мы можем подключить к контроллеру различные I2C компоненты, например, дисплей или дополнительные сенсоры.
Схема внешних подключений
Далее я привожу немного окультуренную «оригинальную» схему разъёмов и внешних подключений к контроллеру KC868-A16.
Проекты на KC868-A16
Ну и в завершение приведу пример схемы простого проекта на KC868-A16. На этой схеме хорошо видны все паттерны подключений различного оборудования — как запитывается сам контроллер, как к нему подключается блок реле, как управляются исполнительные устройства и т. д.
После ознакомления с этой тестовой схемой у вас не должно остаться никаких вопросов по подключению оборудования к KC868-A16.
Заключение
Ну что же, вот и закончилось наше очередное путешествие в интересный мир микроконтроллеров серии KC868 компании Kincony. Не знаю как вам, а мне было интересно разобраться с тем, как устроен KC868-A16 и надо сказать, что A16 оправдал мои ожидания — это отличный контроллер для домашней DIY автоматизации.
Комментарии (11)
usego
18.05.2022 14:18+1Непонятен вопрос софта. Логика уровня "если IN5, то включить OUT7" как задаётся? И чем можно через RS485 управлять, выходами? Если есть ссылка на эти мануалки - был бы признателен.
smart_alex Автор
18.05.2022 14:35Здесь ситуация следующая: это DIY контроллер на ESP32 - какую прошивку зальёте - так оно работать и будет.
Прошивка может быть самописная или какая-нибудь из готовых для ESP32. Если зальёте готовую прошивку, то функционал ей же и будет определяться.
Vorchun
18.05.2022 16:08+1@smart_alexа встроенная память у него есть? Например, для хранения лога событий.
smart_alex Автор
18.05.2022 16:14+2Нет, отдельной микросхемы памяти нет, но если очень нужно, то можно "прикрутить" какой-нибудь готовый модуль с чипом памяти.
DmitryZlobec
18.05.2022 16:14Все хорошо, но почему сам контроллер на DIN рейку не устанавливается?
smart_alex Автор
18.05.2022 16:16+1Почему не устанавливается? В корпусе есть крепление на DIN-рейку.
smart_pic
18.05.2022 18:02+1Как и другие DIY контроллеры. 1- сразу видно вмешательство и лишаемся гарантии. 2- установка в электрощит - инициатива чисто индивидуума с вытекающими последствиями. Производитель это не предусматривал и не виноват.
Почему сразу плату не сделать по DIN корпус? Они стандартизованы. Например вот эти http://www.gainta.com/din_rail_housing/din_rail_case/ самый большой из них http://www.gainta.com/d12mg.html . Много что можно разместить.
avf1906
19.05.2022 11:17ацп ущербный, уровни 0-5В для автоматизации выглядят странно
Р-канальные мосфеты с активной 1 - спорное решение.
-
i2c расширители портов для DI DO - о быстродействии можно забыть, ни PWM, ни счетных входов.
В общем для домашней типа автоматизации пойдет, но скорее как демо комплект для ESP32
Affdey
Хорошо, но мало. Да, это что-то новенькое, ESP32 с такой обвязкой и как средство автоматизации. Но где почитать полные характеристики на устройство целиком? Для DIO - скорости срабатывания, ток, защита от помех, фильтрация. Для AI - разрядность, частота дискретизации, и т.д. Пока что для пром. контроллера это слабоватое решение. RS-485 есть, протокол-то какой-нибудь Modbus есть?
smart_alex Автор
У Kincony есть официальный сайт с презентацией контроллера, а также есть форум, где разоаботчики отвечают на вопросы пользователей - там можно задать любые уточняющие вопросы.