Датчик движения воздуха для ардуино

Arduino.ru

Есть ли датчик потока воздуха?

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

Знаю промышленные точно есть, но цена не приемлема

может что у китайцев попадалось?

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

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

А для чего вам это?

Может проще использовать термостат на обогревателе?

Можно конечно и датчик тока воздуха сделать, приклеив магнит и датчик холла, на клапан.

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

Есть автомобильные, но тоже не дешевые они. Тут кто то куллер для этого приспосабливал, но на мой взгляд очень не надежная затея, так как куллер будет зарастать мгновенно. Искать датчик Mass Air Flow Sensors.

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

Я, честно говоря, не уверен насколько пригодно такое решение, но все-таки. Посмотрите в сторону ветрогенераторов из моторчиков. На любой маленький моторчик одевается крыльчатка. Или можно попробовать взять USB вентилятор, тогда вообще ничего делать не надо. С контактов снимать сигнал/напряжение.

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

Решение хорошее, только чуть-чуть подправлю.

Магнит клеим на заслонку клапана, Холл снаружи.
И лучше приклеить ДВА магнита на противоположных сторонах заслонки для ее равновесия. Или с нерабочей стороны заслонки аналогичный грузик.
Впрочем, если ось вращения заслонки расположена вертикально — достаточно одного магнита.

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

Еще можно измерять без всяких заслонок скорость воздуха трубе ультразвуком с использованием обыкновенного или поперечного допплер эффекта. Но это больше подходит для мазохистов :)))

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

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

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

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

Что то мне подсказывет, что разность давлений пропорциональна квадрату скорости.
Или, скорость пропорциональна корню квадратному из разности давлений в сужающем устройстве (трубке Вентури или шайбе).
Измерять ДВУМЯ датчиками давления РАЗНОСТЬ давления технически не кошерно.
Для этих целей используются дифманометры-дифференциальные датчики давления, датчики РАЗНОСТИ давления. При скорости воздуха 10-20 м/сек разность слишком мала, чтобы ее вычислять ДВУМЯ датчиками как разность показаний ДВУХ датчиков.
Как то так.

Еще роль играет непосредственно КОНСТРУКЦИЯ кончика трубки приемника давления. Если она сделана ЗАПОДЛИЦО с внутренней поверхностью воздуховода-мы получим измерение СТАТИЧЕСКОГО давления.

Если трубка приемника давления будет заходить в воздуховод, изгибаться и открытый конец трубки будет стоять НАВСТРЕЧУ потоку-получим приемник ПОЛНОГО давления.

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

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

PS и почему дмрв такой дорогой, что в нем напичкано такого

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

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

PS и почему дмрв такой дорогой, что в нем напичкано такого

Принцип работы и обслуживание ДМРВ

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

Если я правильно понял, то, во первых, ДМРВ представляет собой термоанемометр!
Во вторых, все-таки его показания влияют на надежную работу двигателя и, следовательно, на вашу безопасность!
Отсюда и цена.

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

Первый термоанемометр, которым мы работали на лабах, имел проволочку толщиной 5 микрон, мерил частоту пульсаций воздуха до 20 кГц, ну и стоил примерно столько же баксов.
Как то так.

Источник

Управление микроклиматом на Arduino

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

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

Задача: «Осушить» гараж.

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

Arduino, два датчика DHT22 изнутри и снаружи, релейный модуль на вентилятор и начинаются действительно интересные проблемы.

Как известно, DHT22 отдает температуру и относительную влажность. Как сравнивать показания датчиков? Действительно ли наружный воздух «суше», чем внутренний? Что будет с воздухом, если его всосать в гараж? Возможно, он настолько теплее, что даже при меньшей относительной влажности снаружи даст конденсат на стенах внутри. Внутренняя температура всегда отличается от наружной, но при этом постепенно стремится к наружной. Степень «постепенности» неизвестна. Будет температура расти или падать — так же неизвестно.

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

Но пришла следующая идея. Абсолютная влажность она на то и абсолютная, что от давления, температуры и прочего не зависит. И если абсолютная влажность наружного воздуха ниже абсолютной влажности внутреннего, то наружный воздух однозначно «суше» и независимо от того, как изменится его температура внутри — он «лучше» замещенного воздуха.

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

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

Казалось бы, на этом и все. Сравниваем две абсолютные влажности и если снаружи «суше» — включаем вентилятор, но не тут то было. Первая проблема в том, что если представить, что наружный воздух имеет постоянную влажность, а внутри никакого источника влаги нет, но есть сырой воздух, то при прокачивании через гараж наружный воздух будет смешиваться с имеющимся там воздухом и внутренняя влажность будет бесконечно приближаться к наружной, но не достигнет ее или достигнет очень не скоро. А это крайне неэффективно по электричеству. Очевидное решение — ввести какую-то разность влажностей, при достижении которой вентилятор выключать и считать внутренний воздух сухим, но тут возникает вторая проблема. При перепаде температур от +30 до -30 значение абсолютной влажности изменяется в тысячу раз. То есть при -30 градусах разница в 0.001 грамма на кубометр воздуха может означать, что вы пройдете точку росы и на стенах выпадет шуба. А при +30 эта тысячная ничего не значит, потому что в кубометре может висеть 20 грамм воды.

Никакого четкого, обоснованного решения придумано не было. Волевым научным тыком разность была принята в 0.01 грамма на кубометр из того соображения, что от инея на стенах вреда не много, поскольку при повышении температуры, при работе робота — лед просто сублимирует и будет удален с остальным воздухом. И из эмпирических соображений было введено еще одно энергосберегающее ограничение. При относительной наружной влажности выше 90% наружный воздух не прокачивается. Просто потому, что это ненормально высокая для нашего региона влажность и даже если этот воздух суше внутреннего — очень скоро и его тоже придется выкачивать. Цифра 90% так же с потолка.

Полтора года робот пашет безостановочно.

Ардуино в коробке с автоматом, там же блок питания. На ней же справа внутренний датчик. Релейный блок в самой розетке. Выключатель принудительно включает вентилятор в обход реле. Шуба из инея зимой пропала. Дерево все рассохлось. Ничего не гниет. Потребляет порядка двух киловатт-часов в месяц. Если в «сухом» гараже подышать минут 15 — робот включает вентилятор. В общем, все работает.

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

Поле для оптимизации. Если прикрутить SD-карточку и пособирать статистику — можно выбрать более обоснованную отсечку, чем 90%. Можно подумать и поставить разность абсолютных влажностей на отсечку в зависимость от температуры.

А вот теперь самое интересное — развитие.

Сейчас прорабатывается система приточно-вытяжной вентиляции с рекуперацией для частного дома. Задача снизить расход энергии и на вентиляцию и на обогрев. Казалось бы, все просто. Датчики СО2 по комнатам. Вентилируем только ту комнату, где «надышали», но есть масса вопросов, на которые у меня пока нет ответов. Буду рад помощи.

1. Как контролировать отток через печку? Вот есть частотник на приточном вентиляторе, есть на вытяжном. Если бы не печка, можно было бы обойтись одним и крутить вентиляторы синхронно. А как быть с оттоком через печь? (Отдельный воздуховод на приток печи — не предлагать);
2. (без учета печки) Алгоритм управления оборотами вентиляторов? Текущая идея в том, что скорость вращения должна зависеть не от концентрации СО2 а от скорости роста концентрации. То есть если концентрация растет — обороты растут, падает — падают и какая-то отсечка, скажем, 500-600ppm. Повышением отсечки можно ввести зимний экономный режим с повышенной концентрацией СО2;
3. Есть желание заслонку печки привязать к датчику СО, в том плане, чтобы он держал заслонку максимально закрытой максимальное количество времени, но страшно;
4. Чисто технический вопрос: как все это датчиковое великолепие максимально дешево развесить по дому, поскольку для целей управления отоплением еще и DHT22 в каждой комнате будут?

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

Источник

Ещё один способ определения качества воздуха на Arduino — с передачей данных в сеть

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

Если вам интересно, зачем вообще измерять СО2, то полезные ссылки вы можете найти в конце поста.

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

Компоненты

1. Ардуино. Я взял Wemos D1, Arduino совместимую плату, основанную на микроконтроллере ESP-8266EX. Wemos совместим с ардуино IDE, у него есть свой Wi-Fi, и стоит он 6.3$.

2. Датчик СО2. Ранее я пробовал обычный MQ-135, но даже после прожига, калибровки и учёта поправок на температуру и влажность погрешности был довольно заметные — около 300 ppm. Так что для гарантии точных измерений я взял MH-Z19 — самый дорогой компонент схемы, 27$.

3. Датчик температуры и влажности. Использовал стандартный и любимый всеми DHT11 за 1.44$. В комментариях подсказывают, что лучше брать DHT22, но для схемы и стоимости это не принципиально:

4. I2C совместимый дисплей. Я взял самый дешёвый hd44780 за 3.06$.

5. Чтобы это выглядело не очень ужасно, и было перемещаемо, так же неплохо иметь корпус. Чтобы не заморачиваться с выпиливанием, я взял корпус за 8$ с дырками и креплениям под usb и дисплей. Внимание — в корпусе должны быть дырки для проветривания, иначе он будет измерять только свою особую атмосферу.

6. Отладочный USB кабель и около 10 проводков. Цену учитывать не буду.

Итоговая стоимость — 44 доллара, если брать на алиэкспресс. Аналогичные устройства без возможности что-то передавать в сеть сейчас стоят у китайцев в районе 100$. Аналог от Tion, которые в количестве делают свои посты на гиктаймс с рекламой бризеров, пока в разработке (не имею к ним отношения, а жаль).

Заказал, обождал месяц — приступаем к сборке! Нет ничего проще.

Сборка

1. Подключаем датчик температуры и влажности. Земля к земле, прах к праху, плюс к пяти вольтам на ардуино, цифровой выход к цифровому выходу (я использовал D5).

2. Подключаем датчик СО2. У него есть богатый выбор интерфейсов — PWM, аналоговый и цифровой вывод. Единственный элемент пайки — надо приделать ножки на нужные выходы. Проверял лично — работают все. Остановился на получении цифровых данных — точно, красиво, лаконично, и так же есть возможность отсылать команды на калибровку, что мне впрочем не потребовалось. Опять же — земля к земле, плюс к другим пяти вольтам, TX и RX выводы на цифровые пины — в моём случае, на D6 и D7.

3. Подключаем дисплей. И снова — земля к земле, плюс на последний оставшийся выход на пять вольт, SDA на дисплее к SDA на ардуино, SCL так же к SCL.

И… Всё! Можно закручивать получившееся добро в корпус, если вы конечно не умудрились сделать какую-нибудь ошибку при подключении. Обратите внимание, чтобы у датчика СО2 не оказались прижаты воздухозаборники (или как это корректнее назвать, белые такие штуки). Как бонус, при сборке в корпусе значительно уменьшаются отклонения в измерении.

Прошивка

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

Да, Wemos D1 является совместимым с Arduino, и вам нужно просто добавить в Arduino IDE соответствующую борду. Подключаем стандартным коротким кабелем по micro USB и заливаем прошивку. Если вы всё сделали верно, то устройство сначала постарается подключиться к Wi-Fi (сеть и пароль берётся из файла настроек), затем ждёт некоторое время для “разогрева” датчиков, и наконец покажет данные на дисплее. Если по сети данные отправить не получится, то будет об этом сообщать. Если уровень CO2 допустимый, то после загрузки подсветка выключится, и включится только если вам пора открыть форточку.

Результат

У меня это выглядит так (осторожно, трафик):

А как же сеть?

Теперь насчёт работы с сетью. Не мудрствуя лукаво, я собираю данные в JSON и отсылаю его на сервер обычным POST запросом, где простой скрипт на PHP кладёт его в MySQL базу. Далее можно посмотреть, как изменялись ваши условия жизни в течении дня при помощи PHP и Google Charts — вся серверная часть тоже есть в ссылках.

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

Не скажу, что это прям срывает покрова с простой истины, что “меньше народу — больше кислороду”, и что нужно периодически проветривать, да и про это много раз говорили — в том числе и про вред пластиковых окон. Но на этом примере понятно, насколько просто, быстро, надёжно и красиво можно сделать практически любой датчик, который поставляет данные для какой-то более сложной системы.

Да, показания я сравнивал с вот таким китайским датчиком Green Life — показания практически идентичные, только мой немного быстрее реагирует на изменение обстановки:

Выводы

Конечно, многое можно было бы сделать лучше. Навскидку я вижу следующие минусы:

  1. Дисплей с выключенной обладает очень низкой контрастностью. Лучше брать другой, разорившись ещё центов на 10.
  2. При включенной подсветке экран немного мерцает. Не критично, но видимо не нравится ему, что от ардуины запитывается сразу три устройства на пять вольт. Вероятно, правильно было бы сделать раздельное питание.
  3. Конечно, всё это можно красиво спаять, а не просто покидать в коробку, кое как соединив.
  4. Датчик температуры и влажности иногда возвращает левые огромные значения. Их я просто отсекаю, но вообще неприятно. Возможно, сказывается общая запитка или некачественное соединение.
  5. Конечно, можно было бы накапливать статистику и периодически её отсылать (и накапливать в случае ошибок) — никому не нужно знать своё качество воздуха с точностью до 5 секунд.
  6. Чтобы не вбивать данные вайфайной точки при компиляции, можно было бы сделать, чтобы в случае, если коннект не удался, устройство переходило в режим вайфай точки (да, Wemos это умеет), подцепившись к которой, можно его перенастроить — в том числе ввести новое имя сети и пароль.
  7. Wemos D1 всем хорош, но у меня иногда вылетает (раз в 2-3 дня) по неизвестным причинам, и сам перегружается только через несколько часов. Вроде как не мой софт кривой, просто борда не очень стабильная. Можно с этим бороться подключением устройства к какой-нибудь ардуино нано, которая его перезапускает при необходимости, или просто поставить железку с таймером, которая будет раз в полчаса перезапускать устройство (благо у него есть вход RESET).
  8. При выдёргивании и возврате обратно питания, датчик СО2 сходит с ума, что лечится перезагрузкой. Я это решил простым способом — при накоплении некоторого количества непрерывных ошибок, устройство само себя перезапускает, после чего всё приходит в норму. Вероятно, можно было бы решить это более правильным способом на уровне железа.
  9. Температура измеряется с точностью до двух градусов, влажность — с точностью до десяти процентов. В бытовых целях достаточно, а для какого-то другого использования понадобится датчик поточнее.
  10. Если вам требуется отправить один небольшой пакет данных, то библиотека для работы с JSON это убийство воробьёв из пушки. Гораздо проще собрать JSON ручками, или вообще передавать параметры при помощи GET/POST, что я вначале и делал. Но при наличии огромного количества оперативки на Wemos — почему нет, так красивее. Но при портировании кода на маломощную ардуину скорее всего придётся переписать это.
  11. В текущей реализации нет управления яркостью подсветки — она может быть только включена и выключена. Можно убрать перемычку и поставить вместо неё сопротивление или ввести на ардуино — тогда вы сможете управлять яркостью подсветки.
  12. Так же можно сделать управление или получение информации при помощи приложения. Самый простой способ, как ни смешно — добавить телеграмм бота — библиотека для связи ардуино через телеграмм уже есть.

Что дальше

А дальше я хочу отдохнуть от рабочих будней и поиграть с друзьями в лазертаг. Одна проблема — стоит игра от 500 рублей в час на человека. Это при полном отсутствии расходников. А купить комплект для игры будет стоит каких-то совсем заоблачных денег — примерно от 8000. Так что для того, чтобы поиграть в лазертаг, надо сначала его собрать. Планирую сделать что-то вроде Skirmos — где каких-то денег будет стоит только сам ствол, который должен быть довольно прочным. Интересно? Следите за публикациями! А что вы делаете на Arduino?

Ссылки

Основное

  1. Код для ардуино
  2. Серверная часть
  3. Посмотреть на воздух в моём офисе можно тут
  4. Взять меня на работу (да, я её ищу) можно тут

Источник

Adblock
detector