Интерпретация значений повышения Rp и Rpu в таблице данных AM3202 (DHT22)
В технических данных AM2302 на странице 3, таблица 4 указано min
, typ
и max
для Rpu
(что подтягивающий резистор
, как там дословно) 30K
, 45K
и 60K
Ом соответственно.
В другом месте той же таблицы приведены значения для Rp
(без u
) < 25 кОм.
В чем здесь разница между Rpu
и Rp
и как следует интерпретировать две строки?
@Tom Hale, 👍0
1 ответ
Лучший ответ:
Техническое описание так же неточно, как и сам датчик, и даже хуже, чем вы думаете!
В этой таблице также написано: «обычно требуется внешний подтягивающий резистор сопротивлением около 5,1 кОм».
В техническом описании также упоминается, что выходной сигнал может достигать 8 мА для высокого выхода и минимум 10 мкА для низкого выхода. Значение 10 мкА означает, что сопротивление подтягивающего резистора должно составлять 500 кОм или более. Это неправильно.
В этой таблице данных есть изображение с разрешением 1 КБ.
В этой китайской таблице данных есть изображение с 5 тыс.
Я прогнал эту китайскую таблицу через Google Translate, но это не помогло.
Вывод: таблица данных ненадежна.
Можно поступить, как все: использовать резистор 10 кОм для коротких проводов и попробовать 4 к7 для более длинных проводов.
Это не единственная проблема. Некоторые библиотеки DHT создают ярлык для сигнала данных.
AM3202 неточно измеряет влажность. Если хотите избежать неприятностей, используйте более качественный сенсор.
Хорошим выбором будет датчик Bosch (например, BME280 или BME680). Bosch составляет надежные таблицы данных. Эти датчики от Bosch работают при напряжении 3,3 В. Если вы собираетесь подключить их к плате Arduino с напряжением 5 В, вам понадобятся преобразователи уровня сигналов.
- Колебания показаний датчика температуры LM35 (+- 5°C) с Arduino UNO
- Неверные показания PT100 и MAX31865
- Погрешность измерения датчика температуры LMT 84
- Как инициализировать сброс на цифровом термометре sht30?
- Проблема с условием if
- Как использовать датчик температуры M117 от mysentech?
- В чем разница между типами данных CloudTemperature, CloudTemperatureSensor и Float?
- Изучить основы Arduino: датчик температуры с ЖК-дисплеем и настройка потенциометра
Спасибо @Jot. Есть идеи по поводу точности цифры 2 с между чтениями? Вместо библиотеки Adafruit «по умолчанию» я просмотрел [это](https://github.com/markruys/arduino-DHT/blob/master/DHT.cpp) и [это](https://github .com/RobTillaart/Arduino/blob/master/libraries/DHTlib/dht.cpp), которые содержат гораздо более чистый код для моего проекта, точность которого не критична., @Tom Hale
Есть ли причина не использовать вместо этого
INPUT_PULLUP
в этом случае? На самом деле, я задал это как отдельный вопрос: Использование подтягивающего резистора против INPUT_PULLUP/OUTPUT_PULLUP, @Tom Hale@TomHale Эти датчики не улучшаются с интервалом более 2 секунд. Не обращайте внимания на все, что написано в даташите о точности, это ерунда. Это чувствительный элемент, который ненадежен. Насколько я могу судить, обе упомянутые вами библиотеки не помещают строку данных в качестве выходной и высокой (что создает ярлык). Так что оба в порядке. Внутренний подтягивающий резистор Arduino составляет от 30 до 50 кОм, это значение слишком велико, чтобы быть надежным, и это значение различно для разных плат Arduino. Вы можете использовать его для теста, возможно, он сработает., @Jot
Ваше здоровье. К вашему сведению, в таблице данных указано 20–50 тыс., как показано в вопросе для подтягивания., @Tom Hale