У меня есть разъем pogo с +8,4 В/GND/SDA/SCL. Я хотел бы защитить свой микроконтроллер от перенапряжения (+8,4 В потенциально могут касаться SDA/SCL). Я пробовал эту схему:
Но дело в том, что с этой схемой на выводе I²C всего 2,4 В, а без 3,3 В. Схема работает отлично, но 2,4 В для высокого уровня не соответствует спецификации esp32-pico-d4, которую я использую (минимум 2,475 В). Как я могу изменить конструкцию/компоненты, чтобы иметь почти 3,3 В на выводе GPIO (когда он высокий) и точное ограничение напряжения?
Я просмотрел много вопросов о защите от перенапряжения на Stack Exchange, но не нашел решения своей проблемы.
Как я могу изменить дизайн / компоненты, чтобы иметь почти 3,3 В на выводе GPIO (когда он высокий) и точное ограничение напряжения?
Стабилитроны не так совершенны, как вы, возможно, думаете. Даже ниже напряжения стабилитрона они по-прежнему будут проводить некоторый ток и из-за подтягивающего резистора (4,7 кОм) не допустят появления полных 3,3 вольта на вашем выводе I2C. Вы могли бы добиться большего успеха, если бы вместо стабилитрона вы использовали диод Шоттки от вывода I2C к вашей локальной шине 3,3 В, то есть через резистор 4k7: -
Это ограничит напряжение I2C примерно до 3,6 вольт или, возможно, 3,7 вольт, возвращая избыточный ток, подаваемый через резистор 330 Ом, на шину питания. Это зависит от способности большинства микросхем выдерживать несколько более высокое напряжение на своих выводах ввода-вывода, чем на выводах шины питания. Это обычная практика, но она будет работать только в том случае, если ваш интерфейсный чип I2C имеет эту «избыточную» способность.
Стабилитроны ниже 5 В действительно ужасны и пропускают значительный ток ниже своего напряжения стабилитрона.
Эта диаграмма для типичного небольшого стабилитрона ( BZX84 ) показывает, насколько мягким является «колено» напряжения для низковольтных стабилитронов по сравнению с более высокими напряжениями. Устройство на 6,8 В имеет довольно резкое включение, в то время как версия на 3,3 В практически не имеет «изгиба».
(Обратите внимание, что на графике используется логарифмическая шкала для оси Y, которая расширяет характеристики слабого тока).
Диод 3,3 В на этой диаграмме пропускает около 100 мкА при 2,4 В.
Стабилитроны выше примерно 6 В работают по другому механизму, называемому лавинным эффектом, и демонстрируют гораздо более близкую к идеальной работу. Лично я никогда не использую стабилитроны ниже 5-6В.
Еще одной нежелательной характеристикой низковольтных стабилитронов является их очень высокая емкость - устройство BZX84 3,3 В имеет емкость 450 пФ. Этот высокий уровень может плохо повлиять на такие схемы, как защита I2C. Другие подходы, использующие диод Шоттки для питания, имеют гораздо меньшую емкость.
У вас есть источник питания 3,3 В и стабилитрон на 3,3 В с резистором между ними.
Следовательно, напряжение на резисторе будет равно 0 В, и ток не может протекать. Так что это не может работать так, как вы предполагали, потому что части работают не так, как вы себе представляете.
Существует неправильное представление о стабилитронах как о «магических перепадах напряжения». Фактически они представляют собой линейную часть с набором характеристик, указанных в их паспорте. Фактическое поведение стабилитрона должно быть рассчитано на мнимое падение напряжения.
Так что вам нужна совершенно другая схема.
Как насчет двунаправленного переключателя уровней с равными уровнями?
Эта настройка используется для разных напряжений на шине i2c, но я думаю , что она должна работать и для 3v3 на 3v3 (но я не проверял это). МОП-транзистор должен выдерживать 8v4 на стороне разъема и в противном случае следовать за сигналом.
https://assets.nexperia.com/documents/application-note/AN10441.pdf
смоделируйте эту схему - схема, созданная с помощью CircuitLab
Вот один (ужасный) подход:
По сути, это идеальный диод, подключенный от выхода к 3,3 В, и входной резистор, чтобы он не потреблял «бесконечный» ток.
Основные проблемы с этим подходом:
(Конечно, вы можете сделать то же самое с операционным усилителем, но остерегайтесь пропускной способности.)
(Вы также можете сделать что-то подобное с идеальным диодом, но, опять же, остерегайтесь пропускной способности.)
...как говорится, просто используйте изолятор. Это легче. (Если вы не делаете это массово, в этом случае это не самый дешевый вариант.)
2,4 В для высокого уровня, на мой взгляд, слишком мало.
Почему ваше мнение важно здесь? Единственное «мнение», которое имеет значение, — это техническое описание устройства, к которому вы подключаетесь. Ничто другое не важно.
В качестве быстрой справки я взял техническое описание микроконтроллера TI OMAP-L138, с которым я сейчас работаю. Для источника питания 3,3 В высокий логический уровень на входах составляет минимум 2,0 В, а низкий логический уровень составляет максимум 0,8 В. Ваш вход с 2,4 В для высокого логического уровня будет очень надежным.
Тем не менее, ваша схема может не дать надежного 2,4 В, потому что стабилитроны не являются блестяще линейным компонентом. Вам нужно будет посмотреть на их кривые с допусками и при разных температурах, чтобы быть уверенным в том, является ли 2,4 В лучшим или худшим случаем.
Я бы также добавил, что ваша схема защиты должна также охватывать входное напряжение ниже 0 В. Вы можете подумать, что этого не может быть, но если вы находитесь в какой-либо промышленной среде, то это небезопасное предположение.
TLW