• Система автоматизации с открытым исходным кодом на базе esp8266/esp32 микроконтроллеров и приложения IoT Manager. Наша группа в Telegram

DHT22 врет, пока не перезагрузишь

UltrAleks

New member
Добрый день, форумчане
Собрал простую схему - NODEMCU v3 и готовый модуль DHT22. Запитал все от стабильных 5 вольт, и завел OUT с датчика на пин D5 (GPIO14).
Залил прошивку ESPhome для использования в умном доме Home Assistant. Все прошло штатно, единственное что пришлось указать в конфиге устройства
После запуска датчик отдает значения температуры -10 и влажности 20% при нормальных комнатных условиях.
Заметил, что после перезагрузки ESP кнопкой Reset (не снимая питания с датчика) показания нормализуются и все приходит в норму.
Думал над тем, что питание на датчик может подавать позже, но как реализовать такую поддержку?
 

Вложения

fps

Active member
У DHT22 ток потребления не превышает 1.5мА. Его можно прямо от GPIO питать без каких либо доп. ключей.
Но сдаётся мне, проблема не в этом.
 

rst

Member
Заметил, что после перезагрузки ESP кнопкой Reset (не снимая питания с датчика) показания нормализуются и все приходит в норму.
Думал над тем, что питание на датчик может подавать позже, но как реализовать такую поддержку?
А где логика??? "показания нормализуются" после RESET-а ESP, и при этом - хотите питание датчика задерживать... :confused:
Проверяйте работу своего блока питания - момент включения, скорость нарастания напряжения. Возможно напряжение нарастает слишком медленно, ESP успевает уже запуститься (на малом напряжении) и считать какие-то калибровочные данные с DHT в то время, когда ему питания ещё не достаточно для нормальной работы. Поэтому эти калибровочные данные читаются неверные.

По уму у вас на линии сброса ESP должен сидеть супервизор питания, который сформирует сигнал RESET необходимой длительности и будет держать этот RESET до того момента, пока напряжение питания не достигнет нужного уровня.
 
Сверху Снизу