Я уже привык получать заказанные контроллеры Kincony в совершенно непотребном виде — они просто обёрнуты в пупырку (не антистатическую ни разу) и, если заказаны несколько контроллеров, то они даже не имеют индивидуальной упаковки и просто «натыканы» в коробку.
У меня, как старого электронщика, сердце кровью обливается когда я достаю очередную «борду» Kincony размером со скейтборд из километровой и стреляющей статикой пупырки — неужели трудно упаковать (недешёвый) контроллер хотя бы в антистатический пакет?
Но тут пришли заказанные мной контроллеры KC868-AIO и KC868-A16S которые меня просто поразили: металлические корпуса, приличный вес, отличная упаковка, инструкции в комплекте — создаётся ощущение, что держишь в руках коробки от чего-то вроде брендовых маршрутизаторов.
Однозначно, для Kincony это новый уровень и подобные изделия не стыдно назвать Продуктом (с большой буквы).
❯ Упаковка
Казалось бы, простая упаковка из картона и вспененного материала, плюс металлический корпус и инструкция, а отношение к изделию меняется кардинально — чувствуется, что имеешь дело с «настоящей вещью» и серьёзным производителем.
Плюс всё сделано аккуратно и, я бы сказал, по-своему «стильно». Не знаю насколько фотографии передают ощущение от KC868-AIO, но выпускать из рук не хочется ни коробку, ни сам контроллер — очень и очень круто, особенно по сравнению с искрящей статикой пупыркой и обломанными при транспортировке коннекторами предыдущих контроллеров.
Кстати, обратите внимание: инструкция лежит на пластине вспененного материала, которой накрывается всё содержимое коробки — вместе с картоном получается неплохая защита со всех сторон для электронной начинки при транспортировке.
Что же касается самого контроллера, то металлический корпус придаёт ему буквально монументальность. Образно это ощущение можно сравнить с ощущением от жигулей 7-й модели (предыдущие контроллеры) и Хаммера (или Сайбертрака, если кому так понятнее), причём железо здесь не «консервное», а толстое, как в хороших компьютерных корпусах.
Взвешивание даёт результат в 725 грамм. В общем, этот девайс не испортит ни один электрощит и однозначно будет вызывать уважение у местных электриков и автоматизаторов (если он конечно поместится в ваш электрощит).
❯ Начинка
С упаковкой разобрались, теперь давайте посмотрим, что же содержит KC868-AIO и чем он может нас порадовать.
- Микроконтроллер ESP-WROOM-32UE
- SMA разъём и Wi-Fi антенна
- 56 цифровых входов «сухой контакт»
- 11 аналоговых входов 0-5 В
- 8 аналоговых входов 4-20 мА
- 32 MOSFET каналов 12/24 В (500 мА)
- 32 светодиода состояний выходов
- 16 аналоговых выходов 0-10 В
- 16 светодиодов аналоговых выходов
- Возможность подключения блоков реле KC868-E16 или аналогичных
- 1-Wire GPIO (для датчиков) 2 шт.
- Выход 3,3 В питания на датчики
- Интерфейс RS485
- Разъём для 4G GSM модуля
- Выводы (GSM) RX/TX во внешнем разъёме
- Разъём для RTC модуля на DS3231
- Ethernet LAN8270A
- Разъём USB Type-C
- Кнопки «Reset» и «Boot»
- 2 программируемые кнопки
- 2 программируемых светодиода
- Питание от 12/24 В
- Индикатор наличия питания
Сама компания Kincony определяет KC868-AIO как «All in One Board», с чем трудно не согласиться — тут есть практически всё, что может понадобиться автоматизатору. Но совершенство недостижимо и из того, что лично мне хотелось бы видеть в KC868-AIO — это отдельный I2C разъём на плате, аппаратный Watchdog, разъёмы для подключения nRF24/LoRa модулей, отдельную плату с дисплеем и кнопками управления (или джойстиком) и какое-то решение по бесперебойному питанию логической части контроллера. Но тогда это был бы уже не KC868-AIO, а лучший контроллер всех времён и народов (смайл).
❯ Разоблачаемся
По лёгкости разборки KC868-AIO получает 11 баллов из 10 — для снятия крышки тут нужно открутить всего 2 винта — совершеннее процесс разборки сделать невозможно — если только сделать крепление крышки на одном винте.
Небольшая плата, которая стоит вторым этажом — это не дополнительный (опциональный) модуль, а неотъемлемая часть KC868-AIO (аналоговые выходы). Почему так сделано и что это значит мы разберём чуть ниже в этой статье.
Сама плата не укомплектована дополнительными модулями GSM 4G и RTC, поэтому места, предназначенные для них, остаются пустыми. Ниже представлено фото нижней части корпуса, по которому вы можете оценить толщину металла и монументальность всей конструкции.
❯ Схемотехника
Вид на плату KC868-AIO — всё сделано в привычном для нас стиле Kincony. Хорош или плох этот стиль (архитектура) — это дело субъективной оценки, но определённо можно сказать, что он имеет право на существование.
А уж если у вас проект со множеством аналоговых и цифровых входов и множеством реле и актуаторов, плюс необходимость управлять всем эти хозяйством по Wi-Fi, Ethernet и GSM, то вы очень скоро станете фанатом Kincony.
На верхней части платы не хватило места для расположения всех элементов KC868-AIO и производителю пришлось задействовать нижнюю сторону. Тут же можно увидеть разводы от плохо смываемого флюса (это уже после моих попыток его отмыть).
Отдельно модуль аналоговых выходов с обратной стороны. Виден разъём с пинами для крепления на материнской плате и два отверстия для дополнительного крепления при помощи двух винтов (точно ничто никуда не отвалится).
Подсистема питания
Подсистема питания выполнена по традиционной для Kincony схеме, плюс понижающий преобразователь TLV62565DBVR 3,3 В на ток до 1,5 А. Тут же виден совмещённый разъём питания контроллера, интерфейса RS485 и контактов для подключения двух датчиков (1-Wire).
ESP32
Схема подключения выводов микроконтроллера ESP32 от производителя. Ниже будет дан мой вариант распиновки, более удобочитаемый и с устранёнными ошибками и опечатками.
USB-UART
Переходник USB-UART выполнен стандартным для Kincony образом, плюс применён USB Type-C разъём.
Цифровые входы (DI)
56 цифровых оптоизолированных входов «сухой контакт» на оптронах EL357, распределённых на несколько колодок. Для обеспечения их работы в связке с ESP32 применены расширители цифровых входов/выходов c I2C интерфейсом на 4-х микросхемах PCF8575TS.
Три расширителя PCF8575TS показаны на этой схеме, а часть контактов (D49-D56) используют подобный расширитель из подсистемы силовых выходов (см. соответствующую схему ниже).
Адреса на I2C шине: 0x21 (U35), 0x22 (U37), 0x23 (U38).
Аналоговые входы (AI)
Всё смешалось в доме Облонских… Здесь инженеры компании Kincony немного перемудрили сами себя и создали довольно хитрозакрученную схему. Попробую объяснить их ход мысли.
Тут 8 аналоговых входов 4-20 мА и 11 аналоговых входов 0-5 В, причём первые 16 входов (CH1-CH16) работают через 16-канальный аналоговый мультиплексор/демультиплексор CD74HC4067M96, а дополнительные три (CH17-CH19) напрямую с ESP32 на входах GPI39, GPI34, GPI35.
А сам мультиплексор/демультиплексор CD74HC4067M96 управляется через расширитель портов PCF8575TS, находящийся на схеме силовых выходов (U42), который, в свою очередь, управляется по I2C интерфейсу. Вот такие вот затейники работают в компании Kincony.
Как управлять всей этой гирляндой — это хорошая задачка для приёма на работу embedded systems программиста (смайл). Kincony даёт подсказку: это выводы P10-P13 микросхемы U42 (PCF8575) с адресом на I2C шине 0x26.
Сенсоры (1-Wire)
Два подтянутых к 3,3 В вывода для подключения датчиков или шины 1-Wire. Или любых других устройств с подключением на одно GPIO.
Силовые выходы (MOSFET)
32 канала MOSFET выходов (12/24 В, 500 мА) подключённых через два расширителя портов PCF8575TS с I2C интерфейсом. Адреса на шине: U40 (1-16) 0x24 и U41 (17-32) 0x25.
На U42 «висят» также два свободно программируемых светодиода LED-D7 (P14), LED-D8 (P15) и две свободно программируемые кнопки S3 (IN D57, P16), S4 (IN D58, P17).
Аналоговые выходы (AO)
Настало время поговорить о дополнительной плате аналоговых выходов, которая возвышается над основной платой контроллера. Я долго не мог понять, что это такое и зачем нужна ещё одна дополнительная плата.
А ларчик открывается просто: на материнской плате просто не хватило места для всех элементов KC868-AIO и креативные инженеры Kincony (не долго думая) просто добавили ещё одну плату и вынесли на неё все элементы подсистемы AO.
Работой всей этой подсистемы заведует 16-канальный 12-битный PWM контроллер PCA9685PW с I2C управлением и немного странным адресом на шине 0x00 (судя по документации Kincony).
RS485
Стандартная для Kincony схема подсистемы RS485, много раз описанная в моих статьях.
Ethernet
Стандартная для Kincony схема подсистемы Ethernet на LAN8720A, также много раз описанная в моих статьях.
RTC (DS3231)
Контроллер KC868-AIO имеет возможность подключения типового модуля часов реального времени (RTC) на микросхеме DS3231.
Что, на мой взгляд, крайне полезная функция для такого мощного контроллера. Обратите внимание: линии шины I2C уже подтянуты внутри контроллера резисторами к 3,3 В.
GSM 4G
KC868-AIO предусматривает подключение GSM 4G модуля SIM7600, что также не будет лишним в IoT проектах.
Линии GSM RX/TX также выведены на колодки контроллера. Kincony называет это «RX/TX extender», видимо предполагая, что если вам не нужен GSM модуль, то вы можете подключить какое-то своё оборудование через RX/TX.
❯ Распиновка
Правильная распиновка ESP32 с исправленными ошибками и неточностями. В частности, указаны пины без подключений и правильно указаны подключения аналоговых входов CH1-CH19.
❯ Схема подключений
Исправленная и окультуренная схема подключений KC868-AIO от производителя.
❯ Итого
Очень и очень функционально развесистый «All in One Board» в брутальном металлическом корпусе и упакованный как брендовый сетевой маршрутизатор — у Kincony получился очень интересный и достойный продукт для DIY проектов по автоматизации с возможностями, которые, в своей совокупности, не найдёшь ни у одного другого DIY контроллера на рынке.