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

В состав стенда был включен стакан холодной воды со льдом.

Так же на базе простейшего примера из состава библиотеки OneWire был составлен скетч в цикле замеряющий температуру обоими датчиками с интервалом около 1.2-1.3 секунды и пуляющий данные в порт. Почему такой странный интервал? Я не знаю, глубоко в дебри примера не лез.
Замеряем температуру.

По обоим датчикам получилось около +5.+6. Подробности чуть ниже.
В состав стенда входил объект имени архитектора Веры Мухиной.

Наполнял из термопота. На термопоте было написано +85… Оба датчика показывали около +50.+58.
Итак, был получен массив данных, который в графическом виде выглядит так.

На графике хорошо видно несколько этапов тестирования.
1. Измерение комнатной температуры обоими датчиками в положении "на столе".
2. Измерение температуры воды со льдом.
3. Измерение температуры воды из термопота.
4. Остывание обоих датчиков в положении "на столе".
Два аномальных всплеска в "кипятке" объясню ниже.
Итак, рассмотрим первый этап подробнее.

Учитывая, что погрешность DS18B20 составляет +/-0.5С, а терморезимтора — 1% можно считать, что данные от датчиков совпадают по нижней границе погрешности 1820.
И хотя на погружение в холодную жидкость оба датчика начали реагировать практически моментально, некоторая задержка в показаниях терморезистора от DS все же присутсвует.
Максимальная дельта по температуре — около 5 градусов. Отставание по времени — около 10 секунд.
Итоговая измеренная температура: 5,85 через терморезистор и 5,75 по DS. Итого, разница показаний укладывается в погрешность цифрового датчика.
Этап второй, "нагревание".

Как и в первом случае датчики на изменение температуры реагируют одновременно, но переходный процесс у терморезистора несколько более затянут.
Максимальная дельта по температуре — уже около 10 градусов, отставание по времени — примерно те же 10 секунд.
Стабилизированные результаты отличались уже значительно больше. Терморезистор — 55,21, DS — 51,19. Т.е. практически 4 градуса. Что заметно больше допустимой погрешности. Т.е. имеется ошибка в методике проведения эксперимента.
Ошибка была локализована очень быстро. Если поглядеть на фото скрученных датчиков, то можно заметить, что DS выпирает чуть-чуть за габарит датчика на основе терморезистора — порядка 3-4 мм. А конструкция их этих датчиков упирается в дно стакана именно корпусом DS. После ручного вывешивания датчиков по центру стакана получается характерный всплеск с ростом температуры на обоих датчиках. Устоявшиеся значения — 59,68 у терморезистора и 58,69 у DS. Разница хоть и превышает погрешность цифрового датчика, но крайне незначительна — едва-едва больше 1 градуса.
Путешествие датчиков в объеме стакана в виде графика.

И чуть более детально этап вывешивания датчиков.

Опять видно, что датчики реагируют синхронно, но аналоговый с меньшей скоростью. Максимальная дельта по температуре — те самые 4 градуса, по времени — менее 3 секунд.
Ну и остывание датчиков на воздухе.

Графики идут синхронно, параллельно, разница — меньше погрешности.
Итоговые выводы.
1. Изменение температуры окружающей среды датчики фиксируют синхронно.
2. За счет большей массы корпуса терморезистор реагирует с меньшей скоростью.
3. За счет массы двигателя, объема и теплоемкости ОЖ практическая разница в показаниях датчиков будет отсутствовать.
4. Устоявшаяся температура по обоим датчикам в диапазоне температур 18-25 градусов не превышает инструментальной погрешности.
5. При высоких температурах — разница показаний превышает погрешность и составляет 1.01 градуса.
6. Полагаю, что п.5 связан с выбором номинала резистора в делителе напряжения. Т.к. он соответствовал сопротивлению терморезистора при температуре +25 градусов. Оптимально, если номинал резистора будет соответствовать рабочим температурам датчика, т.е. 90-110 градусов.


Комментарии 9
А теперь прибавь к измерениям еще остальную реальность в работе устройства. Другие вычисления, усреднения, еще ацп. Картина станет печальнее.)
Опрос порядка 10 аналоговых входов + вывод часов на экран по i2c + вывод csv в последовательный порт. По итогу получается разогнаться до скорости порядка 80 Гц.
я недавно мелкий проект делал . чисто термометр для снятия кривых с NTC термисторов.
DS18B20 + Attiny13A + дисплей на MAX7219, вот с DS-кой и намучился. сначала с его обработкой. штатные библиотеки в CVAVR тупо не влезали в тиньку, потом горя хапнул с его инерционностью, у меня он тоже в стальной колбе запаян. я хотел один извлечь, но в итоге убил. Уж слишком хорошо компаундом залит оказался.
Оба в набалдашник из меди надо было для чистоты эксперимента
Тогда DS сольет…
у терморезистора медный набалдашник дает инерцию
странный замер у меня на воздухе DS18b20 в чистую пролетел с каплей NTC 10kOm, тот его просто уделал по времени реакции )) 2 секунды против 90
ага, они тут в неравных условиях, у DS тонкая жестяная колбочка, у термистора толстый латунный корпус, от этого большая инерционность. немного некорректное сравнение.
Маладца. Постарался.
Докопаться можно, но научно.