• Уважаемые посетители сайта esp8266.ru!
    Мы отказались от размещения рекламы на страницах форума для большего комфорта пользователей.
    Вы можете оказать посильную поддержку администрации форума. Данные средства пойдут на оплату услуг облачных провайдеров для сайта esp8266.ru
  • Система автоматизации с открытым исходным кодом на базе 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 до того момента, пока напряжение питания не достигнет нужного уровня.
 
Сверху Снизу