Обычно я использую Arduino для своих проектов, потому что он имеет 5В входы и выходы и 5В Vin, что облегчает жизнь при взаимодействии с компонентами 5В. Для этого проекта я хочу использовать Raspberry Pi, потому что я хочу подключить его к дисплею. Pi работает от 5 В, так что это достаточно просто. Он имеет контакты 3.3VI / O, а устройства, с которыми я хочу взаимодействовать, имеют напряжение 5В.
У меня есть устройство с входным контактом 5V, который нужно подвести к 5V. Устройство имеет выходной контакт 5 В, который выводит устройство на напряжение 5 В.
Раньше я конвертировал двунаправленно между устройствами 5 В и 3,3 В, но это было с помощью логического переключателя уровня, который был активен НИЗКИЙ. Схема типичная с транзистором, диодом и двумя подтягивающими резисторами. Это приложение требует активного HIGH. К счастью, этот проект не требует двунаправленного ввода-вывода.
Для направления от 5 В до 3,3 В будет работать грубый делитель напряжения.
Однако для направления от 3,3 до 5 В я не знаю простого решения. Я провел некоторый поиск и, похоже, есть повышающие преобразователи (повышающие преобразователи постоянного тока в постоянный ток), но чтобы построить их из дискретных компонентов, мне нужно построить схему ШИМ для управления коммутацией.
Мне было просто интересно, есть ли более простой способ добиться этого со сложностью, сравнимой с активным переключателем низкого логического уровня.
Ответы:
Так как Дейв Твид указал на недостаток в другом ответе, я в основном скопировал свой ответ на одноканальное транзистор с повышением уровня ... Обратите внимание также на интересное решение Николаса Д. в этом вопросе.
У меня есть несколько решений (некоторые решения, предоставленные Microchip ЗДЕСЬ ):
1) Прямое подключение: если Voh (выходное напряжение высокого уровня) от вашей логики 3.3 В больше, чем Vih (входное напряжение высокого уровня), все, что вам нужно, - это прямое подключение. (для этого решения также необходимо, чтобы Vol (выходное напряжение низкого уровня) на выходе 3,3 В было меньше, чем Vil (входное напряжение низкого уровня) на входе 5 В). Это решение чаще всего отклоняется из-за недостаточных наценок.
2) Если вышеуказанные условия близки, вы часто можете немного повысить выходное напряжение высокого уровня с помощью подтягивающего резистора (до 3,3 В) и напрямую подключить сигналы.
3) Подтягивающий резистор может обеспечить небольшое увеличение высокого напряжения. Для большего вы можете использовать диоды и подтягивать до 5В. Показанная схема не будет сбрасываться до 5 В, но увеличит входное напряжение высокого уровня до логики 5 В на величину падения напряжения на один диод (около 0,7 В). При этом методе необходимо соблюдать осторожность, чтобы у вас все еще был действительный низкий уровень, поскольку он также повышается на одну диодную каплю. Диоды Шоттки могут быть использованы для небольшого увеличения напряжения высокого уровня при минимизации нежелательного увеличения напряжения низкого уровня. Обратитесь к вышеупомянутому примечанию приложения для больше на этой схеме:
смоделировать эту схему - схема, созданная с использованием CircuitLab
4) Если вы можете справиться с логической инверсией (и не требует активного подтягивания), может быть использован Mosfet и подтягивающий резистор:
смоделировать эту схему
5) Существует также множество логических решений, таких как: MC74VHC1GT125, который является «неинвертирующим буфером / сдвигом логического уровня CMOS с LSTTL-совместимыми входами» в пакете SOT23-5 или SOT-353. Маленький простой и довольно недорогой. Использование этого решения также должно включать развязывающий конденсатор рядом с ИС.
источник