Вход 12 В на 3,3 В GPIO, TVS выключен или Шоттки подтянут?

12

Я строю свой собственный ПЛК, который должен принимать постоянные входы до 30 В постоянного тока в STM32F с 3,3 В входами.

Коммутируемый вход должен работать с напряжением 8–30 В, но 90% времени входное напряжение будет фиксироваться на уровне 12 В или 24 В. На входах всегда будут только такие переключатели, как концевые выключатели, поэтому меня не беспокоит обнаружение входы менее 8 В или входы от датчиков и т. д. Я также не беспокоюсь о скорости, так как реально самые быстрые переключатели будут двигаться каждые 1 с; Мне просто нужно быть уверенным, что мой микроконтроллер защищен.

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

Два электронных инженера рекомендовали следующее, но я не слишком уверен, какой путь лучше:

Введите описание изображения здесь

Должен ли я использовать верхний или нижний? Любой почему?

Терри Гулд
источник
5
Я обычно так не говорю, но это похоже на хорошее место для оптопары.
Мэтт Янг
@ MattYoung Не могли бы вы обновить свой комментарий, чтобы сказать, зачем нужен оптопара?
Ричард Чамберс
1
Схема, о которой я спрашиваю в этом вопросе, является входной цепью от ПЛК основного бренда.
Рон Бейер

Ответы:

17

На самом деле это старая проблема с ПЛК, и она не так проста, как предполагаемые решения.

Самая большая проблема, с которой вы столкнулись, заключается в том, что при наличии большого разнообразия потенциальных логических напряжений, с которыми вам необходимо справиться, фактические уровни логики могут быть намного выше, чем у шины 3.3 В, которую вы используете внутри. Некоторые датчики и устройства имеют логические пороги выше 5 В. Таким образом, простое использование цепи отключения, как вы указали, не будет определять низкий уровень от таких датчиков.

Стадия ввода ПЛК должна быть намного более гибкой.

Даже если логический уровень низкого уровня приемлем, каждая из этих цепей страдает от разных проблем.

Зенер / ТВС Ограничение.

введите описание изображения здесь

Эта схема имеет то преимущество, что при известном входном напряжении стабилитрон может иметь такой размер, чтобы никогда не позволять напряжению превышать напряжение на шине. Обычно вы выбираете стабилитрон с меньшим обратным напряжением, чем у шины, но выше, чем логический порог высокого уровня.

Тем не менее, стабилитрон потратит большую часть своей жизни с обратным смещением, так как вы платите штраф в виде обратного времени восстановления, когда входной сигнал падает, что задержит ваш сигнал на пятне.

Другая проблема, связанная с стабилитроном, заключается в том, что фактическое напряжение, на котором он будет ограничиваться, зависит от тока, проходящего через него. Таким образом, напряжение в некоторой степени будет зависеть от напряжения сигнала. Поэтому вам необходимо рассчитать резистор для максимального входного напряжения и пересчитать для более низких напряжений, чтобы увидеть, не ограничивает ли стабилитрон напряжение ниже вашего уровня .VIH

Диод ограничения тока

введите описание изображения здесь

Использование диода до шины имеет проблему, заключающуюся в том, что выходное напряжение все равно будет превышать Vcc, но только немного. Тем не менее, это все еще может быть вредным для ввода. Кроме того, в этом случае обратное время восстановления означает, что для быстрых входных фронтов высокое напряжение будет проходить очень быстро.

Так

Поскольку обе эти схемы включают в себя высокий резистор на входе, им обоим требуется, чтобы все, что управляет входом, имело низкий выходной импеданс. Из них версия Zener обеспечивает лучшую защиту, но за счет производительности. Ни один из них не будет работать, если подключенного датчика> 1,5 В или около того.VOL

альтернативы


Оптико-сцепка.

Обычный метод, используемый ПЛК, заключается в использовании оптопар.

схематический

смоделировать эту схему - схема, созданная с использованием CircuitLab

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

Скорость оптопары также является ограничивающим фактором. Однако этот метод обычно используется, потому что он дает вам полную гибкость.

Кондиционирование аналогового входа

Другой метод состоит в том, чтобы принять сигнал в аналоговой форме, сравнить его с эталонной переменной с гистерезисом и таким образом сгенерировать логический уровень.

схематический

смоделировать эту схему

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

комбинирование

Из соображений изоляции вы можете объединить вышеперечисленное, и компаратор подает питание постоянного тока на светодиод оптопары.

Если бы я разрабатывал продукт, я бы собрал все это на небольшом подключаемом модуле, который можно было бы подключить к краевым разъемам карты на «материнской» плате, как они используют для карт в ПК. Таким образом, вы можете легко заменить их, если их обжарить. Этот метод также позволяет вам сделать доступными другие типы ввода, например, волоконно-оптический вход.

Trevor_G
источник
2
Разве BJT или FET не будет хорошим, безопасным, дешевым способом сделать это? ОК, сигнал будет инвертирован, но программное обеспечение исправит это. Подлинный вопрос, не пытаясь быть умным.
DiBosco
@DiBosco Та же проблема, что не обязательно VOL
равен
Спасибо за ваш очень подробный ответ, я только что обновил свой вопрос, чтобы ответить на некоторые из упомянутых вами проблем. Входное напряжение будет 8-30 В с максимальной частотой 1 с
Терри Гулд
@TerryGould круто, тогда я уже показал вам почти все, что вам нужно знать :)
Trevor_G
Изменится ли он сильно, если вход будет 5V терпимым? Многие на STM32F, с абсолютным максимумом на 5,3 В. Также Vih составляет 0,7 * Vdd, поэтому 2,3 В для шины 3,3 В.
Ян Дорняк
5

100к слишком много. Это вызвало бы от почти любого реле или операции переключения поблизости. Не очень надежно для ПЛК, если вы спросите меня.

На самом деле существуют стандарты и правила для ПЛК . Поскольку вы хотели бы, чтобы все поставщики ПЛК имели одинаковое поведение при установке, было бы неплохо, если бы различные модели могли быть связаны друг с другом без проблем.

Например, вход только считает его на , когда он тонет , по меньшей мере ~ 2 мА , и это выше 10V. (МЭК 61131-2) iec 61131-2

Вы не можете получить это точно с пассивными элементами, поэтому есть такие детали, как SN65HVS880.

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

Простые 100K и BAT54S не будут надежными, я могу сказать это по опыту.

Пример ввода plc
предыдущий ответ

* отдельный триггер Шмитта не важен

Jeroen3
источник
2

Оба приемлемы. Вам нужно убедиться, что резистор имеет правильный размер, чтобы входной ток не приводил к падению входного напряжения ниже V_IH, но с CMOS это тривиально, поскольку входной ток очень мал (100 кОм почти наверняка подойдет)

Со вторым единственным предостережением является то, что вам нужно быть уверенным, что общая нагрузка на 3,3 В никогда не будет меньше 30 В / 100 К (в разы, сколько бы у вас не было входов), в противном случае шина 3,3 В может быть поднята до напряжение, которое может повредить устройства на нем. Если перевести микро в спящий режим, он может нарисовать так мало.

Другое предостережение заключается в том, что в обоих случаях резистор 100 кОм работает с входной емкостью как фильтр нижних частот, который замедляет входы. При входной емкости 10 пФ максимальная частота переключения будет около 100 кГц, а задержка - около 2 микросекунд.

τεκ
источник
Ни одна из них не работает, если подключенного датчика> 1,5 В или около того. VOL
Trevor_G
«Не работает, если VOL подключенного датчика> 1,5 В или около того». - добавить резистор от GPIO на землю, чтобы сформировать делитель напряжения. Проблема решена!
Брюс Эбботт