Circuito de recepción RS-232 optoacoplado

7

Estoy buscando una implementación de un circuito de recepción optoacoplada RS-232/422 de bajo costo. El objetivo es la protección contra sobretensiones y la tolerancia a las compensaciones de CC.

El desafío es que las entradas deben estar completamente flotando y trabajar en un amplio rango de temperatura, por ejemplo, de -40 ° C a 85 ° C. Acelerar hasta 4800 baudios. Entrada nula lógica 1.6V - 25V.

Consideré simplemente encadenar un 5kOhm con la entrada del diodo, pero la corriente directa resultante es demasiado pequeña para producir una relación de transferencia de corriente útil con optoacopladores económicos. (Especialmente a altas temperaturas.)

¿Cómo se ve esta solución para todos? ¿Estoy pasando por alto algo?

simular este circuito : esquema creado usando CircuitLab

Entiendo que esto debería reducirse bruscamente en (Vin1-Vin2) = Vf del optoacoplador con un tiempo de subida y bajada de aproximadamente 10 µs y ser bastante tolerante a la degradación de CTS y aumentos de voltaje en el lado Vin. - ¿Es esto correcto?

¿Es probable que sea un problema, que la impedancia de entrada sea 10kOhm a altos voltajes de entrada en lugar del 5kOhm estándar?

Editar 1

simular este circuito

    
pregunta ARF

3 respuestas

4

Probablemente no se pueda alcanzar una velocidad de 4800 baudios con este circuito: la Tf es normalmente 100usec y Toff se está acercando a 200usec.

Tal vez si lo terminas en una resistencia de unos pocos cientos de ohmios y usas un comparador ...

    
respondido por el Spehro Pefhany
2

Independientemente de las consideraciones de velocidad, el circuito no funcionará para RS422. Los niveles de entrada RS422 pueden ser tan pequeños como +/- 200 mV, y esto ni siquiera le hará cosquillas a su optoacoplador.

Para RS232, el rango de voltaje de entrada mínimo permitido es +/- 3V. A 3 voltios de entrada, suponiendo un optoacoplador Vf de 1.2 voltios, la corriente del diodo será de 120 uA. Esto está muy lejos de cualquier extrapolación razonable de la hoja de datos, pero niveles tan bajos de corriente probablemente causarán un funcionamiento muy lento. Esto representa una operación en el peor de los casos, a -55 ° C. A temperaturas más altas, el Vf disminuye y la corriente de entrada aumenta, pero una curva típica de 25C da un Vf de 1 voltio, con una corriente de 200 uA, que no es un juego -cambio de mejora.

En estas corrientes bajas, el CTR es muy bajo, en el rango del 10% en el peor de los casos, aunque como digo, esto es una extrapolación fuera de los gráficos.

Si desea intentar que esto funcione, lo primero que debe hacer es deshacerse de R2 y reemplazar D1 con un diodo de señal simple, como un 1N4148. La caída directa del fotodiodo sujeta el voltaje de entrada a un voltaje mucho más bajo que el nivel Zener. Incluso una entrada de 25 voltios solo consumirá 5 mA, que es menos de 1/10 de lo que el optoacoplador puede manejar, y aproximadamente el .5% del límite de pulso de 1 usec. Al hacer esto, su entrada de caso más desfavorable será de aproximadamente 360 uA, y aún así no se acercará a la velocidad que desea. Tenga en cuenta que la curva de sincronización en la respuesta de Spehro funciona a 10 mA, por lo que todo lo que haga con los niveles que operará su circuito será mucho más lento.

Le sugiero que busque en una configuración de cascode. Dada la falta de especificaciones de transistores en la hoja de datos, ni siquiera puedo intentar sugerir valores de circuito o tiempos de respuesta estimados.

    
respondido por el WhatRoughBeast
2

Estás haciendo esto demasiado complicado. Los niveles lógicos RS-232 adecuados son desde menos de -5 V para el espacio hasta más de +5 V para la marca. Dado que el nivel de inactividad es espacio, desea detectar el estado de la marca activando un optoaislador.

Su velocidad de transmisión máxima es de 4800, por lo que 208 µs por bit. Esto permite el uso de optoacopladores relativamente "lentos", hasta aproximadamente 20 µs, que es aceptable en 1/10 el tiempo de bit. La ventaja de los optoacopladores lentos es que generalmente están disponibles con altos índices de transferencia de corriente (CTR). Me viene a la mente el FOD817D barato y disponible, que tiene un CTR mínimo garantizado de 3 y un retraso máximo de 18 µs.

Supongamos que desea que la salida del opto haga al menos 1 mA cuando está activado. Eso significa que debe dar la entrada al menos 350 µA. El voltaje de entrada máximo de un FOD817 es 1.4 V. Eso deja 3.6 V a través de una resistencia con 5 V en la línea RS-232. (3.6 V) / (350 µA) = 10.3 kΩ. Por lo tanto, una resistencia de 10 kΩ 1% debería funcionar.

Ahora tiene un interruptor que está apagado cuando la línea RS-232 está inactiva (en "espacio"), y que puede admitir hasta 1 mA cuando está en el estado "marca". Dado que tales señales seriales de nivel lógico son generalmente altas cuando están inactivas, todo lo que necesita es una resistencia de extracción en serie con este interruptor. Como parece que está utilizando una lógica de 5 V, la resistencia que necesita es (5 V) / (1 mA) = 5 kΩ. El valor estándar de 5.1 kΩ debería funcionar bien.

Así que aquí está el circuito final:

Usted puede salirse con la suya con algo tan simple debido al requisito de baja velocidad en baudios. Este circuito no funcionará a velocidades de transmisión mucho más altas.

    
respondido por el Olin Lathrop

Lea otras preguntas en las etiquetas