В семействе «лёгких» контроллеров конфигурации «8 входов на 8 выходов» прибыло: Kincony смастерила новую, современную модификацию с поддержкой 2G/4G GSM и часов реального времени (про Wi-Fi, LAN, RS485 даже не упоминаю — это уже стало стандартом), а также добавила для любителей и фанатов интерфейса CAN его поддержку.
И незатейливо назвала своё произведение Smart Controller/CAN Bus Board. Kincony нас избаловала обилием модификаций контроллеров на любой вкус (и задачу), а вообще KC868-A8M — это интересная машинка со множеством возможностей о которых (особенно в своей совокупности на одной плате) раньше приходилось только мечтать.
Итак…
❯ Семейство Kincony 8x8
Началось всё с концептуальной модели формата 8x8 — KC868-A8, простенькой, но уже довольно функциональной, например она уже содержала Ethernet на LAN8270A. Продолжился модельный ряд модификацией KC868-A8S в которой добавилась поддержка интерфейса RS485 и 2G GSM, что перевело контроллер в разряд «серьёзных» и применимых для работы с оборудованием RS485.
Семейство контроллеров Kincony KC868-A8, A8S, A8M
Эволюция семейства 8x8 хорошо прослеживается и последняя модификация KC868-A8M уже блещет поддержкой (кроме всего прочего) 4G GSM модулей, часов реального времени (RTC), интерфейса CAN и т. д.
❯ KC868-A8M
Ниже представлен список всех компонентов и подсистем контроллера KC868-A8M из которого можно составить представление о его потенциальных возможностях.
- Микроконтроллер ESP-WROOM-32UE
- Разъём для внешней Wi-Fi антенны
- 8 цифровых входов «сухой контакт»
- 2 аналоговых входа 0-5 В
- 2 аналоговых входа 4-20 мА
- 8 MOSFET каналов 12/24 В (500 мА)
- 8 светодиодов состояний выходов
- Дополнительная плата с 8 кнопками прямого управления выходами
- Возможность подключения блока реле KC868-E8 или аналогичного
- 1-Wire GPIO (для датчика).
- Выход 3,3 В питания на датчики
- Интерфейс CAN
- Интерфейс RS485
- Разъём для 2G/4G GSM модулей SIM800/SIM7600
- Разъём для RF 433 приёмника
- Разъём для RTC модуля на DS3231
- Ethernet LAN8270A
- I2C разъём
- Разъём USB Type-C
- Кнопки «Reset» и «Download»
- Питание от 12/24 В
- Индикатор наличия питания
Что тут можно сказать? Есть всё, что нужно, кроме каких-то мелочей и вкусовых предпочтений — теоретически, неплохо было бы иметь аналоговые выходы 0-10 В и какой-то блок управления с передней панели, плюс дисплей. Неплохо было бы также иметь возможность подключить больше одного датчика.
Но тут есть два ограничения: во-первых площадь платы контроллера не резиновая и, во-вторых, мы имеем дело с ESP32 — колоссом на глиняных ногах — с гипертрофированной мощностью MCU и рахитичной горсткой GPIO выводов.
❯ Внешний вид
Контроллер рассчитан на установку в типовой корпус, к достоинствам которого можно отнести приличный внешний вид, качественную пластмассу, качественную формовку и лёгкость разборки, а к недостаткам — нестандартный размер, который будет выделять контроллер на DIN-рейке (но, судя по всему, для Китая это не проблема и типовая ситуация — похоже там своя культура построения электросетей).
На фото контроллера выделяется дочерняя плата с восемью кнопками — это прямое, в обход прошивки, управление MOSFET выходами. Это может быть полезно при наладке и тестировании оборудования в щитке (и, да, кнопки находятся внутри корпуса и без снятия крышки недоступны).
Фото платы управления MOSFET выходами крупным планом. Как курьёз можно отметить, что Kincony предоставляет всем желающим схему самого контроллера KC868-A8M, но получить схему дочерней платы с кнопками мне не удалось даже по специальному запросу (видимо это особо секретная технология).
❯ Схемотехника
Фото платы контроллера KC868-A8M сверху. Из очевидных косяков сразу видно расположение I2C разъёма внутри пространства для установки платы кнопок, — то есть вы можете использовать либо подключение к I2C разъёму, либо плату кнопок, но не то и другое одновременно. Я лично тут однозначно отдаю предпочтение I2C разъёму.
Фото обратной стороны платы — хороший пример для разбора специалистами по проектированию печатных плат — что здесь правильно, а что неправильно (с нетерпением ждём их компетентное мнение в комментах).
Подсистема питания
Переходим непосредственно к разбору схемотехники. Подсистема питания KC868-A8M являет собой пример стандартного для Kincony решения и просто скопирована из предыдущих моделей (которые я много раз разбирал, поэтому не буду здесь останавливаться подробно).
ESP32
Распиновка ESP32 в интерпретации производителя. Удивительно, но подобные официальные распиновки у Kincony постоянно содержат мелкие ошибки и неточности — как это происходит непонятно, ведь, по идее, это схема по которой производится контроллер (исправленную распиновку см. в конце статьи).
USB-UART
Переходник USB-UART на CH340C и с USB Type-C разъёмом для самостоятельного программирования контроллера.
Цифровые входы (DI)
8 цифровых оптоизолированных входов «сухой контакт» на оптронах EL357. Для обеспечения их работы в связке с ESP32 применён расширитель цифровых входов/выходов c I2C интерфейсом на микросхеме PCF8574P.
Аналоговые входы (AI)
Контроллер имеет два аналоговых входа 0-5 В и два аналоговых входа 0-20 мА. Для относительно небольшого контроллера класса 8x8 это можно назвать сбалансированным решением, хотя, разумеется, чем больше входов — тем лучше.
Реле и плата кнопок
«Скромненькое», но вполне функциональное управление восемью MOSFET (12/24 В, 500 мА) выходами при помощи расширителя цифровых входов/выходов c I2C интерфейсом PCF8574P и оптопар TLP181.
Тут же разъём P12 для подключения дочерней платы с кнопками прямого управления выходами.
Сенсоры (1-Wire)
Один подтянутый к 3,3 В вывод для подключения датчиков или шины 1-Wire. Или любых других устройств с подключением на одно GPIO.
Приёмник 433 МГц
В схеме KC868-A8M предусмотрено подключение типового модуля для приёма радиосигналов 433 МГц.
Ресивер скромно притулился (по другому не скажешь) между разъёмом питания контроллера и разъёмами его MOSFET выходов.
RS485
Стандартная для Kincony схема подсистемы RS485.
CAN
CAN часть контроллера собрана по простой схеме на 8-ногой микросхеме TJA1042T/3 от NXP «High-speed CAN Transceiver» (любители CAN будут довольны).
Ethernet
Стандартная для Kincony схема подсистемы Ethernet на LAN8720A.
RTC (DS3231)
Контроллер KC868-A8M имеет возможность подключения типового модуля часов реального времени (RTC) на микросхеме DS3231.
Крепёж выглядит не особо эстетично, но к функционалу никаких вопросов нет — если проект требует наличия в контроллере часов реального времени, то возможность подключения подобного модуля дорогого стоит.
GSM 2G/4G
KC868-A8M предусматривает подключение GSM 2G модуля SIM800L или 4G модуля SIM7600. Тут же присутствует подсистема питания GSM модулей на микросхеме XL1509-ADJ.
В один момент времени можно использовать только один из вариантов модулей 2G/4G, но не оба модуля одновременно.
I2C разъём
Очень полезный разъём для расширения функционала KC868-A8M. Например, к нему можно подключить модуль I2C дисплея.
❯ Распиновка
Правильная распиновка ESP32 контроллера KC868-A8M с исправленными ошибками и неточностями.
❯ Схема подключений
Исправленная и окультуренная схема подключений KC868-A8M от производителя (по которой можно понять что и как подключается к плате).
❯ Итого
Определяющим для KC868-A8M является количество входов/выходов 8x8 — именно это очерчивает круг проектов, которые можно реализовать на этом контроллере. Если для решения ваших задач хватает этого числа входов/выходов, то остальная начинка позволит реализовать почти любой функционал — тут и Wi-Fi и Ethernet и GSM и RS485 и даже CAN для тех, кому нужен именно этот интерфейс.