Использование датчика рН 5В с узлом 3,3В
Я пытаюсь использовать датчик pH с NodeMCU, проблема в том, что NodeMCU составляет 3,3 V и РН аналогового датчика требует 5В. Сначала я думал, используя VIN контакта PIN, но не работал, затем я использовал Ву Пин от NodeMCU v3 с (по Lolin), но это не дает мне правильные значения, как если бы он пропустил большую мощность. Есть ли какой-нибудь другой способ? Или любая плата esp8266, которая поддерживает 5В аналоговый вход?
@Javier Guerrero, 👍3
Обсуждение4 ответа
Лучший ответ:
В зависимости от вашего конкретного датчика и настройки источника питания у вас есть следующие опции:
Изменение напряжения питания
Большинству резистивных датчиков не нужно ничего питать, и они будут нормально функционировать при напряжении менее 5 В. Изучите техническое описание и проведите тестовые измерения, чтобы выяснить, подходит ли это.Используйте делитель напряжения
Подайте на датчик напряжение 5 В и используйте простой делитель напряжения перед подключением к вашему микроконтроллеру, поэтому измерьте 0-3,3 В.Интерфейс другой микросхемы
Приобретите небольшой внешний АЦП, который может обрабатывать показания 5 В и может быть подключен по любому последовательному протоколу, поддерживаемому вашим esp8266 (а именно UART и I2C).
Я бы также рекомендовал использовать внешний АЦП, например: [ссылка](https://www.adafruit.com/product/856), @Denis Vitez
Внешний АЦП является наименее выгодным вариантом, поскольку ему требуется больше аппаратной работы (возможно, даже в другом корпусе), ГОРАЗДО больше кода и, как правило, менее эффективен., @mystery
@mistery Спасибо за ваш ответ! Ну, на самом деле я уже пробовал с делителем напряжения от 5 В до 3,3 В и работал, но только в некоторых случаях; Я использую вывод NodeMCU VU, который предположительно дает 5 В, но, например, когда pH ниже, датчику требуется больше мощности, чтобы выдавать точное значение, и когда это происходит, NodeMCU перестает получать эти показания, скажем, ниже 4,80 (в масштабе 0-14) он перестает считывать изменения аналогового значения, поэтому я думаю, что, вероятно, NodeMCU не может обеспечить 5 В. Мой делитель напряжения с 1K и 2K, я думаю, возможно, использовать плату Wemos, у нее контакт 5 В, как вы думаете?, @Javier Guerrero
Я все еще не знаю, какая именно плата у вас есть. Моя идея заключалась в том, чтобы включить датчик от вашего источника питания, а не через чип. Вам действительно следует изучить технический паспорт датчика, чтобы получить представление о его поведении, @mystery
Самый простой метод - это просто делитель напряжения-так же, как если бы вы соединяли выходной логический сигнал 5 В с входом 3,3 В. Однако это может и не сработать.
Делитель напряжения действительно будет полезен только в том случае, если выходной сигнал датчика pH имеет низкое сопротивление. Если это не так, то вам понадобится делитель напряжения с очень высоким сопротивлением, а аналоговый вход ESP8266 недостаточно высок для поддержки делителя напряжения с очень высоким сопротивлением - это приведет к ужасному искажению результатов.
Поэтому вам, возможно, потребуется сначала буферизировать выходной сигнал датчика pH через операционный усилитель.
Если вы используете неинвертирующий буфер с единым коэффициентом усиления, вы можете использовать делитель напряжения для уменьшения выходного напряжения.
В качестве альтернативы, как предлагали другие, используйте внешний АЦП 5 В и преобразование логического уровня для связи с ESP8266.
Старая тема, но на случай, если она появится в поисках, как та, которую я только что делал ... Я запускаю 5 В ультразвуковой SR04 от нодема Lolin, и если вы подключитесь к "VU" на нодеме Lolin, вы получите 5 В.
Проверено здесь с помощью вольтметра, и действительно " VU` дает 5 В. Молодец!, @brasofilo
Частью проблемы также было считывание 5 В с датчика, @Alex G
Вы, ребята, проверили спецификацию ESP-12 Aithinker'а? В документе китайского издания есть описание, в котором говорится, что если вы подключаете другие устройства, работающие в 5 В, вы должны использовать промежуточную схему преобразователя уровня.
вопрос в питании, а не в последовательной связи, @Juraj
- NodeMCU - Vin контакт как выход 5V?
- Как заставить 5-вольтовое реле работать с NodeMCU
- ESP8266 не подключается к Wi-Fi
- Разве в узле MCU v3 (LoLin) нет встроенного светодиода?
- Разница между этими двумя платами NodeMCU?
- NodeMCU - использовать кнопку flash в качестве входного сигнала в loop()
- Как определить размер Flash?
- WebSocketsServer.h: No such file or directory
Попробуйте получить плату АЦП 5 В, с которой вы можете разговаривать через I2C, и преобразователь логического уровня 5 В->3,3 В для шины I2C., @Code Gorilla
в конце концов, ваш разделитель, вероятно, был в порядке - некоторые платы NodeMCU не выдают 5 В на VIN. На платах разработчиков NodeMCU нет тонны согласованности, но я обнаружил, что все с CH340 в этом отношении недостаточны, а все CP2102 хороши, ищите "amica" на обороте и избегайте тех, на которых написано "lolin". Все мини-устройства Wemos D1, которые я пробовал (около 20 единиц в 3 вариантах), работают и имеют 3,3 АЦП и 5 В VIN, как и ожидалось., @dandavis