Датчик DS18B20 и ошибка 85

Здраствуйте, работаю с датчиком DS18B20 через библиотеку OneWire, и тут встал один вопрос, по документации 85 градусов это ошибка, так вот у меня вопрос, а если текущая температура реально 85 градусов, как можно отличить реальные показания от ошибки, при этом проверку CRC проходят и те и те показания?
(проверял с помощью нагрузочного резистора подключенному к лабораторному блоку питания, на резистор прикрепил датчик чтобы нагреть его до 85 ровно градусов), спасибо за ответы

Это где такое написано?

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

Оно само по себе и не происходит, только по вашей команде

Правильно написать программу

зачем вы засираете тему если не готовы ответить на вопрос? такой ответ можно дать в любой теме и он будет верный, рука-лицо

Шта? Область, где хранится измеренная температура, поддрерживает только чтение. Ничего вы туда записать не сможете. Скетч выкладывайте.

я же не прошу код мне написать, провод например + отвалился будут идти то нормальные показания то выдавать 85, команда поступает при этом постоянно каждую секунду, через секунду считываются данные

Записывается самим датчиком
*The power-on reset value of the temperature register is +85°C.

И рекомендую перестать огрызаться. Вы хотите помощи или срача?

1 лайк

мне нужна помощь, если не готовы или не хотите помочь, то зачем писать

Действительно. :thinking: Спасибо за науку. Вам всего доброго, хорошего настроения и здоровья!

2 лайка

Если вы не в состоянии понять, зачем спрашиваете совета?

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

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

Ответ - никак

печально

После чтения scratchpad надо самому вычислить CRC и сравнить с той, что прочиталась.

Так это и делается, она то совпадает

85 градусов - практически предел датчика. Может стоит использовать другой? Например, NTC термистор

1 лайк

предел у него +125