Traducción lógica TTL a RS232

Prefacio: no tengo ningún IC MAX232 a mano y solo necesito comunicación unidireccional (de TTL a RS232). Es solo una prueba rápida para ver si una placa OEM de GPS antigua todavía funciona. Tampoco tengo ningún MOSFET a mano, solo algunos BJT básicos, como se muestra en el esquema. Estoy usando un suministro dual en lugar de voltajes parásitos del puerto serie.

Aquí está la traducción que buscaba:
TTL_Tx --> RS232_Rx
    0V ~ +12V
    5V ~ -12V

esquemático

simular este circuito : esquema creado con CircuitLab

Pensé que esto funcionaría (y lo hace en LTSpice).
Q 1 - Enciende Q 2 cuando la entrada TTL es alta, proporcionando un camino para que fluya la corriente
Q 2 - Proporciona una traducción de 5V->12V y 0V->-12V en su colector
Q 3 - Invierte el colector de Q 2 señal para la salida final

Funciona perfectamente en LTSpice, pero en mi osciloscopio veo que la salida no baja al riel negativo:sonda si salida Q3

Por supuesto, esto realmente funciona bien. El puerto serial es feliz y los valores están en especificaciones. Pero todavía estoy tratando de averiguar por qué el circuito no se comporta como esperaba.

¿Hay alguna carga conectada a la salida cuando la mide con el 'alcance? ¿Cuál es su resistencia equivalente y hacia qué potencial tira? Si es menos de quizás 50 kohms tirando hacia el suelo, su pull-down de 10 k (R3) no podrá acercarlo a -12.
@ThePhoton ese es un buen punto. Mi sonda es de 1 MOhm, pero la probé mientras estaba conectada al puerto serie. Intentaré quitar el cable serial para ver si eso afecta los resultados.
@ThePhoton ¡Ajá! ¡Eso fue todo! Genio. ¿Puedes moverlo a una respuesta?
Por lo general, todo lo que necesita hacer para que esto funcione en configuraciones de bajo ruido es invertir la señal.
@ChrisStratton En realidad, eso es todo lo que hice para confirmar inicialmente que el instrumento estaba funcionando. Luego comencé a jugar, lo que me llevó a esta pregunta.

Respuestas (2)

Probablemente tenga algo de carga conectada a la salida cuando la midió con el 'alcance.

Si la resistencia equivalente de la carga es menor que quizás 50 kohms, y está tirando hacia el suelo, su pull-down de 10 k (R3) no podrá acercar la salida a -12.

La carga problemática era en realidad el propio puerto serie. Me hubiera llevado todo el día pensar en eso.

No puede conducir la base Q2 como ha demostrado. No hay límite actual (aparte del proporcionado por Q1 Beta). ...la impedancia de salida de un transmisor RS232 es normalmente de unos 300 ohmios ...por lo que el pulldown de 10 k no funcionará. Prueba algo como esto:

esquemático

simular este circuito : esquema creado con CircuitLab

Bueno, está limitado por la resistencia base de Q1 y Q2 y las resistencias de colector de Q3. Bajar las resistencias del colector para Q2 y Q3 pareció funcionar al final. También probaré el tuyo. Gracias.
Lo probé en LTspice. La salida tiene valores lógicos incorrectos, por lo que no funcionará tal como está para esto. Sin embargo, sigue siendo un buen circuito.
Simplemente invierta la señal TTL si está invertida.
No tengo control sobre la generación de la señal, así que supongo que te refieres a través de otra etapa de transistor. Parece que se están sumando.
voy a modificar el esquema....