У мене є схема, яка перетворює сигнали полярності 5 В RS-232 (логічна 0 = + 5 В, логічна 1 = -5 В) в полярність 3,3 В TTL (логічна 1 = 3,3 В, логічна 0 = 0 В) за допомогою транзистора BC548.
Він утворює НЕ ворота, так що коли вихід RS-232 високий, він виводить низький вихід і навпаки.
Для довідки, пристрій RS-232 (GPS-приймач) передає швидкість 9600bps і підключений до UART Raspberry Pi.
Моя схема виглядає так:
Однак ця конфігурація призводить до того, що транзистор бачить напругу -5В через перехід базового випромінювача через негативну напругу на вході RS-232. BC548 має максимальний Vbe -6V, але я хотів би захистити транзистор, зводячи до мінімуму будь-які негативні напруги через з'єднання базового випромінювача.
Після деяких пошуків я натрапив на пост на форумах Raspberry Pi, який пропонує наступну схему захисту транзистора від негативної напруги:
Я побудував схему, і це здається успішним: найнижча напруга Vbe становить близько -0,5 В. Мій цифровий мультиметр оновлюється лише близько 5 разів на секунду, і я не маю осцилографа, щоб зрозуміти речі більш чітко, але раніше він показав найнижчу напругу Vbe на рівні приблизно -5В.
Мої запитання такі:
Чому діод розміщений там, де він є? Якщо я правильно інтерпретую речі, це означає, що найнижчий показник Vbe був би таким самим, як і падіння переднього діода, і буде надходити струм від землі через резистор R1 до негативного напруги контакту RS-232. Чи не було б більше сенсу розміщувати діод між входом RS-232 і R1, або між R1 і транзистором Q1, щоб перекрити будь-який струм в штифт?
Схематично написано використовувати швидкісний діод 1N4148, який я використав. Чи є якийсь недолік використовувати 1N4001 замість 1N4148? 9600bps означає, що кожен біт становить близько 100uS, а 1N4001 має типовий зворотний час відновлення 2uS. 1N4148 має типовий зворотний час відновлення 4nS - очевидно, що 1N4148 швидше перемикається, але чи дійсно це має значення в цьому контексті?