Так как лично для меня — метеостанция без измерения направления и скорости ветра не метеостанция, а потратить порядка 700USD на по большому счету игрушку я не готов, то решено было сделать похожее на «дорогое-навороченное» но занедорого.
Электроника
- Датчик температуры — LM35. Включен с возможностью измерения отрицательных температур
- Куда уж без него — датчик влажности и температуры DHT11
- Датчик давления — HP03SA
- Датчик освещенности — фоторезистор LXD5516
- Датчик скорости ветра — обычный датчик Холла
Теперь о измерении направления ветра. Было много вариантов, от оптических энкодеров — заводских (дорого) или самодельных в виде нескольких пар светодиодов и фотодиодов, и диска с кодом Грея (сложно и много компонентов), до магнита и 4-8 герконов (слишком просто и неточно). В итоге выбор пал на AS5040 – магнитный энкодер. Так как особая точность не нужна, то аналоговый выход энкодера подключен к ADC микроконтроллера.
Микроконтроллер — PIC16F88. Выход — RS485 в внутреннюю сеть умного дома, о котором этот цикл статей. Вся электронная часть собрана на трех платах.
На этом с электроникой все, никаких нюансов, ничего интересного, все по даташитам. Переходим к механике.
Механика
К сожалению, напечатать корпус на 3D принтере возможности нет, а у заводских корпусов с водонепроницаемостью беда практически у всех. К тому же подшипники и все остальное — тела вращения, значит круглый корпус будет самым логичным выбором. Пришлось обратить взор на другие сферы — на водоснабжение. В качестве корпуса взята соединительная муфта «на 32» для канализации, и два патрубка для размещения в них подшипниковых узлов. Из латуни были выточены две заглушки, в которых запрессованы по два подшипника 626.
Магниты… Магнит для датчика скорости подойдет практически любой, а вот с датчиком направления было сложнее. Ему нужен круглый магнит с намагниченностью от края до края
В то время как у основной массы продающихся — разные полюса на разных сторонах.
Но, оказалось, что нужные магниты находятся на шпинделях двигателей CD/DVD приводов.
В собранном виде подшипниковые узлы выглядят так
После изготовления и сборки плат — датчики скорости и направления ветра принимают окончательный вид
Так как метеостанция все таки из подручных материалов, то для крыльчатки режем теннисные шарики, флюгер тоже мастерим из того, что попадется под руки. Красим в радикально черный цвет, и получается так.
В качестве датчика дождя так же используем половинку теннисного шарика, в котором между двумя слоями геотекстиля расположены два контакта
Собираем, подключаем и прикручиваем повыше
Интерфейс
Как я уже рассказывал (Очередной умный дом, в трех частях. Часть третья, пользовательско-интерфейсная) есть два вида интерфейса. Первый вид, в котором на экране отображаются практически все данные с устройства, выглядит так
Температура текущая, минимум, максимум, направление изменения. Давление, аналогично. Влажность. Ветер — направление и роза ветров. Цифры нужны скорее для отладки, показывают сколько времени в каком секторе был флюгер. Скорость ветра, время, показания датчика освещенности (без калибровки, то что измерил ADC) и датчик дождя. Все данные и обработка — ведутся в микроконтроллере метеостанции.
Второй тип интерфейса — на основе виджетов. Тут данных меньше, температура, влажность, давление, скорость и направление ветра
И куда уж без Android Wear — на часах
В связи с тем, что раз в минуту происходит опрос всех контроллеров с записью в БД— то любые метеоданные доступны для анализа или отображения в виде графиков
Комментарии (64)
simki
11.08.2016 13:12+2Анемометры можно сделать из дешевых ультразвуковых датчиков за 1.5$, изначально они измеряют расстояние, но если разделить передатчик и приемник, при постоянном расстоянии, измеряют скорость ветра, ветер ускоряет или замедляет ультразвуковой импульс. Два датчика установленные перпендикулярно, дают направление ветра. Никакой механики, быстрое измерение, хоть тысячи раз в секунду, нет шума, устройство вечное — ломаться нечему.
argz
11.08.2016 13:22Вот тут больше информации — http://www.diva-portal.org/smash/get/diva2:425655/FULLTEXT01.pdf
Elmot
11.08.2016 15:25Сейчас этим занят как раз. не так там все шоколадно. как минимум, датчики за $1.5 — не уличные, будут дохнуть раз в месяц.
simki
11.08.2016 15:30Там нечему дохнуть. От воды можно защитить пленкой, сигнал проходит, проверял.
Elmot
11.08.2016 15:41С этого места подробнее. Я тоже пробовал, но у меня были дикие потери уровня сигнала. Какой пленкой, как, какие были потери?
simki
11.08.2016 15:46Я не измерял потери сигнала, просто убедился что датчик работает. Пленка обычная полиэтиленовая, тонкий пакет, натянута на датчик. У меня сложилось впечатление что ультразвуковой сигнал через нее проходит свободно не искажая показаний.
Elmot
11.08.2016 15:52Я не измерял потери сигнала, просто убедился что датчик работает.
На какой дистанции?
Пленка обычная полиэтиленовая, тонкий пакет, натянута на датчик. У меня сложилось впечатление что ультразвуковой сигнал через нее проходит свободно не искажая показаний.
Показания-то не изменятся. Макс. дистанция упадет, причем сильно.simki
11.08.2016 16:07Максимальная дистанция 4 метра, тут достаточно 1 метра и менее. В нашем случае дальность с большим запасом.
Elmot
11.08.2016 16:50увы, не все так просто. в данной задаче надо ловить не сантиметры(кстати, sr-04 ловит сантиметры с дикой погрешностью), а миллиметры, считать фазовые сдвиги, для этого нужен довольно чистый сигнал. и вот тут встает проблема уровня сигнала.
tmin10
11.08.2016 13:31У вас интересный датчик дождя: просто пара контактов, т.е. он не может измерять количество осадков, а только время после дождя и до высыхания воды. А почему вы не использовали датчик дождя на основе коромысла? Можно сделать самому, можно купить за 1000 рублей на али.
dimao79
11.08.2016 13:48Самое простое решение.
Возможно в следующей версии добавится и датчик количества осадков, и Wi-Fi вместо RS485.
Alvalvar
11.08.2016 13:44Датчик дождя — не самое лучшее решение. Вода будет испаряться? Тогда на время испарения на улице будет ДОДЖ. А в межсезонье эта конструкция будет быстро замерзать. У VAISALA, например для этих целей используется пьезоэлемент, который «слушает дождь», т.е. считает капли дождя, попавшие на него и отсюда высчитывает уровень осадков. А ветер они вообще офигенно измеряют — ультразвуком. Кому интересно: http://www.vaisala.com/en/products/multiweathersensors/Pages/WXT530.aspx
dimao79
11.08.2016 13:44WXT536 (6) Parameters: W, R, P, T, U $ 3265
Спасибо, но нет.
И дождь — это не всегда капли, иногда это морось.
simki
11.08.2016 14:02Вот тут аналог измерения скорости ветра ультразвуком, цена решения 3$.
dimao79
11.08.2016 14:19Это скажем так — не аналог ни разу. Почему?
1. Готового решения — нет. С сайта «Этим займусь как только приедут заказанные дополнительные датчики. Posted on 12.10.2015»
2. Надо не 2, а 4 штуки HC-SR04 — то есть уже совсем не 3 бакса.
3. HC-SR04 — они ни разу не для уличных применений, а те варианты — которые для уличных — стоят намного дороже.
4. Терзают меня смутные сомнения, что разрешающей способности модулей будет очень мало, и как быть с тем, что ветер может задувать и снизу, и сверху? Там то расстояние между датчиками под метр, а не несколько сантиметров, как у WXT530simki
11.08.2016 15:43Это скажем так — не аналог ни разу. Почему?
Ничего что цена несколько ниже 3265 $? :)
1. Готового решения — нет. С сайта «Этим займусь как только приедут заказанные дополнительные датчики. Posted on 12.10.2015»
В данной статье так же самоделка, не так что пошел и купил. С статье про датчики все исследования выполнены, скорость ветра измеряется и достаточно точно, более ничего не нужно.
Надо не 2, а 4 штуки HC-SR04 — то есть уже совсем не 3 бакса.
6$ против 3265 $ для хобби проекта? Проще уже тогда на Гисметео данные взять.
HC-SR04 — они ни разу не для уличных применений, а те варианты — которые для уличных — стоят намного дороже.
Они закрываются пленкой. Голую плату под дождь помещать нежелательно.
разрешающей способности модулей будет очень мало, и как быть с тем, что ветер может задувать и снизу, и сверху? Там то расстояние между датчиками под метр, а не несколько сантиметров, как у WXT530
Ветер снизу ничего не изменит, главное чтобы он не дул со сверхзвуковой скоростью и не сдувал ультразвуковой сигнал вверх полностью.
Расстояние можно уменьшить, тогда нужно повысить точность измерения интервалов времени, изначально там 3.3 миллисекунды. По даташиту минимум 2 сантиметра.dimao79
11.08.2016 16:05В данной статье так же самоделка, не так что пошел и купил. С статье про датчики все исследования выполнены, скорость ветра измеряется и достаточно точно, более ничего не нужно.
Коме исследований — хотелось бы увидеть работающее в реальных условиях устройство, а не два HC-SR04 на метровой палке, которые что то меряют.
В общем — это все демагогия.
Готового решения на сайте я не увидел. Готового уличного решения — тем более. Готового уличного решения, которое хоть как то измеряло бы направление и скорость — и близко нет.
Почему — я догадываюсь.simki
11.08.2016 16:08Почему — я догадываюсь.
У автора нет времени на хобби или нашел проект интереснее?dimao79
11.08.2016 16:35Автор не осилил. Для хобби это стало слишком сложно и было отложено в долгий ящик.
Интересно, как автор, анемометром из двух (хотя потом выяснили что четырех) УЗ-датчиков собрался мерять скорость воздуха, с учетом того, что воздух дует во всех сторон?
Elmot
11.08.2016 17:06Вообще-то есть, но трудо- и деньго- затраты зашкаливают.
dimao79
11.08.2016 17:15Вот тут я соглашусь — и работа колоссальная, и результыта есть, и остальное на высоте. Но согласитесь, что 4 УЗ датчика, обработка аналогового сигнала, dsPIC33F и сам конструктив — немного не то же самое, что и 4 разобранных HC-SR04 и ардуина.
Я не удивлюсь если на основе этой работы в итоге были сделаны те измерители, за 3 килобакса ))Elmot
11.08.2016 17:18ну если у меня выгорит, то BOM будет 20-50Е, включая конструктив.
dimao79
11.08.2016 17:29Ультразвук или механика?
Мне этот обошелся порядка 50$, причем две латунных втулки — 8$ материал и 6$ работа. Из электроники самый дорогой — барометр 17$
В том, что выше — думаю основные затраты пошли на работу и исследования с тестированием, материалы на их фоне — можно даже не учитывать ))
simki
12.08.2016 03:13УЗ датчика, обработка аналогового сигнала, dsPIC33F и сам конструктив — немного не то же самое, что и 4 разобранных HC-SR04 и ардуина.
Результат сравнимый. И там и там успешно была измерена скорость ветра.
dsPIC33F очень специфический контроллер, если нужно быстродействие (что еще не факт), можно применить Arduino Due (ARM 32 bit против 16 бит dsPIC33), чтобы не взрывать мозг сообществу.
Обработка аналогового сигнала возможно, но не факт что обязательна. Уверен, от этого можно отказаться, калибруя порог срабатывания.
Возможно снизится разрешение, но для метеостанции не нужно 0.05 м/с и точность в 1 градус. Я даже поставить анемоментр не смогу в таком месте, где он проявит свои свойства, малейшая помеха от посторонней конструкции, дерева, и точность упадет в разы. Да и ветер дует случайно, как только считаешь показания 1.22 м/с и точность до градуса, они сменятся на другие. Это анемометр перфекциониста.dimao79
12.08.2016 05:47+1Результат сравнимый. И там и там успешно была измерена скорость ветра.
О да! Если вы не видите разницы между теми двумя проектами — то дальше разговор бессмысленнен.
Еще раз, это все — демагогия. Результат в виде готового повторяемого устройства на четырех HC-SR04 есть? Нет.
Считать за результат фразу:
«Этим займусь как только приедут заказанные дополнительные датчики. Posted on 12.10.2015»
И кучу ваших пространных рассуждений о пленке, сантиметрах разрешения и прочем — это не результат. У меня на этом всё.
Elmot
11.08.2016 15:21Я сейчас делаю такую штуку, но от sr04 уже ушел. сделаю — отпишусь.
argz
11.08.2016 15:51На чём делаете?
Elmot
11.08.2016 16:02китайские ультразвук. трансиверы. Выбираю получше. Аналоговая часть — своя, цифровая пока stm32f303(плата nucleo), а там посмотрим
https://twitter.com/el_mot/status/749490980353703936
Elmot
11.08.2016 16:10Механику тоже делал (и сделал), и тоже на AS5040, но у меня кривее выглядит, чем у ТС, но точность направления ветра скорее всего выше.
dimao79
11.08.2016 16:25За счет подключения по цифре? Там то 10bit DAC, треть градуса можно получить, но нужна ли в данном применении такая точность? ))
За кривость механики — это второй вариант, с учетом ошибок. Первый был ужасен ))Elmot
11.08.2016 17:00у меня чуть другая задача — анеморумбометр на яхту. там точность в градус не лишняя.
кстати, у вас механика покрашена в черный, а у меня — в белый(типа чтобы на солнце не грелось).
В свете топовых огней ночью(они рядом на мачте, кр-зел-бел) получается зачетная цветомузыка.dimao79
11.08.2016 17:17Ясно. У вас — измритель, у меня — показометр ))
Elmot
11.08.2016 17:22ну не так все запущено, одноградусной точности все равно нет, в основном из-за механики.
dimao79
11.08.2016 17:37У меня при переходе 360-0 каша, но то думаю изза ШИМа. По цифре должно быть красиво. Но для этого примерения — вполне хватает.
С механикой другая проблема — или флюгер будет болтатся как карандаш в ведре, или потеряем в чувствительности. Я с этим столкнулся при переходе от одного подшипника, к двум. С двумя никаких люфтов, но с одним — легче вращается, тоесть чувствительнее.Elmot
11.08.2016 19:56у меня еще хуже. Нужно быстродействие порядка 1с, а еще мачта на ходу неслабо качается, что добавляет перцу. Еще и на флюгере хвост неправильный.
В вашей конструкции, имхо, слишком короткое коромысло флюгера. Если сделать раза в 2 длиннее, будет больше рычаг, легче подшипники проворачивать.
dimao79
11.08.2016 20:22С такими условиями и УЗ будет врать. Какая разница, толи ветер деревья качает, толи они качаются и создают ветер )) Главное что друг относительно друга есть движение.
Elmot
11.08.2016 20:34проблема не в этом качании ветра деревьями, а в том, что механика ерзает, чисто из-за инерции и неидеальной балансировки.
arheops
11.08.2016 22:35Ерзание механики можно уменьшить удлинением хвоста. Ерзанье будет, но например с два раза длиннее хвостом оно будет в два раза меньше. Естественно при установке вне ветровых теней.
Elmot
11.08.2016 23:22Не в условиях качающегося топа мачты, увы. Там чем длиннее хвост, тем хуже оно стабилизируется в целом.
arheops
11.08.2016 23:43Повесить на топ мачты матерчатый измеритель ветра в виде длинной трубы. Ваша мачта будет натянута равномерно в сторону ветра. Ну или закрепить мачту четырьмя тросами.
mihazi
11.08.2016 13:48Шикарно. Осталось подключить к заббиксу и навешать триггеров: когда пора переобувать резину, когда заливать незамерзайку, когда лучше из дома не выходить, когда лучше выходить и идти на рыбалку;)
simki
11.08.2016 14:08Это можно всё сделать программно, забирая данные с сайта Гисметео и подобных. Причем и архивы и прогноз погоды (для рыбалки даже важнее). Плюс облачность, давление…
Если уж делать метеостанцию, то совместимой с народным мониторингом, расшарить данные для всех.
Grox
11.08.2016 14:07Для Android Wear самая важная информация представлена самым мелким размером шрифта. Огромная иконка. Возможно, стоит разместить иконку попроще выше, а всю центральную часть отдать для показателей.
dimao79
11.08.2016 15:25В живую оно смотрится намного лучше, поверте. То что не влезло в строку между двойными стрелками — ID и дата последнего опроса, то есть фактически отладочная информация, которую можно убрать. И у приложения основная цель — это управлять, а не показывать.
Grox
11.08.2016 19:49У вас же на 3й картинке прочитать температуру очень не просто. А этот экран явно информационный. Как раз и возникает вопрос, что на нём важнее — иконка или информация о температуре? Можно слово «Temp: » убрать и просто показывать значение крупно, сразу сбоку от иконки. Ну это как пример.
dimao79
11.08.2016 19:53+1Там по хорошему надо нанять дизайнера интерфейсов и все переделать )) Но то когда нибудь потом.
wmtoolsnet
11.08.2016 19:04+1Как proof of concept — норм.
Но у меня все же один вопрос: что вам это дает?
Вот например видите вы что pressure 736.1 mmHg и Waist 25%, и что дальше?)dimao79
11.08.2016 19:54+3По давлению — важно не абсолютное значение, а тенденция изменения, погоду предсказывает довольно точно. А так — баловство конечно и убитие свободного времени. Кто то марки собирает, кто то самолеты клеит.
bazis13
12.08.2016 13:54-1Я вот тоже этого увлечения метеостанциями не понимаю, хоть на ардуине много чего делаю. Может потому что в москве официальных источников достаточно много и даже левые буржуйские сайты говорят погоду не в городе, а в твоем районе.
Какой смысл в этом случае ставить свою метеостанцию, которая находится в нескольких километрах от взрослой?
ShangTsung
12.08.2016 12:25Вот мне интересно, столь недорогих решений и вариантов, но все равно народ покупает систему за десятки тысяч долларов и это не только богатенькие — https://dardali.com/academiya-praktiki/praktika/52-crestron-sistema-umniy-dom
Graf_Trahula
Весьма интересные решения в части железа. Где-то читал что анемометры на крышах зданий и на стенах лучше не располагать ибо там очень много паразитных ветров типа восходящих потоков и завихрений. Еще интересно, есть ли вихревые дорожки Кармана за опорным столбом и влияют ли они на показания направления ветра?