Преобразователь логических уровней для H-моста и UART для Raspberry Pi

Вот моя ситуация:

Я использую Raspberry Pi для управления H-Bridge. H-мост не терпит высокого логического значения на обоих его входах, что вызывает короткое замыкание через транзисторы в обход двигателя. Поскольку для H-моста требуется входное напряжение 5 В, я собрал эту катастрофу:

Избавление от плавающего входа в преобразователе логических уровней

Теперь, насколько я понимаю, эта схема пропускает ток к RPi, что не только опасно, но и приводит к сбою Pi. Мало того, RPi загружается с плавающими выходными контактами, что приводит к тому, что преобразователь логического уровня выдает 5 В, замыкая H-мост, как уже упоминалось.

Сначала я решил проблему с отключением H-моста ручным переключателем до тех пор, пока я не смог установить контакты RPi в качестве выходов, ток потребления был допустимым. Теперь я подключил UART также через этот преобразователь (TX) и делитель напряжения (RX), и это просто привело к сбою Pi-s UART, я думаю, это потому, что RPi не может справиться с таким большим током. (UART работает нормально, если входы двигателей от RPi отключены)

Мне нужна схема преобразователя логических уровней 3,3 В в 5 В, который работает следующим образом:

1. on floating input, outputs 0V 
2. does not sink to input
3. uses PNP and NPN transistors
4. is relatively easy to build

Я предполагаю, что делитель напряжения подходит для снижения линии RX с 5 до 3,3.

Ответы (3)

Эээ, я не совсем разобрался в этом вопросе. Вы знаете, что можете просто применить статическое вытягивание прямо к контактам ввода-вывода Raspberry Pi? rPi может легко управлять нагрузкой в ​​несколько килоом.

Просто соедините выходной контакт с землей с помощью резистора ~ 5-50K. Таким образом, когда пи не настроено как выход, контакт будет притянут к земле, а когда вы установите контакты как выход, драйвер вывода может просто пересилить преобразование, и он будет работать как нормальный.


Если на то пошло, какой H-Bridge вы используете? Обычный L298 будет нормально работать с входами логического уровня 3,3 В, вероятно, что используемый вами мостовой драйвер, вероятно, также будет в порядке.

Я попробовал это с несколькими резисторами, я думаю, что NPN-транзистор, который я использовал для преобразования логического уровня в 5 В, подтягивает вывод RPi примерно до 3 В, когда он плавает, независимо от подтягивающего резистора на входе. Также не плохо ли RPi поглотить весь этот ток? Я построил свой собственный H-мост по этому проекту pocketmagic.net/2009/03/a-simple-h-bridge-design/#.UqjoLFXxteW
1. Почему вы строите свой h-мост из дискретных? Если это не в образовательных целях, оно того не стоит. 2. В любом случае вам нужны буферы, чтобы управлять этой штукой. rPi может получать/принимать только 4 мА. 3. Вам определенно нужно смещение уровней, чтобы это работало должным образом.
Вам нужен тотемный выходной буфер. Вы можете построить его самостоятельно, но это глупо, учитывая, насколько они дешевы. Просто купите неинвертирующий буфер и используйте его.

Вероятно, вам нужна буферная схема 74HCT125. Он имеет отдельное значение «enable» от «data». Таким образом, вы можете сделать так, чтобы он не включался, пока вы не решите, что он должен это делать, например, при слабом подтягивании. Версия HCT принимает все, что выше 2 В, как «высокое», даже если вы подаете на нее 5 В VCC.

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

Хитрость этого h-моста заключается в том, что он ловко использует 3 управляющих сигнала для включения диагональных транзисторов (для перемещения двигателя вперед и назад), не позволяя вам включать оба вертикальных транзистора (оба левых, оба правых или все четыре транзистора). сразу, предотвращая короткое замыкание контактов аккумулятора.

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