Оглавление:

Автономный анемометр с регистрацией данных: 11 шагов (с изображениями)
Автономный анемометр с регистрацией данных: 11 шагов (с изображениями)

Видео: Автономный анемометр с регистрацией данных: 11 шагов (с изображениями)

Видео: Автономный анемометр с регистрацией данных: 11 шагов (с изображениями)
Видео: Метеостанция на esp8266 своими руками (часть 1) 2024, Июль
Anonim
Автономный анемометр с регистрацией данных
Автономный анемометр с регистрацией данных

Я люблю собирать и анализировать данные. Еще я люблю создавать электронные гаджеты. Год назад, когда я обнаружил продукты Arduino, я сразу подумал: «Я хотел бы собирать данные об окружающей среде». В Портленде, штат Орегон, был ветреный день, поэтому я решил получить данные о ветре. Я посмотрел на некоторые из инструкций по анемометрам и нашел их весьма полезными, но необходимо было внести некоторые технические изменения. Во-первых, я хотел, чтобы устройство работало автономно на открытом воздухе в течение недели. Во-вторых, я хотел, чтобы он мог записывать очень небольшие порывы ветра, некоторые из конструкций здесь требовали довольно сильного ветра для работы. Наконец, я хотел записать данные. Я решил выбрать действительно легкий ротор с минимально возможной инерцией и сопротивлением. Для этого я использовал все пластиковые детали (включая резьбовые виниловые стержни), шарнирные соединения и оптические датчики. В других конструкциях использовались магнитные датчики или настоящие двигатели постоянного тока, но оба из них замедляют ротор, оптика потребляет немного больше энергии, но не оказывает механического сопротивления. Регистратор данных - это просто Atmega328P с 8-мегабитным флеш-чипом. Я думал о SD, но хотел, чтобы стоимость, энергопотребление и сложность были низкими. Я написал простую программу, которая регистрировала двухбайтовый счетчик ротации каждую секунду. Я полагал, что с 8 мегабитами я смогу собрать данные примерно за неделю. В моем первоначальном дизайне я полагал, что мне понадобятся 4 элемента C, но через неделю они все еще были полностью заряжены, поэтому я, должно быть, был на порядок отключен по энергопотреблению. Я не использовал линейные регуляторы, я довел все шины до 6 В (хотя некоторые детали были рассчитаны на 3,3 В. Ура, чрезмерный дизайн!). Для загрузки данных у меня была сложная система, которая считывала флэш-память и выгружала ее на последовательный монитор Arduino, а я вырезал и вставлял ее в Excel. Я не тратил время, пытаясь понять, как написать USB-приложение для командной строки, чтобы сбросить флэш-память до стандартного уровня, но в какой-то момент мне нужно будет это выяснить. Результат оказался довольно неожиданным, я смог наблюдать несколько очень интересных тенденций, которые сохраню для другого отчета. Удачи!

Шаг 1: построить ротор

Постройте ротор
Постройте ротор
Постройте ротор
Постройте ротор

Я пробовал разные идеи для роторных чашек: пасхальные яйца, шары для пинг-понга, пластиковые стаканчики и пустые шары для украшения елки. Я построил несколько роторов и проверил их все с помощью фена, который обеспечил диапазон скорости ветра. Из четырех прототипов лучше всего работали декоративные снаряды. У них также были эти маленькие язычки, облегчающие прикрепление, и они были сделаны из жесткого пластика, который хорошо сочетается с поликарбонатным цементом. Я попробовал валы разной длины: малые, средние и большие (от 1 дюйма до 6 дюймов) и обнаружил, что большие размеры слишком сильно затягивают и плохо реагируют на низкие скорости ветра, поэтому я выбрал валы небольшого размера.. Поскольку все было из прозрачного пластика, я сделал небольшую удобную распечатку, чтобы помочь зажечь три лезвия. Материалы: Орнаменты поступили от Oriental Trading Company, товар "48/6300 DYO CLEAR ORNAMENT", 6 долларов плюс доставка 3 доллара. Пластиковые валы и структурный диск были приобретены в местном магазине TAP Plastics, примерно на 4 доллара дороже по частям.

Шаг 2: Постройте верхнюю базу

Постройте верхнюю базу
Постройте верхнюю базу
Постройте верхнюю базу
Постройте верхнюю базу

Чтобы уменьшить инерцию вращения, я использовал нейлоновый стержень с резьбой от McMaster Karr. Я хотел использовать подшипники, но подшипники машин заполнены смазкой, замедляющей ротор, поэтому я купил несколько дешевых подшипников для скейтборда, которых не было. Они просто оказались внутри трубного переходника из CPVC с внутренним диаметром 3/4 дюйма. Только когда я собрал конструкцию, я понял, что подшипники коньков выдерживают плоскую нагрузку, и я прикладывал вертикальную нагрузку, поэтому мне следовало использовать подшипник подруливающего устройства., но они работали отлично и, вероятно, помогли справиться с трением из-за прецессионного крутящего момента. Я планировал прикрепить оптический датчик к нижней части вала, поэтому я установил муфту из ХПВХ в более крупное основание. Home Depot - это интересное место для смешивания и Подходят фитинги из ХПВХ / ПВХ. В конечном итоге я смог вставить резьбовую муфту из ХПВХ 3/4 дюйма в переходник из ПВХ с 3/4 дюйма на 1-1 / 2 дюйма. Потребовалось много экспериментов, чтобы все подогнать, но оставалось достаточно места для электроники. Материалы: 98743A235 - Черный нейлоновый стержень с резьбой (резьба 5/16 "-18) 94900A030 - Черные нейлоновые шестигранные гайки (резьба 5/16" -18) Дешевые подшипники для скейтборда 3/4 "резьбовой переходник из ХПВХ 3/4" на 1 Переходник -1/2 дюйма из ПВХ на трубу с резьбой 3/4 дюйма Примечание: размеры муфт из ПВХ и ХПВХ не совпадают, вероятно, для предотвращения случайного неправильного использования; поэтому замена обычного ПВХ 3/4 дюйма на обычный переходник не сработает, однако РЕЗЬБА резьбового переходника такая же, что совершенно странно. Резьба муфты из ХПВХ во втулку переходника из ПВХ. Переходник… втулка… муфта… Я, наверное, путаю все эти термины, но 15 минут в проходе сантехники Home Depot поправят вас.

Шаг 3: оптический прерыватель

Оптический прерыватель
Оптический прерыватель
Оптический прерыватель
Оптический прерыватель

Когда ротор вращается, его вращение засчитывается оптическим прерывателем. Я думал об использовании диска, но это означало, что мне пришлось бы прикрепить источник освещения и детектор вертикально, что было бы очень сложно собрать. Вместо этого я выбрал горизонтальное крепление и нашел несколько чашечек, которые крепятся к основанию стульев для защиты паркетных полов. Я закрасил и заклеил шесть сегментов, что дало мне двенадцать (почти) однородных краев, или 12 тиков на оборот ротора. Я думал о большем, но не очень хорошо знал скорость детектора или поле зрения его оптики. То есть, если я зашел слишком узко, светодиод мог бы ползти по краям и активировать датчик. Это еще одна область исследований, которой я не занимался, но было бы неплохо исследовать. Раскрашенную чашку приклеил к гайке и прикрутил к концу вала. Материалы: Стул для ног протектор чашки вещь из краски Home Depot Black

Шаг 4: Присоедините ротор

Присоедините ротор!
Присоедините ротор!

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

Шаг 5: создайте нижнюю базу

Постройте нижнюю базу
Постройте нижнюю базу
Постройте нижнюю базу
Постройте нижнюю базу

Нижнее основание вмещает батареи и обеспечивает опорную конструкцию. Я нашел в сети довольно крутой водонепроницаемый бокс от компании Polycase. Это действительно гладкий корпус, который плотно закрывается, а винты шире у основания, поэтому они нелегко выпадают из верхней части. Я использовал ответвитель из ПВХ для верхней втулки из ПВХ. Этот нижний базовый элемент представляет собой просто резьбовую муфту из ПВХ размером 1-1 / 2 дюйма. Давление верхнего основания ротора соответствует нижнему основанию через эту муфту. Как вы увидите позже, я не склеивал эти части вместе, потому что я хотел иметь возможность открыть его и при необходимости отрегулировать, кроме того, сборка упрощается при прикреплении печатных плат. Материалы: Водонепроницаемая коробка от Polycase, товар № WP-23F, 12,50 долл. США Резьбовая муфта 1-1 / 2 из ПВХ

Шаг 6: Создайте оптический датчик

Создайте оптический датчик
Создайте оптический датчик

Сенсорный механизм представляет собой светодиод с длиной волны 940 нм и триггерный приемник Шмитта. Я люблю, люблю, люблю схему триггера Шмитта, она заботится обо всех моих проблемах и отправляет сигнал, совместимый с CMOS / TTL. Единственный недостаток? 5V работа. Да, я перегрузил всю конструкцию до 6 В, но я мог бы перейти на 3,3 В, если бы не эта часть. Идея состоит в том, что эта схема устанавливается под чашей ротора, которая прерывает луч при его повороте, генерируя логические переходы для каждого края. У меня нет четкого представления о том, как это было смонтировано. Я в основном приклеил два пластиковых патрубка к нижнему основанию ПВХ-муфты и прикрутил к ним сверху. Мне пришлось отшлифовать края доски, чтобы она аккуратно прилегала. У меня даже нет схемы для этого, это действительно просто: просто запустите резистор 1 кОм от Vin и подключите его так, чтобы светодиод всегда был включен, а выход детектора был на его контакте. Материалы: 1 светодиод, 940 нм, резистор 1 кОм 1 датчик OPTEK OPL550 1 трехконтактный штекер (розетка) 1 печатная плата 1,5 "x1,5" Различная длина проводов Термоусадочные трубки, если вам нравятся связки проводов

Шаг 7: Создайте регистратор данных

Создайте регистратор данных
Создайте регистратор данных
Создайте регистратор данных
Создайте регистратор данных
Создайте регистратор данных
Создайте регистратор данных
Создайте регистратор данных
Создайте регистратор данных

Макетная плата Arduino была слишком большой, чтобы поместиться в шасси. Я использовал EagleCAD, чтобы выложить меньшую печатную плату, и потерял один слой… мне понадобились четыре уродливых провода, чтобы заполнить несколько пробелов.

(Я думал, что измерил это при рабочей мощности ~ 50 мВт, и, основываясь на ватт-часах батарей, я думал, что через неделю у меня упадет ниже 5 В, но либо мои измерения мощности, либо мои вычисления были неправильными, потому что 4 С-элемента сохраняли собирался долго.) Достаточно незамысловатая компоновка: только резонатор, ATmega328, микросхема флеш-памяти, отладочная перемычка, отладочный светодиод, заглушка блока питания и все. Есть что-то под названием DorkBoard, которое я тоже мог бы использовать, это практически все, что нужно для платы разработчика ATMega328 размером с DIP-сокет. Я подумывал купить один, но мой дискретный подход был примерно на 50% дешевле. Вот ссылка на доркборд:

Вот основная идея (исходный код будет включен позже), как работает плата: Перемычка установлена в режим «отладки»: подключите прерывание изменения значения к выходу оптического датчика и мигайте тестовым светодиодом одновременно с датчиком. Это было очень полезно для отладки. Перемычка установлена в режим «запись»: прикрепить такое же прерывание к счетчику, а в основном цикле задержать 1000 мсек. По истечении 1000 мсек запишите количество краев на 256-байтовую страницу флэш-памяти, а когда страница заполнится, запишите его и сбросьте счетчик. Все просто, правда? Довольно много. Мне очень нравятся флеш-устройства Winbond, я проектировал флеш-память еще в 90-х, так что было весело программировать их снова. Интерфейс SPI великолепен. Так просто использовать. Я позволю схемам и исходному коду говорить сами за себя. Я уже говорил, что EagleCAD великолепен? Это действительно так. На YouTube есть несколько отличных руководств.

Шаг 8: прикрепите электронику

Присоедините электронику
Присоедините электронику

Опять же, у меня здесь не так много хороших фотографий, но если вы представите две пластиковые стойки, приклеенные к внутренней части ПВХ, обе доски прикручены к нему. Вот снимок платы регистратора, подключенной к дну. Плата извещателя находится внутри корпуса.

Шаг 9: Калибровка

Калибровка
Калибровка
Калибровка
Калибровка
Калибровка
Калибровка
Калибровка
Калибровка

Я сделал испытательный стенд для калибровки зверя, чтобы я мог преобразовать исходное количество ротора в миль в час. Да, это 2х4. Я прикрепил анемометр к одному концу, а отладочную Arduio - к другому. На ЖК-дисплее отображается количество ротора. Процесс проходил так: 1) Найти длинную прямую дорогу без движения. 2) Держите 2x4 так, чтобы он выглядывал как можно дальше в окно 3) Включите запись голоса на вашем iPhone или Android 4) Включите цифровой GPS-спидометр на своем портативном устройстве по выбору 5) Двигайтесь устойчиво на нескольких скоростях и объявите записывает скорость и средний ротор. 6) Не разбивается 7)? 8) Позже, когда вы не водите машину, воспроизведите свое телефонное сообщение и введите данные в Excel и надейтесь, что линейная, экспоненциальная или полиномиальная соответствует значению R-квадрата больше 99%. Этот номер преобразования будет использоваться позже. Устройство собирает только необработанные данные, я обработал их до MPH (или KPH) в Excel. (Я упоминал, что нанес крутой слой оливково-серой краски? Я бы назвал это «Тактическим анемометром регистрации данных», но потом я вспомнил, что «Тактический» означает «черный».)

Шаг 10: Соберите данные о ветре

Собери данные о ветре!
Собери данные о ветре!
Собери данные о ветре!
Собери данные о ветре!
Собери данные о ветре!
Собери данные о ветре!

Это почти все. Я думаю, что не хватает нескольких картинок, например. не показаны четыре С-клетки, втиснутые в нижнее основание. Я не смог установить подпружиненный держатель, поэтому пришлось припаять провода к самим батареям. Я пишу это руководство через год после того, как построил его, и в версии №2 я использовал батарейки AA, потому что я сильно переоценил энергопотребление. Использование AA позволило мне добавить двухпозиционный переключатель и действительно освободило место внутри, в остальном это было довольно сложно. В целом я остался доволен дизайном. На графике ниже показаны усредненные данные за одну неделю. Аккумуляторы начали разряжаться на седьмой день. Я мог бы увеличить срок службы батареи, запустив светодиод в более низком рабочем цикле на частоте около 1 кГц, и я бы не потерял никаких краев из-за сравнительно низкой угловой скорости ротора.

Повеселись! Сообщите мне, если вы заметите, что можно улучшить!

Шаг 11: Исходный код

Прилагается единственный исходный файл Arduino. Я использовал GPL, потому что, эй, GPL.

РЕДАКТИРОВАТЬ: Я хотел бы указать, что моя реализация использования задержки в 1 с () - ужасная идея, и в ч. Количество времени, необходимое для записи во флеш-память и чтения датчика, может показаться небольшим, но в течение 7 -10 с, это дает значительный дрейф. Вместо этого используйте прерывание по таймеру 1 Гц (таймер № 1 на 328P можно точно откалибровать на 1 Гц). Чтобы быть в безопасности, вы должны закодировать забор на случай, если запись страницы и чтение датчика по какой-то причине занимает больше 1 секунды (обработка отброшенных выборок), но прерывание таймера - это способ делать вещи, которые должны быть, ну, во времени- точный. Ваше здоровье!

Рекомендуемые: