Сдвиг уровня 5В <-> 3,3В

Моей основной целью является подключение ультразвукового датчика HC-SR04 к ESP8266.

Проблема в том, что HC-SR04 работает с 5 В, а ESP8266 работает с 3,3 В. Чтобы решить эту проблему, идея состоит в том, чтобы использовать преобразователь логического уровня.

Я купил некоторые из этих Двунаправленный преобразователь(и) логических уровней 3.3V 5V TTL уже давно появился, и мы подумали, что они лучше всего подойдут для этого проекта.

Вот мои настройки

  • 5 В от Arduino
  • 3,3 В от цифрового блока питания.
  • Заземление соединено вместе
  • Ничего не подключено к TX0 (сторона высокого напряжения)
  • Вольтметр подключен к TX1 (сторона низкого напряжения), все еще получает 3,3 В

Подробнее о соединениях макетной платы

Я делаю что-то не так? Будем признательны за любые предложения!

, 👍0

Обсуждение

Вы уверены, что правильно подключили? Описание на сайте продавца вообще не понятное и как минимум немного двусмысленное. Я также не уверен, действительно ли эти платы двунаправленные, поскольку маркировка, кажется, указывает на входы (I) и выходы (O). Что вы увидите на RXO (Receive-Out?) на низком уровне, если вы подключите, например, RXI (Receive-In?) на высоком уровне к 0 В или 5 В? Было бы очень хорошо, если бы эти дешевые платы были должным образом задокументированы..., @StarCat

Я совсем не уверен. Я получаю 2,5 В на RX0, если я подключаю RXI к 5 В, и 0 В, если я подключаю RX1 к GND. Я согласен с документацией, поэтому я надеялся, что кто-то здесь может знать о них больше., @3dprogramin


3 ответа


0

Нет, вы не делаете ничего плохого. Эти простые переключатели уровня MOSFET работают за счет того, что обе стороны подтянуты резисторами к соответствующим источникам питания. Когда на одной стороне появляется низкий уровень цифрового сигнала, этот низкий уровень отражается на другой стороне МОП-транзистора.

Если вы подключите контакт TX0 к GND, вы увидите, что контакт TX1 переходит в 0 В.

,

Пробовал, но не работает. Также увеличился ток на цифровом блоке питания до 0,7А - https://i.imgur.com/UG5dj6R.png, @3dprogramin

Тогда это может быть только в один конец. Я замечаю при ближайшем рассмотрении, что это не TX0 и TX1, а бит TXI и TXO. Это ввод и вывод. Для 5В->3,3В вы должны использовать RXI и RXO для 5В (I) и 3,3В (O), которые просто используют простой делитель напряжения., @Majenko


1

Редактировать: Забудьте о сообщении выше, если вы просто хотите знать, как работает ваша плата. Ваша плата является устаревшим продуктом Spurkfun — клоном.

Здесь вы можете увидеть схемы и всю информацию о вашей плате:

https://learn.sparkfun.com/tutorials/retired-- -с помощью преобразователя-логического-уровня

Исходное сообщение:

В полученном модуле используется полевой МОП-транзистор BSS138. Схема проста, и, как сказал @Majenko, в ней всего 2 подтягивания: См. https://electronics.stackexchange.com/questions/367052. /replace-bss138-with-ao3400a-in-level-shifter-circuit

переключатель уровня

Но эта плата действительно странная: что значит TX0, TX1, RX0, RX1 на одном MOSFET? Лучше, если вы сможете измерить его, чтобы быть уверенным, как подключить датчик к передатчику.

Но есть лучший способ решить эту проблему: поскольку у вас есть только 1 вход для вашего ESP, почему бы не использовать 2 резистора?
5 В --- 1 кОм --- 2 кОм --- ЗАЗЕМЛЕНИЕ
И подключить вход ESP между двумя резисторами? Это еще быстрее, потому что MOSFET требуется до 20 нс для изменения состояния.

,

Спасибо за "свет". Я перепробовал все возможные комбинации с модулем и до сих пор не могу перейти от 3,3 В -> 5 В или наоборот. Неудивительно, что он на пенсии, также имя начинается с BS.. На ESP мне понадобятся два контакта с ультразвуковым датчиком. 1 на вход и 1 на выход. Я попробую то, что вы сказали выше, с входным контактом, но как мне быть с выходом?, @3dprogramin

Плата делалась под серийный преобразователь с 5В на 3,3В. Это причина для RO и RI, или TO и TI. Поскольку в цепи Rx используется всего 2 резистора, вам придется использовать T0 и TI. Итак, подключите контакт Esp32 к TI, а вход датчика к TO. И инвертируйте VL с VH, если у вас есть еще 3V, так как вы хотите преобразовать 3V в 5V, но схема была сделана для преобразования 5V в 3,3V. Это не должно быть проблемой, если вы не используете среднюю часть этой платы., @Adriano

Я немного беспокоюсь, что если я подключу ESP и датчик к модулю и проверю его таким образом, это может повредить их, если модуль не будет работать должным образом (например, потребляет слишком много тока). Будет ли «простой» способ проверить напряжение от 3,3 В до 5 В без возможности что-то повредить? От 5 до 3,3 В работает с резисторами., @3dprogramin

Да, я знаю, что вы имеете в виду. Простой способ проверить — подать 3,3 В на XI (RI или TI) и посмотреть, что получится на выходе (RI переходит в RO, а TI — в TO). Как вы правильно подключили плату (GND, LV к 3,3 В и HV к 5 В), я бы просто подал 3,3 В на оба входа: RI и TI и проверил, можете ли вы измерить 5 В на RO или TO. Если вы все еще измеряете 3,3 В, вы должны установить 3,3 В на RO и TO или инвертировать напряжения LV и LH. Просто проверьте его без датчика или Arduino, подключенных к этой плате., @Adriano


0

Проверьте это: https://learn.sparkfun.com/tutorials/bi-directional- руководство по подключению преобразователя логического уровня/все В этой статье дается подробное объяснение двунаправленного преобразователя логических уровней и его подключения в цепи.

,