Я работаю над системой управления отоплением для своего дома, но у меня проблемы с показаниями датчика температуры выше, чем я ожидаю.
У меня есть клон Arduino Mini Pro 5 В, подключенный к релейному модулю, дисплей HD47780 и модуль Tiny RTC, с подключенным к нему DS18B20.
DS18B20 питается от 5 В Vcc, подаваемого на модуль Tiny RTC, а не от паразитного питания на линии DQ (как я не был уверен, поддерживают ли библиотеки Onewire этот режим работы), и в спецификации DS18B20 говорится, что Vcc может быть между 3.0v и 5.5v. Я измерил регулируемую мощность от Mini Pro, находящегося на уровне 5.2v.
Я сравниваю температуру от DS с существующим комнатным термостатом (биметаллическим), настольным монитором температуры RS с двумя датчиками, небольшим «термогигрометром» и биметаллическим термометром-холодильником (в верхней четверти его температуры). диапазон) † . Показания от DS всегда примерно на 1-2 градуса выше, чем показания от других датчиков, которые находятся в градусах друг от друга.
† Не факт, а нечто подобное.
Читая различные форумы, я слышал, что эти датчики достаточно точны, но могут страдать от локального нагрева от компонентов, расположенных рядом с ними, поэтому я переместил датчик на кабель длиной 20 см и расположил его далеко от остальной электроники. Это не имеет значения.
Затем я прочитал, что DS может стать самонагревающимся, если на него подается слишком высокое напряжение Vcc, поэтому я добавил красный светодиод с падением 1,7 В и измерил новое напряжение на DS как 3,5 В, но снова после ожидания температура стабилизировалась еще раз, это не имело никакого значения.
Кто-нибудь может подсказать, почему DS может читать высоко и что я могу сделать, чтобы предотвратить это?