M5Stack - запутался в напряжении шины I2C
Недавно у меня появилось одно из этих замечательных устройств M5-Though (в основном водонепроницаемое M5-Core2). У них есть эти 4-проводные розетки для подключения своих датчиков. Гнездо I2C имеет 4 контакта для +5V, GND, SDA и SCL. Согласно схемам (внизу страницы), линии SDA и SCL напрямую соединены с выводами GPIO ESP32. Это означает, что большинство датчиков, подключенных к этому разъему, будут работать по шине I2C при напряжении 5 В. Даже их собственные датчики (пример) имеют подтягивания до 5 В на линиях SDA и SCL.
Разве это не сожгёт ESP32? Разные источники говорят, что его входы не терпимы к 5V. До сих пор я всегда использовал линию 3,3 В для питания внешних датчиков от ESP32 (или добавлял переключатель уровня).
@PMF, 👍0
Обсуждение1 ответ
Лучший ответ:
Нет, он не собирается "жарить" ESP32, и вот почему:
Да, есть подтягивания до 5В. В вашем примере это 4,7 тыс. Контакты ввода-вывода подключаются к 3,3 В через ESD-диоды. Это означает, что любое напряжение выше 3,3 В плюс прямое напряжение этих диодов будет "отведено" от вывода ввода-вывода через диод. В контакты ввода-вывода встроены эти ESD-диоды, но к этой плате добавлены дополнительные внешние, чтобы сделать ее более прочной.
Эти ESD - диоды могут обрабатывать конечное количество тока, протекающего через них-внутренние только небольшое количество, но внешние гораздо больше.
5V будет только низким током, потому что он соединен с резистором. Мы даже можем немного посчитать здесь.
Предполагая, что диоды ESD имеют прямое напряжение 0,3 В (как это обычно бывает), мы можем сказать, что напряжение на диоде будет 5 В - 3,3 В - 0,3 В = 1,4 В.
При использовании резистора 4.7 K в качестве подтяжки ток через диод составит 1.4 В / 4700 = 298 микроампер.
Это намного ниже предела, который можно было бы ожидать от небольшого внутреннего ESD-диода, не говоря уже о большем внешнем.
"Жарка" вывода ввода-вывода происходит, когда через ESD-диод протекает слишком большой ток, и он взрывается, "проваливаясь коротко", в результате чего вывод ввода-вывода блокируется либо в ВЫСОКОМ, либо в НИЗКОМ состоянии на всю оставшуюся вечность. Поскольку ток нигде не приближается к тем уровням, которые необходимы для этого, он даже отдаленно не напрягает диоды, а включение внешних диодов делает его еще безопаснее.
Спасибо, это звучит разумно. Но обратите внимание, что внешние диоды в примере предназначены для защиты датчика, а не ESP32. Я беспокоюсь о входной стороне ESP. Я собираюсь подключить другой тип датчика, который может работать непосредственно при 5 В и не имеет внутреннего преобразователя мощности., @PMF
@PMF ESD - диоды находятся не на периферии, а на основном блоке. Раздел "ESD" в правом верхнем углу основной схемы. В частности, D6., @Majenko
Спасибо, я не понял этой части., @PMF
- Сдвиг уровня ШИМ от 3,3 В до 5 В
- Как реализовать детектор brown out arduino ESP32?
- Подключите реле 5 В к плате ESP32 WROVER B
- 3в до 3,5в шаг вверх?
- ESP32 изо всех сил пытается последовательно запустить 4- канальный релейный модуль 5 В
- Управление двигателем постоянного тока ARDUINO через ИК-датчик INPUT
- Программа работает при использовании Delay(), но та же программа не работает с millis()
- Пульсирование 3в в конденсаторе для создания произвольных напряжений
ваш пример ссылки показывает, что у них есть переключатели перед GPIO i2c, и он объясняет: "_используйте 3,3 В на SDA и SCL, M5Core GROVE обеспечивает 3,3 В для выводов данных, 5 В для вывода питания. на VL53L0x_ допускается только 3,3 В". Тем не менее, слабые подтягивания не так плохи, как низкоомный сигнал hi/lo 5v, но легче "запретить" 5v, чем копаться в конкретных устройствах и ситуациях., @dandavis
@dandavis Это предложение тоже пришло мне в голову, но в данном контексте оно не имеет смысла. Похоже, они скопировали что-то из документации самого датчика, которая больше не относится ко всему модулю. На 4-проводной линии, к которой подключен датчик, нет контакта 3,3 В. Они действительно используют переключатель для модуля, но наоборот (ESP32 находится там с левой стороны)., @PMF
это ясно показывает, что модуль использует подтягивания 3,3 В(R1+2) и 3,3 В LDO (U2) на модуле. Это обеспечивает большую гибкость для модулей, так как легче преобразовать 5 в в 3,3 В, чем увеличить подачу 3,3 В в 5 В., @dandavis
я согласен, что схемы немного сбивают с толку, но вы действительно думаете, что они будут проектировать, делать и продавать модульную систему, в которой их модули сломали их MCU?, @dandavis
@dandavis Я бы очень надеялся, что они этого не сделают. Но мне все еще кажется, что они управляют микроконтроллером вне его спецификаций. И хотя их продукты производят зрелое впечатление, их документация явно этого не делает. Это не первый раз, когда я вижу модульную систему, которая при ближайшем рассмотрении не подходит друг другу., @PMF