Метеостанция на Arduino: с дисплеем своими руками, домашняя

Метеостанция на Arduino: с дисплеем своими руками, домашняя Анемометр

Что такое влажность воздуха

Воздух всегда содержит некоторое количество водяного пара. Содержание водяного пара в воздухе характеризуется абсолютной и относительной влажностью. Абсолютная влажность Влажность воздуха в физике - формулы и определение с примерамикилограмм на метр кубический:Влажность воздуха в физике - формулы и определение с примерами

Обычно абсолютную влажность приводят в г/м3. В экваториальных широтах она может достигать 30 г/м3, к полюсам Земли снижается до 0,1 г/м3.

Таблица 1

Давление и плотность насыщенного водяного пара

Влажность воздуха в физике - формулы и определение с примерами
00,614,8
20,715,6
40,816,4
60,937,3
81,078,3
101,239,4
121,4010,7
141,6012,1
161,8113,6
182,0715,4
202,3317,3
222,6419,4
242,9921,8
263,3624,4
283,7927,2
304,24 30,330,3

Относительная влажность ϕ — физическая величина, которая показывает, насколько водяной пар близок к насыщению, и равна выраженному в процентах отношению абсолютной влажности к плотности насыщенного водяного пара при данной температуре:

Плотность насыщенного водяного пара (Влажность воздуха в физике - формулы и определение с примерамиОбратите внимание на два момента.

  1. По температуре и относительной влажности легко определить абсолютную влажность и массу водяного пара в воздухе:Влажность воздуха в физике - формулы и определение с примерами Например, измерения показали, что в комнате объемом 180 м3 при температуре 22 °С Влажность воздуха в физике - формулы и определение с примерами= 50 %. В табл. 1 находим: Влажность воздуха в физике - формулы и определение с примерами(22 °C) , =19 4 г/м3. Тогда: Влажность воздуха в физике - формулы и определение с примерами
  2. Плотность водяного пара прямо пропорциональна его парциальному давлению Влажность воздуха в физике - формулы и определение с примерами и концентрации Влажность воздуха в физике - формулы и определение с примерами молекул пара Влажность воздуха в физике - формулы и определение с примерами, поэтому относительную влажность воздуха можно найти из соотношений: Влажность воздуха в физике - формулы и определение с примерами
Про анемометры:  Парогазовая электрическая станция (варианты)

№3 — кратность воздухообмена

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

В первом случае он осуществляется при открывании дверей, фрамуг, форточек, окон (и называется аэрацией) или просто путем инфильтрации через щели на стыках стен, дверей и окон, во втором – с помощью кондиционеров и вентиляционного оборудования.

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

Кратность вычисляют по следующей формуле:

N=V/W,

где:

  • N – кратность воздухообмена, раз в 1 час;
  • V – объем чистого воздуха, заполняющего помещение за 1 ч, м³/ч;
  • W – объем помещения, м³.

Чтобы не выполнять дополнительные расчеты, средние показатели кратности собраны в таблицы.

Например, для жилых помещений подходит следующая таблица кратности воздухообмена:

Кратность воздухообмена
Судя по таблице, частая смена воздушных масс в помещении необходима, если ему характерна высокая влажность или температура воздуха – например, в кухне или санузле. Соответственно, при недостаточной естественной вентиляции в данных помещениях устанавливают приборы принудительной циркуляции

Что случится, если нормативы кратности воздухообмена не будут соблюдаться или будут, но в недостаточной степени?

Произойдет одно из двух:

  • Кратность ниже нормы. Свежий воздух прекращает замещать загрязненный, вследствие чего в помещении увеличивается концентрация вредных веществ: бактерий, болезнетворных микроорганизмов, опасных газов. Количество кислорода, важного для дыхательной системы человека, уменьшается, а углекислого газа, напротив, увеличивается. Влажность повышается до максимума, что чревато появлением плесени.
  • Кратность выше нормы. Возникает, если скорость перемещения воздуха в каналах превышает норму. Это негативно влияет на температурный режим: помещение просто не успевает нагреваться. Излишне сухой воздух провоцирует болезни кожи и дыхательного аппарата.

Чтобы кратность обмена воздуха соответствовала санитарным нормам, следует установить, убрать или отрегулировать вентиляционные приборы, а при необходимости и заменить воздуховоды.

Алгоритм вычисления скорости воздуха

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

Опираться следует на кратность воздухообмена, которая для данных расчетов является определяющим значением.

Для уточнения параметров расхода пригодится таблица:

Расход воздуха по параметрам воздуховодов
В таблице представлены размеры воздуховодов с прямоугольным сечением, то есть указаны их длина и ширина. Например, при использовании каналов 200 мм х 200 мм при скорости 5 м/с расход воздуха составит 720 м³/ч

Чтобы самостоятельно произвести расчеты, нужно знать объем помещения и норму кратности воздухообмена для комнаты или зала заданного типа.

Например, необходимо узнать параметры для студии с кухней общим объемом 20 м³. Возьмем минимальное значение кратности для кухни – 6. Получается, что в течение 1 часа воздушные каналы должны переместить около L = 20 м³*6 =120 м³.

Также необходимо узнать площадь сечения воздуховодов, установленных в систему вентиляции. Она вычисляется по следующей формуле:

S = πr2 = π/4*D2,

где:

  • S — площадь сечения воздуховода;
  • π — число «пи», математическая константа, равная 3,14;
  • r — радиус сечения воздуховода;
  • D — диаметр сечения воздуховода.

Предположим, что диаметр воздуховода круглой формы равен 400 мм, подставляем его в формулу и получаем:

S = (3,14*0,4²)/4 = 0,1256 м²

Зная площадь сечения и расход, можем вычислить скорость. Формула расчета скорости воздушного потока:

V = L/3600*S,

где:

  • V — скорость воздушного потока, (м/с);
  • L — расход воздуха, (м³/ч);
  • S  — площадь сечения воздушных каналов (воздуховодов), (м²).

Подставляем известные значения, получаем: V = 120/(3600*0,1256) = 0,265 м/с

Следовательно, чтобы обеспечить необходимую кратность воздухообмена (120 м3/ч) при использовании круглого воздуховода с диаметром 400 мм, потребуется установить оборудование, позволяющее увеличить скорость воздушного потока до 0,265 м/с.

Следует помнить, что описанные ранее факторы – параметры уровня вибрации и уровня шума – напрямую зависят от скорости движения воздуха.

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

Важность воздухообмена для человека

По строительным и гигиеническим нормам, каждый жилой или производственный объект необходимо обеспечить системой вентиляции.

Главное ее назначение – сохранение воздушного баланса, создание благоприятного для работы и отдыха микроклимата. Это значит, что в атмосфере, которой дышат люди, не должно наблюдаться переизбытка тепла, влаги, загрязнений различного рода.

https://www.youtube.com/watch?v=mkr3IF2apKE

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

В излишне влажной и теплой среде быстро развиваются болезнетворные микроорганизмы, на стенах, потолках и даже на мебели появляются очаги плесени и грибка.

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

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

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

При строительстве домов, общественных учреждений, цехов предприятий руководствуются следующими принципами:

  • каждое помещение нужно обеспечить системой вентиляции;
  • необходимо соблюдать гигиенические параметры воздуха;
  • на предприятиях следует установить устройства, увеличивающие и регулирующие скорость воздухообмена; в жилых помещениях – кондиционеры или вентиляторы при условии недостаточной вентиляции;
  • в помещениях разного назначения (например, в палатах для больных и операционной или в офисе и в комнате для курения) необходимо оборудовать разные системы.

Чтобы вентиляция соответствовала перечисленным условиям, нужно сделать расчеты и подобрать оборудование – приборы подачи воздуха и воздуховоды.

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

Места выброса и забора воздуха
В процессе составления проекта вентиляции для частного дома, многоэтажного жилого здания или производственного помещения рассчитывают объем воздуха и намечают места монтажа вентиляционного оборудования: водухообменных установок, кондиционеров и воздуховодов

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

Влажность воздуха и точка росы

Влажный воздух — это воздух, в составе которого имеется водяной пар. Основными количественными характеристиками такого воздуха являются абсолютная и относительная влажность.

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

Абсолютную влажность (плотность водяного пара в воздухе) можно выразить через парциальное давление водяного пара на основании уравнения Менделеева-Клапейрона:

ГдеВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерами

Однако невозможно определить, в каком состоянии находится пар, насколько он отличается от насыщенного состояния, зная только плотность и парциальное давление водяного пара при данных условиях. Поэтому была введена вторая характеристика степени увлажнения воздуха – относительная влажность.

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

Где Влажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерами

Ссылаясь на связь плотности водяного пара в воздухе с его парциальным давлением, из равенства (6.33) относительную влажность можно выразить через давление:

Относительная влажность равна отношению парциального давления водяного пара в воздухе при данной температуре к давлению насыщенного водяного пара при той же температуре:

Таким образом, относительная влажность определяется не только абсолютной влажностью, но и температурой воздуха. Относительная влажность воздуха измеряется с помощью психрометра и гигрометра.

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

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

Каналы магистральные и ответвления

Следом наступает очередь главного магистрального воздуховода. Часто он имеет большую протяженность и проходит транзитом через несколько помещений, прежде чем начнет разветвляться. Рекомендуемая максимальная скорость 8 м/с в таких каналах может не соблюдаться, поскольку условия прокладки (особенно через перекрытия) могут существенно ограничивать пространство для его монтажа.

Например, при расходе 35 000 м³/ч, что не редкость на предприятиях, и скорости 8 м/с диаметр трубы составит 1,25 м, а если ее увеличить до 13 м/с, то размер станет уже 1000 мм. Такое увеличение технически осуществимо, так как современные воздуховоды из оцинкованной стали, изготовленные спирально-навивным методом, имеют высокую жесткость и плотность.

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

Таблица 2

Расход, м3/чØ400 ммØ450 ммØ500 ммØ560 ммØ630 ммØ710 ммØ800 ммØ900 ммØ1 м
ϑ = 8 м/с3617457656507087897111393144691831122608
ϑ = 9 м/с40695148635779741009312877162782060025434
ϑ = 10 м/с45215720706388591121414241180862288828260
ϑ = 11 м/с49746292776997451233515666198952517731086
ϑ = 12 м/с542668648476106311345717090217042746633912
ϑ = 13 м/с587874369182115171457818514235122975536738

Боковые ответвления воздухопроводов разводят подачу или вытяжку воздушной смеси по отдельным помещениям. Как правило, на каждом из них устанавливается диафрагма либо дроссель – клапан для регулировки количества воздуха. Эти элементы обладают немалым местным сопротивлением, поэтому сохранять высокую скорость нецелесообразно.

Таблица 3

Расход, м3/чØ140 ммØ160 ммØ180 ммØ200 ммØ225 ммØ250 ммØ280 ммØ315 ммØ355 мм
ϑ = 4 м/с22028836645257270588511201424
ϑ = 4,5 м/с24832341150864379399412601601
ϑ = 5 м/с275360457565714882110714001780
ϑ = 5,5 м/с302395503621786968121515401957
ϑ = 6 м/с3304325486788571058132816802136
ϑ = 7 м/с38550464079110001235155019602492

Недалеко от места присоединения к магистрали в канале устраивают лючок, он нужен для замера скорости потока после монтажа и регулировки всей вентиляционной системы.

Моя самодельная домашняя метеостанция на arduino nano | мои увлекательные и опасные эксперименты

Наблюдение за погодой – весьма увлекательное занятие. Я решил построить свою погодную станцию на базе популярного Arduino Nano 3.0.

Прототип метеостанции выглядит так:
самодельная домашняя метеостанция

Функции моей метеостанции:

прошивка
Hex
-файл
прошивки для Arduino Nano 3.0 (версия от 9 мая 2022 года) – ws.ino.eightanaloginputs.hex.
Как прошить hex-файл в плату Arduino, я описал здесь.

Микроконтроллер Arduino Nano 3.0

“Сердцем” моей метеостанции является микроконтроллер Arduino Nano 3.0 (приобретен на торговой площадке eBay):
Arduino Nano 3.0

Для управления индикацией и опросом датчиков я использую таймер 1 Arduino, вызывающий прерывания с частотой 200 Гц (период – 5 мс).

Индикатор

Для отображения измеряемых показаний датчиков и текущего времени я подключил к Arduino четырехразрядный светодиодный индикатор Foryard FYQ-5643BH с общими анодами (аноды одинаковых сегментов всех разрядов объединены).
Индикатор содежит четыре семисегментных разряда и две разделительные (часовые) точки:
семисегментный индикатор

Аноды индикатора подключены через токограничивающие резисторы к выводам Arduino:

Катоды сегментов подключены к выводам Arduino:

Сегмент индикатора светится, если на аноде соответствующего разряда высокий потенциал (1), а на катоде – низкий (0).

Я использую динамическую индикацию для отображения информации на индикаторе – в каждый момент времени активен только один разряд. Активные разряды чередуются с частотой 200 Гц (период отображения 5 мс). При этом для глаз мерцание сегментов незаметно.

Датчик температуры DS18x20

Для возможности удаленного измерения температуры я подключил датчик DS1820, который обеспечивает измерение наружной температуры в широких пределах. Датчик подключается к шине 1-Wire и имеет три вывода – питание (VCC), данные (DAT), земля (GND):

Между выводами VCC и DAT я включил подтягивающий резистор сопротивлением 4,7 кОм.

Для перевода между градусами Цельсия и Фаренгейта можно использовать такую табличку:
перевод градусов Цельсия и Фаренгейта

Я разместил датчик за окном дома в пластиковом корпусе от шариковой ручки:
DS1820

В профессиональных метеостанциях для защиты термометра от прямых солнечных лучей и обеспечения циркуляции воздуха используется экран Стивенсона (англ. Stevenson screen):
экран Стивенсона

Датчик давления и температуры BMP280

Для измерения атмосферного давления традиционно используют ртутные барометры и барометры-анероиды.

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

В барометре-анероиде используется сжатие и растяжение коробки под действием атмосферного давления:
барометр-анероид

Для измерения атмосферного давления и комнатной температуры в своей домашней метеостанции я использую датчик BMP280 – маленький SMD-датчик размером 2 x 2,5 мм, основанный на пьезорезистивной технологии:
датчик BMP280
Платка с датчиком приобретена на торговой площадке eBay:
BMP280

Датчик подключается к шине I2C (контакт данных – SDA/SDI, контакт синхронизации – SCL/SCK):

Для работы с датчиком я использую библиотеку от Adafruit – файлы Adafruit_Sensor.h, Adafruit_BMP280.h, Adafruit_BMP280.cpp.

Единицы измерения атмосферного давления

Датчик через функцию readPressure выдает значение атмосферного давления в паскалях. Основной единицей измерения атмосферного давления служит гектопаскаль (гПа) (1 гПа = 100 Па), аналогом которого является внесистемная единица “миллибар” (мбар) (1 мбар = 100Па = 1гПа). Для перевода между часто используемой внесистемной единицей измерения давления “миллиметр ртутного столба” (мм рт. ст.) и гектопаскалями используются соотношения:
1гПа = 0,75006 мм рт. ст. ≈ 3/4 мм рт.ст.; 1 мм рт.ст. =1,3332 гПа ≈ 4/3 гПа.

Зависимость атмосферного давления от высоты над уровнем моря

Атмосферное давление может быть представлено как в абсолютной, так и в относительной форме.
Абсолютное давлениеQFE (англ. absolute pressure) – это актуальное атмосферное давление, не учитывающее поправку над уровнем моря.
Атмосферное давление уменьшается примерно на 1 гПа при повышении высоты на 1 м:
уменьшение атмосферного давления с высотой
Барометрическая формула позволяет определить коррекцию показаний барометра для получения относительного давления (в мм рт. ст.):
$Delta P = 760 cdot (1 – {1 over {10^ { {0,0081350 cdot H} over {T 0,00178308 cdot H} }}})$ ,
где $T$ – средняя температура воздуха по шкале Ранкина, °Ra, $H$ – высота над уровнем моря, футы.
Перевод градусов Цельсия в градусы Ранкина:
$^{circ}Ra = {^{circ}C cdot 1,8} 491,67$
Барометрическая формула используется при барометрическом нивелировании – определении высот (с погрешностью 0,1 – 0,5 %). В формуле не учитывается влажность воздуха и изменение ускорения свободного падения с высотой. Для небольших перепадов высоты эту экспоненциальную зависимость можно с достаточной точностью аппроксимировать линейной зависимостью.
Относительное давлениеQNH (англ. relative pressure, Q-code Nautical Height) – это атмосферное давление, учитывающее поправку к среднему уровню моря (англ.  Mean Sea Level,MSL) (для ISA и температуры 15 градусов Цельсия), и первоначально выставляется с учётом высоты, на которой находится метеостанция. Его можно узнать из данных метеослужбы, показаний откалиброванных приборов в публичных местах, аэропорту (из сводок METAR), из Интернета.
Например, для расположенного рядом аэропорта Гомель (UMGG) я могу посмотреть сводку фактической погоды METAR на ru.allmetsat.com/metar-taf/russia.php?icao=UMGG:
UMGG 191800Z 16003MPS CAVOK M06/M15 Q1014 R28/CLRD// NOSIG ,
где Q1014 – давление QNH на аэродроме равно 1014 гПа.
Историю сводок METAR можно получить на aviationwxchartsarchive.com/product/metar.
За нормальное относительное давление воздуха QNH принимается давление 760 мм рт. ст. или 1013,25 гПа (при температуре 0ºС, под широтой 45º Северного или Южного полушария).
Я выставил для барометра-анероида давление QNH с помощью винта настройки чуткости:
винт настройки чуткости барометра

Прогноз погоды

Анализ изменения давления позволяет строить прогноз погоды, причем его точность тем выше, чем более резко меняется давление. Например, старое эмпирическое правило мореплавателей гласит – падение давления на 10 гПа (7,5 мм рт. ст.)  за период 8 часов говорит о приближении сильного ветра.

Откуда же возникает ветер? Воздух стекается к центру области низкого давления, возникает ветер – горизонтальное перемещение воздуха из областей высокого давления в области низкого давления (высокое атмосферное давление выдавливает воздушные массы в область низкого атмосферного давления). Если давление очень низкое, ветер может достигать силы шторма. При этом в области пониженного давления (барическая депрессия или циклон) теплый воздух поднимается вверх и формирует облака, которые часто приносят дождь или снег.

За направление ветра в метеорологии принимается направление, откуда дует ветер:
направление ветра
Это направление сводится к восьми румбам.

Для предсказания погоды на основе атмосферного давления и направления ветра часто используется алгоритм Zambretti.

Датчик влажности

Для определения относительной влажности воздуха я использую модуль DHT11 (приобретен на торговой площадке eBay):
датчик влажности DHT11

Датчик влажности DHT11 имеет три вывода – питание ( ), данные (out), земля ():

Для работы с датчиком я использую библиотеку от Adafruit – файлы DHT.h, DHT.cpp.

Влажность воздуха характеризует количество водяного пара, содержащегося в воздухе. Относительная влажность показывает долю влаги в воздухе (в процентах) по отношению к максимальному возможному количеству при текущей температуре. Для измерения относительной влажности служит гигрометр:
гигрометр

Для человека оптимальный интервал влажности воздуха – 40 … 60 %.

Часы реального времени

В качестве часов реального времени я применил модуль RTC DS1302 (платка с часиками приобретена на торговой площадке eBay):
часы реального времени RTC

Модуль DS1302 подключается к шине 3-Wire. Для использования этого модуля совместно с Arduino разработана библиотека iarduino_RTC (от iarduino.ru).

Плата с модулем DS1302 имеет пять выводов, которые я соединил с  выводами платы Arduino Nano:

Для сохранения верных показаний часов при отключенном питании в гнездо на плате я вставил батарейку CR2032.

Точность моего часового модуля оказалась не слишком высокой – часы спешат примерно на одну минуту за четверо суток. Поэтому я сделал сброс минут на “ноль” и часа на ближайший при удержании кнопки, подключенной к выводу A0 Arduino, после включения питания метеостанции. После инициализации вывод A0 используется для передачи данных через последовательное соединение.

Передача данных на компьютер и работа по протоколу MQTT

Для передачи данных через последовательное соединение к Arduino подключается USBUART преобразователь:

Вывод Arduino используется для передачи данных в формате 8N1 (8 бит данных, без бита четности, 1 стоп-бит) со скоростью 9600 бит/с. Данные передаются пакетами, причем длина пакета – 4 символа. Передача данных осуществляется в “bit-bang” режиме, без использования аппаратного последовательного порта Arduino.

Формат передаваемых данных:

MQTT

Я разработал на языке программирования Golang приложение – клиент протокола MQTT, отправляющую принятую от метеостанции информации на сервер (MQTT-брокер) cloudmqtt.com:
CloudMQTT
Сервис CloudMQTT позволяет создать акаунт с бесплатным тарифным планом “Cute Cat” (ограничения: 10 соединений, 10 Кб/с):
Cute Cat

Для мониторинга показаний метеостанции при этом можно использовать Android-приложение MQTT Dash:
MQTT Dash

Питание

Для питания метеостанции я использую зарядное устройство от старого мобильного телефона Motorola, выдающее напряжение 5 В с током до 0,55 А и подключаемое к контактам 5V ( ) и GND (-):
блок питания метеостанции
Также можно использовать для питания батарейку напряжением 9 В, подключаемую к контактам VIN ( ) и GND (-).

Эксплуатация метеостанции

При запуске происходит инициализация и проверка датчиков.

При отсутствии датчика DS18x20 выдается ошибка “E1”, при отсутствии датчика BMP280 – ошибка “E3”.

Затем запускается рабочий цикл метеостанции:

YouTube
Видео работы моей метеостанции доступно на моем YouTube-канале: https://youtu.be/vVLbirO-FVU

Отображение температуры

При измерении температуры индицируется две цифры температуры и для отрицательной температуры знак “минус” (с символом градуса в крайнем правом разряде);
для наружной температуры знак градуса отображается вверху:
самодельная метеостанция
самодельная метеостанция
для комнатной температуры – внизу:
самодельная погодная станция

Отображение давления

При измерении давления индицируются три цифры давления в мм ртутного столба (с символом “P” в крайнем правом разряде):
погодная станция твоими руками

Если давление резко упало, то вместо символа “P” в крайнем правом разряде отображается символ “L“, если резко выросло – то “H“. Критерий резкости изменения – 8 мм рт. ст. за 8 часов:
измерение атмосферного давления

Так как моя метеостанция отображает абсолютное давление (QFE), то показания оказываются несколько заниженными по сравнению со сведениями в сводке METAR (в которой приводится QNH) (14 UTC 28 марта 2022 года):

Отношение давлений (по сведениями ATIS) составило ${1015 over 998} = 1,017$. Возвышение аэропорта Гомель (код ИКАО UMGG) над уровнем моря составляет 143,6 м. Температура по данным ATIS составляла 1 °C.

Показания моей метеостанции практически совпали с абсолютным давлением QFE по сведениями ATIS!

Максимальное/минимальное давления (QFE), зарегистрированные моей метеостанцией за все время наблюдений:

Отображение относительной влажности воздуха

Относительная влажность воздуха отображается в процентах (в двух правых разрядах отображается символ процента):
измерение влажности воздуха

Отображение текущего времени

Текущее время отображается на индикаторе в формате “ЧЧ:ММ”, причем разделительное двоеточие мигает раз в секунду:
метеостанция на Arduino

Отображение фаз Луны и лунного дня

Первые два разряда индикатора отображают текущую лунную фазу, а следующие два – текущий лунный день:
погодная станция на Arduino

У Луны выделяются восемь фаз (приведены английские и русские (синим цветом – неточные) названия):
фазы Луны

На индикаторе фазы отображаются пиктограммами:

Передача данных на компьютер

Если соединить метеостанцию с USBUART преобразователем (например, на базе микросхемы CP2102), подключенным к USB-порту компьютера, то можно с помощью терминальной программы наблюдать передаваемые метеостанцией данные:
метеостанция

Я разработал на языке программирования golang программу, ведущую журнал метеонаблюдений и  отправляющую данные в сервис CloudMQTT, и их можно просматривать на Android-смартфоне с помощью приложения MQTT Dash:
метеостанция с MQTT

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

Планируемые доработки:

В метеостанциях для измерения скорости ветра используется трехчашечный анемометр (1), а для определения направления ветра – флюгер (2):

датчик направления и скорости ветра

Также для измерения скорости ветра используются термоанемометры с нитью накала (англ. hot wire anemometer). В качестве нагреваемой проволоки можно использовать вольфрамовую нить накала от лампочки с разбитым стеклом. В промышленно выпускаемых термоанемометрах датчик обычно располагается на телескопической трубке:
термоанемометр

Принцип действия этого прибора заключается в том, что тепло отводится от нагревательного элемента вследствие конвекции воздушным потоком – ветром. При этом сопротивление нити накала определяется температурой нити. Закон изменения сопротивления нити накала $R_T$ от температуры $T$ имеет вид:
$R_T = R_0 cdot (1 {alpha cdot (T – T_0)})$ ,
где $R_0$ – сопротивление нити при температуре $T_0$, $alpha$ – температурный коэффициент сопротивления (для вольфрама $alpha = 4,5cdot{10^{-3} {^{circ}{C^{-1}}}}$).

С изменением скорости воздушного потока изменяется температура при неизменном токе накала (анемометр с постоянным током, англ. CCA). Если температура нагревательного элемента поддерживается постоянной, то ток через элемента будет пропорционален скорости воздушного потока (анемометр с постоянной температурой, англ. CTA).

Продолжение следует

Определение скорости движения воздуха

Скорость движения воздуха определяют при помощи анемометров. Анемометры бывают крыльчатые и чашечные (рис 1. 2)

Метеостанция на Arduino: с дисплеем своими руками, домашняя

Рис. 1 – Чашечный анемометр. Рис. 2 – Крыльчатый анемометр.

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

Чашечный анемометрпозволяет измерить больше скорости движения воздуха от 1 до 20 м/сек.

Крыльчатый анемометрболее чувствителен, он позволяет измерить скорость движения воздуха от 0,5 до 12 м/сек.

Как определяется скорость движения воздуха с помощью крыльчатого анемометра указано в алгоритме № 1.

Пример расчета скорости движения воздуха по показаниям крыльчатого анемометра:

Предположим в начале измерения стрелки анемометра показывали 1200, а по окончании – 1260 измерение длилось 120сек. Тогда скорость движения воздуха будет равна (1260 – 1200): 120=0,5 м/сек.

Существуют и другие приборы для определения скорости движения воздуха.

Кататермометропределяет очень слабые малые скорости движения воздуха менее 0,5 м/сек.

Прибор представляет собой спиртовый термометр с цилиндрическим или шаровым резервуаром, (рис 3, 4) кататермометр нагревают в стакане с горячей водой до температуры немного выше 40°С, насухо вытирают и отмечают по секундомеру, сколько секунд потребуется для охлаждения кататермометра от

40°С до 33 С. Затем по специальным формулам и таблицам находят скорость движения воздуха в помещении.

Термоанемометр– прибор которым может определять скорость движения воздуха от 0,03 до 5 м/с (рис № 5) Прибор подключается к электросети (но может работать и на батарейках). Принцип работы прибора основан на охлаждении движущимся воздухом микротермосопротивления установленного в приборе. Имея показания эгого прибора, по специальному графику определяют скорость движения воздуха.

Метеостанция на Arduino: с дисплеем своими руками, домашняя

Рис. 5 – Термоанемометр ЭА – 2М

Портативный анемометр.

Измеритель скорости воздуха и температур. Измерение скорости воздуха 0,6 – 30 м/с разрешение 0.01 м/с. Измерение температуры -10 – 60ºС. Малая потребляемая мощность.

Метеостанция на Arduino: с дисплеем своими руками, домашняя

Рис. 6 – Портативный анемометр

Приложение № 3

Алгоритм № 4

Определение скорости движения воздуха (анемометром

Крыльчатым)

1. Запишите показания стрелок анемометра (A1)

2. Установите прибор в месте замера (навстречу потоку воздуха).

3. Включите стрелки прибора (через 10-15 секунд после установки прибора,

т.к. крылья прибора должны набрать равномерное движение) и одновременно секундомер.

4. Отключите стрелки прибора, и секундомер через 1-2 минуты от начала работы прибора.

5. Запишите показания стрелок и секундомера (А2, tceк)

6. Вычислите разность между вторым и первым показаниями стрелок (А2 – А1)

7. Определите, скорость движения воздуха по формуле:

А2 – А1

tceк

Пример расчета указан в тексте.

Приложение № 4

Ситуационные задачи

1. Показания сухого термометра аспирационного психрометра 20°С, влажного 10°С. Найдите относительную влажность воздуха в жилом помещении. Дайте ей гигиеническую оценку.

2. Показания сухого термометра аспирационного психрометра в жилой комнате 22°С, влажного 14,5°С. Оцените температурно-влажностные условия в помещении.

3. В кузнечном цехе температура сухого термометра аспирационного психрометра 23°С, влажного 13,5 С. Оцените температурно-влажностные условия в цехе.

4. Какими путями человек будет терять тепло, если температура воздуха и стен в помещении 37°С, влажность 45%, скорость движения воздуха 0,4 м/сек.?

5. Определите в каких условиях тепловое самочувствие человека будет лучше:

а) при температуре воздуха 30°С, влажность 40%, скорость движения
воздуха 0,8 м/сек.

б) при температуре воздуха 28°С, влажность 85%, скорость движения
воздуха 0,2 м/сек.

6. В каких условиях человеку будет холоднее:

а) при температуре воздуха 14°С, влажность 40%

б) при температуре воздуха 14°С, влажности 80%

7. В каких условиях человек будет перегреваться:

а) при температуре воздуха 40°С, влажность 40%

б) при температуре воздуха 40°С, влажность 90%

8. В каком цехе предпочтительней микроклимат;

а) в 1 цехе температура воздуха и стен 38°С, влажность воздуха 70%,
скорость движения воздуха 0,3 м/сек.

б) в 2 цехе температура воздуха и стен 39 С, влажность воздуха 35%,
скорость движения воздуха 0,8 м/сек.

Метеостанция на Arduino: с дисплеем своими руками, домашняя

9. В операционной температура воздуха 22 С, влажность 43%, скорость движения воздуха 0,3 м/сек. Дайте гигиеническую оценку микроклимата операционной.

10. В палатах ожогового центра температура воздуха 25°С, относительная влажность 52%, скорость движения воздуха 0.15 м/сек. Соответствует ли

микроклимат лечебных помещений гигиеническим нормам

Приложение № 5

Таблица № 1 Определение относительной влажности по показаниям аспирационного психрометра, %

Показания Показания влажного термометра, °С
сухого термометра
°С
10,0 10,5 11,0 11,5 12,0 12,5 13,0 13,5 14,0 14,5 15,0 15,5 16,0 16,5 17,0 17,5 18,0 18,5 19,0 19,5 20,0 20,5 21,0 21,5 22,0 22,5 23,0
17,5
18,0
18,5
19,0
19,5
20,0
20,5
21,0
21,5
22,0
22,5
23,0

Приложение № 6

Таблица №2 Гигиенические нормативы параметров микроклимата для разных помещений

Род помещений Климат или условия труда Температура Перепады t° Относительная влажность,% Скорость
движения
воздуха, м/с
оптимальная по горизонтали по вертикали
(на 1 м)
Жилые и учебные умеренный 20-22 до 2 до 2,5 30-60 0,1-0,25
общественные
Лечебные:            
палаты для взрослых   20-22 до 2 до 2 40-60 0,2-0,4
палаты для детей   22-24 до 2 до 2 40-60 0,1-0,2
палаты для недоношенных детей, ожоговых больных   до 2 до 2 40-60 0,1-0,2
операционные и перевязочные   21-22 до 2 до 2 40-60 0,2-0,5
Производственные Работа          
легкая 20-23     40-70 0,2
средней тяжести 18-20     40-70 0,2 – 0,4
тяжелая 16-18     40-70 0,3 – 0,5

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

Порядок сборки

Система собирается по шагам.

  1. Установить плату расширения на Ардуино.Установка платы расширения
  2. Подключить к пинам шины I2C метеодатчик.Подключение метеодатчика
  3. Подсоединить дисплей в разъемы e-f на схеме. Пин CS идет на пин 10 микрокомпьютера Ардуино.Подключение дисплея
  4. Барометр вставляется в слот B, пины шины I2C.Подключение барометра
  5. Термометр подключается в слот C, пин 4. Для его работы потребуется дополнительный модуль подтяжки.Подключение термометра
  6. И, наконец, к слоту D и на пин 8 подключается картридер.Подключение картридера

Пример решения задачи

Температура воздуха в комнате Влажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерами
Влажность воздуха в физике - формулы и определение с примерами
Решение. При температуре воздуха Влажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерами
Влажность воздуха в физике - формулы и определение с примерами
Влажность воздуха в физике - формулы и определение с примерами

Ответ: пар выходит из комнаты на улицу.

Пример №2

Вечером при температуре Влажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерамиВлажность воздуха в физике - формулы и определение с примерами

Ответ: роса не выпадет.

Разработка программного обеспечения

Основная причина выбора Arduino в качестве сердца устройства – это простота разработки, низкий порог вхождения на начальном этапе, наличие большого числа сторонних библиотек. За основу были взяты библиотеки:

  1. Arduino LoRa

  2. Max44009 – датчик освещенности

  3. GyverHTU21D – для работы с датчиком HTU21D

  4. ArduinoLowPower – для спящего режима

  5. BH1750 – датчик освещенности

  6. Хитрая система измерения напряжения батареи

Первый прототип прошивки собрали буквально за 1 вечер, используя готовые модули и примеры кода. Основным недостатком данного варианта стало относительное большое время работы в активном режиме – более 1,5 секунд. Дальше приступили к оптимизации кода.

  1. Скачали калькулятор для протокола Lora и начали подбирать оптимальные показатели для передачи на те расстояния, которые у нас были – около 30 метров внутри помещений и минимальное время передачи. Связь односторонняя, без подтверждения приема данных. Подобранные параметры представлены ниже.

    Скриншоты из калькулятора 

    Также отказались от передачи контрольной суммы, а саму проверку уже организовали на стороне сервера, просто проверяя корректность данных: грубо говоря температура не может быть выше 100 градусов, влажность меньше 0 и т.д.

  2. В первом варианте данные передавались в виде строки: 
    "id устройства#температура#влажность#освещенность#заряд батарей" 
    Как потом оказалось, эта строка занимала много байт и долго передавалась. Погуглив, решили использовать структуру (Struct) для передачи пакета информации, также перевели все числа с плавающей запятой в целые числа просто умножив их на 100. В итоге id, температура, влажность, освещённость, влажность почвы и заряд батареи поместился в 11 байт.

  3. Также нашли интересную статью о том, что команды DigitalRead, DigitalWrite выполняются продолжительное время и заменили их на управление через регистры.

Данный вариант пока остался окончательным и используется в существующих устройствах. Раз в 3-4 дня приходят некорректные данные, но они успешно отсеиваются на стороне сервера. Ниже представлены осциллограммы до и после оптимизации кода и настроек Lora.

До оптимизации кода и настроек
До оптимизации кода и настроек

Рекомендованные нормы скорости воздухообмена

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

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

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

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

Рекомендованная скорость воздуха в воздуховодах обозначена в СНиП — нормативной государственной документации, и при проектировании или сдаче объектов ориентируются именно на нее.

Скорость движения воздуха по участкам
В таблице указаны параметры, которых следует придерживаться при устройстве вентиляционной системы. Числами указана скорость перемещения воздушных масс по местам установки каналов и решеток в общепринятых единицах – м/с

Считается, что внутри помещений скорость воздуха не должна превышать показатель 0,3 м/с.

Исключения составляют временные технические обстоятельства (например, ремонтные работы, установка строительной техники и др.), во время которых параметры могу превышать нормативы максимум на 30 %.

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

Нагрузка делится пополам, следовательно, и скорость воздуха подбирают так, чтобы она обеспечивала по 50 % общего расчетного объема перемещения воздуха (удаления загрязненного или подачи чистого).

При возникновении форс-мажорных обстоятельств возникает необходимость в резкой смене скорости воздуха или полной приостановке работы вентиляционной системы.

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

С этой целью в воздуховодах и на переходных участках монтируют отсекатели и клапаны.

Создание базы данных

Начнем с самого начала, а именно с проектирования и создания базы данных.

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

Все SQL скрипты находятся в каталоге weather-station/server/php-sql/

С чего начинается проектирование БД? С логического и физического представления.

Логическое представление или схема базы данных:

Физическая схема опирается на конкретную СУБД и типы данных. Проще разбирать на конкретном примере. SQL скрипт make_tables.sql раскрывает логическую и физическую схемы.

В каждой таблице должно быть поле типа

id INTEGER UNSIGNED NOT NULL AUTO_INCREMENT

Имя поля может отличаться в разных БД, но смысл один — это уникальный идентификатор, ключ записи. На будущее, если вы видите базу данных в таблицах которой нет подобного счётчика, знайте, эту БД проектировал человек весьма далёкий от программирования, скорее всего гуманитарий.

Данные от однотипных датчиков храним в одной таблице, для датчиков другого типа создаём еще таблицу. Это чуть усложняет базу данных и PHP обвязку к ней, но это упрощает расширение или модификацию всей системы в дальнейшем.

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

Если в таблице будут храниться данные от несколько однотипных датчиков, то как же их различить? Для этого в каждой таблице вводится поле

idSensor INTEGER

Фактически это CLIENT_ADDRESS который мы прописывали в файле client/client.ino для каждого экземпляра удаленного датчика-клиента и в server/server.ino для датчика, который подключен непосредственно к серверу — центральному блоку.

В промышленных системах должна быть ещё одна таблица — соответствия idSensor и его словесного, человекочитаемого описания. Например, датчик с idSensor = 2 это «Температура, влажность в квартире» и т.д. Но в нашем проекте не будем усложнять, просто помните, что :

Далее. В таблицах хранятся следующие данные:

  • ipRemote — IP адрес метеостанции (сервера) с которого пришли данные, полезно для отладки и мониторинга,
  • dateCreate — дата время создания записи,
  • millis — полезно для отладки, это время в миллисекундах с момента начала выполнения скетча на Arduino,
  • temperature — температура,
  • humidity — влажность,
  • voltage — напряжение питания,
  • pressure — давление,
  • errors — количество ошибок (не используется). Задумывалось для хранения количества ошибок при передаче и т.п., чтобы можно было удаленно оценить состояние всей системы.

Как видим таблицы arduino_dht и arduino_bmp очень похожи, отличие только в полях pressure и humidity, и возникает желание свалить всё в одну кучу (таблицу). Но делать так не велит первая нормальная форма, множество начинающих программистов пытались её обойти, но ни у одного не получилось, и мы не будем. Это как не замечать закон всемирного тяготения, до поры до времени вполне может получиться.

Таблица arduino_error_log полезна при отладке — это журнал ошибок и прочих системных сообщений.

Создание БД и её пользователя с правами описано в make_db.sql

Создание и проектирование платы

Тестовый вариант собрали навесным монтажом с использованием макетной платы, провода МГТФ и готовых модулей. Все работало, но судя по показаниям мультиметра потребляло около 50 мА, что давало нам 40 часов работы.

Первый собраный вариант
Первый собраный вариант

Полный размер

Устройство хотелось сделать миниатюрным, дешевым и энергоэффективным, поэтому решили создавать свою плату с минимальным числом элементов и использовать “голые” компоненты. Среди участников проекта не было специалистов по разработке платы, поэтому насмотревшись видеороликов начали «творить» в Easyeda.

Для начала просто соединили все устройства между собой и добавили необходимую обвязку согласно даташитам, подключили к нужным ногам микроконтроллера. Использовать решили внутренний тактовый генератор Atmega на частоте 8 МГц(использовали модифицированное ядро от AlexGyver).

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

    1 вариант платы
    1 вариант платы
  2. Второй вариант плат оказался работоспособен, добавили тестовые точки для замера напряжений и сопротивлений, которые очень сильно упростили отладку в поиске коротких замыкании и неправильного подключения компонентов. Но без ошибок опять не обошлось: ошиблись с размером разъёма для прошивки – вместо шага 2.54мм установили что-то меньшего размера. Также оказалось, что Lora модуль мешает прошивки Atmega с использованием ISP программатора. Погуглив, нашли решения в виде 3 резисторов на 500 Ом по шинам MOSI, MISO, SCK. На основе этих плат было создано 3 устройства, которые сейчас продолжают работать в тестовом режиме уже более 5 месяцев. 

    2 вариант платы
    2 вариант платы
  3. Сейчас ждём 3 заказ плат (которые были отправлены в феврале, но, к сожалению, так и не пришли) Получили 3 вариант платы, где датчик MAX44009 был заменён на более дешевый BH1750 и добавлена вся необходимая обвязка для него, а также в качестве эксперимента добавили емкостной датчик для измерения влажности почвы. 

    3 вариант платы
    3 вариант платы
Оцените статью
Анемометры