Как сдвинуть выходное напряжение энкодера в допустимый для микроконтроллера диапазон напряжения?

Я использую энкодер в своей схеме, работающей от 5 В, а максимальное выходное напряжение моего оптического энкодера составляет 5 В. Я использую MCU TI CC1350 Launchpad для считывания сигнала энкодера, но проблема заключается в максимальном входном напряжении MCU на любом вывод 4,1 В, поэтому я хочу сдвинуть выходное напряжение энкодера до 3,3 В для безопасной работы.

Для этого я нашел несколько решений:

  1. Схема делителя напряжения
  2. CD74HC4050 ИС
  3. N-FET для переключения уровня

Какое решение я могу использовать для надежной и безопасной работы? Или есть другое решение, которое я могу реализовать?

Каковы требования к срокам? Насколько медленным может быть переключатель уровня?

Ответы (4)

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

Сдвиг уровня внешним резистором

Здесь мы можем рассчитать R как,

р с р + р с "=" 3.3 5
р "=" 0,52 × р с

Если вашему устройству требуется очень низкое энергопотребление, внешний резистор будет потреблять постоянный ток. В данном случае хорош CD74HC4050, у которого сам ток потребления 20 мкА.

Смещение уровня n-канального МОП-транзистора также является хорошим вариантом, если вы не уверены в значении подтягивающего резистора энкодера.

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

Размер резистора должен быть достаточно низким, чтобы время RC, образованное диодом и входной емкостью вывода, не превышало от 1/3 до 1/5 требуемого времени нарастания сигнала.

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

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

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

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

Диоды Шоттки рекомендуются из-за их быстродействия и меньшего падения напряжения, которое приближает линию к напряжению шины питания. Кроме того, поскольку другие диоды также будут иметь достаточно высокое прямое напряжение, внутренние диоды ESD включатся первыми, предотвращая когда-либо проводящий внешний диод (диоды ESD имеют 0,4 ~ 0,5 VI, что ниже, чем ваши типичные 0,7 В).

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

Возможно, включите в свой ответ некоторые ограничения по времени / емкости? MCU, вероятно, не допустит времени переключения более 1 мкс (1000 нс).
@PeterMortensen Добавил аннотацию

Сдвинуть выход энкодера в диапазон входного напряжения MCU?

В техническом описании вашего кодировщика показано, что выход кодировщика совместим с CMOS, поэтому он будет активным подтягиванием и подтягиванием.

Самый простой способ сдвига уровня — использовать N-chan FET, хотя вы должны помнить, что это инвертирует ваш сигнал. Включите входной подтягивающий резистор Launchpad.

Для устройств преобразования напряжения вы можете использовать простой 2N7000.

Если у вас есть множество входных данных для обработки и вы делаете свою собственную печатную плату, вам может быть лучше использовать ULN2003V12 . Возможно, это самое дешевое решение — около 0,54 доллара за 7 полевых транзисторов.

Я бы просто пошел с 74HC4050. Просто, никаких расчетов не требуется, достаточно быстро для оптического энкодера. Как и в случае любой CMOS, не забудьте заземлить все неиспользуемые входы.