Передёрнуть землю глючного DHT22

Всем привет!

У меня периодически отваливается некоторые DHT22. Т.е. вместо нормальных показаний выдают NaN.
Читаю показания редко, раз в 4сек.

Что примечательно: ресет дуни не помогает.
Помогают только две вещи: полностью обесточить устройство, или… что более странно, передёрнуть землю датчика.

Тут у меня сразу 2 вопроса:

  1. Кто-нибудь с таким сталкивался?
  2. Как можно без реле передёрнуть землю? Т.е. разомкнуть и заново подключить?

Любой n-p-n транзистор эмиттером в землю.

а если не землю рвать, а питание, чо будет?

Подтяжка есть?

Да, есть.

Получается, смотря где рвать питание. Я сперва рвал землю на датчике, потому что подтяжка была на плате впаяна, и отключение питания датчика не влияло.

Позже я проверил ситуацию, где подтяжка находится на самом модуле, и да, можно рвать и питание, а не землю.
А вот, отключение и повторное включения сигнального провода ни к чему не приводит - датчик остаётся в зависшем состоянии.

Спасибо за совет.

Я тут посмотрел, оказывается DHT22 потребляет заметно меньше 20мА, совсем ничего
И потому припаял питание к свободному цифровому пину, которым успешно передёргиваю зависающий датчик.

Кстати, интересное наблюдение: часто датчик не работает сразу при загрузке.
А вот если его питать через пин, а на от БП, то такой проблемы вообще больше не наблюдаю. Странно. Может, ему не нравится питание.

Ну так добавьте по эл.конденсатору возле каждого датчика, желательно low esr примерно 1-10мкф.

Интуиция подсказывает, что если датчик зависает при включении устройства, то конденсатор только усугубит проблему. Столь малый номинал электролита Low ESR, боюсь, я не найду. Тогда уж керамику?
Кстати, сейчас подумал: сейчас по питанию у меня стоит 470uF и шунтирующий на 0.1uF, плюс после этого - Шоттки и ещё один 470uF, для поддержки питания МК.
Датчик как раз запитан после всех этих электролитов, которые, конечно, не LOWESR.
Думаю, что в этой ситуации, надо делать какую-то задержку на питание датчика. По ходу, такую задержку выполняет смена питание на пин дуни.

Но в ситуации, когда датчик вешается с течением времени, дело, думаю, точно не в конденсаторах.
Вот интересно, насколько разумная идея питать датчик от пина?

Пока датчик потребляет меньше чем нагрузочная способность пина вполне разумно.

Скоко вольт на стороне DHT ?

)))

Можно и больше, но смысла нет

Я имел ввиду поставить конденсатор непосредственно возле датчика, т.е. на другом конце линии.

Ну и посадите питание датчика на отдельный пин. Тока там вполне хватит. Если душа требует совершенства, то через P-канальный MOSFET питание или через N-канальный - землю

ну, просто, обычно, чем меньше вольтаж и ёмкость у электролита, тем выше его ESR. Это к тому что “желательно Low ESR”… Поэтому я обычно не мельчу с ёмкостями и просто шунтирую их мелкой керамикой.

Да и больше-то как раз, может, и нельзя. Большие ёмкости сосут большие стартовые токи. Вот так переборщишь с ёмкостью - и блоку питания приплохеет. Хорошо, если в защиту уйдет.

Да, ёмкости лучше ставить ближе к потребителю. Теоретически, тут дело, скорее, не в просаде напруги, а в её стартовом значении, и лишний кондёр тут может быть помехой. К сожалению, пока нечем померить.

крейсерские - порядка 5.2, а стартовые, в момент зависания, померить сейчас нечем. На днях поэкспериментирую с питанием.

Вот у меня DHT21 месяцами не зависает. Правда, они на коротеньких проводках висят.

У меня тоже не зависает, а вот влажность уже не даёт. Сдохли посеребрёные обкладки. Только ВМЕ остались :unamused:

До прошлого года, я вообще не сталкивался с подобными проблемами. Такое ощущение, что DHT22 изменились, что ли; продаются бракованные или подделки, и т.п. Есть которые работают только на стандартной библиотеке, а на альтернативных уже не хотят, раньше такого не было; а есть которые глючат, как у меня сейчас. Но вот раньше я с таким не сталкивался. Датчик просто мог выйти из строя через пару лет… Но у меня такое наблюдается только с определёнными партиями с прошлого года…