Главная » Arduino
Призовой фонд
на ноябрь 2017 г.
1. Термометр Relsib WT51
Рэлсиб
2. 1000 руб
PCBWay
3. Тестер компонентов LCR-T4
Паяльник
4. 200 руб.
От пользователей

Барометр с расширенными функциями

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

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

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

Внешний вид устройства представлен на фотографии.

Барометр с  расширенными функциями

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

Во вторую строку индикатора выводятся приращения давления за последний час, три часа и десять часов. Если давление за указанный временной промежуток возросло, то соответствующее приращение выводится с плюсом, в противном случае - с минусом. Данные во второй строке обновляются каждые 10 минут.  Сразу после включения барометра вторая строка будет пуста. Числовые значения появятся там по прошествии 1-го часа, 3-х часов и 10-ти часов соответственно.

Барометр предназначен для работы в сухом отапливаемом помещении при температуре 0...40 °C и атмосферном давлении 600...825 мм рт. ст.

Точность измерения давления и температуры полностью определяется точностью использованного датчика давления BMP180 фирмы Bosch. Типовая погрешность измерения давления составляет -1hPa, что примерно соответствует 0.75 мм.рт.ст. Шумовая составляющая при измерении давления - 0.02 hPa (0.015 мм.рт.ст.). Типовая погрешность измерения температуры вблизи значения 25 °C составляет +/- 0.5°C. Более детально с техническими характеристиками датчика BMP180 можно ознакомиться по тех. описанию, находящемуся в приложении.  

Интервалы времени в данном устройстве отсчитываются программно. Погрешность формирования этих интервалов, измеренная автором, не превышает одной минуты за 10 часов.  

Схема барометра приведена на рисунке.

Схема барометра

Основным элементом устройства является модуль Arduino Nano.  Автор использовал 3-ю версию с микроконтроллером ATmega 328. Память модуля в данном случае занята только на треть, по этому возможно применение модуля Arduino Nano с микроконтроллером ATmega 168. 

Дисплей Winstar WH1602L - двухстрочный на 16 знакомест в каждой строке. Его основой является контроллер HD44780.  Резистор R2 позволяет подстроить контрастность изображения. Если напряжение на выводе 3 (Vo) будет сильно отличаться от оптимального, то на дисплее совсем не будет видно никакого изображения. Это обстоятельство необходимо учитывать при первом включении устройства. Для экземпляра дисплея, используемого автором, оптимальным оказалось напряжение на выводе 3 около 1 В.  Резистор R3 определяет величину тока светодиодов подсветки. 

Датчик давления BMP180 имеет металлический корпус размером 3.6х3.6x1 мм. Выводы его представляют собой контактные площадки, расположенные на дне корпуса. Кроме того датчик требует питания 1.8 - 3.6 В. Уровни сигналов, которыми датчик обменивается с внешним устройством, также отличаются от требуемых. Эти обстоятельства затрудняют непосредственное использование BMP180. К счастью данная проблема легко решается. В продаже имеются модули на основе датчиков BMP180, в состав которых входят сами датчики и все согласующие элементы. Эти модули представляют собой плату размером 10x13 мм. Их стоимость - примерно 1.4 USD.  Внешний вид модуля представлен на следующей фотографии.

Светодиод HL1 вспыхивает каждые 6 секунд сигнализируя о том, что на табло барометра выведены новые результаты.  Автор использовал зелёный светодиод диаметром 3 мм  L-1154GT фирмы Kingbright. 
Конденсатор C1 имеет довольно большую ёмкость, что  делает устройство нечувствительным к  кратковременным сбоям питания. Если  это не требуется, то  C1 можно уменьшить до 500 микрофарад.  
Диод D1 отключает подсветку индикатора при сбоях питания. Это увеличивает время автономной работы барометра от энергии, запасённой в конденсаторе C1. 

Устройство можно питать от любого источника постоянного тока (зарядного устройство сотового телефона, блока питания какого-либо гаджета и т.п.) с выходным напряжением 8...12 В. При напряжении 9 В барометр потребляет около 80 mA.    

Устройство собрано на макетной плате размером 85 х 55 мм, которая прикреплена к дисплею с помощью пластины из оргстекла. 

Датчик BMP180 располагается внизу - как можно дальше от основных тепловыделяющих элементов, которыми являются резистор R3 и дисплей со светодиодной подсветкой. Корпусом устройства является  пластмассовая  коробка размером 160х160х25. В нижней и верхней стенках коробки следует просверлить ряд вентиляционных отверстий.

Скетч, который нужно прошить в память модуля Arduino Nano, представлен в приложении. Автор использовал среду Arduino IDE 1.8.1. Для поддержки датчика давления требуется установить библиотеку Adafruit-BMP085. Соответствующий файл имеется в приложении.

Перед загрузкой скетча в строке 17 следует вместо числа 740.0, которое соответствует среднему давлению в месте установки авторского экземпляра барометра, вписать среднее давление в мм. рт. ст. , соответствующее тому месту, где будет установлен Ваш барометр. В первом приближении этот параметр можно определить по формуле Рср = 760 - 0.091h, где h -высота над уровнем моря в метрах. Высоту проще всего определить с помощью GPS навигатора.

Данная формула не учитывает многие факторы, влияющие на атмосферное давление и применима только для высот до 500 м. Описание способов более точного определения среднего давления выходит за рамки данной публикации. С ними можно ознакомиться по многочисленным материалам посвящённым метеорологии, которые имеются в интернете.

Список радиоэлементов

Обозначение Тип Номинал Количество ПримечаниеМагазинМой блокнот
A1 Модуль с датчиком BMP1801 Поиск в LCSCВ блокнот
A2 Плата Arduino
Arduino Nano 3.0
1 Поиск в LCSCВ блокнот
VD1 Выпрямительный диод
1N4007
1 Поиск в LCSCВ блокнот
HG1 LCD-дисплейWH1602L1 WinstarПоиск в LCSCВ блокнот
HL1 СветодиодL-1154GT1 KingbrightПоиск в LCSCВ блокнот
С1 Электролитический конденсатор4700 мкФ х 16 В1 Поиск в LCSCВ блокнот
С2 Электролитический конденсатор220 мкФ х 16 В1 Поиск в LCSCВ блокнот
R1 Резистор
1 кОм
1 Поиск в LCSCВ блокнот
R2 Подстроечный резистор10 кОм1 Поиск в LCSCВ блокнот
R3 Резистор
100 Ом 0.5 ВА
1 Поиск в LCSCВ блокнот
Добавить все

Скачать список элементов (PDF)

Прикрепленные файлы:

Теги:

Опубликована: 0 0
Я собрал 0 0
x

Оценить статью

  • Техническая грамотность
  • Актуальность материала
  • Изложение материала
  • Полезность устройства
  • Повторяемость устройства
  • Орфография
0

Средний балл статьи: 0 Проголосовало: 0 чел.

Комментарии (4) | Я собрал (0) | Подписаться

+1
Публикатор #
На форуме автоматически создана тема для обсуждения статьи.
Ответить
0
bytex #
Давно хотел собрать что-то похожее. Но вот информативность мне показалась неудобной. Если бы в виде графика, было бы супер. Но всё равно автору респект!
Ответить
0

[Автор]
Starik #
Уважаемый bytex, спасибо за интерес, проявленный к данной публикации. Я полностью согласен с Вами - графическая форма нагляднее, но тут есть одна сложность - как выбрать масштаб графика? Если "размахнуть" на вертикальную ось всю шкалу - скажем от 700 до 800 мм. рт. ст., то не будет видно обычных, повседневных (не штормовых) изменений давления. Практически будет прямая линия в середине дисплея и всё, а шторма у нас в подмосковье бывают редко... Если подстраивать масштаб под реальный график, то пропадает наглядность. Нужно будет каждый раз смотреть на текущий масштаб и вычислять - на сколько сильно меняется давление. Идеальный вариант - и цифры и график, но тогда нужен серьёзный дисплей...
Ответить
0
Zlodey #
Ну да, визуально как-то не очень понятно что к чему
Ответить
Добавить комментарий
Имя:
E-mail:
не публикуется
Текст:
Защита от спама:
В чем измеряется электрическое сопротивление?
Файлы:
 
Для выбора нескольких файлов использйте CTRL

Arduino UNO
Arduino UNO
Радиореле 220В AVR-программатор USB ASP
вверх