KC868-M16v2: мечта ардуинщика (16 токовых каналов, 3 канала напряжения, SD, LAN, POE, дисплей, RTC и SH3x)

ee--uwebelxsgjldiaaatrca3nw.jpeg

Помнится, во времена моей пионерской юности я провёл много времени проектируя многоканальные измерители тока и напряжения и отлаживая математику обсчёта данных со всех этих каналов (да, были времена…). И тут, разбираясь что же в очередной раз изобрела компания Kincony в лице KC868-M16v2, я вдруг обнаружил, что это ни что иное, как воплощение моей мечты по железу для подобного измерителя.

То есть теперь все желающие могут попрактиковаться в многоканальном измерении токов потребления различных устройств и открыть для себя много нового и интересного (смайл). Кроме этого, компания Kincony снабдила своё очередное детище кучей фишек типа поддержки microSD карт памяти, сетевого подключения с POE, дисплея, часов реального времени и в качестве вишенки на торте — разъёма для подключения датчиков SH3x.

Да, иногда мечты сбываются…

Что за многоканальные измерители?


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

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

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

Ну и так далее — спектр применений многоканальных измерителей тока ограничивается только вашей фантазией и потребностями.

KC868-M16v2


Теперь познакомимся поближе со всем перечнем компонентов и подсистем KC868-M16v2. На этот раз (щедрой рукой) Kincony разместила на плате:

  • ESP32-WROOM-32UE
  • 16 каналов для измерения тока (для датчиков SCT013 и подобных)
  • 16 джамперов для токовых каналов В/мА
  • Разъём для теста измерения токов
  • 3 канала для измерения напряжения 220–380 В
  • З резистора подстройки измерения напряжения
  • microSD картридер
  • Джампер SD/BO (GPIO2)
  • Ethernet LAN8270A
  • Разъём для POE модуля DP9700
  • Резистор подстройки POE напряжения
  • Универсальный I2C разъём
  • Разъём для дисплея SSD1306
  • Разъём для RTC DS3231
  • Разъём для датчика SH3x
  • Разъём USB для программирования
  • Кнопки «Reset» и «Download»
  • Светодиод наличия питания
  • Питание от 12/24 В постоянного тока


Неплохой набор, если бы производитель ещё добавил цифровые входы (DI) и интерфейс RS485, то было бы вообще роскошно. И самое интересное, что технологически это сделать для Kincony совсем несложно, но — не сделали.

И ещё мысль: возможно стоило измерительную часть сделать в виде отдельного блока, который можно было бы подключать к любому контроллеру. Это логично и, на мой взгляд, вполне оправдано. Видимо разработчики Kincony до этого пока не додумались.

Обращает на себя внимание поддержка этой платой возможности установки POE модуля (см. подробнее об этом далее).

Внешний вид


Фото KC868-M16v2 в «поддоне» на DIN-рейку. Установлены: дисплей SSD1306, датчик температуры и влажности SH31 и не установлены: POE модуль и модуль часов реального времени RTC.

ic0eqg9gwis8d6bulvanmnvadcy.jpeg

Вид сверху. Если присмотреться, то можно заметить, что некоторые детали (переменные резисторы и разъёмы) не распаяны. В принципе, при большой необходимости, можно допаять их самостоятельно (см. описание схемы далее).

opbnml8d3tw83eifxhn-lp_qu_i.jpeg

Обратная сторона платы, по традиции Kincony, не содержит никаких элементов. Обратите внимание: на разъёмы измерения напряжения предполагается подавать сигнал до 380 В. Кроме того, что эта идея сама по себе вызывает серьёзные опасения, так ещё и на плате нет никаких защитных прорезей.

ewhvgssrde4tk3726wtzrszzdim.jpeg

Предупреждение: я не знаю насколько это оправдано, но я бы поостерёгся от экспериментов с напряжением 380 В. Если вы не профессиональный электрик и точно знаете, что делаете, то я бы не советовал работать с таким напряжением на плате KC868-M16v2.

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


Теперь подробнее познакомимся со схемотехникой KC868-M16v2 и, как всегда, откроем для себя интересные нюансы реализации заявленной функциональности. Ну и кроме этого, схема позволит понять как это работает и грамотно использовать все возможности, заложенные в KC868-M16v2.

Питание


Тут всё стандартно для Kincony — преобразование 12 В — 5 В — 3,3 В. Из особенностей можно отметить, что контроллер может питаться от сетевого подключения с POE (см. описание далее).

9msywfvqyi43t_ru74czluf_vyi.png

ESP32


Информация о распиновке ESP32 от производителя. Джампер P24 «SD/BO» (не распаян на плате) может управлять режимами работы пина GPIO2.

rjb0h6l9s75yq1nlvka6mvuzst4.png

USB-UART


Тоже типовая для Kincony схема переходника USB-UART.

1po25pkjy4mdfm3evf7n4zcxqho.png

16 каналов измерения тока


На плате имеются 16 каналов, предназначенные для измерения тока и рассчитанные на подключение типовых датчиков SCT013 и подобных. На плате имеются также 16 джамперов P1-P16 (V/mA) для переключения режимов входов ток/напряжение (по умолчанию — для датчиков с выходом напряжения).

CT clamp Sensor voltage range DC 0-1 V
CT clamp Sensor current range 0-50 mA 

Управляется всё это хозяйство посредством 16-канального аналогового мультиплексора/ демультиплексора 74HC4067. Как всё это работает, учитывая, что каналы подключены к ESP32 не напрямую, а коммутируются на один аналоговый вход — надо проверять и тестировать отдельно. Также возникают вопросы с калибровкой получаемых значений и самой математикой обсчёта каналов — это всё тема для отдельного исследования и отличный повод повысить вашу квалификацию в программировании и схемотехнике.

l-tbonm8szqa1izij4jzi6cvcqy.jpeg

Пример подключения датчика SCT013 на первый канал KC868-M16v2. Для тех, кто совсем не в теме: один из сетевых проводов нужно протянуть внутри отверстия датчика (для этого он открывается).

3 канала измерения напряжения


Кроме 16 каналов измерения тока, KC868-M16v2 имеет также 3 канала измерения напряжения, выполненных по схеме типовых датчиков на трансформаторе ZMPT101B и операционных усилителях LM358DR2G.

1ljbalx2evtg7ot0gcs_d2j2b88.png

Тут не возникает никаких проблем — это популярный датчик и для него есть и код и библиотеки в сети. Единственный момент: я не испытываю оптимизма Kincony по поводу работы с напряжением 380 В вообще и работы с напряжением 380 В на плате KC868-M16v2 в частности. Если вы всё же решитесь на подобные эксперименты, то я бы порекомендовал вам подумать ещё раз (резиновый коврик и перчатки вам в помощь).

SD картридер


SD картридер — это отличная вещь, которая никогда не бывает лишней на плате контроллера. Это хорошо ещё и как минимум потому, что не придётся «колхозить» его подключение самостоятельно.

txt_eiole1j5sqxiiepgt1nnzps.png

Ethernet


Типовая для Kincony схема Ethernet интерфейса на чипе LAN8270A, дополненная возможностью подключения POE модуля DP9700 или совместимого.

jqfdlmexn_sa2y9wue5dkri8rgw.png

POE модуль


KC868-M16v2 рассчитан на подключение совместимого «DP9700» POE модуля, в данном случае PM0503T (5 В 2,4 А).

txc_c9lpcshvelsdno9egwyhaie.jpeg

Сам модуль 10-контактный, где из первых шести используются 4 пина в качестве входов, а из оставшихся четырёх — два пина выход и один пин для регулировки уровня выходного напряжения (переменный резистор должен быть на плате контроллера, но по факту не распаян).

6b-n2xyxojjo4qyajy0udxmewlw.png

Внешний вид самого модуля PM0503T:

od_7t6_owspbljs-_eqmynukefs.jpeg

Дисплей SSD1306


Дисплей SSD1306 штатно присутствует на плате. Наконец-то компания Kincony вняла здравому смыслу и начала оснащать свои контроллеры дисплеями.

yu5a-iaf51huuvkej6henjaspko.png

Но видимо должно пройти какое-то время, чтобы до неё дошла ещё одна очевидная мысль: дисплей должен быть в составе дисплейной платы со светодиодами и кнопками или энкодером управления. Ждём-с…

RTC DS3231


На плате присутствует разъём для типового модуля часов реального времени на DS3231 (это очень хорошо).

l-emygpf7g_mmn-eyz1ywiu-brk.png

Датчик SHT31


Не знаю из каких соображений, но видимо «до кучи», компания Kincony оснастила плату KC868-M16v2 разъёмом для подключения модуля датчика измерения температуры и влажности SHT31 и самим этим датчиком.

kxhogxyclbb2mnraeafeqreat6u.png

Как говориться, кашу маслом не испортишь — пусть будет. В крайнем случае этот разъём можно использовать для подключение какого-нибудь другого I2C компонента.

Разъём I2C


И отдельный I2C разъём — отлично, ему всегда можно найти применение в реальных проектах.

dq-linfrvjcugecuupfvj1vgh84.png

Распиновка


Проверенная и удобочитаемая распиновка ESP32 на плате контроллера KC868-M16v2.

ucyk1sxv8nnnunslsmtgss8prl0.png

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


Схема расположения компонентов и внешних подключений от производителя.

qudfgk7g6lkv9evhxmyqxkarlfm.jpeg

Заключение


Реально классный контроллер для экспериментов, обучения и использования в DIY системах автоматизации. Ему не хватает только цифровых входов (DI) и интерфейса RS485 (и ещё кое-каких мелочей), чтобы претендовать на звание «воплощённой мечты ардуинщика», но он очень близко подошёл к этому недостижимому идеалу.

Читайте также:

Новости, обзоры продуктов и конкурсы от команды Timeweb.Cloud — в нашем Telegram-канале


r8msjcfet9mgza3ybpor_sdgrt0.jpeg

Habrahabr.ru прочитано 1595 раз