- Что такое влажность воздуха
- №3 — кратность воздухообмена
- Алгоритм вычисления скорости воздуха
- Важность воздухообмена для человека
- Влажность воздуха и точка росы
- Каналы магистральные и ответвления
- Моя самодельная домашняя метеостанция на arduino nano | мои увлекательные и опасные эксперименты
- Определение скорости движения воздуха
- Порядок сборки
- Пример решения задачи
- Разработка программного обеспечения
- Рекомендованные нормы скорости воздухообмена
- Создание базы данных
- Создание и проектирование платы
Что такое влажность воздуха
Воздух всегда содержит некоторое количество водяного пара. Содержание водяного пара в воздухе характеризуется абсолютной и относительной влажностью. Абсолютная влажность
килограмм на метр кубический:
Обычно абсолютную влажность приводят в г/м3. В экваториальных широтах она может достигать 30 г/м3, к полюсам Земли снижается до 0,1 г/м3.
Таблица 1
Давление и плотность насыщенного водяного пара
![]() | ||
| 0 | 0,61 | 4,8 |
| 2 | 0,71 | 5,6 |
| 4 | 0,81 | 6,4 |
| 6 | 0,93 | 7,3 |
| 8 | 1,07 | 8,3 |
| 10 | 1,23 | 9,4 |
| 12 | 1,40 | 10,7 |
| 14 | 1,60 | 12,1 |
| 16 | 1,81 | 13,6 |
| 18 | 2,07 | 15,4 |
| 20 | 2,33 | 17,3 |
| 22 | 2,64 | 19,4 |
| 24 | 2,99 | 21,8 |
| 26 | 3,36 | 24,4 |
| 28 | 3,79 | 27,2 |
| 30 | 4,24 30,3 | 30,3 |
Относительная влажность ϕ — физическая величина, которая показывает, насколько водяной пар близок к насыщению, и равна выраженному в процентах отношению абсолютной влажности к плотности насыщенного водяного пара при данной температуре:
Плотность насыщенного водяного пара (
Обратите внимание на два момента.
- По температуре и относительной влажности легко определить абсолютную влажность и массу водяного пара в воздухе:
Например, измерения показали, что в комнате объемом 180 м3 при температуре 22 °С
= 50 %. В табл. 1 находим:
(22 °C) , =19 4 г/м3. Тогда: 
- Плотность водяного пара прямо пропорциональна его парциальному давлению
и концентрации
молекул пара
, поэтому относительную влажность воздуха можно найти из соотношений: 
№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 м/с | 3617 | 4576 | 5650 | 7087 | 8971 | 11393 | 14469 | 18311 | 22608 |
| ϑ = 9 м/с | 4069 | 5148 | 6357 | 7974 | 10093 | 12877 | 16278 | 20600 | 25434 |
| ϑ = 10 м/с | 4521 | 5720 | 7063 | 8859 | 11214 | 14241 | 18086 | 22888 | 28260 |
| ϑ = 11 м/с | 4974 | 6292 | 7769 | 9745 | 12335 | 15666 | 19895 | 25177 | 31086 |
| ϑ = 12 м/с | 5426 | 6864 | 8476 | 10631 | 13457 | 17090 | 21704 | 27466 | 33912 |
| ϑ = 13 м/с | 5878 | 7436 | 9182 | 11517 | 14578 | 18514 | 23512 | 29755 | 36738 |
Боковые ответвления воздухопроводов разводят подачу или вытяжку воздушной смеси по отдельным помещениям. Как правило, на каждом из них устанавливается диафрагма либо дроссель – клапан для регулировки количества воздуха. Эти элементы обладают немалым местным сопротивлением, поэтому сохранять высокую скорость нецелесообразно.
Таблица 3
| Расход, м3/ч | Ø140 мм | Ø160 мм | Ø180 мм | Ø200 мм | Ø225 мм | Ø250 мм | Ø280 мм | Ø315 мм | Ø355 мм |
| ϑ = 4 м/с | 220 | 288 | 366 | 452 | 572 | 705 | 885 | 1120 | 1424 |
| ϑ = 4,5 м/с | 248 | 323 | 411 | 508 | 643 | 793 | 994 | 1260 | 1601 |
| ϑ = 5 м/с | 275 | 360 | 457 | 565 | 714 | 882 | 1107 | 1400 | 1780 |
| ϑ = 5,5 м/с | 302 | 395 | 503 | 621 | 786 | 968 | 1215 | 1540 | 1957 |
| ϑ = 6 м/с | 330 | 432 | 548 | 678 | 857 | 1058 | 1328 | 1680 | 2136 |
| ϑ = 7 м/с | 385 | 504 | 640 | 791 | 1000 | 1235 | 1550 | 1960 | 2492 |
Недалеко от места присоединения к магистрали в канале устраивают лючок, он нужен для замера скорости потока после монтажа и регулировки всей вентиляционной системы.
Моя самодельная домашняя метеостанция на 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):
Для управления индикацией и опросом датчиков я использую таймер 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 кОм.
Для перевода между градусами Цельсия и Фаренгейта можно использовать такую табличку:
Я разместил датчик за окном дома в пластиковом корпусе от шариковой ручки:
В профессиональных метеостанциях для защиты термометра от прямых солнечных лучей и обеспечения циркуляции воздуха используется экран Стивенсона (англ. Stevenson screen):
Датчик давления и температуры BMP280
Для измерения атмосферного давления традиционно используют ртутные барометры и барометры-анероиды.
В ртутном барометре атмосферное давление уравновешивается весом столба ртути, высота которого и ипользуется для измерения давления:
В барометре-анероиде используется сжатие и растяжение коробки под действием атмосферного давления:
Для измерения атмосферного давления и комнатной температуры в своей домашней метеостанции я использую датчик BMP280 – маленький SMD-датчик размером 2 x 2,5 мм, основанный на пьезорезистивной технологии:
Платка с датчиком приобретена на торговой площадке eBay:
Датчик подключается к шине 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 имеет три вывода – питание ( ), данные (out), земля (–):
Для работы с датчиком я использую библиотеку от Adafruit – файлы DHT.h, DHT.cpp.
Влажность воздуха характеризует количество водяного пара, содержащегося в воздухе. Относительная влажность показывает долю влаги в воздухе (в процентах) по отношению к максимальному возможному количеству при текущей температуре. Для измерения относительной влажности служит гигрометр:
Для человека оптимальный интервал влажности воздуха – 40 … 60 %.
Часы реального времени
В качестве часов реального времени я применил модуль RTC DS1302 (платка с часиками приобретена на торговой площадке eBay):
Модуль DS1302 подключается к шине 3-Wire. Для использования этого модуля совместно с Arduino разработана библиотека iarduino_RTC (от iarduino.ru).
Плата с модулем DS1302 имеет пять выводов, которые я соединил с выводами платы Arduino Nano:
Для сохранения верных показаний часов при отключенном питании в гнездо на плате я вставил батарейку CR2032.
Точность моего часового модуля оказалась не слишком высокой – часы спешат примерно на одну минуту за четверо суток. Поэтому я сделал сброс минут на “ноль” и часа на ближайший при удержании кнопки, подключенной к выводу A0 Arduino, после включения питания метеостанции. После инициализации вывод A0 используется для передачи данных через последовательное соединение.
Передача данных на компьютер и работа по протоколу MQTT
Для передачи данных через последовательное соединение к Arduino подключается USB–UART преобразователь:
Вывод Arduino используется для передачи данных в формате 8N1 (8 бит данных, без бита четности, 1 стоп-бит) со скоростью 9600 бит/с. Данные передаются пакетами, причем длина пакета – 4 символа. Передача данных осуществляется в “bit-bang” режиме, без использования аппаратного последовательного порта Arduino.
Формат передаваемых данных:
MQTT
Я разработал на языке программирования Golang приложение – клиент протокола MQTT, отправляющую принятую от метеостанции информации на сервер (MQTT-брокер) cloudmqtt.com:
Сервис CloudMQTT позволяет создать акаунт с бесплатным тарифным планом “Cute Cat” (ограничения: 10 соединений, 10 Кб/с):
Для мониторинга показаний метеостанции при этом можно использовать Android-приложение MQTT Dash:
Питание
Для питания метеостанции я использую зарядное устройство от старого мобильного телефона Motorola, выдающее напряжение 5 В с током до 0,55 А и подключаемое к контактам 5V ( ) и GND (-):
Также можно использовать для питания батарейку напряжением 9 В, подключаемую к контактам VIN ( ) и GND (-).
Эксплуатация метеостанции
При запуске происходит инициализация и проверка датчиков.
При отсутствии датчика DS18x20 выдается ошибка “E1”, при отсутствии датчика BMP280 – ошибка “E3”.
Затем запускается рабочий цикл метеостанции:

Видео работы моей метеостанции доступно на моем 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), зарегистрированные моей метеостанцией за все время наблюдений:
Отображение относительной влажности воздуха
Относительная влажность воздуха отображается в процентах (в двух правых разрядах отображается символ процента):
Отображение текущего времени
Текущее время отображается на индикаторе в формате “ЧЧ:ММ”, причем разделительное двоеточие мигает раз в секунду:
Отображение фаз Луны и лунного дня
Первые два разряда индикатора отображают текущую лунную фазу, а следующие два – текущий лунный день:
У Луны выделяются восемь фаз (приведены английские и русские (синим цветом – неточные) названия):
На индикаторе фазы отображаются пиктограммами:
Передача данных на компьютер
Если соединить метеостанцию с USB–UART преобразователем (например, на базе микросхемы CP2102), подключенным к USB-порту компьютера, то можно с помощью терминальной программы наблюдать передаваемые метеостанцией данные:
Я разработал на языке программирования golang программу, ведущую журнал метеонаблюдений и отправляющую данные в сервис CloudMQTT, и их можно просматривать на Android-смартфоне с помощью приложения MQTT Dash:
По данным журнала метеонаблюдений можно, например, строить график изменения атмосферного давления:
пример графика с заметным минимумом давления
пример графика с незначительным ростом давления
Планируемые доработки:
В метеостанциях для измерения скорости ветра используется трехчашечный анемометр (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)

Рис. 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) Прибор подключается к электросети (но может работать и на батарейках). Принцип работы прибора основан на охлаждении движущимся воздухом микротермосопротивления установленного в приборе. Имея показания эгого прибора, по специальному графику определяют скорость движения воздуха.

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

Рис. 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 м/сек.

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 |
Читайте также:
Порядок сборки
Система собирается по шагам.
- Установить плату расширения на Ардуино.

- Подключить к пинам шины I2C метеодатчик.

- Подсоединить дисплей в разъемы e-f на схеме. Пин CS идет на пин 10 микрокомпьютера Ардуино.

- Барометр вставляется в слот B, пины шины I2C.

- Термометр подключается в слот C, пин 4. Для его работы потребуется дополнительный модуль подтяжки.

- И, наконец, к слоту D и на пин 8 подключается картридер.

Пример решения задачи
Температура воздуха в комнате 



Решение. При температуре воздуха 




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









Ответ: роса не выпадет.
Разработка программного обеспечения
Основная причина выбора Arduino в качестве сердца устройства – это простота разработки, низкий порог вхождения на начальном этапе, наличие большого числа сторонних библиотек. За основу были взяты библиотеки:
Arduino LoRa
Max44009 – датчик освещенности
GyverHTU21D – для работы с датчиком HTU21D
ArduinoLowPower – для спящего режима
BH1750 – датчик освещенности
Хитрая система измерения напряжения батареи
Первый прототип прошивки собрали буквально за 1 вечер, используя готовые модули и примеры кода. Основным недостатком данного варианта стало относительное большое время работы в активном режиме – более 1,5 секунд. Дальше приступили к оптимизации кода.
Скачали калькулятор для протокола Lora и начали подбирать оптимальные показатели для передачи на те расстояния, которые у нас были – около 30 метров внутри помещений и минимальное время передачи. Связь односторонняя, без подтверждения приема данных. Подобранные параметры представлены ниже.
Скриншоты из калькулятора
Также отказались от передачи контрольной суммы, а саму проверку уже организовали на стороне сервера, просто проверяя корректность данных: грубо говоря температура не может быть выше 100 градусов, влажность меньше 0 и т.д.
В первом варианте данные передавались в виде строки:
"id устройства#температура#влажность#освещенность#заряд батарей"
Как потом оказалось, эта строка занимала много байт и долго передавалась. Погуглив, решили использовать структуру (Struct) для передачи пакета информации, также перевели все числа с плавающей запятой в целые числа просто умножив их на 100. В итоге id, температура, влажность, освещённость, влажность почвы и заряд батареи поместился в 11 байт.Также нашли интересную статью о том, что команды 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).
Первый вариант плат сразу ушёл в мусорку, т.к. мы решили использовать транзистор для управления питанием внешних устройств, но ошиблись с трассировкой и сожгли 2 датчика освещённости, пока поняли в чем дело. В следующих вариантах от транзистора отказались, питаясь напрямую от батареек.

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

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








