esp8266 analogRead датчика влажности почвы 5,5 В с использованием делителя напряжения
На ESP8266 я пытаюсь выполнить аналоговое считывание(A0) датчика влажности почвы с помощью делителя напряжения, но получаю неожиданные низкие значения.
MT3608 увеличивает выходное напряжение esp с 3,3 В до 5,5 В, что является рекомендуемым напряжением для моего емкостного датчика влажности почвы v1.2 (в отличие от изображения ниже, я использую v1.2, а не v1.0). Когда в игре нет делителя напряжения и датчик сухой, датчик выдает ~4,5 В (желтый провод). Выход составляет около ~2,3 В, когда датчик полностью влажный.
Для моего делителя напряжения я использую резистор 150 Ом (R1) и резистор 39 Ом (R2). Учитывая ~4,5 В Vin на желтом проводе, это должно обеспечить мне ~0,9 В Vout на зеленом проводе, потому что Vout=Vin*(R2/(R1+R2)). Напряжение Однако, используя устройство для измерения напряжения, я измеряю только 8,3мВ вместо ожидаемых 0,9В! Он падает до 7,7 мВ, когда Vin равен 2,3 В (датчик влажности).
Что я делаю не так? Любой совет высоко ценится!
Для тестирования я в настоящее время использую плату со встроенным внутренним делителем напряжения, который обеспечивает вход до 3,3 В, однако в окончательной конструкции мне нужно запустить все с помощью ESP12-E без такого внутреннего делителя.
@mika, 👍1
Обсуждение1 ответ
Лучший ответ:
При проектировании делителя напряжения с 2 резисторами необходимо учитывать 2 вещи:
- Соотношение между R1 и R2, которое дает выходное напряжение: U(выход) = U(вход) * [R2 / (R1 + R2)]
- Величина каждого резистора: чтобы получить соотношение 1/2, вам нужно иметь R1 = R2 независимо от их значения. Но в зависимости от значения ваших резисторов (например, это может быть 10 Ом, 1 коМ, 100 Ком или 10 Мом), через мост будет проходить разный ток. Чем выше резисторы, тем меньше ток, и наоборот.
При измерении напряжения внутри делителя напряжения АЦП можно рассматривать как нагрузку на схему (как показано ниже). Некоторые форумы утверждают, что входной резистор АЦП ESP8266 составляет около 20 Мом. Если резисторы моста слишком низкие, ток будет высоким и будет проходить только через мост, оставляя недостаточно тока для измерения АЦП (электроны ленивы и всегда идут по пути наименьшего сопротивления). С другой стороны, если резисторы слишком высоки, ток также будет слишком низким, чтобы его можно было точно определить.
В большинстве случаев делители напряжения строятся с резисторами от 10 Ком до 1 Мом. Это позволяет пропускать достаточный ток через АЦП для точного измерения напряжения.
Как следует из комментария дандависа, выбор (R1 ; R2) = (15 Ком ; 3,9 Ком) или (150 Ком ; 39 Ком) должен работать в вашей схеме.
- Проблемы с подключением I2C на ESP8266 — 12F, какие контакты использовать?
- Делитель напряжения и входы NodeMCU
- Почему dtostrf() не работает для этого значения?
- Отправка данных из ESP8266 в PHP
- Могут ли ESP8266 и HC-SR04 дружить?
- Как определить наличие воды с помощью всего двух проводов
- Считанное значение не меняется при вращении потенциометра в Arduino?
- Как считывать высокое напряжение (40-65В) с блока солнечных батарей
Если "V3" чем-то похож на "V1", то на выводе A0 уже есть делитель напряжения, предназначенный для работы на 3,3 В (аналоговый вход ESP8266 обрабатывает только 1,1 В максимум). Вам просто нужно добавить еще один резистор вместо целого делителя напряжения, чтобы отрегулировать встроенный. 100 Ком должно сработать., @Majenko
Похоже, на моей плате есть делитель напряжения, однако я использую плату NodeMCU только для тестирования, и мне нужно запустить финальную схему с ESP12-e, у которого нет встроенного делителя напряжения и который ожидает <=1 В аналоговый вход. Я все еще удивляюсь, почему я получаю это низкое значение всего 8,3 мВ, в то время как на самом деле я ожидаю 900 мВ, @mika
Просто используйте внутренний разделитель как часть вашего дизайна., @Majenko
но у ESP12-e нет внутреннего разделителя, это просто чип. Я редактирую вопрос, чтобы сделать это более ясным., @mika
Как и esp, который находится в nodemcu. Разделитель находится на плате. Это большая часть вашего разделителя, который вы хотите спроектировать. Когда вы перейдете к своему собственному дизайну платы, просто возьмите это, но дизайн разделителя с собой., @Majenko
эти резисторы имеют слишком низкое значение; они снижают выход. Умножьте свои ом на 100, и это должно сработать., @dandavis
@дандавис, спасибо, что сделал свое дело! Мне любопытно, можете ли вы дать мне объяснение, почему делитель напряжения с большим количеством Ом приводит к более высокому выходу?, @mika
Низкоомный делитель напряжения потребляет больше тока, чем высокоомный, даже без измерительного устройства (вашего ESP), подключенного в средней точке. Источник питания должен обеспечивать достаточный ток и при этом поддерживать его напряжение. Если это не так, напряжение питания падает., @JRobert
@мика Посмотри [этот пример](https://www.filipeflop.com/blog/trabalhando-sinais-analogicos-no-nodemcu-esp8266/) использование ampOps., @Higor Maia Concessa
У меня была аналогичная ситуация с 47 Ом в качестве R2, который идет на землю, как вы решили проблему? Прочитав комментарии Винсента и @dandavis, я пропатчил R2, добавив 10 кОм в последовательный порт, что теперь составляет 10047 Ом, и внезапно уровни, обнаруженные на аналоговом выводе, выросли. Когда у меня есть 100 кОм в кабеле к аналоговому контакту, с 47 Ом я получил 13, аналогично тому, когда данные не поступали, с 47 кОм я получил 13 ~ 14, с 10047 Ом на R2, значение аналогового контакта подскочило до 108 для 100К и 195~196 для 47К., @José Roberto García Chico