Я пытаюсь считать импульсы в секунду. на выводе микроконтроллера в диапазоне ~ 5 до 100 Гц. Микроконтроллер может работать на входе 5 В, поэтому мне нужно безопасно снизить уровень напряжения.
На ум приходит простой резистор, но он оставляет любые скачки напряжения открытыми для вывода микромода .
Я встречал этот ответ, но остается вопрос, способна ли эта схема к «быстрым» изменениям 100 Гц.
Существует ли проверенный, надежный способ (возможно, с помощью микросхемы) подключения контактов 5 В или 3,3 В к «грязным» входам 12 В? У меня есть 12 В и 5 В для управления любой готовой микросхемой.
microcontroller
voltage
input
pins
Кристиан
источник
источник
Ответы:
Используйте схему как это:
смоделировать эту схему - схема, созданная с использованием CircuitLab
R1 и R2 определяют диапазон напряжения и выполняют начальное деление. Эти резисторы должны быть способны к некоторой мощности. Типичным является MELF 0,4 Вт. Все остальные могут быть чип-резисторами / конденсаторами.
R3 предотвращает любые скачки, которые могут нанести вред триггеру Шмитта. R4 и R5 являются необязательными для предотвращения любых плавающих сигналов.
Однако комбинация R3 / R4 также может использоваться для регулировки порога, если это необходимо.
С1 и С2 определяют максимальную скорость. Комбинация R3 / C2 может фильтровать медленно. С1 фильтрует переходные процессы.
Используется отдельный триггер Шмитта, поскольку вы можете получить их очень маленькими и дешевыми. И это предотвращает маршрутизацию слабого сигнала по длинным трассам. В то время как также жертвенная часть на больших скачках.
Я разработал эту схему на основе того, что я видел в ПЛК. Выше схема для 24V. Отрегулируйте резисторы в соответствии с 12 В в соответствии с IEC61131-2.
Концепция стандарта заключается в том, чтобы входной сигнал потреблял минимальное количество тока, прежде чем считать его «1». Три типа определяют, сколько и применяются на основе шума окружающей среды. Это предотвращает прикосновения глюков к нему или к ближайшим реле. Недостатком является то, что R1 / 2 должны иметь приличную мощность и низкое сопротивление.
источник
Я хотел бы попробовать решение делителя резистора, как показано ниже.
Выберите коэффициент резистора, чтобы разделенное напряжение находилось на надлежащем уровне для MCU, когда вход имеет номинальное напряжение. Напряжение стабилитрона выбирается для ограничения входа MCU, когда вход превышает максимальный вход. Стабилитрон также защитит MCU, если на входе будет отрицательный сигнал.
Это решение отлично подойдет для указанного вами диапазона низких частот.
источник
Я бы использовал резисторный делитель, а затем защитил бы ОК с помощью стабилитрона 5.1v
Если вы положите стабилитрон между контактом и землей параллельно, скажем, с резистором 10 кОм, а затем подадите свой сигнал, разделенный по напряжению, тогда ... стабилитрон более чем достаточно быстр и дешев / легок.
Я часто делаю это и делю сигнал перед битом стабилитрона потом.
Другой вариант связан со связью, если вы действительно обеспокоены тем, что можно было бы использовать опто, если это не проблема безопасности, я бы согласился с вышеизложенным или установил бы контакт, как правило, с высоким напряжением от 5 В Vcc и потянул его на низком уровне с помощью фета (от макушки головы). 2N7000 должен работать) - но это менее просто, чем вариант стабилитрона.
источник
Если уровни сигнала GND и 12 В (или> 5 В), самый простой и 100% безопасный способ это:
смоделировать эту схему - схема, созданная с использованием CircuitLab
Если это действительно служит вашей цели, зависит от фактического сопротивления сигнала 12 В (должно быть намного ниже R1) и того, что вы подразумеваете под «грязным».
Кроме того, как правильно указывает @MichaelKaras, низкий уровень на входе µC может быть смещен до низкого уровня сигнала 12 В плюс Vf диода (примерно до 0,7 В). Вы должны проверить, если это проблема в вашем случае или нет. Если это так, вы все равно можете попробовать использовать диод Шоттки с Vf около 0,35 В.
источник
Я бы использовал оптоизолятор, 100 Гц легко находится в диапазоне любого приличного. 4n25 приходит на ум как общий номер детали, и я знаю, что он способен гораздо лучше, чем 100 Гц.
источник
Выбор метода частично зависит от того, что делает входной сигнал, как он себя ведет и как это может повлиять на входную схему и код, который его читает?
например, всегда ли 12В? У него есть шипы или шум? Сколько тока он может управлять? Может ли ток в него попасть? Повлияет ли ток на что-либо еще? Это безопасность критично? ....
Из-за этого не может быть универсального ответа на этот вопрос, поскольку «правильное» решение зависит от того, что делает остальная часть системы. Выбранное решение, соответствующее требованиям, будет иметь различную стоимость и сложность.
Тем не менее, поскольку никто еще не предложил это, я пойду на вход FET.
Можно использовать JFET или MOSFET, и это может быть либо общий источник, либо общий режим стока. Например, общий сток:
смоделировать эту схему - схема, созданная с использованием CircuitLab
Преимущество обычного режима стока состоит в том, что он позволяет подключать вход как к аналоговому (например, АЦП), так и к цифровому выводу. Если сигнал действительно цифровой, я бы включил триггер Шмитта на входе ЦП (если он есть) или добавил внешний буфер Шмитта на входной вывод ЦП.
преимущества
источник
смоделировать эту схему - схема, созданная с использованием CircuitLab
Рисунок 1. Оптоизолированный интерфейс. Используйте внутреннюю подтяжку на GPIO.
Оптоизолятор решает несколько проблем.
источник
смоделировать эту схему - схема, созданная с использованием CircuitLab
R1, R2 и C1 образуют делитель напряжения с фильтром нижних частот 1 кГц. Любой нежелательный высокочастотный сигнал, поступающий на 12 В, может быть отфильтрован. Расчет частоты фильтра составляет 1 / (2 pi R2 C1). Примечание. Для правильной работы базы требуется не менее 0,7 В, соблюдайте осторожность при настройке резистора.
BJT используется, потому что это очень распространено по сравнению с mosfet. В случае, если 12 В все еще активен, но 5 В для вашего uC не работает, BJT не пропустит ток на контакт и вызовет повреждение.
Для программирования UC используйте триггер от высокого до низкого уровня для подсчета вашего пульса. По этой схеме обратный импульс будет обратным.
источник
Как правило, входы MCU уже защищены диодами с зажимом, если у вас есть резистор с оптимизированным значением (достаточно высоким для зажимов и достаточно низким для выборки) и имеющим хорошую пропускную способность между VDD и VSS, у вас нет беспокоиться об этом. Так что достаточно просто резистора.
редактировать: благодаря комментарию PeterJ, я хочу объяснить это немного дальше. Наименьшая мощность, которую потребляет MCU (при условии, что он не спит), пропускная способность байпаса, значение резистора; когда все они находятся в точке компрометации, что легко является очень общим случаем только с условием использования резистора около 10 кОм, единственный резистор подходит для простого применения ОП.
источник
Вы можете выбрать регулятор напряжения LM7805 / LM7803 для напряжения 5 В и 3,3 В соответственно. Я предполагаю, что ОК изолирован от токовой нагрузки, если таковая имеется.
источник