Прежде чем перейти к статье, хочу вам представить, экономическую онлайн игру Brave Knights, в которой вы можете играть и зарабатывать. Регистируйтесь, играйте и зарабатывайте!
![](https://habrastorage.org/r/w780q1/webt/js/w5/my/jsw5myk4kvmrnzkqhylsrfylxcw.jpeg)
Многие контроллеры компании Kincony кажутся довольно монструозными устройствами — платы невероятных размеров, огромное количество цифровых входов и управляющих выходов, множество интерфейсов и т. д., но это только до тех пор, пока вам не понадобится, например, получать информацию с 64-х цифровых входов и управлять 64-я клапанами или реле.
И тут вдруг оказывается, что существует готовое решение, которое позволяет подключить провода, залить прошивку и (быстро и просто) решить стоящую перед вами задачу по автоматизации.
Сегодня мы как раз и рассмотрим такого монстра, это контроллер Kincony KC868-A64, который занимает почётное место в линейке A4, A6, A8, A16, A32, A64 и позволяет решать сложные и объёмные задачи по автоматизации.
Особенности линейки KC868
По типу управления выходами контроллеры серии KC868 делятся на две категории: устройства с установленными на плате реле (A4, A6, A8, A16S, A32) и устройства с транзисторными (MOSFET) выходами (A16, A64, KC868-Server). Контроллеры с реле дополнительно подразделяются на девайсы с запаянными в плату реле и на устройства с реле, установленными в специальные «кроватки» и позволяющие быстро и без пайки заменять сгоревшие реле.
Каждый из этих вариантов имеет свои преимущества и недостатки: контроллеры с установленными на плате реле легче использовать, ничего не нужно покупать и подключать дополнительно, а контроллеры с транзисторными выходами могут управлять не только реле, но и, например, электромагнитными клапанами. Во втором случае требуется дополнительно покупать и устанавливать отдельные блоки реле, например, блок KC868-E16 или аналогичный.
![](https://habrastorage.org/r/w780q1/webt/ho/d0/hr/hod0hri6eptkmufiby4h_5kpwlq.jpeg)
Дополнительный блок реле KC868-E16
KC868-A64 относится ко второму типу, то есть если в вашем проекте требуется использование реле, то нужно будет дополнительно купить и подключить соответствующие блоки компании Kincony или аналогичные стороннего производителя.
Kincony KC868-A64
Плата Kincony KC868-A64 содержит множество установленных компонентов и подсистем, полный список которых я привожу ниже:
- ESP32 (ESP-WROOM-32)
- 64 цифровых опторазвязанных входов («сухой контакт»)
- 2 аналоговых входа 0–5 В
- 2 аналоговых входа 4–20 мА
- 64 MOSFET выходов 12/24 В для управления реле и прочим оборудованием
- 64 светодиода состояний выходов
- Возможность подключения нескольких блоков KC868-E16 или аналогичных
- Интерфейс RS485
- Два отдельных I2C разъёма
- Отдельный Serial разъём
- Ethernet LAN8270A
- Разъём USB для программирования и заливки прошивок
- Кнопки «Reset» и «Download»
- Питание от 12/24 В постоянного тока
Установлено много чего, если всё это суммировать и выделить основные и значимые для построения проектов подсистемы, то получится:
- Управляющий микроконтроллер ESP32 со всеми его возможностями
- 64 цифровых входов
- 4 аналоговых входа
- 64 MOSFET выходов
- Интерфейс RS485
- Ethernet LAN8270A
Другими словами, работаем по беспроводному Wi-Fi и проводному Ethernet, получаем данные с 64-х входов (+ 4 аналоговых), управляем 64-я MOSFET выходами и обмениваемся данными по интерфейсу RS485.
Плюс можем задействовать дополнительное оборудование, подключаемое по I2C и Serial интерфейсам. А это дополнительное оборудование может быть очень разнообразным и значительно расширять базовый функционал контроллера (например, дисплей, различные датчики, коммуникационные модули и т. п.).
В итоге получается, что на базе KC868-A64 можно построить довольно развитую IoT систему, главной «фишкой» которой будет возможность получения данных с 64-х цифровых входов и управление 64-я MOSFET выходами.
![](https://habrastorage.org/r/w780q1/webt/pn/dy/v_/pndyv_po7fvsg6adzj9nntw2yvy.jpeg)
KC868-A64 в собранном виде, готовый для установки на DIN-рейку
Внешний вид и конструкция
Из-за своих огромных размеров KC868-A64 не поместится ни в один стандартный корпус, поэтому он комплектуется специальным нарезным профилем для установки и крепления на DIN-рейку. Всё разбирается и разбирается довольно просто — достаточно раскрутить несколько шурупов по краям этого профиля.
![](https://habrastorage.org/r/w780q1/webt/fh/qb/pw/fhqbpwga-1nywk8udlh5_pmejle.jpeg)
Фото профиля и боковых заглушек отдельно. Сам контроллер вставляется в профиль сбоку и далее просто фиксируется боковыми ограничителями.
![](https://habrastorage.org/r/w780q1/webt/nj/r6/pd/njr6pde6r7nn9wgtdxa-wervmd4.jpeg)
В связи большим числом цифровых входов и управляющих выходов обратная сторона платы утыкана оптопарами и мосфетами, что нетипично для продукции Kincony — обычно обратная сторона платы у их изделий не содержит установленных элементов.
![](https://habrastorage.org/r/w780q1/webt/ct/80/qf/ct80qffpb91ogwgwttrujcrvawu.jpeg)
Плата контроллера KC868-A64 отдельно. Видны специальные отверстия для крепления на любую подходящую поверхность — контроллер не обязательно устанавливать именно на DIN-рейку.
![](https://habrastorage.org/r/w780q1/webt/3s/xv/fw/3sxvfwjqmjfjt9hicvqrgaqzvw4.jpeg)
Схемотехника
Переходим к схемотехнике KC868-A64. Для начала вид платы сверху. Всё в лучших традициях Kincony и серии KC868. Постоянные читатели моего блога уже могут различить отдельные функциональные блоки контроллера.
![](https://habrastorage.org/r/w780q1/webt/b6/4v/tv/b64vtvq-nf5_dbzmqpgggcxi0bc.jpeg)
Более подробный вид обратной стороны платы. Всё сделано аккуратно, но жидкость для отмывки флюса мне всё-таки понадобилась.
![](https://habrastorage.org/r/w780q1/webt/su/pb/fo/supbfo25_4r1ikdbvgpno6l5fba.jpeg)
Питание
Подсистема питания контроллера KC868-A64 с одной стороны стандартна и повторяет схемные решения других контроллеров серии KC868, а с другой стороны несколько отличается от них. Она также состоит из микросхемы понижающего DC-DC преобразователя XL1509-5 для формирования напряжений 12 В и 5 В, а вот вместо одного линейного регулятора LM117-3V3 для формирования напряжения 3,3 В здесь применены два.
![](https://habrastorage.org/r/w780q1/webt/vd/qx/6r/vdqx6rnl4guah8rjf3lv9oozlhe.jpeg)
Принципиальная схема подсистемы питания KC868-A64:
![](https://habrastorage.org/r/w1560/webt/3j/lx/b1/3jlxb1mlgqwsm7qgxozsr-3lgis.png)
ESP32
Ядром (мозгом) контроллера Kincony KC868-A64 является всем нам хорошо знакомый модуль ESP32 (в модификации ESP-WROOM-32).
![](https://habrastorage.org/r/w780q1/webt/bj/a5/ht/bja5htsp1dn1rqbwb_see6j-r0a.jpeg)
Принципиальная схема и распиновка ядра (ESP32) контроллера:
![](https://habrastorage.org/r/w1560/webt/xc/sg/xs/xcsgxsuq5-johwkh3-qcl3zijdi.png)
USB/CH340
Стандартная (для серии) реализация USB-UART подсистемы на микросхеме CH340C плюс брутальный вертикальный USB разъём. Здесь же присутствуют две кнопки — «RESET» и «DOWNLOAD».
![](https://habrastorage.org/r/w780q1/webt/kc/m6/5s/kcm65sagar4fqqxxzszsarfvavw.jpeg)
Принципиальная схема подсистемы USB/CH340 контроллера:
![](https://habrastorage.org/r/w1560/webt/cq/nu/n8/cqnun8jkzt32vu3kdu3sr3b_b8y.png)
Цифровые входы
64 цифровых оптоизолированных входа «сухой контакт» на оптронах EL357, распределённых на 8 колодок по 8 контактов. Для обеспечения их работы в связке с ESP32 в KC868-A64 применены расширители цифровых входов/выходов c I2C интерфейсом на 4-х микросхемах PCF8575TS.
![](https://habrastorage.org/r/w780q1/webt/ht/5w/eh/ht5wehuupc9xcj6vl14jr7o6rdo.jpeg)
Принципиальная схема подсистемы цифровых входов. Для наглядности на схеме показан только один из восьми блоков опотронов (остальные полностью ему аналогичны).
![](https://habrastorage.org/r/w1560/webt/a1/fw/6c/a1fw6clom69am8vbaqpe5te555a.png)
Аналоговые входы
Плата KC868-A64 имеет 2 аналоговых входа для сигналов 0–5 B и два входа для сигналов 4-20 мА. Формирование напряжения производят входные каскады, счетверённый операционный усилитель LM324 и диоды Шоттки BAT54S.
Тут же формируется напряжение VCC_12V_1.
![](https://habrastorage.org/r/w780q1/webt/_6/jw/pt/_6jwptrquqgougcqlpgwt5n3pdm.jpeg)
Принципиальная схема подсистемы аналоговых входов:
![](https://habrastorage.org/r/w1560/webt/tc/cc/kh/tccckhbonqav2snsokmnwrxmoou.png)
MOSFET выходы
Самая большая подсистема контроллера KC868-A64, взаимодействие которой с микроконтроллером ESP32 осуществляется при помощи 4-х расширителей цифровых входов/выходов c I2C интерфейсом PCF8575TS. Далее управляющие сигналы поступают на оптопары TLP181, которые в свою очередь управляют 64-я мосфетами NCE60P10K.
Здесь же присутствуют индикаторные светодиоды, по свечению которых можно определить текущее состояние выходов контроллера KC868-A64.
![](https://habrastorage.org/r/w780q1/webt/ld/g2/ej/ldg2ejyanktzdcuy-acqqoprzic.jpeg)
Принципиальная схема подсистемы MOSFET выходов. Для наглядности на схеме показан только один из восьми MOSFET блоков (остальные полностью ему аналогичны).
![](https://habrastorage.org/r/w1560/webt/yg/ne/mf/ygnemfa5ngvvicqbnntx54il63g.png)
Ethernet
Ethernet интерфейс, значение которого трудно переоценить. Выполнен на стандартном для ESP32 чипе LAN8270A и по типовой схеме. Видимо чтобы не отставать от USB подсистемы, здесь тоже применён брутальный вертикальный Ethernet разъём.
![](https://habrastorage.org/r/w780q1/webt/hr/bu/gd/hrbugd02ksmhjv7ioe-u61bayig.jpeg)
Принципиальная схема подсистемы Ethernet:
![](https://habrastorage.org/r/w1560/webt/lh/46/fm/lh46fmxfz2dellzga8yojmlnya8.png)
RS485
Работа подсистемы RS485 обеспечивается драйвером интерфейса MAX13487EESA, буфером 74LVC1G125 и соответствующими элементами обвязки.
![](https://habrastorage.org/r/w780q1/webt/se/ix/8e/seix8evfugg-ir08ckky6rug3hy.jpeg)
Принципиальная схема подсистемы RS485:
![](https://habrastorage.org/r/w1560/webt/v5/ze/ui/v5zeui5dbnseirpzegh7julmcky.png)
Разъёмы I2C
Два очень полезных для подключения различных дополнительных компонентов разъёма I2C. К ним можно подключить, например, дисплей, дополнительные сенсоры и прочие элементы.
![](https://habrastorage.org/r/w780q1/webt/qe/5q/nx/qe5qnx7b1wpgtyfovtfz2bix3zc.jpeg)
Принципиальная схема подсистемы (разъёмов) I2C:
![](https://habrastorage.org/r/w1560/webt/rd/ej/0v/rdej0vcimbgoplvgqkmveqmitlq.png)
Serial разъём
Тоже полезное дополнение — к этому разъёму можно подключить много интересного оборудования, использующего Serial интерфейс для передачи и приёма данных.
![](https://habrastorage.org/r/w780q1/webt/c4/iq/am/c4iqamn_sj_ndy8adrhsxsvexzq.jpeg)
Принципиальная схема подсистемы (разъёма) Serial:
![](https://habrastorage.org/r/w1560/webt/yt/e4/1a/yte41agfvqrcrwsnmwqgbftvkgq.png)
Схема внешних подключений
Немного доработанная оригинальная схема разъёмов и внешних подключений контроллера KC868-A64 от производителя.
![](https://habrastorage.org/r/w780q1/webt/jf/vq/hu/jfvqhuaho32rkgztlb9xguugqbw.jpeg)
Проекты на KC868-A64
В завершение приведу имеющуюся в моём распоряжении схему тестового проекта на KC868-A16. Электрические подключения контроллеров A16 и A64 аналогичны и этот пример можно использовать для KC868-A64. На этой схеме хорошо видны все паттерны подключений различного оборудования — как запитывается сам контроллер, как к нему подключается блок реле, как управляются исполнительные устройства и т. д.
![](https://habrastorage.org/r/w780q1/webt/fx/wf/zr/fxwfzrirvb-vos1kqow7j8wvmx0.jpeg)
Распиновка
Распиновка KC868-A64. Всё, что может предоставить нам ESP32 по GPIO. Вообще, на мой взгляд, катастрофически малое количество GPIO — это самый большой (и обидный) недостаток ESP32.
![](https://habrastorage.org/r/w1560/webt/x3/pj/ry/x3pjry2ml6dxewmc89f0ogdkedu.png)
Заключение
После прочтения этой статьи вы знаете что делать, если вам вдруг понадобится решать задачу по получению информации с 64-х цифровых входов и одновременно управлять 64-я актуаторами — KC868-A64 уже ждёт, когда вы загрузите в него свою прошивку и подключите к нему 64 реле или электрических клапана.
![](https://habrastorage.org/r/w1560/webt/p-/u9/l2/p-u9l27ynelxi92bcmdxhu76ma8.png)