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

Что точнее: DS18B20 или BME280?

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

Оба датчика выдают цифровую температуру с похожими цифрами в рекламе, но условия у этих цифр разные.

ПараметрDS18B20BME280
Погрешность±0,5 °C при −10…+85 °C, предел ±3σ±0,5 °C типично при 0…65 °C
За пределами основного диапазона±1 °C при −30…+100 °C, ±2 °C при −55…+125 °C±1,25 и ±1,5 °C при −20…0 и −40…−20 °C, без гарантии
Разрешениедо 0,0625 °C0,01 °C
Что измеряеттемпературу своего корпусатемпературу кристалла, нужна для компенсации давления и влажности
Подключение1-Wire, на проводе до места измеренияI²C или SPI, обычно на плате модуля

Почему BME280 «врёт» вверх

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

DS18B20 тоже потребляет ток при измерении — до 1,5 мА, — но его обычно выносят на проводе в нужное место, подальше от греющейся электроники.

Что выбрать

  • Температура воздуха, теплоносителя, улица — DS18B20 в гильзе на проводе: погрешность нормирована, датчик вынесен от тёплой электроники. См. страницу DS18B20.
  • Метеостанция с давлением и влажностью — BME280, но в режиме forced с редкими измерениями и подальше от тёплых деталей. См. страницу BME280.
  • Можно и оба: DS18B20 для температуры, BME280 для давления и влажности.

Другие варианты — термисторы, LM35, TMP117 — сравниваются в статье «Датчики температуры для микроконтроллера».

Похожие вопросы

Зачем BME280 разрешение 0,01 °C, если точность ±0,5 °C?

Разрешение — это шаг показаний, а не точность. Шаг 0,01 °C позволяет видеть медленные изменения и тренды, но абсолютное значение может отличаться от реальной температуры воздуха на градус и больше из-за нагрева платы. У DS18B20 так же: шаг 0,0625 °C при погрешности ±0,5 °C.

Как уменьшить завышение температуры у BME280?

Измерять редко в режиме forced — так советует сама Bosch для метеостанции, — выносить датчик подальше от стабилизатора и микроконтроллера и давать плате обдув. Остаток смещения можно вычесть калибровкой по эталонному термометру.

Какой датчик выбрать, если нужна точность лучше 0,5 °C?

Ни тот, ни другой без калибровки: оба дают около ±0,5 °C. Для точности порядка ±0,1 °C берут специализированные датчики вроде TMP117, сравнение — в статье о датчиках температуры.

Источники

  1. Maxim Integrated (Analog Devices). DS18B20 Programmable Resolution 1-Wire Digital Thermometer (19-7487, Rev 6, 7/19) — с. 1–2 — погрешность ±0,5 °C при −10…+85 °C, ±1 °C при −30…+100 °C, ±2 °C при −55…+125 °C (как предел ±3σ), разрешение до 0,0625 °C, ток при измерении до 1,5 мА, время преобразования до 750 мс при 12 битах
  2. Bosch Sensortec. BME280 Combined humidity and pressure sensor: Data sheet (BST-BME280-DS001-24, revision 1.24, February 2024) — табл. 4 — температура: ±0,5 °C типично при 0…65 °C, ±1,25 и ±1,5 °C при −20…0 и −40…−20 °C (целевые значения без гарантии), разрешение 0,01 °C; примечание 7 — значение зависит от температуры платы, самонагрева датчика и окружающей среды и обычно выше окружающей; разд. 3.5 — режим forced с редкими измерениями для метеостанции

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