Arduino и ветер

Byte
Offline
Зарегистрирован: 28.11.2015

Есть задача мониторить направление ветра и его скорость. 

Пока у меня возникли такие идеи.

1. Направление ветра. 

Взять токопроводящий круг, разделить его на 8 секторов, к каждому сектору подсоеденить резисторы разных номиналов. С другой стороны завести все их на аналоговый вход. +5V пустить на щетку, которая будет бегать по секторам в зависимости от направления ветра (простой флюгер). Мониторить периодически напряжение на аналоговом входе и в зависимости от того в какой диапазон попадает, значит щетка находится над тем или иным сектором.

2. Скорость ветра.

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

И в правильном ли вообще направлении я думаю по обоим вопросам? Может есть проверенные боле простые или практичные решения?

Araris
Offline
Зарегистрирован: 09.11.2012

"Всё уже придумано за нас". Да, есть более практичные решения, достаточно вбить в поисковик фразу "arduino wind sensor".

Вот, к примеру, датчик направления ветра (16 направлений), работающий по протоколу One-Wire : http://www.seeedstudio.com/wish/grove-one-wire-wind-of-direction-sensor-p1557

А вот красивейшее решение задачи измерения скорости ветра, принцип действия - просто снимаю шляпу: https://moderndevice.com/product/wind-sensor/

Поищите, почитайте, ну зачем Вам щётки, бегающие по секторам, да цилиндры с прорезью ? Щетка окислится, цилиндр снегом забъётся, не то, ей-богу не то. 

Byte
Offline
Зарегистрирован: 28.11.2015

Спасибо за информацию!

По поводу направления, получается я на верном пути. Я тоже думал про герконы, но это же дорого. А графитовые щетки не окисляются. Стираются, но это не такая уж и проблема. 

Ну, а стоимость в 17$ для одного датчика, это как-то для меня заоблачно. Да у меня на сейчас метеостанция в составе 2560, SD-карты, датчиков температуры, влажности, давления, освещенности и красивого деревянного корпуса в $15 укладывается. 

Буду думать над подсчетом кол-ва вращений и попутно читать про анемометры. 

Araris
Offline
Зарегистрирован: 09.11.2012

Вот тут интересно обсуждалось не так давно : http://arduino.ru/forum/apparatnye-voprosy/kuler-ot-bp-v-kachestve-datchika-dvizheniya-vozdukha-vozmozhno

Нет-нет, я не предлагал Вам датчик за $17, я предлагал принцип действия этого датчика использовать. Два датчика температуры и простейший нагреватель - всего лишь (да, утрирую)) ). И никакой механики.

UPD. Герконы/датчики Холла - дорого ??

Byte
Offline
Зарегистрирован: 28.11.2015

Спасибо.

Ага, с кулером - это интересный вариант. Это была моя первая мысль, ну, не совсем с кулером, а с моторчиком.  Но не как датчик холла, а снимать тупо напряжение, ведь моторчик в свободном вращении - это динамо. Но тут вопрос в том, что надо как-то при сильном ветре не дать напряжению вырости выше 5V, а это лишние заморочки. Потом подумал, что можно вращать магнит мимо датчика холла, но вариант с оптопарой мне показался наиболее оптимальным.

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

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

P.S. Датчиков Холла у меня кажись штуки 3 разных, заказал не так давно набор для Arduino датчиков типа 30 в 1. Но пока не разобрался как с ними вообще работать.

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

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

У меня тоже есть идея сделать датчик направления и скорости ветра, мне больше актуально скорости. Так как делается для управления форточками в теплице, чтоб при сильном ветре не открывались. На Ali нашел ВОТ ЭТО . Но цена неподъемная. Я думаю у меня теплица дешевле чем эти устройства :-)

Так что герконы для определения направления и датчик холла для определения скорости самое то. К стати не намного дороже щеток выйдет. 

А мне осталось купить 3D принтер чтобы напечатать корпус флюгера и лопасти к датчику скорости ветра :-)

Byte
Offline
Зарегистрирован: 28.11.2015

2 Andrey12

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

Ну а насчет скорости, то не думаю, что в данном случае так принципиально - оптопара или датчик холла. Все равно необходима ось, 4 чашечки, 2-3 подшипника, сальник. Тут вопрос в том, что легче/удобнее считывать - показания с датчика холла или считать импульсы от оптопары. 

P.S. По поводу 3D принтера - по моему, это будет дороже тех двух датчиков на Ali :) зато в разы интереснее и универсальнее :).

Andrey12
Andrey12 аватар
Offline
Зарегистрирован: 26.12.2014

Byte пишет:

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

Ну а насчет скорости, то не думаю, что в данном случае так принципиально - оптопара или датчик холла. Все равно необходима ось, 4 чашечки, 2-3 подшипника, сальник. Тут вопрос в том, что легче/удобнее считывать - показания с датчика холла или считать импульсы от оптопары. 

P.S. По поводу 3D принтера - по моему, это будет дороже тех двух датчиков на Ali :) зато в разы интереснее и универсальнее :).

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

То же в отношениии опто пары, датчик холла не запылится, и к стати снимать данные с цифрового датчика холла легче :-)

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

Pyotr
Offline
Зарегистрирован: 12.03.2014

Byte пишет:

Есть задача мониторить направление ветра и его скорость. 
.........

И в правильном ли вообще направлении я думаю по обоим вопросам? Может есть проверенные боле простые или практичные решения?

Такое решение не подойдёт?  http://arduino.ru/forum/ishchu-ispolnitelya/upravlenie-mikroklimatom-teplitsy#comment-127818

Byte
Offline
Зарегистрирован: 28.11.2015

Pyotr пишет:

Такое решение не подойдёт?  http://arduino.ru/forum/ishchu-ispolnitelya/upravlenie-mikroklimatom-teplitsy#comment-127818

Спасибо. Да, прикольно, что можно уже заказать готовое. Но опять же, дорого :( Но на будущее буду иметь в виду. 

soznik
Offline
Зарегистрирован: 20.09.2015

Byte пишет:

Есть задача мониторить направление ветра и его скорость. 

 Необходимо каким-то образом посчитать кол-во срабатываний фотодиода в секунду. Собственно, вопрос: как посчитать? 

Вот самый простой вариант

volatile int val;
float k=3,58 // где к кооэфициенти отношения кол-ва импульсов с датчика к скорости ветра
void rpm(){
  val++;
}

void setup() {
  Serial.begin(9600);
  attachInterrupt(0, rpm, CHANGE);
}

void loop() {
  val = 0; // сбрасываем счетчик и ждем.
  delay(3000); // считаем кол-во импульсов за 3 сек
  Serial.print(val);
  Serial.print(" speed ");                              
  Serial.print((val)*k); 
  Serial.println(" m/SEC");
}

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

 

Byte
Offline
Зарегистрирован: 28.11.2015

soznik

Спасибо, как вариант.

soznik
Offline
Зарегистрирован: 20.09.2015

Пожалуйста.

На будующее показания скорости ветра будут постояно прыгать, так что надо выводить на экран среднее.

Не помню откуда взял эту библиотеку. Вот пример "погугли".

#include "RunningAverage.h"
RunningAverage myRA(10);
int samples = 0;
volatile float val;
float flag=0;
void rpm(){
  val++;
}
void setup() {
  attachInterrupt(0, rpm, FALLING);
    myRA.clear(); // explicitly start clean
}

void loop() {
   val = 0; // сбрасываем счетчик и ждем.
  delay(5000); // Задержка на время счета анемометра
   Serial.print(val);  //кол-во импульсов с анемометра за 3 сек.
   flag=(val/11.8);  //делим на к
    myRA.addValue(flag);
  samples++;
  

  if (samples == 30)
  {
    samples = 0;
   // myRA.clear();
  }
  Serial.print(" speed ");                              

  Serial.println(flag,2); //
    Serial.println(myRA.getAverage(), 2);                       
  Serial.println(" m/s");
    


}

 

knack
knack аватар
Offline
Зарегистрирован: 27.03.2012

Byte пишет:

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

Трёхпроводный куллер. Там датчик холла есть уже, умеет считать обороты. В как вы калибровать его будете?

Направление ветра, диск с прорезью, на диск с одной стороны светят 16 светиков с другой стороны 16 фотодиодов.

16 герконов...

оптический энкодер из мыши.

http://idea2.ru/blog/ideas_scrap/664.html

3 минуты в гугле.

Byte
Offline
Зарегистрирован: 28.11.2015

knack

Спасибо, тоже интересный вариант.

Proteus
Offline
Зарегистрирован: 30.06.2018

1) Погулял по ссылкам, пришёл в голову вариант. Поставить шарик на пружинку. Ветер по откронению определять, гироскопом.

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