Linux Droids Blog

Experiencias y Proyectors robóticos de Sphinx

Adaptador RS-232 a TTL 8 febrero, 2010

ElectrónicaEste circuito aunque básico, es muy útil a la hora de hacer proyectos con PICs, u otros microcontroladores con los que requerimos comunicarnos por el interfaz serie. Además pretende ser una alternativa al famoso MAX232 que no destaca por ser económico.

El circuito es muy sencillo y utiliza simplemente 2 transistores, uno NPN (BC337) y otro PNP (BC557), un diodo(1N4148) y 4 resistencias. La adaptación de niveles es perfecta:

Circuito adaptador RS-232 a TTL (ojo, en el esquema solo hay conexión eléctrica en los cruces de líneas donde se ve un punto redondo. En el resto no, no se tocan las lineas).

Para transmitir desde nuestro dispositivo TTL y generar las tensiones negativas en la linea Rx del terminal RS-232, el transistor PNP se conecta desde el colector a través de una resistencia de 4,7 K a la línea TX. Esta línea en condiciones de reposo está puesta a una tensión negativa de entre -3V a -15V. Así cuando pongamos una tensión de 5V en su base, el transistor no conducirá, y tendremos -7V (o la tensión negativa que tenga TX) en su colector, por tanto en RX. Por el contrario, cuando se apliquen 0V en su base, el transistor conducirá y pondrá 5V en su colector y por tanto en RX.

Cosas que hay que tener en cuenta:

– Si conectamos el transistor PNP a Tx como se ha descrito, puede que tengamos algún problemilla si transmitimos y recibimos datos simultáneamente. Una alternativa es conectar la resistencia de 4,7K en lugar de a Tx a la señal DTR del terminal RS-232, y ponerla activa desde nuestra aplicación (PC) para que los cambios de tensión en la linea Tx no nos afecten a los niveles de señal que se envíen hacia el terminal por Rx.

– Las señales TTL estarán invertidas respecto a las señales de la linea RS-232. Es decir:

Nivel Lógico RS-232 TTL
1 -7V a -15V 5V
0 +5V 0V

O lo que es lo mismo, se puede ver en el siguiente cronograma comparativo entre los dos tipos de señales:

Niveles RS232-TTL

Relación entre niveles RS-232 y TTL utilizando el adaptador

Referencias:
RS-232 en wikipedia (castellano).
Tutorial sobre RS-232 (inglés).

Anuncios
 

3 Responses to “Adaptador RS-232 a TTL”

  1. […] Respecto a los cambios de estados en los pines: En el 12F683, podemos configurar cualquier pin como entrada y a la vez habilitar que su cambio de estado produzca una interrupción. En el 16F84A no. Solo tenemos el pin RB0/INT, el cual permite decir en que flanco del cambio de estado queremos que genere la interrupción, o podemos utilizar cualquier otro del conjunto RB4 a RB7, que no funcionan exactamente igual que RB0/INT. De modo que en esta rutina he optado por utilizar el RB0/INT, que producirá una interrupción cuando se genere un flanco de bajada. (NOTA: Cuando ponemos la etapa adaptadora entre RS-232 y TTL, en TTL la linea siempre estará en reposo a +5V. El primer bit que llega, el bit de START, modifica el estado de la linea. Ver este otro artículo). […]

    Me gusta

  2. toni Says:

    Hola,
    Solo una pequeña correccion. En la descripcion del funcionamiento, en la segunda parte (“Por el contrario, cuando se apliquen 5V en su base, el transistor conducirá y pondrá 5V en su colector y por tanto en RX.”), si no me equivoco hay un error y deberia decir “Por el contrario, cuando se apliquen 0V en su base, …”. El que tiene boca se equivoca… Buen articulo. Simple, pero bueno. Gracias por postearlo.

    Me gusta

    • Sphinx Says:

      Muchas gracias por el comentario toni. Efectivamente estaba erroneo. Lo he modificado y ya está bien.

      Efectivamente es algo muy simple. Pensé que además de servirme a mi, le podría servir a alguien más… Al fin y al cabo creo que este blog es buen sitio para anotar ideas que sean fáciles de olvidar.
      Saludos, Sphinx.

      Me gusta


Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s