![](https://habrastorage.org/webt/kh/ix/so/khixsoahynrjinf2blpoc-feybc.jpeg)
В семействе «лёгких» контроллеров конфигурации «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.
![](https://habrastorage.org/webt/la/br/pj/labrpjoaxovalrnoo3b6b8vghku.jpeg)
Семейство контроллеров 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-рейке (но, судя по всему, для Китая это не проблема и типовая ситуация — похоже там своя культура построения электросетей).
![](https://habrastorage.org/webt/wm/ge/zi/wmgeziybgazbgtliynlalttc_3k.jpeg)
На фото контроллера выделяется дочерняя плата с восемью кнопками — это прямое, в обход прошивки, управление MOSFET выходами. Это может быть полезно при наладке и тестировании оборудования в щитке (и, да, кнопки находятся внутри корпуса и без снятия крышки недоступны).
![](https://habrastorage.org/webt/oe/6q/cg/oe6qcgdurp2q_mmlizxgp2djxpy.jpeg)
Фото платы управления MOSFET выходами крупным планом. Как курьёз можно отметить, что Kincony предоставляет всем желающим схему самого контроллера KC868-A8M, но получить схему дочерней платы с кнопками мне не удалось даже по специальному запросу (видимо это особо секретная технология).
![](https://habrastorage.org/webt/b9/f9/ab/b9f9abdotlfdf_iwf_wmclvtzxw.jpeg)
❯ Схемотехника
Фото платы контроллера KC868-A8M сверху. Из очевидных косяков сразу видно расположение I2C разъёма внутри пространства для установки платы кнопок, — то есть вы можете использовать либо подключение к I2C разъёму, либо плату кнопок, но не то и другое одновременно. Я лично тут однозначно отдаю предпочтение I2C разъёму.
![](https://habrastorage.org/webt/1z/zl/tg/1zzltgwqdahjtda2q3hlijabedw.jpeg)
Фото обратной стороны платы — хороший пример для разбора специалистами по проектированию печатных плат — что здесь правильно, а что неправильно (с нетерпением ждём их компетентное мнение в комментах).
![](https://habrastorage.org/webt/lh/xr/t5/lhxrt5ptbnwybqcrgoajkjmuzuu.jpeg)
Подсистема питания
Переходим непосредственно к разбору схемотехники. Подсистема питания KC868-A8M являет собой пример стандартного для Kincony решения и просто скопирована из предыдущих моделей (которые я много раз разбирал, поэтому не буду здесь останавливаться подробно).
![](https://habrastorage.org/webt/33/cm/gn/33cmgnjyrpqjlw0vacaon5d-f9s.png)
ESP32
Распиновка ESP32 в интерпретации производителя. Удивительно, но подобные официальные распиновки у Kincony постоянно содержат мелкие ошибки и неточности — как это происходит непонятно, ведь, по идее, это схема по которой производится контроллер (исправленную распиновку см. в конце статьи).
![](https://habrastorage.org/webt/-h/py/8-/-hpy8-u_gckspgh74umkocktcwe.png)
USB-UART
Переходник USB-UART на CH340C и с USB Type-C разъёмом для самостоятельного программирования контроллера.
![](https://habrastorage.org/webt/ul/ax/ml/ulaxmlo7te_x0hpvzu7cdsmzvtu.png)
Цифровые входы (DI)
8 цифровых оптоизолированных входов «сухой контакт» на оптронах EL357. Для обеспечения их работы в связке с ESP32 применён расширитель цифровых входов/выходов c I2C интерфейсом на микросхеме PCF8574P.
![](https://habrastorage.org/webt/dy/pi/qc/dypiqcxv-klwghqq_peck7f_2cs.png)
Аналоговые входы (AI)
Контроллер имеет два аналоговых входа 0-5 В и два аналоговых входа 0-20 мА. Для относительно небольшого контроллера класса 8x8 это можно назвать сбалансированным решением, хотя, разумеется, чем больше входов — тем лучше.
![](https://habrastorage.org/webt/c_/4z/wg/c_4zwgg4hau4ooa1vx8waj2fmcw.png)
Реле и плата кнопок
«Скромненькое», но вполне функциональное управление восемью MOSFET (12/24 В, 500 мА) выходами при помощи расширителя цифровых входов/выходов c I2C интерфейсом PCF8574P и оптопар TLP181.
![](https://habrastorage.org/webt/rh/bo/bz/rhbobzxuxptplfiotaxm4tx_uzy.png)
Тут же разъём P12 для подключения дочерней платы с кнопками прямого управления выходами.
Сенсоры (1-Wire)
Один подтянутый к 3,3 В вывод для подключения датчиков или шины 1-Wire. Или любых других устройств с подключением на одно GPIO.
![](https://habrastorage.org/webt/tj/vs/vo/tjvsvokp3faa7kanv9oghlumhzi.png)
Приёмник 433 МГц
В схеме KC868-A8M предусмотрено подключение типового модуля для приёма радиосигналов 433 МГц.
![](https://habrastorage.org/webt/bp/lx/pn/bplxpnbohjdupjbqvtplygu1zj0.png)
Ресивер скромно притулился (по другому не скажешь) между разъёмом питания контроллера и разъёмами его MOSFET выходов.
![](https://habrastorage.org/webt/jz/_c/fi/jz_cfi4cqj0rl0g66o5sgbtzc1q.jpeg)
RS485
Стандартная для Kincony схема подсистемы RS485.
![](https://habrastorage.org/webt/n-/ms/ts/n-mstskom0lfyrbd3hcgu-53-j0.png)
CAN
CAN часть контроллера собрана по простой схеме на 8-ногой микросхеме TJA1042T/3 от NXP «High-speed CAN Transceiver» (любители CAN будут довольны).
![](https://habrastorage.org/webt/si/bu/4l/sibu4lvuhpjea04ltwsaze0ty_i.png)
Ethernet
Стандартная для Kincony схема подсистемы Ethernet на LAN8720A.
![](https://habrastorage.org/webt/nb/_g/u3/nb_gu3avam0ogqnprr3yp94psk0.png)
RTC (DS3231)
Контроллер KC868-A8M имеет возможность подключения типового модуля часов реального времени (RTC) на микросхеме DS3231.
![](https://habrastorage.org/webt/ew/cc/gp/ewccgp2xwtbgebl_cp45hlv5vck.png)
Крепёж выглядит не особо эстетично, но к функционалу никаких вопросов нет — если проект требует наличия в контроллере часов реального времени, то возможность подключения подобного модуля дорогого стоит.
![](https://habrastorage.org/webt/o8/zt/te/o8ztteebtjhhss8p58a3btd_n0s.jpeg)
GSM 2G/4G
KC868-A8M предусматривает подключение GSM 2G модуля SIM800L или 4G модуля SIM7600. Тут же присутствует подсистема питания GSM модулей на микросхеме XL1509-ADJ.
![](https://habrastorage.org/webt/yg/hb/un/yghbunkcmvy8ugd7sxiriorfmmq.png)
В один момент времени можно использовать только один из вариантов модулей 2G/4G, но не оба модуля одновременно.
![](https://habrastorage.org/webt/4j/ul/3k/4jul3kd3u3hni_goqnc_dxqvufk.jpeg)
I2C разъём
Очень полезный разъём для расширения функционала KC868-A8M. Например, к нему можно подключить модуль I2C дисплея.
![](https://habrastorage.org/webt/mm/jj/j1/mmjjj1en44gchn1catrjr7-evmo.png)
❯ Распиновка
Правильная распиновка ESP32 контроллера KC868-A8M с исправленными ошибками и неточностями.
![](https://habrastorage.org/webt/lm/ti/72/lmti72cshvnylfz1_ajta7hqwb4.png)
❯ Схема подключений
Исправленная и окультуренная схема подключений KC868-A8M от производителя (по которой можно понять что и как подключается к плате).
![](https://habrastorage.org/webt/sd/nh/b8/sdnhb8biphtn1l7-q08tg-svxc0.jpeg)
❯ Итого
Определяющим для KC868-A8M является количество входов/выходов 8x8 — именно это очерчивает круг проектов, которые можно реализовать на этом контроллере. Если для решения ваших задач хватает этого числа входов/выходов, то остальная начинка позволит реализовать почти любой функционал — тут и Wi-Fi и Ethernet и GSM и RS485 и даже CAN для тех, кому нужен именно этот интерфейс.