Добавить в корзинуПозвонить
Найти в Дзене
Владимир

Домашняя автоматизация. Часть 4. Анемометр.

Датчик температуры и влажности у меня в системе домашней автоматизации имеется, а вот анемометра не было. Решено было исправить эту ситуацию. В онлайн магазинах их большое множество, но я остановил свой выбор на сделанном из алюминия, а не из пластика. Как в последствии оказалось это был правильный выбор — анемометр при доставке неслабо пострадал. Одна чашка была загнута. Ну ничего, подумал я, как хорошо что заказал из металла, а не из пластика, и выправил её. Но увы, оказалась что пострадала также ось, на которой этот пропеллер крепится. Разборка показала что эта ось является осью микроэлектродвигателя постоянного тока, выпрямить её не реально. Микроэлектродвигатель подозрительно похож на такой который применяется в китайских игрушках, неужели он? Нужен был новый микроэлектродвигатель и я отправился за ним в магазин игрушек где был куплен игрушечный вентилятор, подключаемый почему-то к USB, за 250 рублей. Маркировки ни на оригинальном двигателе, ни на двигателе от игрушечного вентилят
Ветер, ветер! Ты могуч ...
Ветер, ветер! Ты могуч ...

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

фото камплекта с маркетплейса
фото камплекта с маркетплейса

Разборка показала что эта ось является осью микроэлектродвигателя постоянного тока, выпрямить её не реально. Микроэлектродвигатель подозрительно похож на такой который применяется в китайских игрушках, неужели он? Нужен был новый микроэлектродвигатель и я отправился за ним в магазин игрушек где был куплен игрушечный вентилятор, подключаемый почему-то к USB, за 250 рублей. Маркировки ни на оригинальном двигателе, ни на двигателе от игрушечного вентилятора не было никакой, но внешне они были как однояйцевые близнецы. Электрические параметры, индуктивность и сопротивление, тоже совпадали. Ну вот и здорово.

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

Анемометр намеренно был куплен в комплекте со вторичным прибором, который я не предполагал использовать. Вторичный прибор был мне нужен только для снятия шкалы. Шкалы у него две: в метрах в секунду и балы по шкале Бофорта. У прибора высокоомный вход - десятки килоом. Прибор «удивил» меня тем что АЦП внутри него 4-х битный, зато индикатор аж 4-х разрядный, из-за чего я понаивности думал что китайцы расщедрятся на 12-ти битный АЦП. Но увы. Впрочем, насколько я понял, главное назначение вторичного прибора не точно показывать значение скорости ветра, а прерывание цепи безопасности при достижении установленного пользователем порога. Для этого на плате вторичного прибора имеется мощное реле. Порог настраивать одной единственной кнопкой крайне неудобно. Однако, для целей безопасности этот вторичный прибор использовать нельзя так как реле работает только в режиме индикации силы ветра по шкале Бофорта, а при включении прибора шкала в метрах в минуту.

Шкала вторичного прибора была снята.

-3

Теперь надо найти аппроксимирующую прямую. Аппроксимирующую прямую находим конечно же используя MATLAB. Вот такой m-файл.

m-файл
m-файл
результат
результат

Аппроксимирующая прямая найдена, значения полинома 22.5053 и -0.9266.

MATLAB
MATLAB

Наверное некоторые скажут: «Из-за двух чисел MATLAB. Столько шуму!» Я отвечу что иначе никак, иначе это волюнтаризм называется.

Получается что 10 вольт, максимальное значение входного напряжения китайского клона Mitsubishi FX3u, соответствует скорости ветра 200 метров в секунду. По шкале Бофорта ветер более 33 м/с это 12 баллов, то есть ураган. В реальности такого ветра не будет никогда, я надеюсь, а следовательно из 12 битов АЦП клона FX3u реально будут работать максимум 9. Но это всё равно лучше чем китайские 4.

Анемометр я решил установить на конёк крыши бани, всё ж таки пониже дома, следовательно безопаснее.

Для монтажа датчика на конёк кровли бани были приобретены шпилька М8 и опорная пластина 60х60х2 М8. Основание анемометра было закреплено на пластине заклёпками. Также понадобятся кусок бруска, несколько гаек и шайб усиленных. Для герметизации отверстия под шпильку в фасонном элементе кровли, называемом «конёк фигурный», я использовал резиновый уплотнитель (толстую шайбу резиновую) оставшийся от монтажа снегозадержателей. Получилась вот такая конструкция.

вид снаружи
вид снаружи
вид изнутри
вид изнутри

Подключил к клону FX3u, прописал в нём считывание аналогового значения, приписал считывание этого значения в Simatic по Modbus RTU, шкалирование, упаковку этого значения вместе с другими данными в сообщение MQTT для отправки на брокер, прописал в Node-RED, MySQL и добавил к графикам в Grafana. И тут наступил полный штиль.

Архип Куинджи. Лунная ночь на Днепре.
Архип Куинджи. Лунная ночь на Днепре.

Ура! Наконец-то ветер!

Иван Айвазовский. Солнечный день.
Иван Айвазовский. Солнечный день.

Я возрадовался как наверное радовались Магелан с Колумбом. Смотрю Grafana, а там всё почёркано как будто кто-то ручку расписывал!

без фильтрации
без фильтрации

Понятно что требуется какая-то фильтрация. Руководствуясь тем что всех интересуют «порывы ветра до...», чтобы ничего информативного случайно не потерять, в клоне FX3u была выполнена фильтрация типа «максимальное во временном окне».

временное окно полторы минуты
временное окно полторы минуты
Временное окно три минуты.
Временное окно три минуты.

Полагаю что три минуты неплохая картинка. Программа клона FX3u тут.

Небольшое пояснение к программе. Чтение аналогового значения 1 раз в 100 миллисекунд. Значение помещается в кольцевой массив размером определяемым константой записываемой в D200. Со временем цикла контроллера в этом массиве определяется максимальное значение. При каждом прохождении индекса кольцевого массива через 0 найденное максимальное значение записывается в кольцевой массив второго уровня размером определяемым константой записываемой в D300. Где тоже со временем цикла контроллера определяется максимальное значение. Это значение и есть выход фильтра.

Таким образом временное окно 0,1*D200*D300 секунд.

Следующей публикацией будет схема одной из локаций или схема ППА.

Успехов!