цифровая электроника
вычислительная техника
встраиваемые системы

 
» » » Устройство оценки эффективности увлажнителя воздуха на основе Arduino

Устройство оценки эффективности увлажнителя воздуха на основе Arduino

Автор: Mike(admin) от 18-09-2020, 05:55

Портативные увлажнители воздуха очень популярны сегодня для использования в различных средах, и производители этих устройств обещают не только увлажнение, но и очистку воздуха при использовании их продуктов. Но насколько эффективно использование увлажнителя?


Устройство оценки эффективности увлажнителя воздуха на основе Arduino

Это можно проверить, собрав свое устройство оценки работы эффективности увлажнителя воздуха на основе Arduino, что и будет описано в данном материале.


В данном случае оценка будет осуществляться на примере небольшого закрытого площадью 10 квадратных метров. Увлажнитель при этом используется стандартный, который можно купить во многих магазинах бытовой электроники. Его параметры следующие:


  • размеры: 110 х 110 х 115 мм
  • объем: 300 мл
  • производительность: 35 мл/ч

Его внешний вид:


Увлажнитель

Для проверки эффективности увлажнителя воздуха использовалась плата Arduino Uno, шилд Grove и три датчика:


  • DHT11 – для получения данных о температуре и влажности в помещении
  • Датчик газа SGP30 – для проверки концентрации углекислого газа (CO2) в помещении
  • Датчик температуры DS18B20 – для анализа температуры тела

Вот эти компоненты:


Устройство оценки эффективности увлажнителя воздуха на основе Arduino

Схема подключения следующая:


Устройство оценки эффективности увлажнителя воздуха на основе Arduino

А далее представлено фото всей установки с работающим увлажнителем и электронной аппаратурой.


Устройство оценки эффективности увлажнителя воздуха на основе Arduino

Для работы установки использовался следующий код Arduino:



#include <Wire.h>
#include <DHT.h>
#include <Adafruit_SGP30.h>
#include <OneWire.h>

DHT dht_8(8, DHT11);
Adafruit_SGP30 sgp30;
enum DS18B20_RCODES {
  READ_OK,
  NO_SENSOR_FOUND,
  INVALID_ADDRESS,
  INVALID_SENSOR
};
OneWire ds18b20_4(4);

void serial_setupConnection(int baudrate) {
  Serial.begin(baudrate);
  while (!Serial) {
    Serial.println("Serial...");
    delay(1000);
  }
  Serial.println("Port is active: " + String(baudrate));
}

uint16_t sgp30_readCO2() {
  if (!sgp30.IAQmeasure()) {
    Serial.println("Measurement failed");
    return 0;
  }
  else return sgp30.eCO2;
}

byte ds18b20_measure(OneWire ds, float *temperature, byte reset_search) {
  byte data[9], addr[8];
  if (reset_search) ds.reset_search();
  if (!ds.search(addr)) return NO_SENSOR_FOUND;
  if (OneWire::crc8(addr, 7) != addr[7]) return INVALID_ADDRESS;
  if (addr[0] != 0x28) return INVALID_SENSOR;
  ds.reset();
  ds.select(addr);
  ds.write(0x44, 1);
  delay(800);
  ds.reset();
  ds.select(addr);
  ds.write(0xBE);
  for (byte i=0; i<9; i++) data[i] = ds.read();
  *temperature = (int16_t) ((data[1] << 8) | data[0]) * 0.0625;
  return READ_OK;
}

float ds18b20_readTemperature(OneWire ds) {
  float temp;
  if (ds18b20_measure(ds, &temp, true) != READ_OK) {
    Serial.println(F("Error"));
    return;
  }
  return temp;
}


void setup() {
  serial_setupConnection(9600);
  dht_8.begin();
  while (!sgp30.begin()) {
    Serial.println("Capture data SGP30...");
    delay(1000);
  }
}

void loop() {
  Serial.print("@Graph:");
  Serial.print("Room temperature:");
  Serial.print(dht_8.readTemperature());
  Serial.print("|");
  Serial.print("Room humidity:");
  Serial.print(dht_8.readHumidity());
  Serial.print("|");
  Serial.print("Room CO2:");
  Serial.print(sgp30_readCO2());
  Serial.print("|");
  Serial.print("Body temperature:");
  Serial.print(ds18b20_readTemperature(ds18b20_4));
  Serial.print("|");
  Serial.print("\n");
  delay(50);
  delay(1000*30);
}

Для анализа данных использовалась платформа Vittascience. Был проведен анализ комнатных условий и температуры тела в течение трех разных периодов: до использования увлажнителя воздуха, после одного часа включенного увлажнителя воздуха и после трех часов работы устройства. Были сделаны три сбора данных за три периода, чтобы получить точную информацию – всего 9 экспериментов. Условия эксперимента оставались прежними:


  • 3 метра между рабочим увлажнителем и платой с датчиками
  • продолжительность сбора данных составляла 30 мин
  • дверь комнаты 10 м², где проводился эксперимент, была закрыта на все время эксперимента

Вот как выглядели собранные данные – это данные, которые получены во время эксперимента, то есть были предоставлены через час после работы увлажни

Устройство оценки эффективности увлажнителя воздуха на основе Arduino

Таблица

Были проанализированы 9 файлов Excel, и получены следующие результаты:


  • Средние параметры до использования увлажнителя были: температура в помещении - 25 ° C, уровень влажности - 51%, уровень CO2 - 400 ppm, температура тела - 37 ° C
  • Средние параметры после часа использования увлажнителя: температура в помещении - 25 ° C, уровень влажности - 58%, уровень CO2 - 400 ppm, температура тела - 36,8 ° C
  • Средние параметры после трех часов использования увлажнителя: температура в помещении - 24 ° C, уровень влажности - 71%, уровень CO2 - 400 ppm, температура тела - 36,6 ° C
  • Общие результаты: через час уровень влажности увеличился на 13% и через три часа достиг 139% от базового значения; немного снизилась и комнатная температура, и температура тела; уровень CO2 не изменился.

Эксперимент показал, что даже увлажнитель воздуха небольшой мощности может повысить уровень влажности в помещении на 40% после трех часов работы, что может положительно сказаться как на температуре помещения, так и на температуре тела. Но это совершенно не влияет на уровень СО2.




© digitrode.ru


Теги: Arduino, датчик температуры, датчик влажности, датчик газа




Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Комментарии:

Оставить комментарий