Ультразвуковой анемометр на одной паре датчиков

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

Вводная

До этого, я делал трехчашечный анемометр из двигателя компьютерного вентилятора, где считал импульсы с датчика холла.
Основная претензия была к результатам, т.к. по ощущениям он врал, а поверить прибор на месте мне нечем. Хотел в штиль покататься с ним на машине, но к сожалению, самодельная конструкция не выдержала проверку временем и суровым климатом — отваливались чашечки. остов от старого анемометраТак и не дождавшись поверки прибор окончательно вышел из строя (на фото справа моторчик уже без чашек и датчик влажности). Чашечный анемометр имеет еще один недостаток — он не показывает направление — только скорость. Есть правда модификации с флажком на одной из чашек, но там гораздо сложнее математика, которой в интернете я не нашел, да и исполнение получается еще сложнее.

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

Прототип анемометра

Для этого потребуется взять паяльник и отпаять у HC-SR04 один из датчиков на выбор — либо приемник, либо передатчик и закрепить его с противоположной стороны, где у нас было препятствие удлинив двужильным проводом. Почему нельзя оставить HC-SR04 в сборе, думаю понятно. Если ничего не менять, то при наличии встречного ветра скорость звука до препятствия будет меньше, а при отражении от препятствия по пути обратно на ту же величину увеличится. В результате средняя скорость будет такой же как и при штиле. Другое дело, если приемник и передатчик разнести. Во-первых, сразу повышается точность ультразвукового термометра, т.к. отсутствует отражение. Во-вторых, теперь температура будет «прыгать» от ветра. Воспользуемся формулой из первой статьи Теория и перепрограммируем наш arduino. При этом, не забудем подставить измеренную температуру воздуха с датчика DS18B20. Я же пошел чуть дальше и прикрутил сюда же датчик влажности DHT-21. В нем также есть датчик температуры, поэтому можно обойтись без DS18B20. Опытным путем было установлено, что DS18B20 немного быстрее реагирует на изменение температуры чем DHT-21 и дает чуть более точные данные, поэтому в формулу я подставил значения именно с него, хотя для погодной станции, в составе которой будет работать данный анемометр, это не принципиально — все равно данные усредняются за большой период.

прототип2Настройка ультразвукового анемометра

Юстировку системы проводить очень просто. Нужно создать тепличные условия, а именно — расположиться в помещении с устоявшейся температурой и отсутствием сквозняков, т.е. статичным воздухом (подальше от стен, окон и батарей). Защитить датчик температуры от прямого попадания на него любых лучей света, особенно инфракрасного диапазона. В промышленных образцах температурный датчик прячут в стенке полой трубки. Ждем минут 5 пока устаканиться значение температуры и запоминаем среднее значение расчетной дистанции, которое выдает программа. Подставляем полученное значение в переменную defDist. Даже если по линейке у вас получилось немного другое значение, наша задача выставить ноль в столбце со скоростью. После этого прибор готов к употреблению. Приятного аппетита. Пример вывода откалиброванного датчика в почти «стерильных» условиях. Данные пишутся так, чтобы их потом было удобно вставить в Эксель. Значения по порядку:

  1. X — коэффициент, отражающий влияние влажности;
  2. Дистанция в метрах;
  3. Температура с DS18B20, градусы;
  4. Температура ультразвукового датчика (расчетная), градусы;
  5. Температура с датчика DHT-21, градусы;
  6. Влажность с датчика DHT-21, %;
  7. Скорость ветра (проекция на ось между датчиками), м/с.

Видно, что точность измерения расстояния в таких спокойных условиях достигает долей миллиметра, а скорость ветра до 0.1 м/с. Увы, в боевых условиях все не так красиво.

Программа расчета скорости ветра

Код простейшей программы с использованием ультразвукового датчика HC-SR04 представлена ниже. Дальше обязательно буду ее совершенствовать, применять фильтры. Добавлю еще датчик давления, не потому что он очень нужен, просто он у меня есть.

код программы

Недостатки

DSC_3906

Такой анемометр должен быть ориентирован по ветру, например установкой на флюгер. Возникает проблема с проводами. К тому же он не покажет направление ветра. Поэтому изначально я планировал систему из 2х перпендикулярных пар датчиков из двух HC-SR04. Этот прототип нужен для практического подтверждения теории и выявления слабых мест. О них я уже писал — это хорошо защищенный и мало инерционный датчик температуры, а также отсутствие любых препятствий в зоне направленности ультразвуковых датчиков. Материал основания должен быть прочными, гладким с минимальным количеством углов и, желательно, не менять своей геометрии от температуры. Также была мысль использовать такой анемометр для измерения воздушной скорости своего параплана и построения его поляры, но там нужна хорошая точность. Поэтому возможно вернусь к этой идее когда отполирую прототип. Я пока думаю из чего сделать, ну а о результатах расскажу в следующий раз

Ультразвуковой анемометр на одной паре датчиков: 2 комментария

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *