Горячий, умный, рогатый: разработка анемометра в концепции интернета вещей
Приключения железного стартапа в России
Здравствуй, дорогой друг или коллега
Материал является продолжением цикла «Приключения железного стартапа в России». Повествующего о сложной судьбе проекта ClimateGuard. Точнее, все задумывалось как цикл. Первая статья «Приключения железного стартапа в России: сбор команды» вышла в далеком 2019 году. Затем стартап ушел в радиомолчание. Чем же все кончилось? — спросишь ты. Улетели к звездам? Низверглись в долину смерти?
Ваш покорный слуга искупает вину перед сообществом и продолжает рассказывать историю героев. Первые материалы будут посвящены подвигам — обзору продуктов, прототипов и прочих железок, ставших результатам нашего беспокойного творчества. По просьбам @cyber_roach — с фотками железа в стиле «ню».
Затем опишу путь:
где и как брали деньги (ведь гранты сами себя не получат);
на каких площадках пробовали продавать (есть ли разница между Tindie и Tinder);
приносит ли результаты реклама DIY (поставка в Индию за нал, перевод через PayPal);
откуда добирали команду (Физтех звездит, Бауманка решает);
в каких выставках участвовали (и главное — зачем?);
с кем сотрудничали (от Ростеха я ушел, от Роснано я ушел, от тебя, Мегафона, подавно уйду!);
и проч. проч. проч.
Но вернемся в настоящее.
Статья посвящена рогатому зверю — IoT анемометру CG-Anemometr с функцией измерения качества воздуха.
Диспозиция
В начале, как водится, пара слов о героях.
ClimateGuard — это железный стартап, созданный с нуля для реализации проектов в области мониторинга климата. Первоначально он занимался пользовательским устройством для создания благоприятной и здоровой среды дома и на работе. Но рок (или рынок) распорядился иначе.
Модели пары наших текущих проектов
Год создания: | 2018 |
Дислокация: | Электрозавод (МЭЛЗ), Москва |
Участники: | технический аналитик-РП, технический директор, конструктор, схемотехник, разработчик C/C++, разработчик web, верстальщик, разработчик android, 2 дизайнера, сборщик, fullstack гуманитарий (руководитель, продажник, бухгалтер и рассказчик в одном лице) |
Ачивки с момента выхода предыдущей статьи: | — проект жив (!!!) и летит сквозь долину смерти; |
Итак, характеристика героям дана. Давайте уже о подвигах.
Постановка
Почти в одно время в ClimateGuard обратились две компании с просьбой собрать на пилот устройство, которое может измерять скорость потока воздуха внутри вентиляционной трубы.
Первый клиент — сеть коворкингов SOK. Коллеги прикладывают огромные усилия, чтобы арендаторам было комфортно работать. В каждом офисе должна быть правильная температура, влажность, чистый воздух. Запрос от них звучал приблизительно так: «Хотим получить систему, которая позволит в режиме реального времени смотреть скорость потока воздуха и расход в вентиляциях на каждом этаже».
Второму клиенту помимо скорости потока необходимо было оценивать влажность и количество пыли в вентиляционной трубе. И исходя из значений получаемых параметров климата управлять фанкойлами и проводить замену фильтров.
С учетом всех нюансов установки к системе предъявлялись следующие требования:
передача данных в режиме 24×7*365;
низкие затраты на монтаж;
питание 12 В;
отображение данных в едином интерфейсе;
возможность визуального сравнения значений и динамики данных по разным объектам мониторинга;
наличие api для централизованного сбора данных со всех устройств;
низкая стоимость комплекта для последующего масштабирования.
На момент запроса коллеги осуществляли проверку скорости потока воздуха «в ручном режиме». То есть проводили регулярные разовые замеры в контрольных точках. В качестве оборудования использовались профессиональные анемометры Testo. Ручное измерение — работа кропотливая, занимает много времени и требует наработанных навыков. Так как показания термоанемометра могут сильно различаться в зависимости от расположения трубки с измерительным сенсором в трубе воздуховода. По этой же причине сложно добиться высокой повторяемости значений в ходе повторных замеров.
Архитектура
Чтобы минимизировать затраты и упростить монтаж было принято решение делать устройства максимально автономными.
Анемометр:
устанавливается непосредственно на вентиляционной трубе на стяжки или винты, с выводом сенсорного элемента внутрь трубы (сокращаем количество проводов и узлов в системе, облегчаем монтаж);
самостоятельно собирает данные, обрабатывает их и передает в готовом виде на сервер (отказываемся от центрального «контролера»);
получает питание по кабелю, закрепляемому в клеммный разъем (отказываемся от блока питания);
в качестве интерфейса передачи данных использует wifi, подключаясь к скрытой корпоративной сети (сокращаем затраты на создание дополнительной инфраструктуры передачи данных);
имеет систему индикации состояния, основанную на адресном диоде (облегчаем установку и проверку работоспособности);
имеет кнопку для переключения между режимами «работа/настройка».
Минусом выбранной архитектуры является отсутствие автономности по питанию. Однако, на борту устройства стоит постоянно работающий wifi-модуль, а также большое числа сенсоров. Сенсор анемометра требует постоянного нагрева. В итоге обеспечение работы устройства от аккумулятора видится крайне сложной (читай — дорогой) задачей.
Техдиректор стартапа на монтаже
Процесс монтажа устройства в подобной архитектуре сводится к следующим шагам:
1. Определяется место установки, при отсутствии канала для вывода сенсора в вытяжке делается отверстие.
2. К месту установки подводятся провод 12 В.
3. Перед установкой, на устройствах настраиваются параметры wifi-сети.
4. В личном кабинете устройства привязываются к местам установки, проводится проверка работы с сетью и факта передачи данных.
5. Устройство устанавливается «сенсором» в отверстие и закрепляется на металлические стяжки или саморезы, при необходимости — герметизируется.
6. Кабель питания подключается к клемме на устройстве.
7. Устройство включается. После того как контрольные диод на устройстве загорелся «зеленым» монтажник переходит к установке следующего анемометра.
.Компоненты и себестоимость
В составе анемометра всего 8 компонентовв подключенном виде
Для создания анемометра был использован следующий набор компонентов:
контролер esp32;
плата разработки esp32 CG-Board_mini;
датчик скорости потока воздуха CG-Anem;
датчик пыли (частиц) PMS7003;
датчик климата bme680.
CG_board_mini
Первым делом при разработке автономного IoT датчика на ум приходит плата из семейства TTGO ESP32. Одна беда — к ней нужно колхозно подключать несколько датчиков. Поэтому команда остановила выбор на решении CG-Board_mini. Плата обладает компактным размером 45×70 мм. ESP32 на борту обеспечивает поддержку wifi «из коробки». На плате есть 7 выходов для подключения датчиков, сторожевой таймер (лечит одну из важнейших болячек esp32 — неконтролируемое зависание), 2 адресных RGB-диода, кнопка и 3 разъема питания (USB, DC и клемма) с диапазоном 5 и 12–48В.
CG-Anem
Как правило, в промышленных решениях используют термоанемометры. Из-за их низкой стоимости, отсутствии механических узлов и компактных размеров. В качестве полезного побочного эффекта — такие датчики очень точно измеряют температуру воздуха. Но термоанемометров в модульном исполнении на рынке немного. Сначала команда смотрела в сторону Wind Sensor от Modern Device. Но в ходе тестирования было найдено несколько критических блокеров:
в решении американцев обработка сигнала осуществляется не на модуле, а на стороне внешнего контролера;
датчики не имеют заводской калибровки (а сборка калибровочного стенда под Wind Sensor — трудоемкое и достаточно дорогое удовольствие);
судя по логистике, датчики производятся «под заказ».
В результате приняли решение делать свой модуль термоанемометра — CG-Anem (процессу его разработки будет посвящен отдельный материал). Для пользователей важными оказались следующие особенности датчика:
по точности (0,4 м/с ± 10%) датчик не сильно уступает профессиональному измерительному оборудованию (устройство Testo средней ценовой категории имеет точность 0,3 м/с ± 10%);
датчик калибруется производителем и отдает контролеру готовые данные (а значит его легко заменить в случае выхода из строя).
При тестирования IoT-анемометра с датчиком CG-Anem получили неплохую сходимость результатов с эталонным анемометром CEM DT-8880.
PMS7003
Важным преимуществом датчика пыли PMS7003 являются небольшие размеры (он уж точно компактнее популярного у экоактивистов sds011). Это позволяет помещать его внутрь воздуховода и не городить киборга с трубками забора и выпуска проб. Также датчик дешев, прост в подключении. Его точность подтверждена многочисленными исследованиями небританских ученых (см. напр. «Evaluation of Low-Cost Sensors for Ambient PM2.5 Monitoring»).
BME680
Bme680 — очень спорное решение. Настроить его работу с esp32 непросто. За счет нагревающегося элемента в сенсоре, необходимого для измерения ЛОС (VOC) датчик может врать по температуре. Но это все равно швейцарский ножик — дешев и измеряет сразу температуру, влажность, давление, VOC и AQI. Сложно подобрать что-то ему на замену.
Себестоимость компонентов:
CG-Board_mini — 2600 рублей;
CG-Anem — 1700 рублей;
PMS7003 — 1300 рублей;
bme680 — 1000 рублей;
кабели, винты и проч. — 100 — 200 рублей;
корпус — 100–200 рублей. .
Итого:
4600 рублей за CG-Anemometr — простая версия анемометра;
6900 рублей за CG-Anemometr PRO — версия, измеряющая пыль, влажность и ЛОС.
Корпус
Требования к корпусу были представлены выше. Поэтому вместо скучного текста в разделе приводятся картинки ранних прототипов и готового решения.
Хочется только обратить внимание на три момента:
Корпуса проектировались под печать на 3d-принтере.
Вместе с пользователями рассматривали возможность крепления устройства к воздуховоду на неодимовые магниты. Идея себя не оправдала, так как для точной и четкой фиксации параметров климата устройство должно быть жестко закреплено на трубе.
Анемометры проектировались с учетом двух вариантов установки чувствительного элемента (датчика скорости потока воздуха) — у края вытяжки и в ее центре. Для второго варианта было решено использовать стойку-удлинитель. Размер которой выбирается исходя из радиуса и геометрии трубы.
Первые фантазии
еще 10 картинок
Суровый результат
модели трех финальных корпусов
Расположение компонентов
еще пара рендеров в стиле «ню»
Пример печати
другие ракурсы
Модели под печать (для самых любопытных)
архивы с stl
CG_Anemometr (только датчик анемометра)
CG_Anemometr_PRO_low (все датчики, без выноса)
CG_Anemometr_PRO_high (все датчики, удлиненный)
Сбор и обработка данных
Для сбора, анализа и визуализации данных была использована IoT-платформа собственной разработки. Она проста, достаточно функциональна, покрывала пожелания пользователей. И что самое главное — она бесплатна.
Отображение текущих данных скорости потока воздуха, расходе, температуре, частицах пыли, ЛОС и AQIДанные о параметрах воздуха на суточном интервалеСравнение данных с разных объектов на интервале двух суток.
Для рассылки уведомлений используется телеграм-бот, настраиваемый в web-приложении. Для выгрузки данных на платформе предусмотрено api.
Длительность проекта разработки
Создание датчика CG-Anem заняло 3 месяца. Непосредственно разработка IoT-анемометра длилась около месяца. Задача по тестированию на объекте (по итогам пилотного монтажа) сильно упрощалась за счет поддержки устройством OTA-обновлений.
В проекте участвовали 4 человека. Тайминг выглядел следующим образом.
Задача | Неделя 1 | Неделя 2 | Неделя 3 |
Проектирование корпусов | 12 часов | 12 часов | 8 часов |
Изготовление корпусов | 16 часов | 4 часа | |
Подготовка прошивки | 28 часов | 12 часов | 12 часов |
Сборка прототипов | 4 часа | 8 часов | |
Тестирование прототипов | 12 часов | 32 часа |
Анемометр на пилоте
Характеристики IoT анемометра CG-Anemometr
В результате пользователи получили устройство со следующими параметрами.
Общие характеристики устройства | |
Измеряемые параметры | Скорость потока воздуха, м\с |
Питание | 12 — 48 В, клеммный разъем |
Интерфейсы | wifi |
Крепление к воздуховоду | стяжки, саморезы |
Диапазон рабочих температур | -20°C … +60°C |
Размер внешней части | 73×38 х 25 мм |
Диаметр трубки | 29 мм |
IoT-платформа | ClimateGuard |
Метрологические характеристики анемометра | |
Тип анемометра | Термоанемометр |
Диапазон измерения скорости потока | 0.1… 25 м/с |
Разрешение температуры | 0.1 °С |
Погрешность измерений температуры | 0,5 °С |
Точность | от 0 до 2 м/с: 0,2 + 5% |
И кругом только тернии, тернии. Когда уже звезды?…
Соратники и сочувствующие, это первый материал с описанием «железок» из планируемого цикла. Маленький, но сильно взволнованный коллектив стартапа ClimateGuard ждет замечаний и будет очень благодарен критике. Постараемся отвечать на все комментарии, обязательно учтем пожелания сообщества в следующих статьях.
Если этот текст заинтересует хабр — далее напишем про разработку самого датчика скорости потока газа CG-Anem. Там есть что рассказать, будет много науки. Недаром наш схемотехник защитил на этом датчике одну из лучших в этом году в Бауманке магистерских работ.
Засим откланиваемся, отдаем свое творение на Ваш суд…
…и верим: «Климат имеет значение!»