12В вход на вывод микроконтроллера

8

Я пытаюсь считать импульсы в секунду. на выводе микроконтроллера в диапазоне ~ 5 до 100 Гц. Микроконтроллер может работать на входе 5 В, поэтому мне нужно безопасно снизить уровень напряжения.

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

Я встречал этот ответ, но остается вопрос, способна ли эта схема к «быстрым» изменениям 100 Гц.

Существует ли проверенный, надежный способ (возможно, с помощью микросхемы) подключения контактов 5 В или 3,3 В к «грязным» входам 12 В? У меня есть 12 В и 5 В для управления любой готовой микросхемой.

Кристиан
источник
2
резистивный делитель + стабилитроны?
Уэсли Ли
2
Это действительно вопрос, на который нельзя ответить простым поиском в Google?
Ale..chenski
16
На него можно ответить, но я бы очень хотел получить качественный ответ, прежде чем разрушать свое оборудование из-за собственной глупости. Давайте остановимся на «душевном спокойствии»?
Кристиан,
8
@AliChen stackexchange стремится быть каноническим хранилищем вопросов и ответов. Даже простые вопросы могут быть хорошими, если они собирают полезные ответы.
Уэйн Конрад
2
100 Гц это не быстро.
user253751

Ответы:

13

Используйте схему как это:

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

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

R1 и R2 определяют диапазон напряжения и выполняют начальное деление. Эти резисторы должны быть способны к некоторой мощности. Типичным является MELF 0,4 Вт. Все остальные могут быть чип-резисторами / конденсаторами.

R3 предотвращает любые скачки, которые могут нанести вред триггеру Шмитта. R4 и R5 являются необязательными для предотвращения любых плавающих сигналов.
Однако комбинация R3 / R4 также может использоваться для регулировки порога, если это необходимо.

С1 и С2 определяют максимальную скорость. Комбинация R3 / C2 может фильтровать медленно. С1 фильтрует переходные процессы.

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

Я разработал эту схему на основе того, что я видел в ПЛК. Выше схема для 24V. Отрегулируйте резисторы в соответствии с 12 В в соответствии с IEC61131-2.

iec 61131-2
Концепция стандарта заключается в том, чтобы входной сигнал потреблял минимальное количество тока, прежде чем считать его «1». Три типа определяют, сколько и применяются на основе шума окружающей среды. Это предотвращает прикосновения глюков к нему или к ближайшим реле. Недостатком является то, что R1 / 2 должны иметь приличную мощность и низкое сопротивление.

Jeroen3
источник
Ух ты. Очень подробный ответ на то, что изначально казалось простым вопросом. Спасибо.
Кристиан,
Мне действительно интересно узнать о R4 и R5 - когда они когда-нибудь сделают что-нибудь полезное? R2 + R3> R4 в любом случае. Это в случае поломки какого-либо из "сверхмощных" компонентов?
труба
@pipe R3 и R4 могут помочь в настройке порогового значения, обеспечивая при этом путь с высоким импедансом к логике. R5 в большинстве случаев является излишним, но в конструкции, которую он использовал, нельзя было использовать раскрывающийся список mcu. Если по какой-то причине буфер потерпит неудачу, вход mcu не будет читать гул 50 Гц. (Примечание: был запрошен надежный)
Jeroen3
17

Я хотел бы попробовать решение делителя резистора, как показано ниже.

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

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

Это решение отлично подойдет для указанного вами диапазона низких частот.

Майкл Карас
источник
1
Почему стоит выбрать zener 4v7? 5v2 (5v1?) Будет лучшим решением?
Р.Джоши
7
@ R.Joshi: Если на микроконтроллер 5 В подается питание с допустимым отклонением 10% (4,5-5,5 В VDD), то подача 5,2 В на вывод может быть больше, чем типичный абсолютный макс. VDD + 0,3 В. Высокий логический уровень распознается при 2 В для TTL и 2/3 * VDD для CMOS, поэтому проблем с стабилитроном 4V7 нет.
Ганс
2
Мне бы очень хотелось отметить два ответа как «выбранные». Твой путь - каждый день, но ответ Йеруна - чуть более глубокий. Спасибо, однако, что нашли время, чтобы ответить.
Кристиан,
8

Я бы использовал резисторный делитель, а затем защитил бы ОК с помощью стабилитрона 5.1v

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

Я часто делаю это и делю сигнал перед битом стабилитрона потом.

Другой вариант связан со связью, если вы действительно обеспокоены тем, что можно было бы использовать опто, если это не проблема безопасности, я бы согласился с вышеизложенным или установил бы контакт, как правило, с высоким напряжением от 5 В Vcc и потянул его на низком уровне с помощью фета (от макушки головы). 2N7000 должен работать) - но это менее просто, чем вариант стабилитрона.

Rendeverance
источник
7

Если уровни сигнала GND и 12 В (или> 5 В), самый простой и 100% безопасный способ это:

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

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

Если это действительно служит вашей цели, зависит от фактического сопротивления сигнала 12 В (должно быть намного ниже R1) и того, что вы подразумеваете под «грязным».

Кроме того, как правильно указывает @MichaelKaras, низкий уровень на входе µC может быть смещен до низкого уровня сигнала 12 В плюс Vf диода (примерно до 0,7 В). Вы должны проверить, если это проблема в вашем случае или нет. Если это так, вы все равно можете попробовать использовать диод Шоттки с Vf около 0,35 В.

JimmyB
источник
На большинстве микросхем можно даже уронить резистор и активировать внутреннее подтягивание для этого вывода.
Янка
Предлагаемое диодное решение здесь не всегда является лучшим или оптимальным решением. Входное напряжение низкого уровня, подаваемое на MCU, будет выше GND на одно прямое падение напряжения на диоде плюс выходное напряжение низкого уровня, которое создает сигнал от 0 до 12 В. Это может быть особенно проблемой, когда сигналы могут нести шум, а вход MCU определен с уровнями напряжения типа TTL для V <sub> IL </ sub>. Часто эта спецификация может быть только 0.8V. Поэтому, если это решение используется, будьте осторожны и, по крайней мере, определите диод с низким падением прямого напряжения, такой как BAT54.
Майкл Карас
@MichaelKaras Ты прав насчет смещения низкого уровня на Vf диода; это необходимо учитывать. На мой взгляд, для 5 В мкК V [IL] 0,8 В кажется исключительно низким. Кажется, я обычно нахожу 0.3Vcc (~ 1.5V) spec'd.
JimmyB
Если ваш MCU имеет спецификацию CMOS-типа для V <sub> IL </ sub>, то, возможно, он работает нормально. Мне все еще нравится разрабатывать способы, которые работали бы, даже если бы спецификации были намного ниже, просто чтобы получить как можно большую операционную прибыль. Даже разница в указании диода с малым падением является хорошим шагом к этому, если вы решите использовать этот тип схемы. Ваша схема не особенно хороша для случаев, когда на входе 12 В могут быть отрицательные отклонения.
Майкл Карась
Согласен. Дизайн для маржи это хорошая вещь. И отрицательные напряжения на сигнале 12 В действительно могут нанести вред цепи.
JimmyB
5

Я бы использовал оптоизолятор, 100 Гц легко находится в диапазоне любого приличного. 4n25 приходит на ум как общий номер детали, и я знаю, что он способен гораздо лучше, чем 100 Гц.

Джон У
источник
Проблема с использованием оптоизолятора для решения этой проблемы заключается в том, что предполагается, что вы можете получать ток из сигнала 12 В. Вы можете буферизовать сигнал 12 В, но тогда потребуется дополнительная подача.
Джейсон Морган
Я уверен, что вы можете получить опто, который был бы эффективен почти при том же токе, что и микровход, от 12 В он не будет сильно нагружать свет маленького светодиода.
Джон У
1
Утечка цифрового входа обычно составляет от 10 нА до 1 мкА (зависит от температуры и процесса). Я никогда не сталкивался с оптопарой, которая работает даже при 1uA. Типичный оптопар, продаваемый как маломощный, например, Broadcom ACPL-x6xL, требует 1,6 мА. Это между 1600 и 160000 раз больше тока. Но тогда, как я заявляю в своем ответе, от требований зависит, что будет работать, поэтому я не отказываюсь от опто-решения.
Джейсон Морган
xkcd.com/386
Джон У
2

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

например, всегда ли 12В? У него есть шипы или шум? Сколько тока он может управлять? Может ли ток в него попасть? Повлияет ли ток на что-либо еще? Это безопасность критично? ....

Из-за этого не может быть универсального ответа на этот вопрос, поскольку «правильное» решение зависит от того, что делает остальная часть системы. Выбранное решение, соответствующее требованиям, будет иметь различную стоимость и сложность.

Тем не менее, поскольку никто еще не предложил это, я пойду на вход FET.

Можно использовать JFET или MOSFET, и это может быть либо общий источник, либо общий режим стока. Например, общий сток:

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

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

Преимущество обычного режима стока состоит в том, что он позволяет подключать вход как к аналоговому (например, АЦП), так и к цифровому выводу. Если сигнал действительно цифровой, я бы включил триггер Шмитта на входе ЦП (если он есть) или добавил внешний буфер Шмитта на входной вывод ЦП.

преимущества

  • Очень высокий входной импеданс
  • Частично изолированный вход (выдерживает +/- 30 В, в зависимости от выбора FET)
  • Возможен аналог
  • Минимальное влияние на внешний сигнал
Джейсон Морган
источник
1

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

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

Рисунок 1. Оптоизолированный интерфейс. Используйте внутреннюю подтяжку на GPIO.

Оптоизолятор решает несколько проблем.

  • Полная электрическая развязка между цепью 12 В и логикой 5 В.
  • Обрабатывает грязный сигнал 12 В без риска.
  • Простота.
транзистор
источник
1

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

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

R1, R2 и C1 образуют делитель напряжения с фильтром нижних частот 1 кГц. Любой нежелательный высокочастотный сигнал, поступающий на 12 В, может быть отфильтрован. Расчет частоты фильтра составляет 1 / (2 pi R2 C1). Примечание. Для правильной работы базы требуется не менее 0,7 В, соблюдайте осторожность при настройке резистора.

BJT используется, потому что это очень распространено по сравнению с mosfet. В случае, если 12 В все еще активен, но 5 В для вашего uC не работает, BJT не пропустит ток на контакт и вызовет повреждение.

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

Джейсон Хан
источник
-2

Как правило, входы MCU уже защищены диодами с зажимом, если у вас есть резистор с оптимизированным значением (достаточно высоким для зажимов и достаточно низким для выборки) и имеющим хорошую пропускную способность между VDD и VSS, у вас нет беспокоиться об этом. Так что достаточно просто резистора.

редактировать: благодаря комментарию PeterJ, я хочу объяснить это немного дальше. Наименьшая мощность, которую потребляет MCU (при условии, что он не спит), пропускная способность байпаса, значение резистора; когда все они находятся в точке компрометации, что легко является очень общим случаем только с условием использования резистора около 10 кОм, единственный резистор подходит для простого применения ОП.

Айхан
источник
4
Одна проблема, с которой я столкнулся много лет назад, заключается в том, что хотя Vcc может не повредить что-либо, внутренне Vcc может немного дрейфовать (до тех пор, пока диод не проводит) и в зависимости от микроконтроллера может выбрасывать такие вещи, как показания АЦП.
PeterJ
@PeterJ Это прекрасно работает, если вы можете гарантировать, что по крайней мере такой большой ток будет отключен от источника питания. В худшем случае добавьте фиктивный резистор…
кл.
Хотя я и «противный», я видел, как это делается на многих дешевых потребительских товарах. Однажды я починил будильник, когда сеть подавалась на цифровой вход через резистор 10М в качестве эталона времени. Неудивительно, что чип был мертв.
Джейсон Морган
-5

Вы можете выбрать регулятор напряжения LM7805 / LM7803 для напряжения 5 В и 3,3 В соответственно. Я предполагаю, что ОК изолирован от токовой нагрузки, если таковая имеется.

Яши
источник
1
Это креативно. Но вы будете работать вне спецификации на высокой скорости. Если бы это было все, что у тебя было, возможно.
Jeroen3