Урок 7. Термометр на базе DS18B20 и OLED дисплея 128X64

Схема подключения датчика температуры DS18B20 к Ардуине

Приведена схема подключения цифрового датчика температуры DS18B20 к плате Arduino и описан процесс получения данных с датчика. Также случай нескольких датчиков описан.

Часто приходится измерять температуру окружающей среды, или, скажем, требуется сделать простой домашний термометр на базе Arduino. Для этих целей нам понадобится цифровой датчик температуры, совместимый с Ардуино. Имхо, датчик DS18B20 — лучший в своем роде по соотношению качества/цена. Стоит он около доллара и имеет достаточно хорошую точность, плюс-минус 0.5 градуса.

Урок 7. Термометр на базе DS18B20 и OLED дисплея 128X64

Для термометра отлично подходит датчик температуры DS18B20 . Он позволяет измерять температуру в домашних, так и в уличных условиях, потому что исполнен с водонепроницаемом корпусе. В качестве дисплея будем использовать матрицу 0.96 128X64 OLED .

Для создания термометра нам понадобятся следующие компоненты:

Для реализации проекта нам необходимо установить сразу несколько библиотек:

Сборка:

1) OLED дисплей подключаем к arduino следующим образом:

Arduino Uno Экран 0.96 128X64 OLED
5V VCC
GND GND
Pin 9 SCL
Pin 8 SDA

Для удобства подключения можно использовать макетную плату.

2) Датчик температуры DS18B20 подключается к arduino следующим образом.

Распиновка для влагозащитного датчика DS18B20 с метровым проводом:

Arduino UNO Влагозащитный датчика
DS18B20
5V Красный провод ( 5V)
GND Черный провод (GND)
Pin 10 Желтый провод (Сигнальный) (Необходимо подтянуть резистором 4,7кОм к 5V )

В случае, если Вы будете использовать не влагозащитный датчик в корпусе to92 .(Датчик температуры DS18B20 в корпусе TO-92)

DS1820 Arduino

Есть достаточно много интересных модулей и датчиков, которые можно использовать в разработках на платформе Arduino, и один из них – это конечно датчик температуры DS1820 разработанный компанией Dallas Semiconductor и приобретенная компанией Maxim Integrated Products в 2001 году.

Выпускается в разном исполнении

Датчик DS1820 – это не дорогой измеритель температуры с довольно хорошими характеристиками, уникальным 64 битным кодом, маленьким размером, не требующий дополнительной обвязки.
По сути, это даже не датчик, а маленький микропроцессор со своей памятью EEPROM в которую можно сохранить параметры контроля, заданные пользователем, а возможность получать данные по однопроводной линии связи, да на которую можно подвесить практически неограниченное количество датчиков, делает его практически не заменимым в разработках.

Характеристики
DS1820 (DS18S20, DS1821, DS18B20)

  • интерфейс 1-Wire. На один пин микроконтроллера можно подключить несколько датчиков.
  • Уникальный 64-битный серийный номер.
  • Напряжение питания 3,0 В — 5,5 В. Можно использовать линию связи и подключить по схеме паразитной связи двумя проводами (“parasite power”).
  • Диапазон измерения от -55°C до +125°C
  • Точность ± 0.5°C в диапазоне -10 . +85 °C.
  • Разрешение преобразования 9 — 12 бит. Задается пользователем.
  • Потребление тока 1,5мА
  • Время измерения, до 750 мс, при максимальном разрешении 12 бит.
  • Температура эксплуатации, °С 0. +55
  • Относительная влажность эксплуатации, % . 55
  • Производство Dallas / Maxim
  • Вес, г 10

Возможность программирования параметров тревожного сигнала. установка пороговых значений температуры по максимуму и минимуму. Тревожный сигнал передает данные об адресе датчика, у которого температуры вышла за заданные пределы.

Получает данные всего по одному проводу. На этот единственный провод возможно повесить огромное количество таких же датчиков, так как каждый DS1820 имеет свой уникальный 64-битный код.

Применяются для определения температуры в помещениях, на улице, в жидкостях (версия в влагозащищённом корпусе).

Типы корпусов датчика ds1820

Датчики DS1820 корпуса

Выводы

  • GND – Общий провод (Земля)
  • D – Вывод данных. По нему так же подаётся питание при схеме с Паразитным питанием.
  • VDD – Питание от 3,3 до 5,5 Вольт. В схеме с паразитным питанием соединить с Общим проводом.

Подключение DS1820
По протоколу 1-Wire. Вывод данных подключается через подтягивающий резистор 4,7 кОм к питанию. Arduino, работающий здесь как Мастер, определяет есть ли устройства на шине и обменивается с ними данными используя уникальный 64 битный код каждого датчика.
Младшие восемь бит содержат код семейства микросхем DS18B20 28h.
Средний блок из 48 бит — это уникальный серийный номер устройства.
Старшие восемь бит — это циклический код (CRC) для всех предыдущих 56 битов.

Паразитное питание
Питание получается от подтягивающего резистора включенного между выводом D(Вывод данных, центральный вывод) и + питания 3,0 – 5,5 Вольт. GND и VDD необходимо соединить. Измерение температуры при этом немного снижается до +100 С. Если вам необходимо регистрировать температуру до +125С, то необходимо подключить внешнее питание. Часто печатают схемы с дополнительным полевым транзистором, но он не обязателен при работе с Arduino, потому что на выходах микроконтроллера достаточно силы тока.

Блок-схема датчика

Датчики DS1820 блок-схема

Память датчика.
Включает в себя оперативную (SRAM) и энергонезависимую (EEPROM) память.
В EEPROM хранятся регистры TH, TL и регистр конфигурации.
Если функция тревожного сигнала не используется, то регистры TH и TL могут использоваться как регистры общего назначения.

Режим с внешним питанием.
Тут ничего сложного нет. Подключаете VDD к + источника 3,0 В — 5,5 В, а GND к общему проводу(земле).
Подключаете подтягивающий резистор между выводом D (Вывод данных, центральный вывод) и + питания.

Подключение DS1820 к Arduino

Датчики DS1820 подключение 1 датчика

Датчики DS1820 подключение нескольких датчиков

Выдержка из даташита.
Изменение резистора от длины кабеля, помех и сопротивления жил.

Датчики DS1820 подключение нескольких датчиков

Конвертация температуры
Разрешающую способность преобразования датчика можно изменять с 9 до 12 битов. От этого зависит точность измерений и скорость определения температуры, соответственно 0.5 °C, 0.25 °C, 0.125 °C, 0.0625 °C. По умолчанию установлено 12 бит., так же по умолчанию датчик откалиброван в градусах Цельсия. Результат представлен как 16-разрядное число.
Эти данные, как и пороги тревожного сигнала хранятся в энергонезависимой память EEPROM.
Более подробно можно прочитать в datasheet ds1820 на русском языке
или на datasheet на английском

Принцип работы датчика
Основан на сравнении частоты 2-х генераторов. Частота первого постоянна, а второго изменяется в зависимости от изменения измеряемой температуры. При вычитании частоты первого генератора из второго получаем значение температуры.
При подаче питания датчик находится в Низком состоянии, состоянии ожидания. Микроконтроллер может запросить данные с датчика, отправив ему запрос. Датчик измерит температуру, сохранит её в 2 байтах регистра и снова уйдёт в состояние ожидания.

Тревожный режим
Значения находятся в регистрах Th и Tl и хранятся в EEPROM. При измерении температуры её значения сравниваются с Th и Tl и если они находятся в пределах, то всё в порядке, а если значения ниже чем Tl или выше Th то создаётся признак аварии.

Подключение датчика ds18b20 к компьютеру

Часовой пояс: UTC + 3 часа

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская поддержка phpBB
Extended by Karma MOD © 2007—2012 m157y
Extended by Topic Tags MOD © 2012 m157y

Работоспособность сайта проверена в браузерах:
IE8.0, Opera 9.0, Netscape Navigator 7.0, Mozilla Firefox 5.0
Адаптирован для работы при разрешениях экрана от 1280х1024 и выше.
При меньших разрешениях возможно появление горизонтальной прокрутки.
По всем вопросам обращайтесь к Коту: kot@radiokot.ru
©2005-2022

Работа с датчиком температуры DS18B20

DS18B20 плюсовая температура

Программный код я здесь выкладывать не буду, так как это лишнее. Я выкладываю архив в котором лежат файлы основной программы и подключаемого хедера с функциями передачи команд. Каждая строка подробно закоментированна. Если все же возникнут вопросы, то я на связи.
Удачи!
В библиотеке AXLIB есть набор функций для работы с данным датчиком.

jon 29.09.14

Алексей, вопрос — я могу с помощью команды читать ROM, определить наличие датчика? Скажем, выдать 0x33, и прочитать в первом байте код семейства DS18B20. Если он не равен 0x28 — значит, датчика нет. Или так не не годится?

Алексей 29.09.14
jon 30.09.14

Но, ведь по команде сброса можно только определить — есть ли любые устройства 1- wire или нет. А хотелось бы именно удостовериться в отсутствии термодатчика DS18B20. Есть чужой исходник на ассемблере на два термометра с батарейным питанием на разных шинах, захотелось кое-что переделать по своему вкусу. Лезть в сами процедуры работы с датчиком особо не хочется, вроде нормально и так работает. Поэтому и возникла идея — дать команду 0x33, потом принять первый байт из 8, и его проанализировать на наличие кода семейства. Типа, если там есть 0x28 —

Алексей 30.09.14

Хорошо. Если есть два датчика НО НА РАЗНЫХ шинах, то какая разница как определить наличие датчика. Подали команду сброса и все. Датчик ответил, значит все в порядке. Не ответил, увы. Команды на обнаружение по семейству нужно подавать только тогда, когда на шине висит больше одного датчика. А если один, то зачем такие сложности. Или я что-то не понимаю в вашем вопросе.

АНОНИМ 01.10.14
Алексей 01.10.14

Собственно, а почему нет. Если известен адрес датчика и он ответил на любую команду значит он априори жив и здоров.

jon 01.10.14

Меня как раз интересовал способ, при котором неизвестен адрес датчика, сидящего на отдельной шине. Зачем полностью читать все 64 бита идентификации, вполне хватит и 8-ми бит, в которых есть код семейства. Например, 0x28 для DS18B20. Если принят любой другой код — значит, датчика нет, он не тот, или неисправен, что в конкретном случае почти одинаково.

Алексей 01.10.14

Стоп, стоп, стоп. Это сработает при широковещательном запросе при условии только одного датчика на шине. С тем же успехом можно и команду сброса подать. Если будет больше устройств на шине, то на широковещательный запрос ответят все. Иначе по адресу. Ну это же логично. Если вы отправите письма с запросом нескольким людям, они все вам и ответят. А если просто одному человеку в комнате крикните, «Эй, ты!». Он один и ответит.

jon 01.10.14

Правильно, я и написал — «. датчика, сидящего на отдельной шине. «. У меня как раз ситуация, когда каждый датчик термометра — сидит на отдельной шине. Именно поэтому и возник такой вопрос. И потом, стоит задача определения наличия именно DS18B20, мало ли что там народ еще может подключить. А так — датчик ответил кодом 0x28, значит все в порядке.

jon 01.10.14

Алексей, еще поясните такую вещь, если не трудно, а то что-то в даташите про это нигде не сказано. Я подал команду записать в датчик 0x33 (чтение ROM), затем должен сколько-то подождать, или могу сразу читать с датчика? Где-то в сети народ жаловался на то, что типа, пока не поставил между командами записи-чтения задержку около 1 миллисекунды — датчик не отзывался вовсе, или вывдавал всякую белиберду.

Алексей 01.10.14

А это зависит от дискретизации(точности) измерений. При запросе на вычисления температуры датчик может, зависать аж по моему до 750 мс. Давненько я с ним не работал не помню. Проще шину нюхать. Если после команды на преобразования шина в нуле, значит не готов. Как шина к поднялась к единице, можно читать температуру. С этой проблемой часто сталкиваются те кто выводит температуру на динамический индикатор.

jon 02.10.14

Когда нужна температура, задержка обычно подразумевается. Потому что делать поллинг (опрос бита готовности), не всегда удобно. А вот когда пишется команда, не связанная с преобразованием температуры? Например, та же 0x33 — чтение ROM.

Алексей 02.10.14

Ну я не знаю. Вообще задержка не нужна. Ради собственного удовлетворения то пару миллисекунд вляпать можно. Если это не дипломная работа, то я бы воспользовался импирикой и не парил себе мозг. 🙂

krokodandi 20.10.14

Есть желание немножко усложнить конструкцию? Я очень хочу поработать с вами вместе. Передо мной была поставлена интересная задача. Денежкой поделюсь. Жду ответа тут

Алексей 20.10.14
Как-тотак 20.10.14

Нужно сделать два термометра МК1 и МК2. На мк1 навшано BT модуль HC-05, ds18b20,радио NRF24L01. На мк2 ds18b20,радио NRF24L01. —————-мк1—————— мк 1 измеряет temp_mk1 пишем в РОН инициируем подключение по радио NRF, если есть подключение, кидаем ему общую уставку Y и просим передать temp_mk2 c MK2 (пишем в POH) -инициируем подключение по БТ,если есть отправляем temp_mk1 и temp_mk2 и просим получить уставку Y(получаем и копируем в РОН) — считаем ошибку температуры мк1, если отрицательная включаем реле. ————-Мк2—————- Измеряем температуру и пишем в РОН слушаем эфир NRF, если есть отправляем _температуру и просим уставку. Сравниваем, результат в ошибку. Если отрицательная, включаем реле. Это регулятор для фуры отца. Будет греть прицеп. Говорит, мол не обойтись. Платит мне 10К а я все нее могу с модулями и ассемблером разобраться. Нашел ваш терморегулятор. Разбираю ваш пример пока. Изложение мысли понравилось.

krokodandi 20.10.14
krokodandi 20.10.14

Отлаживаю на плате STK500 в связке с STK502. Примерную схему я набросал в ИГЛКАД Для связи могу предложить скайп. Мой логин : 819 готов отдать 7К

Алексей 20.10.14

Честно, я ничего не понял. avrki@avrki.ru моя почта. Можно более подробно и сформулировано объяснить что нужно сделать. И при чем здесь РОН? Обязательно на ассемблере? Какой МК рулить всем этим будет? Нужна конкретика, ТЗ. Напишите поверхностный псевдо-код, что должно происходить в течении работы устройства. На какой шине висят радио модуль и ВТ модуль. Зачем вообще ВТ? Связь с телефоном?

Григорий 18.05.18 16:10

Здравствуйте, а скажите насколько точно он меряет температуру. У меня он по ощущениям на 3-4 градуса завышает. Минусовую вроде точно выводит. Также хочу заметить, что нет смысла выводить десятые доли градуса при такой точности. Тогда температуру можно получать так temper = (temp_0>>4)+(temp_1<<4)-4; здесь отнимаю 4 так как он завышает температуру. Мне сказали, что он разогревается из-за того, что я его часто опрашиваю, нужно мол не чаще 2 раз в минуту.

Алексей 19.05.18 15:08

В документации на датчик написано, что погрешность составляет ±0.5° при измерении между -10° и +85°, а при измерении между -55° и +125° будет ±2°. Страница 2, таблица DC Electrical Characteristics, строка Thermometer Error.

Андрей 04.09.18 15:07

Можете подсказать что не так?

owire_init ();
owire_write (0xCC); owire_write (0x44); _delay_ms(250); owire_init (); owire_write (0xCC); owire_write (0xBE); temp[0]= owire_read (); temp[1]= owire_read (); znak=0; if (temp[1]&0x80)
temp[0] = (~temp[0])+1;
temp[1] = ~temp[1]; znak=1; >

temper = ((temp[1] <<8)|(temp[0] * 5));
lcd_clear ();
sprintf (lcd_buffer,»Temp=%i» «C «,temper);

lcd_gotoxy (0,0);
lcd_str_out (lcd_buffer);
_delay_ms(500);

Так вот выводится Temp=5C

Алексей 05.09.18 18:24
Андрей 05.09.18 19:37
Алексей 06.09.18 19:41
Николай 26.10.18 16:12

Добрый день! Перехожу с CodeVision на Atmel studio 7, неделю писал свои библиотеки, потом случайно наткнулся на ваши. Большое спасибо за огромный труд. Но не все так гладко: ваша функция ds1820_all() не поддерживает датчик ds18B20 — а это сейчас наиболее популярный датчик. В общем в протеусе на датчике установлена температура 34.4, а функция считывает 42.0 и только при 1-м чтении, при последующих всегда 0.00.

Алексей 26.10.18 16:43
Николай 29.10.18 09:18

Спасибо за ответ! Переделал — но стало еще хуже. Теперь показывает 85.0, хотя на датчике 34.4. Причем показывает 85.0 только если вторая строка закоментирована:
ds1820_rom_code(rom);
//sprintf(str, «%02X %02X %02X %02X %02X %02X %02X %02X», rom[0], rom[1], rom[2], rom[3], rom[4], rom[5], rom[6], rom[7]);

если ее раскоментировать — то показывает 0.00. В Virtual terminal выводит адрес датчика нормально.

Как я понимаю это компилятор ведет себя неадекватно — я с таким уже столкнулся, когда писал свои функции — если я их вызывал вначале программы — работали, если в конце — то возвращали неожиданные результаты. Может в этой студии где размер стека надо увеличить?
Еще — при попытке вывода в USART заметил что на частоте 1Мгц выводилась хрень, а на 8Мгц — норм.
Если в студии что-то подобное #if _MCU_CLOCK_FREQUENCY_ == 8000000 ?

Николай 29.10.18 09:26
Алексей 29.10.18 19:45

Вообще 85.0 датчик выводит при первом запросе после подачи питания. Это температура у него в регистре до первого преобразования. Вообще функции запроса ром кода и температуры должны работать как часы. Я их дорабатывал фиг знает сколько раз.

Николай 30.10.18 09:57

Подскажи еще пожалуйста:
sprintf(str, «T %0.1f», (ADATA)(temperatura/10));
выводит на LCD если на датчике 34.4 :
34.0
0.000
68.00
34.0.0
162.0
34.00
34.0.0
34.000
34.06.0
но я еще ни разу не видел 34.4, подозреваю что где-то поддержку float надо включить — но где?

Николай 30.10.18 10:30

В общем дело не в sprintf — в самой переменной temperatura значение 340, соответсвенно и выводит 34.
Но почему не 344?? В CVAVR выводит корректно — 34.4

Алексей 30.10.18 15:15
Борис 06.01.19 12:21
Алексей 07.01.19 09:39
Борис 07.01.19 14:02
Алексей 07.01.19 15:09

Именно миллисекунды. Вообще по хорошему нужно код пересмотреть. С разрешением +/- 0.5 градуса датчик должен преобразовывать очень быстро.

Алексей 07.01.19 15:11
Александр 15.01.19 19:21
Алексей 15.01.19 22:23
Александр 17.01.19 19:39

Ребята кто разобрался с ds18b20 прошу помощи. Потратил три дня и никак не вижу температуру только -0.1 с реальным датчиком и в проеус всо тоже самое. Может кто глянет проект https://yadi.sk/d/ELDUjp1PaBl8Rg

Александр 17.01.19 20:04
Алексей 18.01.19 07:48
Александр 19.01.19 12:08
Алексей 19.01.19 16:32

Работаю над этим. РОМ код получаю, а температуру нет. Это какой-то косяк седьмой студии. На шестой все было пучком.

Александр 19.01.19 17:57
Александр 19.01.19 17:59
Алексей 19.01.19 18:26
Григорий 29.03.19 11:28
Григорий 29.03.19 11:29
Григорий 29.03.19 11:29
Александр 29.03.19 18:43
Александр 29.03.19 18:46

Может кому нужно сделал библиотеку для датчика абсолютного давления bmp180, и электронный эквалайзера tda7439 могу выложить

Алексей 29.03.19 20:56

Если не жалко, кидай мне на почту, опубликую. А на счет датчика эта тема давно тянется. Нет времени поправить.

Алексей 29.03.19 21:02

Добрый день, Григорий. С датчиком проблем нет. Изучен вдоль и поперек и по диагонали. Есть проблема в функции задания разрешения датчика в библиотеке axlib. В чем проблема известна, нет времени поправить.

Александр 29.03.19 21:45

Может не внимательно читал ветки, не нашел. Интересует обработчик кнопок на прерываниям, желательно опробованная версия, а так же многоуровневое меню. У кого есть предложения кидайте ссылки.

Александр 29.03.19 21:49
Алексей 29.03.19 22:37
Александр 29.03.19 23:02

STM32 будет следующий этап в освоении. Программа без прерываний подтормаживает, пропускает некоторые щелчки энкодера. Нашел проект микроменю, но пока не разобрался. Да и плата для стм32 пока не дешёвая

Григорий 27.06.19 10:59

Александр, не видел ваш ответ по датчику, и не смог вам ответить. У меня была проблема с ним, что он некорректно отображал температуру завышал на 2-3 градуса. Проблема была в том, что при монтаже на плату очень коротко обрезал его контакты. Надо стараться ставить его именно так как он есть, с о всей длиной ног. Так его контакты работают как теплоотвод и он стал показывать точно. Библиотеки есть для него
Моя электронка asdfgj@mail.ru, напишите мне и я вам скину. есть код для кнопок также, но через прерывания, там просто я еще дополнительно цикл организовывал. Если интересно тоже могу поделиться. Но по правильному надо использовать входы INT я думаю.

Александр 28.06.19 20:13

Спасибо за ответ. С датчиком разобрался ранее. Сейчас делаю делаю зарядку для тяговых аккумуляторов. С ШИМ как то быстро разобрался. Трудность возникла только с ILI 9341. У меня предложение. Так как у админа нет времени для новых проектов на AVR может будем выкладывать свои наработки в ветки форума данного сайта через файлообменник

Схема подключения DS18B20

datchik-temperatury-ds18b20-opisanie-3

Что такое разрешение?

В технических характеристиках сообщается, что датчик DS18B20 может измерять температуру с различным разрешением. Разрешение — это как у линейки: миллиметры между сантиметрами. Так же и c разрешением у DS18B20 — это шаг между последовательными ступенями градусов Цельсия.

Разрешение выбирается с помощью количества бит. Диапазон выбора от 9 до 12 бит. Выбор разрешения влечет за собой определенные последствия. Чем выше разрешение, тем дольше придется ждать результат измерений.

Для 9 битного разрешения есть 2 шага между последовательными уровнями:

То есть, вы можете прочитать температуру с разрешением 0,5 °C. Для 9 битного разрешения время измерения составляет 93,75 мс. То есть, вы можете выполнять 10,6 измерений в секунду.

Для 10 битного разрешения есть 4 шага между последовательными уровнями:

В этом случае мы считываем температуру с разрешением 0,25 °C. Время измерения для 10 битного разрешения составляет 187,5 мс, что позволяет выполнить 5,3 измерений в секунду.

Для 11 битного разрешения есть 8 шагов между последовательными уровнями:

  • 0,0 °C
  • 0,125 °C
  • 0,25 °C
  • 0,375 °C
  • 0,5 °C
  • 0,625 °C
  • 0,75 °C
  • 0,875 °C

То есть разрешение составляет 0,125 °C. Время измерения для 11 битного разрешения составляет 375 мс. Это позволяет выполнить 2,6 измерения в секунду.

Для 12 битного разрешения есть 16 шагов между последовательными уровнями:

  • 0,0 °C
  • 0,0625 °C
  • 0,125 °C
  • 0,1875 °C
  • 0,25 °C
  • 0,3125 °C
  • 0,375 °C
  • 0,4375 °C
  • 0,5 °C
  • 0,5625 °C
  • 0,625 °C
  • 0,6875 °C
  • 0,75 °C
  • 0,8125 °C
  • 0,875 °C
  • 0,9375 °C

Следовательно, разрешение составляет 0,0625 °C. Время измерения для 12 битного разрешения в районе 750 мс. То есть вы можете сделать 1,3 измерений в секунду.

Что такое точность измерения?

Ничто в мире, и особенно в электронике, не является совершенным. Можно только приближаться к совершенству, тратя все больше и больше денег и сил. Так же и с этим датчиком. Он имеет некоторые неточности, о которых вы должны знать.

В технических характеристиках сказано, что в диапазоне измерения от -10 до 85 °C датчик DS18B20 имеет точность на уровне +/- 0,5 °C. Это значит, что, когда в комнате у нас температура 22,5 °C, то датчик может вернуть нам результат измерения от 22 до 23 °C. То есть, может показать на 0,5 °C больше или меньше. Все это зависит от индивидуальной характеристики датчика.

В диапазоне от -55 до 125 °C погрешность измерения может возрасти до +/- 2 °C. То есть, когда вы измеряете что-то с температурой 100 °C, то датчик может показать температуру от 98 до 102 °C.

Все эти отклонения могут несколько отличаться для каждой температуры, но при измерении одной и той же температуры, отклонение всегда будет одинаковым.

Что такое дрейф измерения?

Дрейф измерения — это наиболее худшая форма неточности. Суть дрейфа измерения заключается в том, что при измерении постоянной температуры — при одном измерении датчик может показывать одну температуру, а при последующем другую (на величину дрейфа).

Дрейф датчика температуры DS18B20 +/- 0.2 °C. Например, когда в комнате постоянная температура составляет 24 °C, датчик может выдавать результат в диапазоне от 23,8 °C до 24,2 °C.

Оцените статью
Fobosworld.ru
Добавить комментарий

Adblock
detector