Перейти к содержанию

BMP280 — цифровой датчик давления и температуры Bosch

BMP280 — барометр Bosch Sensortec в корпусе 2,0 × 2,5 мм: абсолютное давление и температура по I²C или SPI. Его берут для высотомеров, метеостанций и определения этажа, а на модулях его часто путают с BME280. Разбираем по даташиту питание, адреса, точность, режимы, выводы и чем он отличается от BME280 и BMP180.

Обновлено Редакция GAW

BMP280 — абсолютный барометр: пьезорезистивная мембрана, АЦП и схема компенсации в одном металлическом корпусе LGA. Микросхема выдаёт сырые коды давления и температуры, а физические величины считают по формулам из даташита с заводскими калибровочными коэффициентами, записанными в её память. Bosch называет BMP280 преемником BMP180: меньше корпус, ниже шум и ток, добавлены SPI и фильтр. Сравнение с другими барометрами — в статье «Датчики давления», пересчёт давления в высоту — в калькуляторе барометрической высоты.

Коротко

  • Питание — VDD 1,71–3,6 В (пульсации до 50 мВ размаха), VDDIO 1,2–3,6 В; предел 4,25 В.
  • Интерфейс — I²C до 3,4 МГц (адреса 0x76 и 0x77) или SPI до 10 МГц, 3 или 4 провода.
  • Давление — 300–1100 гПа; ±1,0 гПа абсолютная и ±0,12 гПа относительная точность (типично).
  • Шум — 1,3 Па без фильтра и 0,2 Па с фильтром, то есть 11 и 1,7 см высоты.
  • Температура — ±0,5 °C при 25 °C, ±1,0 °C при 0…65 °C.
  • Ток — 2,8 мкА типично при одном измерении в секунду, 0,1 мкА во сне.
  • Корпус — LGA-8 2,0 × 2,5 × 0,95 мм, шаг 0,65 мм, вентиляционное отверстие в крышке.

Распиновка

Нумерация такая же, как у BME280: в виде сверху выводы идут по часовой стрелке, вывод 1 — в углу у вентиляционного отверстия. На рисунке 14 даташита Bosch даёт оба вида: сверху (площадки не видны) и снизу, со стороны площадок, где та же нумерация идёт против часовой стрелки. Посадочное место рисуют по виду снизу и чертежу корпуса, а не зеркалят вид сверху.

ВыводОбозначениеНазначениеПри I²CПри SPI (4 провода)
1GNDобщийGNDGND
2CSBвыбор микросхемы, активный ноль, внутренняя подтяжкана VDDIOCS
3SDIданныеSDAMOSI
4SCKтактовый сигналSCLSCK
5SDOданные / младший бит адресаGND — 0x76, VDDIO — 0x77MISO
6VDDIOпитание интерфейсаVDDIOVDDIO
7GNDобщийGNDGND
8VDDпитание датчикаVDDVDD

Интерфейс выбирается по CSB: на VDDIO — I²C; первый же ноль на CSB включает SPI до следующего включения питания. Поэтому для I²C вывод CSB подключают прямо к VDDIO, а не к выводу микроконтроллера, который при старте может оказаться в нуле. На обоих питаниях Bosch рекомендует по конденсатору 100 нФ. Если VDDIO подано, а VDD нет, выводы интерфейса остаются в высокоимпедансном состоянии и не мешают шине.

Параметры

По таблице 2 даташита. Типичные токи и времена — при 25 °C. Минимумы и максимумы дрейфов, смещений и температурных коэффициентов у Bosch — это ±3σ за срок службы, но для абсолютной точности давления и температуры в таблице даны только типичные значения.

ПараметрЗначение
Питание VDD / VDDIO1,71–3,6 В (тип. 1,8 В) / 1,2–3,6 В
Ток при 1 измерении в секунду, наименьшая мощность2,8 мкА тип., 4,2 мкА макс.
Пиковый ток при измерении давления720 мкА тип., 1120 мкА макс.
Ток при измерении температуры325 мкА
Ток во сне / в паузе режима normal0,1 и 0,2 мкА тип., до 0,3 и 0,5 мкА
Давление: диапазон с полной точностью300–1100 гПа при 0…65 °C
Давление: абсолютная точность±1,0 гПа при 0…65 °C, ±1,7 гПа при −20…0 °C
Давление: относительная точность±0,12 гПа при 700–900 гПа, 25…40 °C, VDD = 3,3 В
Давление: температурный коэффициент смещения±1,5 Па/К (12,6 см/К)
Давление: разрешение / шум0,0016 гПа / 1,3 Па без фильтра, 0,2 Па с фильтром
Влияние питания±0,005 Па/мВ
Долговременная стабильность±1,0 гПа за 12 месяцев
Дрейф после пайкиот −0,5 до +2 гПа
Температура: точность / разрешение±0,5 °C при 25 °C, ±1,0 °C при 0…65 °C / 0,01 °C
Время до первого обмена после включения2 мс
Частота измерений при ×1157 Гц мин., 182 Гц тип.

Ток при одном измерении в секунду в даташите встречается трижды и с разными цифрами: 2,7 мкА на первой странице, 2,74 мкА в таблице 12 для режима «ultra low power» и 2,8 мкА в таблице 2. Различие в пределах округления; для расчёта батареи берём максимум 4,2 мкА. Абсолютная точность ±1 гПа на первой странице указана для 950–1050 гПа и 0…40 °C, а в таблице — для всего диапазона 300–1100 гПа и 0…65 °C. Температура, как и у BME280, — это температура кристалла: по примечанию к таблице она обычно выше окружающей.

Режимы и настройки

Режимов три. Sleep — сон после включения питания. Forced — одно измерение по команде, затем сон. Normal — непрерывные измерения с паузой t_sb из ряда 0,5; 62,5; 125; 250; 500; 1000; 2000; 4000 мс. Для давления и температуры задают передискретизацию от ×1 до ×16, для давления — IIR-фильтр с коэффициентом 2, 4, 8 или 16; после записи нового коэффициента фильтр начинает заново.

Задача по BoschРежимДавление / температураФильтрТок, мкАЧастота, ГцШум, см
метеостанцияforced×1 / ×1выкл.0,141/6026,4
определение этажаnormal×4 / ×1450,97,36,4
обнаружение паденияnormal×2 / ×1выкл.50912520,8
навигация в помещенииnormal×16 / ×21665026,31,6

Время одного измерения растёт с передискретизацией: 5,5 мс типично (6,4 мс максимум) при ×1 и 37,5 мс (43,2 мс) при ×16 для давления и ×2 для температуры. Наш вывод: в режиме forced данные читают не раньше, чем через максимальное время из таблицы 13, или ждут, пока сбросится бит 3 (measuring) регистра статуса 0xF3.

Чем BMP280 отличается от BME280 и BMP180

BMP180BMP280BME280
Что измеряетдавление, температурудавление, температурудавление, температуру, влажность
Корпус3,6 × 3,8 мм2,0 × 2,5 × 0,95 мм2,5 × 2,5 × 0,93 мм
Наименьшее VDD / VDDIO1,80 / 1,62 В1,71 / 1,20 В1,71 / 1,2 В
ИнтерфейсыI²CI²C, SPII²C, SPI
Шум давления3 Па1,3 Па1,3 Па
Идентификатор 0xD0—0x580x60

Столбцы BMP180 и BMP280 — по таблице 1 даташита BMP280, столбец BME280 — по даташиту BME280. По регистрам давления и температуры BME280 совместим с BMP280, поэтому одна библиотека часто поддерживает оба; но датчика влажности у BMP280 нет, и такие модули продают и под именем BME280 — проверяют по идентификатору. Подробности о BME280 — в его карточке, об адресах на шине — на странице «Адрес I²C», о подтяжках — в калькуляторе подтяжки I²C.

Частые вопросы

Как отличить BMP280 от BME280 на модуле?

Надёжнее всего — прочитать регистр 0xD0: BMP280 возвращает 0x58, BME280 — 0x60. Есть и внешнее отличие: по чертежам Bosch корпус BMP280 — 2,0 × 2,5 мм, прямоугольный, а BME280 — квадратный 2,5 × 2,5 мм. Если библиотека для BME280 сообщает о неверном идентификаторе, на плате, скорее всего, стоит BMP280, у которого нет датчика влажности.

Какой адрес I²C у BMP280?

0x76, если вывод SDO на общем проводе, и 0x77, если на VDDIO. Вывод SDO нельзя оставлять свободным — адрес тогда не определён. Адрес 0x77 совпадает с адресом BMP180, а оба адреса — с BME280, так что на одной шине помещаются только два таких датчика.

С какой точностью BMP280 измеряет высоту?

Изменение высоты — хорошо: относительная точность давления ±0,12 гПа, это около ±1 м, а шум с фильтром — 0,2 Па, или 1,7 см. Абсолютная высота над уровнем моря — плохо: абсолютная точность давления ±1,0 гПа — это примерно ±8 м (наш пересчёт по соотношению Bosch 0,12 гПа ≈ 1 м), к ней добавляются дрейф после пайки до +2 гПа и погода. Поэтому высоту отсчитывают от опорного давления, измеренного на старте.

Можно ли подключать BMP280 к 5-вольтовому Arduino?

Саму микросхему — нет: рабочее питание 1,71–3,6 В, предельное — 4,25 В, а на выводах интерфейса не больше VDDIO + 0,3 В. Модули под 5 В несут стабилизатор и согласование уровней — это проверяют по схеме модуля. Bosch отдельно предупреждает: высокий уровень на SDI, SDO, SCK или CSB при выключенном VDDIO может повредить датчик.

Источники

  1. Bosch Sensortec. BMP280 Digital Pressure Sensor: Data sheet (BST-BMP280-DS001-26, revision 1.26, October 2021) — с. 2 — ключевые параметры (корпус LGA 2,0 × 2,5 × 0,95 мм, ±0,12 гПа относительная, ±1 гПа абсолютная при 950–1050 гПа и 0…40 °C, 2,7 мкА при 1 Гц); с. 3 — табл. 1 сравнения с BMP180; табл. 2 (с. 7–8) — питание, токи 2,8/4,2 мкА, пик 720/1120 мкА, сон и ожидание, точности, разрешение 0,0016 гПа, шум 1,3 и 0,2 Па, температура ±0,5 и ±1,0 °C, стабильность, дрейф от пайки, запуск 2 мс, частота 157/182 Гц; разд. 1 — минимумы и максимумы дрейфов и смещений — ±3σ; табл. 3 — предельные 4,25 В; разд. 3.2 — предупреждение о высоком уровне на выводах при выключенном VDDIO; табл. 7 — рекомендуемые настройки; табл. 11 — t_sb от 0,5 до 4000 мс; табл. 12–13 — токи и время измерения по передискретизации; разд. 4.3 — chip_id 0x58, сброс 0xB6; разд. 5.1–5.2 — выбор интерфейса выводом CSB, адреса 0x76 и 0x77; разд. 6.1 — выводы, рис. 15 — конденсаторы 100 нФ; рис. 18 — габариты, шаг 0,65 мм, отверстие ⌀0,30 мм
  2. Bosch Sensortec. BME280 Combined humidity and pressure sensor: Data sheet (BST-BME280-DS001-24, revision 1.24, February 2024) — для сравнения: корпус 2,5 × 2,5 × 0,93 мм, chip_id 0x60, датчик влажности; совместимость с BMP280 по регистрам давления и температуры

Нашли ошибку?