Как стать автором
Обновить
1821.07
Timeweb Cloud
То самое облако

Скромное обаяние ClimateGuard CG Mini

Уровень сложностиПростой
Время на прочтение7 мин
Количество просмотров5.2K


Сегодня мы поговорим об одном неприметном, но на самом деле довольно интересном устройстве — микроконтроллерной плате ClimateGuard CG Mini. Это специализированная плата на ESP32 для построения проектов «сенсорики», по определению самого производителя.

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

Ну и давайте посмотрим что там и как с CG Mini…

ClimateGuard CG Mini


Да, умеет ClimateGuard называть свои устройства (смайл). Название платы CG Mini как бы предполагает, что всем известно, что CG — это ClimateGuard, а Mini без каких-либо индексов предполагает такой уровень концептуальности, что других пояснений и не требуется и эта ниша навсегда закрыта платой CG Mini.

То есть, судя по названию, CG Mini — это концептуальный эталон минималистской платы для «сенсорики», что-то вроде Chanel № 5 в мире парфюмерии. Ну что ж, давайте посмотрим какие компоненты содержит этот концептуальный девайс.

Итак:
  • Микроконтроллер ESP32-WROOM-32E
  • 2 разъёма с UART интерфейсом (JST 2.54 и Molex 1.25)
  • 3 разъёма с I2C интерфейсом (2x3V3, 1x5V)
  • Разъём с SPI интерфейсом
  • Разъём с 1-Wire интерфейсом
  • Аналоговый вход
  • Управляющий выход DO (до 0.5 А)
  • Выход управления FAN (с ШИМ)
  • 2 светодиода WS2812B
  • Программируемая кнопка
  • Разъём для программирования 3V3, TX, RX, EN, IO0, GND
  • Подсистема управления питанием датчиков 3,3 В
  • Подсистема управления питанием датчиков 5 В
  • Watchdog на TPL5010
  • Выключатель питания
  • Разъём питания USB Type-C (5 В)
  • Круглый (Barrel) разъём питания (9-28 В)
  • Колодка питания (9-28 В)
  • Максимальный ток потребления: 2 А
  • Рабочая температура: от -40 до 70°C

Другими словами, мы имеем плату с интерфейсами UART, I2C, SPI и 1-Wire в разъёмах JST 2.54 к которым можно удобным способом (быстро и надёжно) подключить различные датчики (и/или актуаторы). То есть на CG Mini можно быстро и удобно сделать какое-то IoT устройство, например, метеостанцию или любой другой подобный девайс.



На плате есть пара управляющих выходов и один аналоговый вход, но почему-то нет цифровых входов, хотя у микроконтроллера ESP32 есть несколько свободных незадействованных пинов.

Запитываться CG Mini может тремя разными способами: от разъёма USB Type-C (5 В), от круглого Barrel разъёма (9-28 В) или от колодки с двумя контактами (9-28 В). Причём разъём USB Type-C здесь предназначен исключительно для питания контроллера, программировать через него ESP32 не получится.

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

Но и это ещё не всё! В CG Mini применено очень интересное схемотехническое решение — управление шинами питания датчиков 3,3 и 5 В прямо с контроллера ESP32, причём сделано это «прозрачно», понятно и очень удобно — просто выставляем уровни на пинах ESP32 и управляем шинами питания и, соответственно, уровнем потребления контроллера (всей системы). Подробнее об этом тоже далее.

В схемотехнике CG Mini присутствуют ещё много интересных нюансов, но пока переходим к описанию внешнего вида устройства.

Внешний вид


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



Обратная сторона платы — просто образец того, как надо подписывать контакты — всё сразу видно и понятно что куда нужно подключать. Плюс таблица с номерами и назначением GPIO ESP32 и таблица состояния выводов для управления линиями питания датчиков.



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


Теперь переходим рассмотрению схемотехники CG Mini. Здесь нас поджидает немного неоднозначная ситуация: с одной стороны доступна официальная схема устройства, с другой стороны, эта схема неполная и в основном содержит сведения о распиновке разъёмов и самого микроконтроллера ESP32. Поэтому иллюстрировать своё описание я буду только теми фрагментами принципиальной схемы CG Mini, которые есть в свободном доступе и моём распоряжении.

Ядро ESP32


В первую очередь здесь стоит отметить, что CG Mini лишен встроенного USB-UART переходника и запрограммировать его можно только с помощью внешнего USB-UART адаптера. Программирование производится через разъём prog1 (см. схему ниже), содержащий контакты 3V3, TX, RX, EN, IO0 и GND.


Расположение контактов в разъёме полностью соответствует «фирменному» переходнику CG Programmer (догадайтесь, что обозначают буквы CG). То есть распаяв соответствующий разъём на плате, можно программировать CG Mini, просто вставляя USB-UART переходник в него. Это касается «фирменного» USB-UART адаптера, но вместо него можно использовать и любой другой, только нужно будет правильно соединить выводы разъёма prog1 и вашего USB-UART переходника.



Также стоит обратить внимание на то, что запитывается ESP32 не напрямую от напряжения 3,3 В, а от линии WD_VCC, то есть сторожевой таймер не просто перезагружает микроконтроллер по линии RESET, а полностью обесточивает его во время процедуры перезагрузки.

Watchdog TPL5010


Большинство производителей контроллеров, особенно контроллеров на ESP32, полностью игнорирует существование в природе сторожевых таймеров, мотивируя это тем, что в ESP32 есть встроенный Watchdog. Так то оно так… Но я считаю наличие внешнего «железного» сторожевого таймера абсолютно необходимой частью любого контроллера, особенно контроллера, который выполняет хоть сколько-нибудь ответственные функции.

Сторожевые таймеры могут быть построены на разной элементарной базе, в данном случае применена специализированная микросхема TPL5010DDCR «микро-потребляющего таймера с функцией Watchdog», что можно признать правильным и грамотным решением.


Здесь время срабатывания таймера задаёт резистор R15 и по умолчанию оно составляет около 60 секунд. Сбрасывающие («DONE») импульсы нужно подавать на вход WD_UPDATE. Выход C_WD управляет двумя полевыми транзисторами, которые подают (или отключают) напряжение 3,3 В на линию WD_VCC.

В практическом плане можно не боясь перезагрузок программировать ESP32, поскольку напряжение 3,3 В поступает с USB-UART переходника. Как только переходник будет отключен от контроллера, Watchdog начнёт каждую минуту перезагружать контроллер. Для избежания перезагрузок нужно подавать импульсы с ESP32 (GPIO32) на вход WD_UPDATE сторожевого таймера.

Линии питания датчиков 3,3 и 5 В


Как я уже заметил выше, CG Mini имеет довольно продвинутую и оригинальную систему менеджмента линий питания датчиков 3,3 и 5 В. Можно простой манипуляцией уровнями на пинах C_3V3 и С_5V включать и выключать подачу питающего напряжения на линиях L3V3 и L5V.


Коммутация напряжения питания осуществляется при помощи драйвера ULN2803A и двух полевых транзисторов. То есть для экономии питания (потребляемой контроллером мощности) вы можете просто отключать не нужные в данный момент линии. Это просто отличная и тоже почти нигде не встречающаяся (по крайней мере в таком виде) возможность.

UART интерфейс


Плата CG Mini имеет на своём борту множество интерфейсных разъёмов для подключения различных датчиков и прочей периферии. В частности, на плате находятся два разъёма UART интерфейсов. Причём один из них сделан в формате JST 2.54, а другой — в более миниатюрном варианте разъёма Molex 1.25. Зачем это нужно и почему нельзя было сделать два одинаковых разъёма JST 2.54 — не совсем понятно, видимо разработчики рассчитывали на подключение какого-то специализированного оборудования.


Но в любом случае два UART разъёма на плате — это хорошо для удобного подключения различной периферии с этим интерфейсом.

I2C интерфейс


Ещё лучше на плате CG Mini обстоят дела с I2C интерфейсом — здесь присутствуют аж три соответствующих разъёма JST 2.54, причём два из них с питающим напряжением 3,3 В, а один — с напряжением 5 В. Так что у вас будет свобода выбора для подключения различных I2C устройств. Плюс, как вы видите на схеме, на плате присутствует подтяжка линий SCL и SDA к напряжению 3,3 В при помощи резисторов 10 кОм (почему не 4,7 кОм смогут объяснить только разработчики платы).


SPI интерфейс


На плате также присутствует один разъём SPI интерфейса. Линия SS в котором подтянута к напряжению 3,3 В при помощи резистора 10 кОм. Одно устройство с SPI интерфейсом можно подключить к плате CG Mini напрямую, если понадобится подключить несколько SPI устройств, то это можно сделать при помощи паяльника и соответствующего переходника.


1-Wire интерфейс


Вишенкой на торте множества интерфейсов CG Mini служит разъём для подключения 1-Wire устройств. На плате уже сделана подтяжка линии к напряжению 3,3 В при помощи резистора 4,7 кОм. Вы также можете использовать как двухпроводной вариант подключения с т. н. «паразитным» питанием, так и стандартный трёхпроводной вариант.


Светодиоды WS2812B


Из разряда «пустячок, а приятно» на плате присутствуют два полноцветных адресных светодиода WS2812B — можно не отказывать себе в любой иллюминации как «по делу», так и просто «для красоты».


Управление вентилятором


Схема подсистемы управления вентилятором. Вывод C_FAN_D и линия питания 5 В выводятся в 2-пиновый разъём на плате CG Mini.


Аналоговый вход


На плате CG Mini присутствует разъём с аналоговым входом для подключения соответствующих датчиков. Схема аналогового входа представлена ниже:


Универсальный выход


И разъём «универсального» 5-вольтового управляющего выхода (DO) до 0.5 А, выполненного на микросхеме LM358.


Распиновка


Распиновка здорового человека, из которой можно понять что и как подключено к микроконтроллеру ESP32 на плате CG Mini.


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


По традиции, немного окультуренная схема подключений CG Mini от производителя. Плюс, как всегда, исправлены мелкие неточности и ошибки.


Заключение


Если бы я вдруг решил делать что-то вроде метеостанции (смайл), то пожалуй взял бы ClimateGuard CG Mini в качестве основы для такого проекта. Ну и довольно редко (никогда) встречающиеся решения вроде сторожевого таймера на TPL5010 и менеджмента шин питания 3,3 и 5 В очень располагают к себе и делают плату CG Mini интересным вариантом для реализации различных IoT проектов.

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


Теги:
Хабы:
Всего голосов 16: ↑16 и ↓0+16
Комментарии9

Публикации

Информация

Сайт
timeweb.cloud
Дата регистрации
Дата основания
Численность
201–500 человек
Местоположение
Россия
Представитель
Timeweb Cloud

Истории