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

BME280 — датчик давления, влажности и температуры Bosch

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

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

BME280 объединяет в одном корпусе три датчика: абсолютного давления, относительной влажности и температуры. Встроенный датчик температуры нужен прежде всего для компенсации двух остальных, но его показания доступны и сами по себе. Результаты пересчитываются в физические величины по формулам из даташита с калибровочными коэффициентами, записанными в микросхему на заводе. Сравнение с BMP280, BMP390 и другими барометрами — в статье «Датчики давления», с датчиками влажности SHT и HDC — в статье «Датчики влажности».

Коротко

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

Распиновка

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

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

Интерфейс выбирается выводом CSB: при единице работает I²C, а после первого же нуля на CSB I²C отключается до следующего включения питания. Если CSB подключён к выводу микроконтроллера, этот вывод должен выдавать единицу уже при подаче питания, иначе датчик останется в режиме SPI и не ответит по I²C.

Параметры

По даташиту Bosch; типичные значения при 25 °C, если не указано другое. Точность Bosch даёт только типичными значениями: по разд. 1 даташита типичные смещения и дрейфы — это ±1σ, максимумы не нормированы, так что часть экземпляров выходит за указанные пределы.

ПараметрЗначение
Питание VDD1,71–3,6 В, типично 1,8 В
Питание интерфейса VDDIO1,2–3,6 В
Ток во сне0,1 мкА типично, до 0,3 мкА
Ток при измерении влажности, давления, температурытипично 340, 714 и 350 мкА соответственно (наибольшие из типичных — при 85 и −40 °C)
Средний ток при 1 измерении в секунду1,8 мкА (влажность и температура), 2,8 мкА (давление и температура), 3,6 мкА (все три)
Время от подачи питания до обменане больше 2 мс
Давление: диапазон с полной точностью300–1100 гПа при 0…65 °C
Давление: абсолютная точность, тип.±1,0 гПа (300–1100 гПа, 0…65 °C), ±1,7 гПа при −20…0 °C
Давление: относительная точность, тип.±0,12 гПа (700–900 гПа, 25–40 °C, VDD = 3,3 В)
Давление: шум1,3 Па без фильтра, 0,2 Па с фильтром — 11 и 1,7 см высоты
Давление: температурный коэффициент смещения±1,5 Па/К
Давление: долговременная стабильность±1,0 гПа в год
Влажность: точность, тип.±3 % при 20–80 %, 25 °C, с гистерезисом
Влажность: гистерезис, время отклика±1 %, 1 с (63 % скачка)
Влажность: долговременная стабильность0,5 % в год
Температура: точность, тип.±0,5 °C при 0…65 °C; при −20…0 °C и −40…−20 °C — ±1,25 и ±1,5 °C (целевые, без гарантии)
Температура: разрешение вывода0,01 °C

Точность давления после пайки ухудшается: в таблице 3 дрейф от пайки указан от −0,5 до +2,0 гПа, поэтому для измерения высоты важнее относительная точность — изменение давления, а не абсолютное значение. Как давление пересчитывают в высоту — в калькуляторе барометрической высоты.

Режимы и подключение

У BME280 три режима. Sleep — сон, измерений нет. Forced — одно измерение по команде, после чего датчик сам засыпает; это режим для редких опросов. Normal — непрерывные измерения с паузой от 0,5 до 1000 мс между ними. Для каждой величины задают передискретизацию от ×1 до ×16 или пропуск, а для давления и температуры — IIR-фильтр. Настройки влажности в регистре 0xF2 вступают в силу только после записи регистра 0xF4.

Схема I²C по даташиту: конденсаторы 100 нФ на VDD и VDDIO, CSB напрямую на VDDIO, SDO на GND или VDDIO, подтяжки SDA и SCL — обычно 4,7 кОм, а точнее — по времени фронтов и ёмкости шины. Расчёт подтяжек — в калькуляторе подтяжки I²C, устройство шины — в статье «I²C». Вентиляционное отверстие в крышке нельзя закрывать: через него датчик измеряет давление и влажность.

Аналоги

Bosch прямо называет BME280 совместимым с BMP280 по регистрам и характеристикам давления и температуры, с отличиями в идентификаторе (0x60 против 0x58), шаге паузы режима normal и разрядности при включённом фильтре — таблица 17 даташита. Это совместимость программы, а не замена детали: у BMP280 нет датчика влажности. Другие датчики давления и влажности — функциональные аналоги с другими регистрами и формулами; их сравнение — в статьях о давлении и влажности, остальные микросхемы — в разделе «Микросхемы датчиков».

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

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

0x76, если вывод SDO соединён с общим проводом, и 0x77, если с VDDIO. Старшие шесть бит адреса (111011) фиксированы, младший задаёт SDO. Оставлять SDO неподключённым нельзя: даташит предупреждает, что тогда адрес не определён. Адреса те же, что у BMP280 (0x76 и 0x77), поэтому на одной шине — не больше двух таких датчиков в любом сочетании BME280 и BMP280.

Как отличить BME280 от BMP280?

По регистру идентификатора 0xD0: BME280 возвращает 0x60, BMP280 серийного производства — 0x58 (образцы — 0x56 или 0x57). Внешне корпуса похожи, а у BMP280 нет датчика влажности, и регистры влажности 0xF2 и 0xFD–0xFE у него не работают. Даташит Bosch называет BME280 совместимым с BMP280 по регистрам давления и температуры, отличия перечислены в таблице 17.

Можно ли питать BME280 от 5 В?

Микросхему — нет. Рабочее питание VDD — от 1,71 до 3,6 В, интерфейсное VDDIO — от 1,2 до 3,6 В, а предельное напряжение на выводах питания — 4,25 В. Модули, рассчитанные на 5 В, ставят свой стабилизатор и преобразователь уровней; есть ли они на конкретной плате, проверяют по её схеме, а не по надписи.

Почему BME280 показывает температуру выше комнатной?

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

Какой режим выбрать для метеостанции?

Bosch рекомендует режим forced с одним измерением в минуту, передискретизацией ×1 для всех трёх величин и выключенным фильтром. Ток в таком режиме — 0,16 мкА, шум давления — 3,3 Па, или около 30 см высоты. Для навигации по этажам, наоборот, Bosch советует режим normal, передискретизацию давления ×16 и IIR-фильтр с коэффициентом 16: шум падает до 0,2 Па, но ток растёт до 633 мкА.

Источники

  1. Bosch Sensortec. BME280 Combined humidity and pressure sensor: Data sheet (BST-BME280-DS001-24, revision 1.24, February 2024) — файл на сайте Bosch называется ds002, внутри — документ DS001; с. 2 — корпус LGA 2,5 × 2,5 × 0,93 мм, I²C до 3,4 МГц и SPI до 10 МГц, VDD 1,71–3,6 В, VDDIO 1,2–3,6 В, токи 1,8/2,8/3,6 мкА при 1 Гц и 0,1 мкА во сне, рабочие диапазоны; табл. 1 (с. 8) — питание, токи сна и ожидания, токи измерения 340/714/350 мкА, запуск 2 мс; табл. 2 (с. 9) — влажность ±3 %, гистерезис ±1 %, отклик 1 с, разрешение 0,008 %, стабильность 0,5 % в год; табл. 3 (с. 10–11) — давление 300–1100 гПа, ±1,0 гПа при 0…65 °C, ±0,12 гПа относительная, 0,18 Па, шум 1,3 и 0,2 Па, ТКС смещения ±1,5 Па/К, дрейф после пайки, стабильность ±1,0 гПа в год; табл. 4 (с. 11–12) — температура ±0,5 °C, 0,01 °C, примечание 7 о самонагреве; табл. 5 (с. 13) — предельное питание 4,25 В; разд. 3.3 и 3.5 — режимы sleep, forced, normal, пример для метеостанции 0,16 мкА; разд. 5.2 (табл. 17) — отличия регистров от BMP280, chip_id 0x60; разд. 5.4 — регистры 0xD0, 0xE0 (0xB6), 0xF2–0xF5; разд. 6.1–6.2 — выбор интерфейса выводом CSB, адреса 0x76 и 0x77, SDO нельзя оставлять свободным; разд. 7 (с. 38–40) — выводы, нумерация по часовой стрелке в виде сверху, схема I²C с конденсаторами 100 нФ и подтяжками 4,7 кОм
  2. NXP. UM10204 I2C-bus specification and user manual (Rev. 7.0, 1 October 2021) — скорости шины: 100 кбит/с Standard-mode, 400 кбит/с Fast-mode, 3,4 Мбит/с High-speed mode

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