Добрый день! В прошлых статьях мы разбирались с подключением датчиков атмосферного давления BMP180 и BMP280 к ардуино, а в этой мы будем сравнивать их показания.
Для начала посмотрим, что на эту тему пишет производитель:
Из таблицы видно, что BMP280 более точный, быстрый и может работать как по I2C, так и по SPI. Размеры приведены для самих датчиков, как выглядят модули можно посмотреть на фото ниже.
Как мы видим, у модуля BMP180 есть свой стабилизатор питания и его можно подключить как к 3,3В, так и к 5В. У модуля BMP280 стабилизатора нет и он подключается только к 3,3В.
Перейдем к сравнению показаний и подключим к ардуино оба модуля и датчик температуры DS18B20 для сравнения. Подробнее о подключении и все необходимые библиотеки есть в предыдущих статьях:
Модуль BMP180 подключим по шине I2C, модуль BMP280 по SPI, а датчик DS18B20 на D3 пин ардуино и обязательно подтянем линию данных к питанию 5В резистором на 4,7 кОм. Все это соберем на макетной плате, должна получится подобная конструкция:
Далее соберем из трех примеров подключения такой скетч с выводом данных в монитор порта раз в 5 секунд:
Открываем монитор порта и видим первое значение температуры в строке от датчика BMP180, второе от BMP280 и третье от DS18B20.
И для сравнения обычный термометр, который лежал рядом:
Результаты меня немного удивили, BMP280 показывает больше почти на 2 градуса. Все датчики находились в одинаковых условиях и те, что с разных сторон от него показывают более-менее одинаковую температуру. Перейдем к сравнению показаний атмосферного давления, для этого подключение можно не менять, можно только убрать DS18B20.
И загрузить такой скетч для вывода показаний в монитор порта:
Открываем монитор порта и видим первое значение атмосферного давления в мм рт.ст. от датчика BMP180, второе от BMP280.
Получилась тоже довольно большая разница, если перевести эту разницу в высоту в метрах получится свыше 55 метров. Но, к сожалению, сравнить эти показания мне не с чем, других барометров под рукой нет. Можно сравнить с сайтами погоды, они показывают что-то среднее, а если учесть, что я нахожусь в одной из самых высоких частей города и на втором этаже, то показания BMP180 ближе к истине, но это не совсем корректное сравнение.
Сравним эти показания по другим критериям, т.к. они выводятся в монитор порта в строку разделенные пробелом, мы можем вместо монитора открыть плоттер по последовательному соединению и посмотреть на разброс показаний.
Данный масштаб не позволяет сделать нормальное сравнение, поэтому сделаем некоторые изменения в скетче. При включении в void setup снимем по одному первоначальному показанию и уже в цикле будем от них отнимать текущие, так мы приведем показания с обоих датчиков к одному масштабу.
В таблице 1 было указано наличие у BMP280 фильтра значений, что мы и наблюдаем на графике. Я считаю , что если пропустить показания BMP180 через фильтр можно добиться такого же разброса как у BMP280.
Если статья была вам полезна ставьте лайк, подписывайтесь на мой канал, ведь впереди еще много интересного!
#diy #arduino #ардуино #электроника для начинающих #электроника #своими руками #сделай сам #микроконтроллеры #своимируками #технологии