Найти в Дзене
DIY

Датчики атмосферного давления BMP180 и BMP280.

Добрый день! В прошлых статьях мы разбирались с подключением датчиков атмосферного давления BMP180 и BMP280 к ардуино, а в этой мы будем сравнивать их показания.

Для начала посмотрим, что на эту тему пишет производитель:

Из таблицы видно, что BMP280 более точный, быстрый и может работать как по I2C, так и по SPI. Размеры приведены для самих датчиков, как выглядят модули можно посмотреть на фото ниже.

BMP280 - 15х12 мм, BMP180 - 13х11 мм.
BMP280 - 15х12 мм, BMP180 - 13х11 мм.

Как мы видим, у модуля BMP180 есть свой стабилизатор питания и его можно подключить как к 3,3В, так и к 5В. У модуля BMP280 стабилизатора нет и он подключается только к 3,3В.

Перейдем к сравнению показаний и подключим к ардуино оба модуля и датчик температуры DS18B20 для сравнения. Подробнее о подключении и все необходимые библиотеки есть в предыдущих статьях:

Модуль BMP180 подключим по шине I2C, модуль BMP280 по SPI, а датчик DS18B20 на D3 пин ардуино и обязательно подтянем линию данных к питанию 5В резистором на 4,7 кОм. Все это соберем на макетной плате, должна получится подобная конструкция:

-3

Далее соберем из трех примеров подключения такой скетч с выводом данных в монитор порта раз в 5 секунд:

-4

Скачать скетч

Открываем монитор порта и видим первое значение температуры в строке от датчика BMP180, второе от BMP280 и третье от DS18B20.

-5

И для сравнения обычный термометр, который лежал рядом:

-6

Результаты меня немного удивили, BMP280 показывает больше почти на 2 градуса. Все датчики находились в одинаковых условиях и те, что с разных сторон от него показывают более-менее одинаковую температуру. Перейдем к сравнению показаний атмосферного давления, для этого подключение можно не менять, можно только убрать DS18B20.

-7

И загрузить такой скетч для вывода показаний в монитор порта:

-8

Скачать скетч

Открываем монитор порта и видим первое значение атмосферного давления в мм рт.ст. от датчика BMP180, второе от BMP280.

-9

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

-10

Сравним эти показания по другим критериям, т.к. они выводятся в монитор порта в строку разделенные пробелом, мы можем вместо монитора открыть плоттер по последовательному соединению и посмотреть на разброс показаний.

Синий - BMP180, красный - BMP280.
Синий - BMP180, красный - BMP280.

Данный масштаб не позволяет сделать нормальное сравнение, поэтому сделаем некоторые изменения в скетче. При включении в void setup снимем по одному первоначальному показанию и уже в цикле будем от них отнимать текущие, так мы приведем показания с обоих датчиков к одному масштабу.

-12
Синий - BPM180, красный - BMP280.
Синий - BPM180, красный - BMP280.

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

Если статья была вам полезна ставьте лайк, подписывайтесь на мой канал, ведь впереди еще много интересного!

#diy #arduino #ардуино #электроника для начинающих #электроника #своими руками #сделай сам #микроконтроллеры #своимируками #технологии