- Основной модуль
- Direction of the wind sensor на алиэкспресс — купить онлайн по выгодной цене
- Анемометр для яхты купить в россии на propartner.
- Беспроводной датчик ветра для лучших результатов –
- Выносной модуль и измерительная схема датчиков ветра
- Датчик скорости ветра — чашечный анемометр своими руками
- Конструкции датчиков
- Купить судовые метеостанции, датчики скорости ветра (анемометры)
- Механический датчик направления ветра — электронный флюгер
- Общая конструкция и установка датчиков
- Ультразвуковой анемометр
- Чашечный, крыльчатый, лопастной анемометр (механический)
- Электронная часть
Основной модуль
В основном модуле все величины принимаются, расшифровываются, если надо, преобразуются в соответствии с калибовочными уравнениями и выводятся на дисплеи.
Приемник вынесен за пределы корпуса основного модуля станции и помещен в маленькую коробочку с ушками для крепления. Антенна выведена через отверстие в крышке, все отверстия в корпусе загерметизированы сырой резиной. Контакты приемника выведены на очень надежный отечественный разъем типа РС-4, со стороны приемника он подключен через отрезок сдвоенного экранированного AV-кабеля:
По одной из жил кабеля снимается сигнал, по другой подается питание в виде «сырых» 9 вольт от адаптера питания модуля. Стабилизатор типа LM-2950-5.0 вместе с фильтрующими конденсаторами установлен в коробочке вместе с приемником на отдельной платке.
Производились эксперименты по увеличению длины кабеля (на всякий случай — вдруг через стенку не заработало бы?), в которых выяснилось, что в пределах длины до 6 метров ничего не меняется.
Direction of the wind sensor на алиэкспресс — купить онлайн по выгодной цене
Перед покупкой сравните цены на direction of the wind sensor, прочитайте реальные отзывы покупателей, ознакомьтесь с техническими характеристиками.
Закажите direction of the wind sensor онлайн с доставкой по России: товары с пометкой Plus доступны с ускоренной доставкой и улучшенными условиями возврата.
На Алиэкспресс direction of the wind sensor всегда в наличии в большом ассортименте: на площадке представлены как надежные мировые бренды, так и перспективные молодые.
Анемометр для яхты купить в россии на propartner.
Анемометр
Анемометр
Анемометр
§
§
Беспроводной датчик ветра для лучших результатов –
В зависимости от поставленной задачи. беспроводной датчик ветра бывают разных форм и размеров, и у каждого свое имя. Для измерения частоты вращения двигателя используются тахометры, которые вычисляют частоту вращения вала двигателя. Это помогает водителю управлять коробкой передач и дроссельной заслонкой, а также управлять общей скоростью. Метеорологи используют анемометры для измерения скорости ветра, которая затем используется для дальнейших расчетов и прогнозов. Спидометр используется для расчета скорости транспортного средства, движущегося по суше. Магниты и кабели используются в сочетании друг с другом для точного расчета скорости, с которой водитель едет.
Акселерометры используются для измерения ускорения и замедления автомобиля. Полиция использует LIDAR и RADAR для определения скорости проезжающих по улице транспортных средств. В то время как в первом для расчета скорости используется луч инфракрасного света, во втором для расчета скорости используются звуковые волны и эффект Доплера. Все эти. беспроводной датчик ветра используют разные методы в зависимости от условий и предназначения. Эти различные инструменты можно купить на Alibaba.com с гарантированной проверкой качества и своевременной доставкой, что гарантирует общее удовлетворение.
Наличие соответствующего инструмента для расчета скорости жизненно важно для расчетов и прогнозов. И поэтому вы должны покупать. беспроводной датчик ветра по самым доступным ценам и лучшего качества на Alibaba.com. Без лишних хлопот и забот, оперативно заказываем. беспроводной датчик ветра от сертифицированных производителей и продавцов, не выходя из дома.
Выносной модуль и измерительная схема датчиков ветра
В качестве фотоизлучателей были выбраны светодиоды ИК-диапазона АЛ-107Б. Эти старинные светодиоды, конечно, не самые лучшие в своем классе, зато имеют миниатюрный корпус диаметром 2,4 мм и способны пропускать ток до 600 мА в импульсе. Между прочим, при испытаниях выяснилось, что образец этого светодиода около 1980 года выпуска (в корпусе красного цвета) имеет примерно вдвое большую эффективность (выразившуюся в дальности уверенной работы фотоприемника), чем современные экземпляры, купленные в «Чипе-Дипе» (они имеют прозрачный желтовато-зеленый корпус).
Через светодиод в датчике скорости пропускался постоянный ток около 20 мА (резистор 150 Ом при питании 5 вольт), а в датчике направления — импульсный (меандр со скважностью 2) ток около 65 мА (те же 150 Ом при питании 12 вольт). Средний ток через один светодиод датчика направления при этом около 33 мА, всего через четыре канала — около 130 мА.
В качестве фотоприемников были выбраны фототранзисторы L-32P3C в корпусе диаметром 3 мм. Сигнал снимался с коллектора, нагруженного на резистор 1,5 или 2 кОм от питания 5 В. Эти параметры подобраны так, чтобы на расстоянии ~20 мм между фотоизлучателем и приемником на вход контроллера поступал сразу полноразмерный логический сигнал в 5-вольтовых уровнях без дополнительного усиления.
Токи, фигурирующие здесь, могут показаться вам несоразмерно большими, если исходить из озвученного выше требования минимального энергопотребления, но как вы увидите, фигурируют они в каждом цикле измерения на протяжении максимум нескольких миллисекунд так, что общее потребление остается небольшим.
Основой для крепления приемников и излучателей послужили отрезки кабельного канала (видны на фото датчиков выше), вырезанные так, чтобы у основания образовать «ушки» для крепления на скобе. Для каждого из этих обрезков к запирающей крышке изнутри приклеивалась пластиковая пластинка, по ширине равная ширине канала.
Светодиоды и фототранзисторы закреплялись на нужном расстоянии в отверстиях, просверленных в этой пластинке так, чтобы выводы оказались внутри канала, а наружу выступали только выпуклости на торце корпусов. Выводы распаиваются в соответствии со схемой (см. ниже), внешние выводы делаются обрезками гибкого разноцветного провода.
Резисторы для излучателей датчика направления также размещаются внутри канала, от них делается один общий вывод. После распайки крышка защелкивается на место, все щели герметизируются пластилином и дополнительно липкой лентой, которой также закрывается отверстие со стороны, противоположной выводам, и вся конструкция заливается эпоксидной смолой. Внешние выводы, как можно видеть на фото датчиков, выводятся на клеммную колодку, закрепленную на тыльной стороне скобы.
Принципиальная схема блока обработки датчиков ветра выглядит так:
О том, откуда берется питание 12-14 вольт, см. далее. Кроме компонентов, указанных на схеме, выносной блок содержит датчик температуры-влажности, который на схеме не показан. Делитель напряжения, подключенный к выводу A0 контроллера, предназначен для контроля напряжения источника питания с целью своевременной замены.
В схеме используется «голый» контроллер Atmega328 в DIP-корпусе, запрограммированный через Uno и установленный на панельку. Такие контроллеры с уже записанным Arduino-загрузчиком, продаются, например, в «Чипе-Дипе» (или загрузчик можно записать самостоятельно).
Такой контроллер удобно программировать в привычной среде, но, лишенный компонентов на плате, он во-первых, получается экономичнее, во-вторых, занимает меньше места. Полноценный энергосберегающий режим можно было бы получить, избавившись и от загрузчика тоже (и вообще расписав весь код на ассемблере :), но здесь это не очень актуально, а программирование при этом неоправданно усложняется.
На схеме серыми прямоугольниками обведены компоненты, относящиеся отдельно к каналам скорости и направления. Рассмотрим функционирование схемы в целом.
Работа контроллера в целом управляется сторожевым таймером WDT, включенным в режиме вызова прерывания. WDT выводит контроллер из режима сна через заданные промежутки времени. В случае, если в вызванном прерывании таймер взводится заново, перезагрузки с нуля не происходит, все глобальные переменные остаются при своих значениях. Это позволяет накапливать данные от пробуждения к пробуждению и в какой-то момент обрабатывать их — например, усреднять.
В начале программы сделаны следующие объявления библиотек и глобальных переменных (чтобы не загромождать текст и без того обширных примеров, здесь выпущено все, что относится к датчику температуры-влажности):
#include <VirtualWire.h>
#include <avr/wdt.h>
#include <avr/sleep.h>
. . . . .
#define ledPin 13 //вывод светодиода (PB5 вывод 19 ATmega)
#define IR_Pin 10 //управление транзистором IRLU (PB2 вывод 16 Atmega)
#define in_3p 9 //вход приемника разряд 3
#define in_2p 8 //вход приемника разряд 2
#define in_1p 7 //вход приемника разряд 1
#define in_0p 6 //вход приемника разряд 0
#define IR_PINF 5 //(PD5,11) вывод для ИК-светодиода частоты
#define IN_PINF 4 //(PD4,6) вход обнаружения частоты
volatile unsigned long ttime = 0; //Период срабатывания датчика
float ff[4]; //значения частоты датчика скорости для осреднения
char msg[25]; //посылаемый месседж
byte count=0;//счетчик
int batt[4]; //для осреднения батарейки
byte wDir[4]; //массив направлений ветра
byte wind_Gray=0; //байт кода направления ветра
Для инициации режима сна и WDT (пробуждение каждые 4 с) служат следующие процедуры:
// перевод системы в режим сна
void system_sleep() {
ADCSRA &= ~(1 << ADEN); //экв. cbi(ADCSRA,ADEN); выключим АЦП
set_sleep_mode(SLEEP_MODE_PWR_DOWN); // режим сна
sleep_mode(); // система засыпает
sleep_disable(); // система продолжает работу после переполнения watchdog
ADCSRA |= (1 << ADEN); /экв. sbi(ADCSRA,ADEN); включаем АЦП
}
//****************************************************************
// ii: 0=16ms, 1=32ms,2=64ms,3=128ms,4=250ms,5=500ms
// 6=1 sec,7=2 sec, 8=4 sec, 9= 8sec
void setup_watchdog(int ii) {
byte bb;
if (ii > 9 ) ii=9;
bb=ii & 7;
if (ii > 7) bb|= (1<<5); //в bb - код периода
bb|= (1<<WDCE);
MCUSR &= ~(1<<WDRF);
// запуск таймера
WDTCSR |= (1<<WDCE) | (1<<WDE);
// установка периода срабатывания сторожевого таймера
WDTCSR = bb;
WDTCSR |= (1<<WDIE); //прерывание WDT
}
//****************************************************************
// Обработка прерывания сторожевого таймера
ISR(WDT_vect) {
wdt_reset();
}
Датчик скорости выдает частоту прерывания оптического канала, порядок величин — единицы-десятки герц. Мерить такую величину экономичнее и быстрее через период (этому была посвящена публикация автора «
»). Здесь выбран метод через модифицированную функцию pulseInLong(), который не привязывает измерение к определенным выводам контроллера (текст функции periodInLong() можно найти в указанной публикации).
В функции setup() объявляются направления выводов, инициализируются библиотека передатчика 433 МГц и сторожевой таймер (строка для IN_PINF в принципе лишняя, и вставлена для памяти):
void setup() {
pinMode(IR_PINF, OUTPUT); //на выход
pinMode(IN_PINF, INPUT); //вывод обнаружения частоты на вход
pinMode(13, OUTPUT); //светодиод
vw_setup(1200); // скорость соединения VirtualWire
vw_set_tx_pin(2); //D2, PD2(4) вывод передачи VirtualWire
// Serial.begin(9600); // Serial-порт для контроля при отладке
setup_watchdog(8); //WDT период 4 c
wdt_reset();
}
Наконец, в основном цикле программы мы сначала каждый раз при пробуждении (каждые 4 секунды) считываем напряжение и рассчитываем частоту датчика скорости ветра:
void loop() {
wdt_reset(); //обнуляем таймер
digitalWrite(ledPin, HIGH); //включаем светодиод для контроля
batt[count]=analogRead(0); //читаем и сохраняем текущий код батарейки
/*=== частота ==== */
digitalWrite(IR_PINF, HIGH); //включаем ИК-светодиод датчика скорости
float f=0; //переменная для частоты
ttime=periodInLong(IN_PINF, LOW, 250000); //ожидание 0,25 сек
// Serial.println(ttime); //для контроля при отладке
if (ttime!=0) {//на случай отсутствия частоты
f = 1000000/float(ttime);} // вычисляем частоту сигнала в Гц
digitalWrite(IR_PINF, LOW); //выключаем ИК-светодиод
ff[count]=f; //сохраняем вычисленное значение в массиве
. . . . .
Время горения ИК-светодиода (потребляющего, напомню, 20 мА) здесь, как видите, будет максимальным при отсутствии вращения диска датчика и составляет при этом условии около 0,25 секунды. Минимальная измеряемая частота, таким образом, составит 4 Гц (четверть оборота диска в секунду при 16 отверстиях).
Как выяснилось при калибровке датчика (см. далее), это соответствует примерно 0,2 м/с скорости ветра Подчеркнем, что это минимальная измеряемая величина скорости ветра, но не разрешающая способность и не порог трогания (который окажется гораздо выше).
Далее следуют процедуры, которые выполняются каждое четвертое пробуждение (то есть каждые 16 секунд). Значение частоты датчика скорости из накопленных четырех значений мы передаем не среднее, а максимальное — как показал опыт, это более информативная величина.
//каждые 16 сек усредняем батарейку и определяем максимальное значение
//частоты из 4-х значений:
if (count==3){
f=0; //значение частоты
for (byte i=0; i<4; i ) if (f<ff[i]) f=ff[i]; //максимальное значение из четырех
int fi=(int(f*10) 1000); //доводим до 4 дес. разрядов для отправки
int volt=0; //код батарейки
for (byte i=0; i<4; i ) volt=volt batt[i];
volt=volt/4 100; //средний код на 100 больше = 3 дес.разряда
volt=volt*10; //до 4 дес. разрядов
. . . . .
Далее — определение кода Грея направления. Здесь для снижения потребления вместо постоянно включенных ИК-светодиодов на все четыре канала одновременно через ключевой полевой транзистор с помощью функции tone() подается частота 5 кГц. Обнаружение наличия частоты на каждом из разрядов (выводы in_0p – in_3p) производится методом, аналогичным антидребезгу при считывании показаний нажатой кнопки.
Сначала в цикле дожидаемся, имеется ли на выводе высокий уровень, и затем проверяем его через 100 мкс. 100 мкс есть полпериода частоты 5 кГц, то есть при наличии частоты минимум со второго раза мы опять попадем на высокий уровень (на всякий случай повторяем четыре раза) и это означает, что он точно там есть. Эту процедуру повторяем для каждого из четырех бит кода:
/* ===== Wind Gray ==== */
//направление:
tone(IR_Pin,5000);//частоту 5 кГц на транзистор
boolean yes = false;
byte i=0;
while(!yes){ //разряд 3
i ;
boolean state1 = (digitalRead(in_3p)&HIGH);
delayMicroseconds(100); // задержка в 100 микросекунд
yes=(state1 & !digitalRead(in_3p));
if (i>4) break; //пробуем четыре раза
}
if (yes) wDir[3]=1; else wDir[3]=0;
yes = false;
i=0;
while(!yes){ //разряд 2
i ;
boolean state1 = (digitalRead(in_2p)&HIGH);
delayMicroseconds(100); // задержка в 100 микросекунд
yes=(state1 & !digitalRead(in_2p));
if (i>4) break; //пробуем четыре раза
}
if (yes) wDir[2]=1; else wDir[2]=0;
yes = false;
i=0;
while(!yes){ //разряд 1
i ;
boolean state1 = (digitalRead(in_1p)&HIGH);
delayMicroseconds(100); // задержка в 100 микросекунд
yes=(state1 & !digitalRead(in_1p));
if (i>4) break; //пробуем четыре раза
}
if (yes) wDir[1]=1; else wDir[1]=0;
yes = false;
i=0;
while(!yes){ //разряд 0
i ;
boolean state1 = (digitalRead(in_0p)&HIGH);
delayMicroseconds(100); // задержка в 100 микросекунд
yes=(state1 & !digitalRead(in_0p));
if (i>4) break; //пробуем четыре раза
}
if (yes) wDir[0]=1; else wDir[0]=0;
noTone(IR_Pin); //выключаем частоту
//собираем в байт в коде Грея:
wind_Gray=wDir[0] wDir[1]*2 wDir[2]*4 wDir[3]*8; //прямой перевод в дв. код
int wind_G=wind_Gray*10 1000; //дополняем до 4-х дес. разрядов
. . . . .
Максимальная длительность одной процедуры будет при отсутствии частоты на приемнике и равна 4×100 = 400 микросекунд. Максимальное время горения 4-х светодиодов направления будет тогда, когда не засвечен ни один приемник, то есть 4×400 = 1,6 миллисекунды.
Алгоритм, кстати, точно так же будет работать, если вместо частоты, период которой кратен 100 мкс, просто подать постоянный высокий уровень на светодиоды. При наличии меандра вместо постоянного уровня мы просто экономим питание вдвое. Мы можем еще сэкономить, если завести каждый ИК-светодиод через отдельную линию (соответственно, через отдельный вывод контроллера со своим ключевым транзистором), но зато при этом усложняется схема, разводка и управление, а ток в 130 мА в течение 2 мс каждые 16 секунд — это, согласитесь, немного.
Наконец, беспроводная передача данных. Для передачи данных от места установки датчиков до табло метеостанции был выбран самый простой, дешевый и надежный способ: пара передатчик/приемник на частоте 433 МГц. Согласен, способ не самый удобный (из-за того, что девайсы рассчитаны на передачу битовых последовательностей, а не целых байтов, приходится изощряться в конвертации данных между нужными форматами), и уверен, что многие со мной захотят поспорить в плане его надежности. Ответ на последнее возражение простой: «ты просто не умеешь их готовить!».
Секрет в том, что обычно остается за кадром различных описаний обмена данными по каналу 433 МГц: поскольку приборы эти чисто аналоговые, то питание приемника должно быть очень хорошо очищено от любых посторонних пульсаций. Ни в коем случае не следует питать приемник от внутреннего 5-вольтового стабилизатора Arduino!
В данном случае передатчик работал непосредственно от напряжения аккумулятора 12 В, приемник и передатчик были снабжены стандартными самодельными антеннами в виде отрезка провода длиной 17 см. (Напомню, что провод для антенн пригоден только одножильный, а размещать антенны в пространстве необходимо параллельно друг другу.)
Пакет информации длиной в 24 байта (с учетом влажности и температуры) без каких-то проблем уверенно передавался со скоростью 1200 бит/с по диагонали через садовый участок 15 соток (около 40-50 метров), и затем через три бревенчатых стенки внутрь помещения (в котором, например, сотовый сигнал принимается с большим трудом и не везде).
Условия, практически недостижимые для любого стандартного способа на 2,4 ГГц (типа Bluetooth, Zig-Bee и даже любительский Wi-Fi), притом, что потребление передатчика здесь составляет жалкие 8 мА и только в момент собственно передачи, остальное время передатчик потребляет сущие копейки. Передатчик конструктивно размещен внутри выносного блока, антенна торчит сбоку горизонтально.
Объединяем все данные в один пакет (в реальной станции к нему добавятся еще температура и влажность), состоящий из единообразных 4-байтных частей и предваряемый сигнатурой «DAT», отправляем его на передатчик и завершаем все циклы:
/*=====Transmitter=====*/
String strMsg="DAT"; //сигнатура - данные
strMsg =volt; //присоединяем батарейку 4 разряда
strMsg =wind_G; //присоединяем wind 4 разряда
strMsg =fi; //присоединяем частоту 4 разряда
strMsg.toCharArray(msg,16); //переводим строку в массив
// Serial.println(msg); //для контроля
vw_send((uint8_t *)msg, strlen(msg)); // передача сообщения
vw_wait_tx(); // ждем завершения передачи - обязательно!
delay(50); // еще на всякий случай задержка
count=0; //обнуляем счетчик
}//end count==3
else count ;
digitalWrite(ledPin, LOW); //гасим сигнальный светодиод
system_sleep(); //систему — в сон
} //end loop
Размер пакета можно сократить, если отказаться от требования представления каждой из величин разнообразных типов в виде единообразного 4-байтового кода (например, для кода Грея, конечно, хватит и одного байта). Но универсализации ради я оставил все как есть.
Питание и особенности конструкции выносного блока. Потребление выносного блока подсчитываем таким образом:
— 20 мА (излучатель) ~20 мА (контроллер со вспомогательными цепями) в течение примерно 0,25 с каждые четыре секунды — в среднем 40/16 = 2,5 мА; — 130 мА (излучатели) ~20 мА (контроллер со вспомогательными цепями) в течение примерно 2 мс каждые 16 секунд — в среднем 150/16/50 ≈ 0,2 мА;
Накинув на этот расчет потребление контроллера при съеме данных с датчика температуры-влажности и при работе передатчика, смело доводим среднее потребление до 4 мА (при пиковом около 150 мА, заметьте!). Батарейки (которых, кстати, потребуется аж 8 штук для обеспечения питания передатчика максимальным напряжением!) придется менять слишком часто, потому возникла идея питать выносной блок от 12-вольтовых аккумуляторов для шуруповерта — их у меня образовалось как раз две штуки лишних.
Емкость их даже меньше, чем соответствующего количества АА-батареек — всего 1,3 А•часа, но зато никто не мешает их менять в любое время, держа наготове второй заряженный. При указанном потреблении 4 мА емкости 1300 мА•часов хватит примерно на две недели, что получается не слишком хлопотно.
Отметим, что напряжение свежезаряженного аккумулятора может составить до 14 вольт. На этот случай поставлен входной стабилизатор 12 вольт — чтобы не допустить перенапряжений питания передатчика и не перегружать основной пятивольтовый стабилизатор.
Выносной блок в подходящем пластиковом корпусе размещается под крышей, к нему на разъемах подведен кабель питания от аккумулятора и соединения с датчиками ветра. Основная сложность в том, что схема оказалась крайне чувствительной к влажности воздуха: в дождливую погоду уже через пару часов начинает сбоить передатчик, измерения частоты показывают полную кашу, а измерения напряжения аккумулятора показывают «погоду на Марсе».
Поэтому после отладки алгоритмов и проверки всех соединений корпус необходимо тщательно герметизировать. Все разъемы в месте входа в корпус промазываются герметиком, то же самое касается всех головок винтов, торчащих наружу, выхода антенны и кабеля питания.
Стыки корпуса промазываются пластилином (с учетом того, что их придется разнимать), и дополнительно проклеиваются сверху полосками сантехнического скотча. Неплохо дополнительно аккуратно укрепить эпоксидкой используемые разъемы внутри: так, указанный на схеме выносного модуля DB-15 сам по себе не герметичен, и между металлическим обрамлением и пластиковой основой будет медленно просачиваться влажный воздух.
Но все эти меры сами по себе дадут только кратковременный эффект — даже если не будет подсоса холодного влажного воздуха, то сухой воздух из комнаты легко превращается во влажный при падении температуры снаружи корпуса (вспомните про явление, называемое «точка росы»).
Чтобы этого избежать, необходимо внутри корпуса оставить патрончик или мешочек с влагопоглотителем — силикагелем (мешочки с ним иногда вкладывают в коробки с обувью или в некоторые упаковки с электронными устройствами). Если силикагель неизвестного происхождения и долго хранился, его перед использованием необходимо прокалить в электродуховке при 140-150 градусах несколько часов. Если корпус герметизирован как следует, то менять влагопоглотитель придется не чаще, чем в начале каждого дачного сезона.
Датчик скорости ветра — чашечный анемометр своими руками
Как вы уже поняли, основа для датчика скорости в целях унификации была выбрана та же самая, что и для флюгера. Но требования к конструкции тут несколько иные: в целях снижения порога трогания анемометр должен быть максимально облегчен. Поэтому, в частности, ось для него сделана из дюраля, диск с отверстиями (для измерения частоты вращения) уменьшен в диаметре:
Если для четырехбитного энкодера Грея требуется четыре оптопары, то для датчика скорости всего одна. По окружности диска на равном расстоянии просверлено 16 отверстий, таким образом один оборот диска в секунду эквивалентен 16 герцам частоты, поступающей с оптопары (можно больше отверстий, можно меньше — вопрос только в масштабе пересчета и экономии энергии на излучатели).
Самодельный датчик все равно получится достаточно грубым (порог трогания не менее полуметра-метра в секунду), но его снизить можно только если радикально изменить конструкцию: например, вместо чашечной вертушки поставить пропеллер. У чашечной вертушки разность сил сопротивления потоку, обуславливающая крутящий момент, относительно невелика — она достигается исключительно за счет разной формы поверхности, встречающей набегающий поток воздуха (поэтому форма чашек должна быть как можно более обтекаемой — в идеале это половинка яйца или шара).
У пропеллера вращающий момент гораздо больше, его можно сделать гораздо меньшим по весу, и, наконец, само изготовление проще. Но пропеллер нужно устанавливать по направлению потока воздуха — например, разместив его на конце того же флюгера.
Вопрос вопросов при этом: как передавать показания с датчика, хаотично вращающегося вокруг вертикальной оси? Я его решить не смог, и судя по тому, что профессиональные чашечные конструкции до сих пор широко распространены, решается он отнюдь не с полпинка (ручные анемометры в расчет не берем — их ориентируют по потоку воздуха вручную).
Конструкции датчиков
Преимущество механических датчиков в том, что никакие НИиОКР там не требуются, принцип прост и понятен, а качество результата зависит только от аккуратности исполнения тщательно продуманной конструкции.
Так казалось теоретически, на практике это вылилось в кучу механических работ, часть из которых пришлось заказывать на стороне, ввиду отсутствия под рукой токарного и фрезерного станков. Сразу скажу, что я ни разу не пожалел о том, что с самого начала сделал ставку на капитальный подход, а не стал городить конструкции из подручных материалов.
Для флюгера и анемометра нужны следующие детали, которые пришлось заказать у токаря и фрезеровщика (количество и материал указаны сразу для обоих датчиков):
Оси, заметим, обязательно вытачиваются на токарном станке: изготовить на коленке ось с острием точно по центру практически невозможно. А размещение острия точно по оси вращения здесь — определяющий фактор успеха. Кроме того, ось должна быть идеально прямой, никакие отклонения не допускаются.
Купить судовые метеостанции, датчики скорости ветра (анемометры)
Метеодатчик (анемометр или преобразователь метеоданных) – представляет собой прибор, предназначенный для измерения таких данных, как:
- Направление и скорость ветра;
- Относительная влажность;
- Температура и давление воздуха;
- Количество и интенсивность осадков (например, во время дождя).
Существуют механические, тепловые и ультразвуковые метеодатчики. Механические работают по подобию воздушного винта, который приводится в действие вращением чашечного колеса. Тепловые измеряют снижение температуры собственного нагревательного элемента. Ультразвуковые измеряют скорость звука. Обычно, датчики изготавливаются из прочных нержавеющих материалов, которые выдерживают суровые условия окружающей среды. Питание устройств осуществляется с помощью аккумуляторов, солнечных батарей или от автомобильного адаптера. Подключение реализуется напрямую с помощью кабеля. Управление осуществляется клавиатурой, трекболом или сенсором.
Существуют и беспроводные цифровые метеорологические системы, работающие в сети интернет. Информация с таких приборов передается в режиме реального времени. Параметры атмосферы измеряются с помощью специализированных датчиков. Информация выводится на дисплей основного блока. Данные отображаются в виде графиков. Регистрация информации производится в электронном журнале.
Механический датчик направления ветра — электронный флюгер
Основой флюгера (как и датчика скорости далее) служит П-образная скоба из дюраля Д-16, изображенная на чертеже вверху слева. В нижнее углубление запрессовывается кусочек фторопласта, в котором делается ступенчатое углубление последовательно сверлами 2 и 3 мм.
В это углубление острым концом вставляется ось (для флюгера — из латуни). Сверху она свободно проходит через отверстие 8 мм. Над этим отверстием винтами М2 к скобе прикрепляется прямоугольный кусочек того же фторопласта толщиной 4 мм так, чтобы он перекрывал отверстие.
Ось в месте трения о фоторопласт можно отполировать, а площадь трения уменьшить, отзенковав отверстие во фторопласте. (
См. на эту тему ниже UPD от 13.09.18 и 05.06.19
). Для флюгера это не играет особой роли — некоторая «заторможенность» ему даже полезна, а для анемометра придется постараться минимизировать трение и инерцию.
Теперь о съеме величины угла поворота. Классический энкодер Грея на 16 положений применительно к нашему случаю выглядит так, как показано на рисунке:
Размер диска был выбран, исходя из условия надежной оптической изоляции пар излучатель-приемник друг от друга. При такой конфигурации щели шириной 5 мм располагаются с промежутком также 5 мм, а оптические пары расположены на расстоянии ровно 10 мм. Размеры скобы, к которой крепится флюгер, были рассчитаны именно исходя из диаметра диска 120 мм. Все это, конечно, можно уменьшить (особенно, если подобрать светодиоды и фотоприемники как можно меньшего диаметра), но было принята во внимание сложность изготовления энкодера: выяснилось, что фрезеровщики за такую тонкую работу не берутся, потому его пришлось выпиливать вручную надфилем. А тут чем больше размеры, тем надежнее результат и меньше хлопот.
На сборочном чертеже выше показано крепление диска к оси. Тщательно отцентрованный диск крепится винтиками М2 к капролоновой втулке. Втулка размещается на оси так, чтобы зазор вверху был минимальным (1-2 мм) — так, чтобы ось в нормальном положении вращалась свободно, а при перевороте острие не выпадало из гнезда внизу. Блоки фотоприемников и излучателей прикрепляются к скобе сверху и снизу диска, более конкретно об их конструкции далее.
Вся конструкция помещается в пластиковый (АБС или поликарбонат) корпус 150×150×90 мм. В собранном виде (без крышки и флюгера) датчик направления выглядит следующим образом:
Отметьте, что выбранное направление на север помечено стрелкой, его нужно будет соблюдать при установке датчика на место.
На верхушку оси крепится собственно флюгер. Он изготовлен на основе такой же латунной оси, в разрез на тупой стороне которой впаивается хвостовик из листовой латуни. На остром конце на некоторую длину нарезается резьба М6, и на ней с помощью гаек закрепляется круглый груз-противовес, отлитый из свинца:
Груз рассчитан так, чтобы центр тяжести приходился точно на место крепления (передвигая его вдоль резьбы, можно добиться идеальной балансировки). Крепление флюгера к оси осуществляется с помощью нержавеющего винта М3, который проходит через отверстие в оси флюгера и ввинчивается в резьбу, нарезанную в оси вращения (крепящий винт виден на фото выше). Для точной ориентации верхушка оси вращения имеет полукруглое углубление, в которое ложится ось флюгера.
Общая конструкция и установка датчиков
Оба датчика, как уже говорилось, размещаются в пластиковых корпусах 150×150×90 мм. К выбору материала корпуса надо подходить продуманно: АБС или поликарбонат имеют достаточную атмосферостойкость, но полистирол, оргстекло и тем более полиэтилен тут решительно не подойдут (и окрасить для защиты от солнца их тоже будет затруднительно).
В крышке точно в месте выхода оси делается отверстие 8-10 мм, в которое тем же клеем-герметиком вклеивается пластиковый конус, вырезанный из носика от баллончика со строительным герметиком или клеем:
Чтобы отцентровать конус по оси, струбциной закрепите снизу крышки деревяшку, наметьте на ней точный центр и немного углубитесь перовым сверлом 12 мм, сделав вокруг отверстия кольцевое углубление. Конус туда должен войти точно, после чего его можно обмазывать клеем. Можно его дополнительно зафиксировать в вертикальном положении на время застывания винтом М6 с гайкой.
Датчик скорости сам накрывает ось с этим конусом, как зонтиком, предотвращая попадание воды внутрь корпуса. Для флюгера стоит дополнительно разместить над конусом втулку, которая закроет зазор между осью и конусом от прямого стока воды (см. фото общего вида датчиков далее).
Провода от оптопар у меня выведены на отдельный разъем типа D-SUB (см. фото датчика направления выше). Ответная часть с кабелем вставляется через прямоугольное отверстие в основании корпуса. Отверстие затем прикрывается крышкой с прорезью для кабеля, которая удерживает разъем от выпадания.
В собранном виде оба датчика выглядят следующим образом:
Здесь они показаны уже установленными на место — на конек беседки. Обратите внимание, что углубления для крепящих крышку винтов защищены от воды заглушками из сырой резины. Датчики устанавливаются строго горизонтально по уровню, для чего пришлось использовать подкладки из кусочков линолеума.
Ультразвуковой анемометр
Этот тип прибора еще называют акустическим, т.к. его действие основано на изменении скорости звука в зависимости от скорости и направления ветра. Существую два типа приборов, способных измерять скорость и направление ветра в двухмерном (2D) и трёхмерном (3D) пространстве.
Современной метеорологии необходим прибор повышенной точности и расширенной функциональности. Нередко, помимо высокоточных датчиков измерения скорости и направления ветра, применяются устройства, обладающие рядом дополнительных функций: определяющих температуру, давление, влажность, содержание вредных примесей и другие технические показатели. Для современных анемометров и флюгеров, сегодня характерно:
Достойная альтернатива анемометрам Вайсала (Vaisala).
Чашечный, крыльчатый, лопастной анемометр (механический)
Чувствительный элемент устройства в виде вертушки с чашками, крыльями или лопастями на концах подвижно закреплен на оси прибора, соединенной с измерителем. Ветер заставляет вертушку с чашечками вращаться вокруг оси, а измерительный механизм считывает количество оборотов в единицу времени, преобразует его в расстояние, вычисляет скоростной показатель, а визуальную информацию выдает на шкалу прибора или цифровой дисплей. Такая конструкция появилась достаточно давно, но и сейчас она одна из самых распространенных.
Электронная часть
Метеостанция в целом состоит из двух модулей: выносного блока (который обслуживает оба датчика ветра, а также снимает показания с внешнего датчика температуры-влажности), и основного модуля с дисплеями. Выносной блок оборудован беспроводным передатчиком для отправки данных, установленным внутри него (антенна торчит сбоку).
Основной модуль принимает данные от выносного блока (приемник для удобства его ориентации вынесен на кабеле в отдельный блок), а также снимает показания с внутреннего датчика температуры-влажности и выводит все это на дисплеи. Отдельная составляющая основного блока — часы с календарем, которые для удобства общей настройки станции обслуживаются отдельным контроллером Arduino Mini, и имеют свои дисплеи.