РадиоКот :: Монитор качества воздуха
Например TDA7294

РадиоКот >Схемы >Цифровые устройства >Защита и контроль >

Теги статьи: Добавить тег

Монитор качества воздуха

Автор: Сергей Безруков (aka Ser60)
Опубликовано 22.08.2023
Создано при помощи КотоРед.

Как известно, загрязнённый воздух является одним из основных факторов, влияющих на здоровье людей и их физическое состояние. Имеется несколько критериев оценки качества воздуха, например, основанные на уровне TVOC (Total Volatile Organic Component), AQI (Air Quality Index), или CO2. Для мониторинга качества воздуха промышленностью выпускается масса устройств, в том числе и просто сенсоров для самостоятельной сборки подобных устройств. Примерами таких сенсоров служат популярные BME680, CCS811 и SGP30. Сразу приведу ссылку на интересную статью [1], посвящённую сравнению этих сенсоров.

Мониторингом качества воздуха в своём доме я начал заниматься несколько лет назад на основе вышеупомянутых популярных датчиков. Сначала моей целью были просто эксперименты для проверки данных из статьи [1] и выборе датчика для сборки своего устройства. Хотя данные из статьи [1] полностью подтвердились, долгое время дальше экспериментов дело не пошло и устройства мои, хотя и рабочие, лежали на полке в виде отдельных плат, соединённых мотком проводов. Так продолжалось до июня этого года, когда я получил приглашение на вебинар фирмы Renesas, посвящённый их микроконтроллерам семейства RA2E2. Это был уже второй подобный вебинар, про первое моё знакомство с этими микроконтроллерами прошлым летом, а также их характеристики, см. статью [2]. На этот раз фирма прислала участникам вебинара помимо демо-платы FPB-RA2E2 также свою плату расширения US082-ZMOD4410EVZ с установленным датчиком качества воздуха в помещении ZMOD4410.

Согласно документации, датчик предназначен для мониторинга всё тех же параметров TVOC, AQI, eCO2 и его разработанный фирмой драйвер имеет множество режимов работы для различных целей. Драйвер этот, по утверждению фирмы, основан на тщательно обученных ML- алгоритмах (ML = Machine Learning). Фирма не предоставляет в документации каких-либо деталей о регистрах датчика, так что разработчикам предлагается полностью положиться на драйвер. Исходный код драйвера также не предоставляется, и он доступен только как скомпилированная библиотека. Однако фирма предлагает эту библиотеку для более чем дюжины платформ, включая ESP, RPi, AVR, PIC, MSP430, различные архитектуры ARM, а также для компьютерных приложений под разные ОС с примерами. Попытка инверсной инженерии протокола датчика не привела к успеху. Драйвер при инициализации датчика и работе с ним считывает большое количество данных, с которыми неясно что делать дальше.

На вебинаре рассказали как работать с библиотекой датчика и отобразить значения параметров среды в терминальном окне на компьютере. Однако, такой способ не подходит для длительного мониторинга параметров. Поэтому я собрал свою схему на монтажке для экспериментов с датчиком и отсылки параметров на облачный сервер ThingSpeak. Связь с сервером обеспечивается WiFi модулем WizFi360. Кроме того, я дополнил базовую схему датчиком давления и влажности, что рекомендуется фирмой для улучшения точности измерений остальных параметров.

После долгих экспериментов с датчиком выяснилось, что значения TVOC, AQI, eCO2 коррелированы, как показывают графики ниже, так что для мониторинга качества воздуха скорее всего достаточно лишь одного из параметров. Если этот параметр будет в пределах нормы, то тоже произойдёт и с остальными (по поводу норм см. ДШ на датчик). Однако, я не являюсь в этой области специалистом, и прошу указать если я не прав. Пока на сервер отправляются все параметры. Графики увеличиваются при кликании.

Возможно, проще и дешевле было бы собрать схему на основе какого-нибудь ESP модуля. Однако, с Arduino я не дружу, да и документация на драйвер показалась мне чересчур запутанной для адаптации на другую платформу. Кроме того, хотелось продолжить работу с полюбившимся мне семейством микроконтроллеров RA2 архитектуры ARM Cortex-M23 и средством разработки e2 Studio фирмы. Короче, я не стал разбираться с адаптацией и окончательное устройство было собрано по следующей схеме.

Датчик температуры и влажности IC1 и основной датчик IC2 находятся на общей шине I2C. Кстати, в этой модели МК вместо аппаратного I2C модуля имеется аппаратный I3C, который в режиме совместимости может работать и с протоколом I2C. Согласно документации, параметры среды в моём случае следует измерять каждые 3 секунды. Одновременно даётся команда начала измерения датчику IC1. Датчику IC2 требуется порядка секунды для завершения измерений, что он сигнализирует установкой высокого уровня на выводе INT. За это время другой датчик IC1 также гарантированно закончит свои измерения. Опять же согласно документации, первые несколько показаний датчика IC2 следует игнорировать пока он не войдёт в рабочий режим. Это занимает около 3 минут, предусмотрено драйвером, и прозрачно для пользователя. Кроме того, для полного входа в рабочий режим рекомендуется дать датчику поработать в течение 48 часов после включения. Вычисленные МК данные среды направляются на WiFi модуль IC4 по интерфейсу UART для передачи в облако. Хотя рабочий диапазон напряжений МК составляет 1.6 – 5.5В, остальная часть схемы нормируется на питание от 3.3В. Напряжение питания IC1 – IC3 стабилизируется LDO IC5, а питание WiFi модуля производится от понижающего DC/DC конвертера на IC6.

Схема собрана на двух односторонних печатных платах, размещённых этажеркой друг над другом. На нижней плате установлены WiFi модуль и его DC/DC конвертер, а все остальные детали – на верхней. Размер плат соответствует белому корпусу 1551V1WH фирмы Hammond. Расстояние между платами 5мм. Фольга в верхней части верхней платы стравлена для нормальной работы антенны WiFi модуля. Коммуникация с WiFi модулем происходит на основе AT-команд, загруженных в модуль на фабрике. Отсылка данных в облако производится с периодом 5 минут. Схема питается от сетевого адаптера PSA05F-050QAL6 на 5В фирмы Phihong. Полный исходный код проекта находится в приложении. В нем следует заменить SSID и пароль вашей точки доступа. Представленный архив предназначен для портирования в e2 Studio. Для разработки использовался FSP (Flexible Software Package) версии 4.3. Загрузка кода в МК производится через разъём SV1 по интерфейсу SWD.

 

Литература

1. Which TVOC sensor is the Best for Air Quality?
2. О микроконтроллерах Renesas семейства RA2.

 

 


Файлы:
Firmware


Все вопросы в Форум.




Как вам эта статья?

Заработало ли это устройство у вас?

8 0 5