Как стать автором
Обновить
2781.19
RUVDS.com
VDS/VPS-хостинг. Скидка 15% по коду HABR15

Kincony KC868-A4: ультимативный гайд. Часть 1. Обзор и железо

Время на прочтение9 мин
Количество просмотров18K


Как-то длинным зимним вечером я сидел перед монитором и просматривал интернет на предмет чего-нибудь интересного вообще и чего-нибудь интересного микроконтроллерного в частности. К сожалению, интернет ничем особенным не радовал и на глаза попадались либо уже набившие оскомину стандартные отладочные платы, либо вариации на тему «коробочка с ESP8266/ESP32 c 1–4 реле».

ESP32 c 4-я реле это, конечно, хорошо, но хотелось чего-то большего и тут мне на глаза попалась плата Kincony KC868-A4. Неплохо! подумал я и надел очки, чтобы получше её рассмотреть…

Kincony KC868-A4


При ближайшем рассмотрении плата Kincony KC868-A4 оказалась весьма приятным устройством. Ядро на ESP32 с интегрированным на плату набором периферийных модулей. Тут и набор реле, и опторазвязанные цифровые входы, аналоговые входы и выходы, возможность подключения датчика (датчиков) температуры и влажности, интегрированные модули на 433 МГц, инфракрасные приёмник и излучатель, разъём RS232 и даже пьезоэлектрическая пищалка (пустячок, а приятно).

Причём всё это упаковано в законченное коммерческое решение, обрамлено в нормальные разъёмы и имеет возможность установки в качественный корпус на DIN-рейку.

Небольшое лирическое отступление. В своё время Arduino произвело революцию и сделало микроконтроллерные технологии доступными всем желающим. Это прекрасно и просто замечательно, но по какой-то неведомой мне причине все производители ардуино-оборудования не желают делать следующий логичный шаг — выпускать то же самое Arduino, но в виде законченных устройств (которые вы можете программировать под собственные нужды) и готовых к применению в реальных проектах.

В этом смысле Kincony KC868-A4 представляет собой шаг в правильном направлении — это именно законченное устройство, которое вы можете установить на DIN-рейку, подключить провода к (нормальным!) разъёмам и запрограммировать под собственные нужды. При использовании Kincony KC868-A4 вам не нужно ничего «колхозить» из отдельных проводков и синей изоленты — разница с обычным Arduino-DIY колоссальная — это совсем другой уровень, особенно для реальных проектов.

Есть у подобных решений и отрицательные стороны — это жёстко заданный набор интегрированных в плату компонентов, который определяет возможности устройств, сделанных на его основе. Об этом мы ещё поговорим подробно далее, но о Kincony KC868-A4 можно сказать, что в целом это довольно сбалансированное устройство для применения в небольших проектах, а также для целей обучения программированию микроконтроллеров и прочих подобных целей.

План по циклу о Kincony KC868-A4


Обозреть такое устройство как Kincony KC868-A4, а тем более качественно обозреть, невозможно в одной статье, поэтому я разбил весь материал на несколько логически обособленных статей:

Часть 1. Обзор и железо (эта статья). Общий обзор Kincony KC868-A4 и подробный разбор схемотехники этого контроллера.

Часть 2. Программирование компонентов. Kincony KC868-A4 содержит около десятка подсистем и в этой статье будет разобрано программирование отдельных его частей (работа со входами, DAC, управление реле, беспроводными модулями и т. д.).

Часть 3. Продвинутые примеры. Здесь планируется дать описание и код продвинутых примеров работы с Kincony KC868-A4, наподобие управления контроллером через Телеграм-бота или Whatsapp и т. п.

Часть 4. Прошивки для Kincony KC868-A4. Здесь планируется разобрать пример установки на этот контроллер и использования какой-нибудь готовой прошивки, наподобие Tasmota, ESPhome или специализированной версии AMS и т. п.

Это минимальный набор статей, которые войдут в цикл, но тема Kincony KC868-A4 очень обширна и в процессе работы над статьями могут появиться новые идеи и тогда этот цикл может быть расширен и другими материалами об этом контроллере.

Также, если это будет интересно аудитории Хабра, можно будет запустить циклы статей по более продвинутым контроллерам Kincony KC868-A8 и KC868-A16 и разобрать проблематику Ethernet управления ESP32 и прочие продвинутые функции этих контроллеров.

Компоненты и характеристики


Теперь давайте посмотрим, что имеет на борту Kincony KC868-A4. Это, конечно же, модуль ESP32 в модификации ESP32-S (аналог ESP-WROOM-32 от компании Ai-Thinker). И, соответственно, этот модуль привносит всю функциональность ESP32 в Kincony KC868-A4. Это Wi-Fi, Bluetooth, два ядра и соответствующий набор пинов и интерфейсов, плюс 4 МБ встроенной EEPROM памяти.

Кроме ESP32 модуля, плата Kincony KC868-A4 содержит:

  • 4 цифровых опторазвязанных входа («сухой контакт»)
  • 2 аналоговых входа 0–5 В
  • 2 аналоговых входа 4–20 мА
  • 2 аналоговых выхода (DAC) 0–10 В
  • 4 реле 10А 220В
  • Разъём для подключения температурного(ных) или датчика влажности
  • DB9 разъём RS232
  • Модули приёмника/передатчика 433 МГц
  • Инфракрасные (IR) приёмник и передатчик
  • Пьезокерамическая пищалка (buzzer)

В общем, неплохой набор интегрированной периферии, который позволяет создавать на этой плате огромное количество различных проектов. Из условных недостатков этого набора можно назвать небольшое число входов/выходов и отсутствие свободных пинов для подключения дополнительной периферии.

Но если возможности Kincony KC868-A4 покрывают потребности вашего проекта, то вам остаётся только подключить провода и залить соответствующую прошивку — и плата начнёт управлять подключённым оборудованием.

Продуктовая линейка


Судя по сайту и продукции, Kincony — это очень креативная компания с далеко идущими планами. В их ассортименте присутствует множество различных контроллеров от самых простых до дорогих и сложных, и вы можете подобрать подходящий контроллер под задачи вашего проекта.



У Kincony KC868-A4 есть два старших брата — платы KC868-A8 и KC868-A16. Это более продвинутые решения с более широким спектром возможностей. От младшего брата они отличаются не только количеством входов и интегрированных в плату реле, но и возможностью подключения и работы по Ethernet сети, а также возможностью использования одновременно двух интерфейсов — беспроводного Wi-Fi и проводного Ethernet и прочими функциями.

Корпус и комплектация


Kincony KC868-A4 продаётся как в виде отдельной платы (по, на мой взгляд, довольно демократичной цене), так и в виде различных комплектов на её основе: с блоком питания, радиомодулями, корпусом и т. д. В моём случае я предпочёл купить самый полный комплект, чтобы ничего не «колхозить» и сразу приступить к работе с устройством.



Компания Kincony всё сделала правильно, но один «косяк» всё-таки допустила: в комплекте идёт блок питания с «круглым» разъёмом питания а-ля Arduino, а плата имеет разъём под закручивание проводов винтами. Поэтому мне всё-таки пришлось «тряхнуть стариной» и сделать переходник для подключения блока питания к плате.



Вид платы, извлечённой из корпуса. Тут у вас полная свобода действий — вы можете использовать Kincony KC868-A4 отдельно в каком-нибудь своём корпусе, можете использовать «родной» корпус для установки на DIN-рейку или не устанавливать его на рейку, а просто прикрутить шурупами к любой подходящей поверхности.



Плата Kincony KC868-A4 в сравнении со стандартной и всеми любимой Arduino Mega 2560. Заодно можете прикинуть, насколько удобней (и правильнее) использовать Kincony KC868-A4 в каком-нибудь реальном проекте.



Тут вам и встроенный модуль питания, и нормальные разъёмы для подключения проводов, и блок реле, и индикация состояния входов и выходов и т. д. Кстати, на плате установлены не простые разъёмы, а разъёмы с извлекаемыми колодками, что делает работу ещё более удобной.



Ещё немного о корпусе


Kincony KC868-A4 поставляется с качественным корпусом — он нормально выглядит, сделан из качественной пластмассы и имеет продуманную геометрию, в смысле удобно расположенных отверстий для крепления, а также заглушек и отверстий на лицевой панели — в общем, корпус оставил очень приятные впечатления.



Обратите внимание на короткие стойки внутри верхней крышки — это готовое место для крепления платы с дисплеем, индикацией и кнопками управления контроллером. Также на фото видны заглушки для вывода наружу GPOI разъёмов и шаблон-окошко для кнопок и индикаторов на передней панели.



Блок питания


Контроллер Kincony KC868-A4 поставляется с блоком питания 12 В/2 А. Качество блока питания я не тестировал, просто не видел в этом необходимости — никаких проблем с работой контроллера от этого блока питания не наблюдается.



Правда, учитывая специфику самого контроллера, у меня появляются мысли об использовании какого-то варианта UPS для бесперебойного питания Kincony KC868-A4.

Плата Kincony KC868-A4


Теперь переходим к разбору самой платы контроллера. Для начала вид сверху на установленные компоненты.



Вид снизу. Нижняя часть платы полностью лишена каких-либо деталей. Видны также широкие дорожки для силовых линий реле и фрезерованные отверстия для защиты от электрических пробоев. Насколько грамотно разведена плата и насколько хорошо выполнена защита от пробоев, нам расскажут профессиональные «железячники» Хабра (не будем лишать их этой возможности).



Теперь переходим к рассмотрению схемотехники самого контроллера и подробно разберём его устройство.

Схемотехника




Рассматривать схемотехнику мы будем по следующему принципу: визуальное обозначение той или иной функциональной подсистемы контроллера, её принципиальная схема и мои краткие комментарии о самой подсистеме, её особенностях и выявленных в процессе тестирования ошибках/недостатках.

Предлагаю в комментариях высказываться по схемотехнике и использованным производителем Kincony KC868-A4 решениям — насколько они хороши/плохи, с вашей точки зрения, и если вы видите какие-то ошибки или слабые места, как их можно было бы улучшить.

▍ Питание


Подсистема питания довольно проста, для формирования из входного напряжения 12 В внутрисхемного напряжения 5 В разработчики Kincony KC868-A4 использовали микросхему понижающего DC-DC преобразователя XL1509-5, а для формирования напряжения 3,3 В — линейный регулятор LM117-3V3.



Принципиальная схема подсистемы питания контроллера:



▍ Ядро ESP32


В качестве ядра контроллера Kincony KC868-A4 использован модуль ESP32-S, о котором мы уже говорили ранее. В состав этого функционального блока входят ещё 3 фильтрующих конденсатора, расположенных в непосредственной близости от ESP32.

Антенна хоть и находится в пределах платы, но с обоих сторон лишена соседства с дорожками для избежания экранировки и ухудшения качества связи. Также на модуле ESP32-S есть возможность перепаять перемычку и подключить вместо встроенной внешнюю антенну.



Принципиальная схема и распиновка ядра (ESP32) контроллера:



▍ USB/CH340


Для подключения к компьютеру, программирования и заливки прошивок в ESP32 на плате присутствует Mini-USB разъём и микросхема USB/Serial преобразователя CH340C, а также соответствующая обвязка и две кнопки — «RESET» и программируемая «USER». Кстати, на фото видно, что производитель по какой-то причине не распаял на плате D1.



Принципиальная схема подсистемы USB/CH340 контроллера:



▍ Цифровые входы


Плата Kincony KC868-A4 имеет 4 цифровых входа «сухой контакт», для оптоизоляции которых применены оптроны EL357 и соответствующая обвязка. Также на каждом канале присутствует светодиод, что очень удобно потому, что сразу видно, в каком состоянии находится каждый из четырёх цифровых входов платы.



Принципиальная схема подсистемы цифровых входов:



▍ Аналоговые входы


Плата Kincony KC868-A4 имеет 4 аналоговых входа, разбитые на две группы: для сигналов 0–5 B и 4–20 мА. Формированием сигналов занимаются входные каскады, подключённые к счетверённому операционному усилителю LM324. Затем идут сдвоенные диоды Шоттки BAT54S и далее сигналы поступают непосредственно на входы микроконтроллера ESP32.

Обратите внимание на небольшой участок схемы, который формирует напряжение 12V_1 и «аналоговую землю» AGND для аналоговых входов и выходов (DAC).



Принципиальная схема подсистемы аналоговых входов:



▍ DAC


Формированием выходных аналоговых сигналов 0–10 В занимается сдвоенный операционный усилитель TLC2262С с соответствующей обвязкой и питанием от 12V_1/AGND.



Принципиальная схема DAC подсистемы контроллера:



▍ Реле


Kincony KC868-A4 имеет на борту 4 реле, для которых формированием управляющих сигналов занимаются микросхема 74HCT125 с четырьмя драйверами и матрица транзисторов Дарлингтона ULN2003A. На плате также присутствуют 4 светодиода для индикации текущего состояния каждого реле.



Принципиальная схема подсистемы реле:



▍ Датчики температуры/влажности


Контакты для подключения датчика температуры выведены на колодку 3V, S, GND. По умолчанию предполагается, что к этой колодке должен быть подключён датчик температуры DS18B20. Но никто не мешает вам подключить к этим контактам сеть из нескольких датчиков DS18B20, датчик влажности воздуха или любой другой датчик подходящий по типу подключения — всё зависит от используемого вами софта. Нужно только помнить, что на плате уже распаян резистор подтяжки к напряжению питания 3,3 В.

Касательно подключения датчика температуры к плате Kincony KC868-A4. Здесь у компании Kincony произошёл какой-то сбой и появились расхождения между принципиальной схемой и реальной платой, её дорожками и распаянными компонентами. В документации присутствуют два канала TEMP1 и TEMP2, а в реальности на плате имеется только один канал TEMP1. Также в документации упоминается колодка для подключения датчиков температуры с 4-я контактами, а в реальности на плате присутствует 3-контактная колодка. На плате также присутствует разводка для резистора R27, но сам резистор не распаян.



Принципиальная схема подсистемы подключения датчиков температуры и влажности:



▍ Buzzer


Схема пьезоэлектрического излучателя предельно проста и не нуждается в комментариях, замечу только, что само присутствие пищалки очень полезно, поскольку можно без труда и штатными средствами контроллера оповещать пользователей о различных событиях.



Принципиальная схема подключения пьезоэлектрического излучателя:



▍ Инфракрасный приёмо/передатчик


Плата Kincony KC868-A4 оснащена инфракрасными приёмником и излучателем. В качестве IR приёмника используется датчик VS1838B с соответствующей обвязкой. Официальная документация KC868-A4 содержит ошибку в схеме подключения излучающего IR диода — колодка P6 там нарисована шестиконтактной, на самом деле диод подключается, как ему и положено, при помощи двух выводов. Ниже приведена уже исправленная схема.



Принципиальная схема подсистемы инфракрасных приёмника и передатчика:



▍ Модули 433 МГц


Изначально плата Kincony KC868-A4 идёт с пустыми разъёмами для подключения приёмника и передатчика на 433 МГц. В качестве беспроводных используются популярные модули на 433 МГц, которые можно самостоятельно купить на Aliexpress. В случае покупки контроллера в полной комплектации, компания Kincony сама запаивает эти модули в пустые разъёмы.

Для формирования и подачи на контроллер входного сигнала с приёмника 433 МГц используется буферный элемент 74LVC1G125, а выходной сигнал на передатчик 433 МГц подаётся напрямую.

Не нужно также забывать, что модули поставляются без антенн и для их нормальной работы нужно припаять к ним кусок провода длиной 17 см (четверть волны).



Принципиальная схема подсистемы подключения беспроводных модулей на 433 МГц:



▍ Порт RS232


Kincony KC868-A4 снабжён полноразмерным портом DB9 для подключения к нему устройств по RS232. Формированием сигналов занимается преобразователь интерфейсов SP3232EEN.



Принципиальная схема подсистемы порта RS232:



Заключение


В этой статье я дал общее описание контроллера Kincony KC868-A4 и разобрал его схемотехнику и устройство. В следующей статье мы более подробно познакомимся с распиновкой ESP32 и разберём подключение функциональных блоков KC868-A4 и их программирование.

Теги:
Хабы:
+61
Комментарии55

Публикации

Информация

Сайт
ruvds.com
Дата регистрации
Дата основания
Численность
11–30 человек
Местоположение
Россия
Представитель
ruvds