Плата NodeMCU dev показывает 13 для АЦП при заземлении - почему?

У меня есть плата разработки NodeMCU 1.0 ESP-12E. Пытаюсь подключить LM35 для измерения температуры. Для этого мне нужно использовать аналоговый вывод A0. Однако, похоже, мой датчик вышел из строя примерно на 4С. Я проследил это до ошибки смещения - когда плата подключена через USB к ПК, и я подключаю аналоговый вывод A0 к аналоговому заземлению с помощью перемычки на плате, я читаю 13 из analogRead(A0). Я должен получить 0. Я подтвердил вольтметром, что А0 находится в состоянии заземления. У меня больше нет ничего связанного с платой. Когда я подаю 3,3 В на A0, я получаю 1024. Когда я подключаю LM35, который выводит 210mV, я получаю значение 81, которое равно 13 (на основе стандартного расчета analogValue / 1024 * 3300).

Что я делаю не так?

, 👍0

Обсуждение

просто вычтите 13 из прочитанного ацп, и проблема решена., @dandavis

Не будет работать, как я уже сказал, это 13, когда Wi-Fi выключен, 2-3, если Wi-Fi включен. Это не будет надежным., @pwnell


1 ответ


1

Вход A0 на самом деле не является входом АЦП. Вместо этого это вход делителя напряжения, который затем поступает на вход АЦП. АЦП ESP8266 способен считывать только до 1,1 В, поэтому создатели NodeMCU услужливо создали небольшой делитель напряжения (два резистора), чтобы снизить входное напряжение до диапазона, с которым может справиться АЦП.

Вот только он не идеален.

Используемые резисторы не являются точными на 100%, поэтому фактические значения, которые вы получаете от АЦП, незначительно различаются от платы к плате. Чтобы получить более точные показания, вам придется сначала откалибровать АЦП, подав на него известные стабильные напряжения и зарегистрировав считанные значения. Или же вы можете измерить резисторы, используемые на вашей плате, и использовать их в расчетах, чтобы определить, какое значение на самом деле видит АЦП.

Или вы можете использовать внешний АЦП, который не требует работы схемы делителя напряжения, что было бы моим предпочтительным методом, так как внутренний АЦП невелик.

,

Спасибо за ответ. Я знаю о делителе напряжения, однако их допусков было бы недостаточно, чтобы вызвать показание 13 при коротком замыкании на землю - конечно? 13-это эквивалент 41мВ. Кроме того, я только что заметил кое - что еще-когда я запускаю Wi-Fi на устройстве, показания короткого замыкания на землю падают до 3. Это очень странно..., @pwnell

АЦП тесно связан с функциональностью Wi-Fi. Это действительно очень дерьмовое соглашение. Вам действительно было бы лучше использовать внешний АЦП., @Majenko

Только что заказал ADS1115 - попробую - еще раз спасибо., @pwnell