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 провода) |
|---|---|---|---|---|
| 1 | GND | общий | GND | GND |
| 2 | CSB | выбор микросхемы, активный ноль, внутренняя подтяжка к VDDIO | соединить с VDDIO | CS |
| 3 | SDI | данные | SDA | MOSI (SDI) |
| 4 | SCK | тактовый сигнал | SCL | SCK |
| 5 | SDO | данные / младший бит адреса | GND — адрес 0x76, VDDIO — 0x77 | MISO (SDO) |
| 6 | VDDIO | питание интерфейса | VDDIO | VDDIO |
| 7 | GND | общий | GND | GND |
| 8 | VDD | питание аналоговой части | VDD | VDD |
Интерфейс выбирается выводом CSB: при единице работает I²C, а после первого же нуля на CSB I²C отключается до следующего включения питания. Если CSB подключён к выводу микроконтроллера, этот вывод должен выдавать единицу уже при подаче питания, иначе датчик останется в режиме SPI и не ответит по I²C.
Параметры
По даташиту Bosch; типичные значения при 25 °C, если не указано другое. Точность Bosch даёт только типичными значениями: по разд. 1 даташита типичные смещения и дрейфы — это ±1σ, максимумы не нормированы, так что часть экземпляров выходит за указанные пределы.
| Параметр | Значение |
|---|---|
| Питание VDD | 1,71–3,6 В, типично 1,8 В |
| Питание интерфейса VDDIO | 1,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 мкА.
Источники
- 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 кОм
- 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
Нашли ошибку?
Смотрите также
- Микросхемы датчиковТок, давление, влажность, температура, свет, ИК: карточки и статьи
- Датчики давления BMP280, BME280, BMP390Точность, подключение по I²C и SPI, режимы, фильтр, компенсация, высота по давлению
- Датчики влажности SHT3x, HDC1080, HDC2080, BME280Точность, адреса, питание, отклик, дрейф, нагреватель, пересчёт и размещение
- Высота по давлениюБарометрическая высота, давление на высоте, давление на уровне моря
- БИХ-фильтрЦифровой фильтр с обратной связью: формула, коэффициент, время отклика
- ПередискретизацияOversampling: дополнительные биты АЦП усреднением
- I²CSDA и SCL, START/STOP, ACK, адреса, скорости, расчёт подтяжек