Последние статьи из блога
- MegaD-485-TTL - изолированный конвертер индустриального класса
- MegaD-4VC - подключаем сигналы 0-10В и 4-20мА к контроллеру
- MegaD-4CM - высокоточный 4-х канальный измеритель тока
- MegaD-4US - 4-х канальный датчик напряжения на DIN-рейку
- Как я боролся с собаками с помощью нейросети
- Интеграция ультразвукового датчика скорости и направления ветра
- Установка WiFi-камеры на робота-газонокосилку
- Твердотельный датчик направления и скорости ветра. Эксперимент
- iPhone на стене в качестве панели управления домом
- MegaD-16M-XT - подсветка выключателей и не только
- Переделка выключателей в кнопки и мини-обзор текущего рынка
- RadSens - модульный счетчик Гейгера с интерфейсом I2C
- "U" - значит универсальный. Обзор модуля MegaD-16U-XT
- SCD4x - современная альтернатива для измерения концентрации CO2
- HTU31D - новый датчик температуры и влажности с нагревательным элементом
- Измерение коэффициента пульсации ламп с помощью MegaD-2561
DPS368 - датчик атмосферного давления индустриального класса повышенной точности
09/04/2021 14:58:44
Контроллер MegaD-2561 поддерживает несколько альтернативных вариантов для измерения температуры и влажности воздуха. А перечень поддерживаемых прошивкой датчиков данного типа разных производителей периодически расширяется. Но вот атмосферное давление можно было получить исключительно с помощью изделий от Bosch Sensortec: BMP180, BMP280/BME280, BME680.
Сенсор BMP180 и так не отличался высокой точностью, а ныне совсем устарел и снят с производства. BME680 не дешев, снабжен сомнительной с точки зрения реализации функцией оценки качества воздуха, а потому не снискал признания пользователей. И только BME280 с момента своего появления и по сей день остается популярным и активно применяется, став, по-моему, чем-то вроде "золотой середины". При относительно невысокой цене этот датчик предлагает сразу 3 функции: измерение температуры, влажности и атмосферного давления, обеспечивая вполне удовлетворительную точность для бытовых нужд рядового любителя домашней автоматизации. Но доступно ли на рынке сегодня какое-то более современное и продвинутое решение для измерения атмосферного давления? Конечно да. Предлагаю в данном материале рассмотреть датчик DPS368 от конкурирующей немецкой компании Infineon Technologies AG, расположенной в Баварии.

Высокоточный датчик атмосферного давления и температуры DPS368
DPS368 не измеряет влажность. Сенсор предназначен только для измерения атмосферного давления и температуры, но у него есть ряд существенных преимуществ. Прежде всего, относительная и абсолютная точность примерно в два раза выше, чем у BME280. К примеру, относительная погрешность DPS368 составляет всего 0,045 мм.рт.ст., а шаг измерения всего 0,0015 мм.рт.ст. (я буду приводить все измерения в этих единицах, так как они более привычны), в то время как у BME280 относительная погрешность заявлена 0,09 мм.рт.ст. Такая точность сенсора позволяет по мнению производителя использовать DPS368 в фитнес-браслетах и смартфонах в качестве датчика падения. Ведь атмосферное давление зависит от высоты расположения датчика. DPS368 способен "распознать" изменение высоты/давления всего на 20 см.
В прошивке MegaD-2561 датчик DPS368 переводится в режим High precision (высокая точность) background mode. В этом режиме датчик производит 64 измерения в секунду и самостоятельно усредняет значения. Контроллеру остается только считать уже подготовленные данные, что занимает минимальное количество микропроцессорного времени. Считывание данных с датчика BME280 происходит ощутимо дольше. Это связано и с особенностью работы самого датчика и с необходимостью производить очень сложные вычисления. DPS368, как и BME280, также требует загрузки калибровочных коэффициентов для расчета реальной величины атмосферного давления. Но самих калибровочных коэффициентов меньше, а алгоритм расчета значительно проще. Замечу, что MegaD-2561 запрашивает калибровочные коэффициенты в момент запуска и инициализации, сохраняя их в энергонезависимую память и не тратит на это ресурсы во время работы.

Интересной особенностью DPS368 является то, что он способен функционировать в сложных условиях. Датчик сертифицирован для индустриального применения и устойчив к воздействию воды и пыли. И это мягко сказано. Датчик имеет уровень защиты IPX8. Это означает возможность полного и длительного погружения в воду на глубину более 5 м. Производитель декларирует способность датчика выдержать час на глубине 50 метров. Не знаю, насколько это актуально именно для датчика атмосферного давления, который совершенно не обязательно размещать на улице, но фича любопытная.
С измерением температуры дела обстоят скромнее. Все те же традиционные плюс-минус 0,5C с шагом 0,1C. Это понятно. Температура необходима датчику, главным образом, для расчета компенсационного коэффициента и последующей корректировки значения атмосферного давления.
Таким образом, если подвести предварительный "бумажный" итог, DPS368 быстрее, точнее и потенциально надежнее. И что также важно, его не предлагают на Aliexpress, а следовательно нет и подделок. Но что же все это означает на практике? Я решил провести краткий сравнительный тест DPS368 vs BME280. И получил следующие результаты.
Прежде всего, следует отметить, что из нескольких протестированных выборочно датчиков DPS368, разброс значений температуры и атмосферного давления был минимальным. Так, например, разница в показаниях атмосферного давления у разных экземпляров не превышала 0,02 мм.рт.ст. Очень неплохой результат. Разброс значений атмосферного давления у BME280, которые есть у меня в наличии, тоже не слишком велик - в пределах 0,2-0,25 мм.рт.ст. Но, если говорить формально, это в 10 раз больше! То же касается и температуры.

Атмосферное давление. Красный график - DPS368; cиний график BME280
Графики атмосферного давления BME280 и DPS368 в целом совпадают по форме, но очевидно одно принципиальное отличие. График DPS368 более плавный, так как мы получаем уже усредненные датчиком значения, в то время как график BME280 местами несколько "дрожит". В этом смысле DPS368 скорее всего ближе к реальности, так как при отсутствии резких изменений погоды, атмосферное давление не может бесконечно прыгать в пределах 0,01 мм.рт.ст. Ну а на разницу в показаниях двух датчиков примерно на 0,15 мм.рт.ст. я бы обращать внимание не стал. Во-первых, она достаточно мала, а во-вторых, напомню, у BME280 даже из одной партии разброс показаний выше. Другой экземпляр BME280 вполне может выдать идентичные с DPS368 значения или наоборот, чуть ниже. В отсутствии сертифицированного эталонного прибора сложно сказать, какое значение атмосферного давления на момент тестирования лучше отражает реальность, но чисто интуитивно хочется верить, что точнее более современные DPS368 с небольшим разбросом показаний у разных экземпляров. Другого критерия пока нет.

Температура. Красный график - DPS368; синий график BME280
Формы температурных графиков BME280 и DPS368 полностью совпадают и даже колебания (дрожание) почти идентичны. В остальном ситуация аналогичная. Разница в показаниях совсем не существенная, но один экземпляр BME280 может отображать температуру чуть выше, другой - чуть ниже. DPS368 и здесь стабильнее. Я, кстати, решил сравнить показания температуры DPS368 с высокоточным TMP117. Выяснилось, что они практически не отличаются. Разница не превысила 0,05С! Данный факт подтверждает, что с точностью у DPS368, похоже, все в порядке.
Сделаю краткие выводы. Как BME280, так и DPS368 достаточно хорошо справляются с задачей измерения атмосферного давления и температуры. Различия в показаниях объективно не слишком принципиальные. Однако если вы перфекционист, то DPS368 кажется более удачным выбором, так как у этих датчиков ниже погрешность, меньше разброс и выше точность. Но самое главное, MegaD-2561 считывает и обрабатывает данные с DPS368 существенно, пожалуй, на порядки быстрее, а значит этот датчик лучше подходит для нашего контроллера.
Небольшая ремарка. На плате датчика не смонтированы подтягивающие резисторы, так как они есть на цифровых портах контроллера MegaD-2561. Если планируется подключать датчик к какому-либо другому оборудованию, следует предусмотреть внешнюю подтяжку или смонтировать резисторы на плате датчика.
Автор: Andrey_B
Любое использование материалов сайта возможно только с разрешения автора и с обязательным указанием источника.
Добавить комментарий:
Сортировка комментариев: Последние сверху | Первые сверху
2021-04-09 15:17:00 | Ruslan
Спасибо за очередную статью! Как всегда все интересно, наглядно и познавательно.
Правда, лично для себя пока не придумал, как можно "в быту" использовать показания атмосферного давления. Может быть для предсказания погоды...
Но меня, как водится, посетила мысль о нестандартном использовании. А что, если попробовать с помощью датчика измерять уровень жидкости в емкости. Взять 2 таких датчика. Один будет располагаться где-нибудь неподвижно, а другой -- на поплавке в емкости. Раз можно уловить перепад высот около 20 см, думаю, будет вполне реальным приблизительно определить уровень жидкости в емкости, исходя из разности показаний датчиков.
Ну это так,... мысли вслух...
2021-04-09 17:21:51 | Andrey_B
Ruslan, в алгоритмах предсказания погоды используется атмосферное давление и его изменение. Но часто не требуется подглядывать ни в какой прогноз. Если, к примеру, давление в течение дня упорно стремится вниз, жди ухудшения погоды. Интересные кульбиты выписывает график в летний шторм. Это просто любопытно. Ну когда вдруг заболит голова, смотришь на давление, и понимаешь, что это не из-за того, что ты вчера принял лишнего на грудь, а просто вот давление что-то слишком низкое сегодня.
Идея использовать два датчика для определения уровня воды в емкости интересная. Пожалуй, вполне имеет право на существование.
2021-10-25 02:45:53 | Михаил
Андрей, спасибо за интересную статью! Заказал у вас пару наряду с другими аппаратами, все работает. Четко и надёжно. Отзывы только положительные.
2026-02-04 12:30:58 | Сергей
по поводу измерения уровня жидкости в емкости предложу датчик MPX5010DP - этот до метра измеряет, есть и другие версии датчика на другую глубину... у меня была задача - для летнего душа определять объем воды в бочке... использовал этот датчик (подключал через ардуинку) - пока не лето, провел только испытания - в полуторалитровой бутылке исправно показывает уровень, в том числе оперативно реагирует на изменение уровня... сам датчик вне бочки, от него в бочку опускаешь трубку до дна, по разнице давлений он и определяет уровень
2026-02-04 12:43:22 | Сергей
погрешность у MPX5010DP - плюс минус 2.5см.. это максимальная.. можно откалибровать и уменьшить