KC868-AM: мини мы или ESP32 IO Expansion Board



Когда я впервые увидел KC868-AM, то долго думал как можно его охарактеризовать — и тут меня осенило: это не что иное, как контроллер Kincony в его минималистическом воплощении, ужатый до размеров 9x7 см. Тут присутствуют все основные элементы «больших» контроллеров Kincony (Wi-Fi, Ethernet, RS485, USB-UART и т. д.), размещённые на плате минимального размера, плюс свободные GPIO и возможность крепления на DIN-рейку.

Кроме типовых элементов, на плате KC868-AM присутствует и что-то новенькое — в этом контроллере компания Kincony впервые на моей памяти использует не готовый модуль ESP32, а самостоятельно развела на плате и сам чип и всю радиочастотную часть. Для чего она это сделала не совсем понятно, моё предположение — чтобы потренироваться и попробовать свои силы в конструировании подобных устройств.

Но обо всем по порядку…

Что на борту


Для того, чтобы лучше понять с чем мы имеем дело, начнём с формального перечисления компонентов KC868-AM:
  • Микроконтроллер ESP32-D0WD-V3
  • Память 4 МБ (W25Q32JVSSIQ)
  • PCB антенна (по умолчанию)
  • IPEX разъём для подключения внешней антенны
  • GPIO датчик/1-Wire (4 шт.)
  • 3,3 В выход для датчиков
  • Реле 10А 220В (NO, COM, NC)
  • Светодиод состояния реле
  • Интерфейс RS485
  • Ethernet LAN8270A
  • Разъём I2C
  • Кнопки «Reset» и «User»
  • Разъём USB
  • Питание: 9-24 В
  • Индикатор наличия питания

Ничего сверхординарного, но присутствуют (само-собой) ESP32 со всеми его возможностями, Ethernet, RS485, I2C разъём, Free GPIO и т. д., то есть уже есть с чем работать и что использовать в своих проектах. Правда выбор Free GPIO несколько странный — все они работают только на вход, что значительно сужает область их применения. Это можно частично исправить с помощью паяльника, но лучше бы набор свободных пинов изначально был полноценным (IO).

Экстерьер


Плата KC868-AM упакована в нарезной профиль для установки на DIN-рейку. Это оправданное решение для больших и нестандартных плат, для которых трудно подобрать подходящий корпус, но KC868-AM можно было упаковать во что-нибудь получше защищённое от пыли.



Разбирается всё легко и просто, плату можно использовать и без профиля на DIN-рейку, просто встроив её в какой-то корпус или в какое-то устройство.



Сама плата KC868-AM крупным планом. Расположение и тип LAN и USB разъёмов предполагают подключение кабелей перпендикулярно плате (а не параллельно, как в большинстве случаев).



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


Вид на плату KC868-AM сверху — вся схемотехника находится как на ладони и невооружённым глазом видны все основные подсистемы контроллера (питание, USB-UART, LAN, ESP32 и прочее).



Вид с обратной стороны — всё сделано в традиционном стиле Kincony, плюс бонусом прорези в плате рядом с контактами реле.



Питание


Входное напряжение питания 9-24 В преобразуется сначала в 5 В при помощи понижающего DC-DC преобразователя XL1509-5 (до 3 А), а затем при помощи подстраиваемого преобразователя TLV62565DBVR формируется напряжение 3,3 В (до 1,5 А). Тут же присутствует индикатор наличия питания на светодиоде (3,3 В).



Ядро ESP32


Как я уже отметил выше, в KC868-AM компания Kincony решила не использовать готовый модуль ESP32, а развести всю схемотехнику этого узла, включая радиочастотную часть, непосредственно на плате. Использованы микроконтроллер ESP32-D0WD-V3 и чип памяти W25Q32JVSSIQ на 4 МБ. Плюс есть как встроенная антенна, так и IPEX разъём для подключения внешней (что хорошо и может быть полезным при установке контроллера в металлических шкафах).



USB-UART


Полностью стандартная для Kincony схема USB-UART преобразователя на CH340C, плюс «кондовый» (который проблематично будет сломать, даже при всём желании) вертикальный USB разъём.



Датчики/1-Wire


Четыре канала для подключения датчиков и/или 1-Wire устройств, заведённые в общую колодку с питанием и интерфейсом RS485. В этой же колодке присутствует выходное напряжение 3,3 В для питания датчиков.



При желании можно удалить подтягивающие резисторы и получить универсальные GPIO для любого использования по вашему усмотрению.

Реле


Реле с полным набором контактов NO, COM, NC (что хорошо) и индикацией состояния. Работает через TTL инвертор SN74AHCT1G04DBVR и транзистор. Одно реле — это конечно не много, но лучше, чем ничего. Если нужно большее количество реле, то можно использовать какой-нибудь дополнительный блок на DIN-рейку, работающий по интерфейсу RS485.



Интерфейс RS485


Полностью стандартная для Kincony схема реализации интерфейса RS485 на микросхеме MAX1348 и буфере 74LVC1G125.



Ethernet LAN8270A


Тоже стандартная для Kincony схема реализации Ethernet интерфейса на «физике» LAN8720A. Точно не лишняя и очень полезная подсистема KC868-AM.



Разъём I2C


Интерфейс I2C, выведенный в отдельный разъём и снабжённый на плате установленными резисторами подтяжки 3,3 кОм (видимо 4,7 кОм не было на складе или компания Kincony решила, что побольше тока не повредит шине 1-Wire).



Разъём Free GPIO


Крайне полезный, но не менее странный разъём Free GPIO — в нём почему-то использованы исключительно пины GPI, вместо GPIO. На распиновке ниже видно, что на плате присутствуют два незадействованных пина (GPIO2 и GPIO12), которые при желании и использовании паяльника можно подключить в разъём P2 (3 GPI плюс 2 GPIO будет однозначно лучше, чем 5 GPI).



Распиновка


Богато иллюстрированная (смайл) распиновка KC868-AM из которой, при внимательном рассмотрении, можно узнать много интересного.



Схема подключений


Окультуренная и исправленная схема подключений KC868-AM от производителя платы.



Итого


KC868-AM хорошо вписывается в концепцию компании Kincony «множество контроллеров на все случаи жизни» и может пригодиться вам для решения ваших задач по автоматизации или создания IoT систем (если ваша конкретная задача вписывается в ТТХ KC868-AM).



Возможно, захочется почитать и это: