Делитель напряжения и входы NodeMCU

sensors nodemcu voltage-divider

Некоторые датчики выдают на выходе напряжение от 0 до 5 В. Аналоговые входы NodeMCU требуют напряжения от 0 до 3,3 В. Я планирую сделать делитель напряжения с двумя резисторами, как в этой ссылке для совместимости.

Для обеспечения желаемого напряжения соотношение значений сопротивлений фиксировано (в данном случае примерно 1/2). Однако абсолютные значения сопротивлений - нет.

Вопрос Как выбрать эти абсолютные значения? Каковы критерии и почему?

У меня хороший опыт в области электромагнетизма, но я очень мало знаю об электронной инженерии.

Я думаю, что должны работать низкие значения, например, 1 Ом и 2 Ом (и, безусловно, более высокие значения). Но я не уверен в ОЧЕНЬ высоких значениях сопротивления, потому что подозреваю, что должны быть некоторые требования к силе тока.

Спасибо.

, 👍0

Обсуждение

@Juraj Спасибо. Я пропустил это!, @user1420303

В nodemcu встроен делитель напряжения для макс. 3,3 В., @Majenko

@Majenko, спасибо за ваш комментарий, на каком вводе/выводе это работает?, @user1420303

Вывод АЦП. Вы заметили, что есть два контакта АЦП — один на 1 В, а другой на 1 В, но с делителем напряжения., @Majenko


3 ответа


Лучший ответ:

6

Как прокомментировал @Majenko, вход A0 имеет фиксированный делитель напряжения (см. Схема NodeMCU), который соединяет вход A0 с резистором 220 кОм, затем с контактом ADC ESP8266, затем с землей через резистор 100 кОм.

Это эффективно фиксирует значения резисторов, которые можно использовать для масштабирования ввода NodeMCU. Для входного диапазона 0–5,0 В (с достаточно низким импедансом) вам необходимо масштабировать вывод АЦП от 0 до 1,0 В, добавив резистор ~ 180 кОм между выходом 5 В и входом A0 NodeMCU, создав 400 кОм -> АЦП. -> Делитель на 100кОм вот так:

схема

,

каков компромисс с этим по сравнению с добавлением параллельного резистора между A0 и GND?, @dandavis

Я не думаю, что есть какие-то компромиссы, если честно. Вам нужно разделить выходной сигнал датчика 0–5,0 В на 5, чтобы создать сигнал 0–1,0 В на выводе ADC ESP8266, и это самый простой и эффективный способ добиться этого. Значения резисторов достаточно высоки, чтобы создать очень небольшую нагрузку на выходе вашего датчика. Единственный недостаток, о котором я могу думать, касается очень высокочастотных сигналов., @StarCat

Благодарю вас! Я думаю, что я понял это правильно., @user1420303

Для цифровых входов мне нужно добавить два сопротивления, верно?, @user1420303

Цифровые входы не имеют внутреннего делителя напряжения на плате NodeMCU и принимают входное напряжение 3,3 В. Для масштабирования от 5 В до 3,3 В вам нужен делитель 3/5 делителя. Например: Вход 5 В-> 2,2 кОм-> Вход NodeMCU-> 3,3 кОм-> GND, @StarCat


1

Нижний предел значений ограничен тем, какой ток может обеспечить ваш датчик. Если вы используете 1Ω и 2&Омега; резисторы последовательно, тогда ваш датчик должен будет обеспечить 1,67 А, чтобы создать 5 В на делителе. Сомневаюсь, что ваш датчик может это сделать. Для большинства датчиков вам следует использовать резисторы в диапазоне кОм или десятков кОм.

Верхний предел ограничен входным сопротивлением аналогового входа. Если значения вашего резистора велики по сравнению с этим входным сопротивлением, входное сопротивление аналогового вывода будет влиять на работу делителя напряжения. Если аналоговый вход мультиплексирован, а АЦП имеет на входе выборку и хранение, то очень большие сопротивления в делителе не позволят конденсатору выборки заряжаться достаточно быстро. Для большинства входов АЦП вам следует использовать резисторы в десятки или сотни кОм.

,

Благодарю вас! Есть еще кое-что, чего я не понимаю в отношении низких значений: если датчик работает, выдавая до 5 В при подключении к Arduino, и датчик не может обеспечить 1,67 А, это означает, что в нем уже есть достаточно большой резистор. плата Arduino (или NodeMCU). Не так ли? В таком случае проблем с использованием малых сопротивлений в делителе быть не должно. Другими словами, если датчик может работать с платой без какого-либо дополнительного сопротивления, то как может добавление сопротивлений вынуждать датчик выдавать большие токи? Извините, если это глупый вопрос. Спасибо., @user1420303

чем меньше сопротивление в делителе, тем больше потерь тепла и постоянного потребления тока. Конечно, пара на 1 Ом преобразует 5 В в 2,5 В, но она также тратит впустую 2,5 Вт мощности и выделяет достаточно тепла, чтобы сжечь 10 обычных резисторов. Если датчик не может обеспечить эти амперы, он упадет напряжение или поджарит датчик., @dandavis

@ user1420303 Проблема в том, что сопротивление делителя **параллельно** входному сопротивлению микроконтроллера, а не последовательно. Параллельное соединение сопротивлений приводит к эквивалентному сопротивлению, которое **меньше**, чем любое из исходных сопротивлений. Через ваш делитель будут протекать очень большие токи., @Elliot Alderson

@ElliotAlderson спасибо! Я не заметил, что они параллельны, @user1420303

Для Arduino на базе ATMega эффективное сопротивление, наблюдаемое АЦП, не должно превышать 10 кОм по описанной вами причине. Поскольку это сопротивление Thevenin, то делитель два к 1 с использованием резисторов 20 кОм даст эффективное значение 10 кОм. В общем, используйте что-то между 1k и 10k., @Kevin White


1

Чтобы лучше понять делитель напряжения, можно посмотреть на этот онлайн-калькулятор https://ohmslawcalculator.com/voltage-divider-calculator< /a> чтобы увидеть реальную формулу и попробовать вычислить искомое с помощью калькулятора.

Не рекомендуется публиковать существующий делитель напряжения на NodeMCU, конечно, вам нужно просмотреть схему, чтобы понять это.

То же самое происходит с существующим подтягивающим резистором для некоторых GPIO.

@Majenko, ваше объяснение превосходно!

,