Foros de Electrónica

Comunidad de discusión sobre Automatización, Electrónica industrial, Microcontroladores y electrónica digital, Robótica, Domótica, Telemática, Tecnologías móviles, y muchos temas más.




Interfase RS-232/RS-485 Reversible


       



#1  Interfase RS-232/RS-485 Reversible
MaMu
Moderador
Registrado: 18 Abr 2005
Mensajes: 907
Ubicación: Argentina - Buenos Aires - Capital Federal
citar
Interface RS-232 a RS-485 (Reversible)

Introducción

Ya que me han solicitado algun esquema de la conversión del Bus 232 al Bus 485, aqui les planteo el circuito típico comercial que se ofrece en el rubro. El circuito es reversible, es decir, puede usarse como conversor de cualquiera de las dos normas : de RS-232 a RS-485 y de RS-485 a RS-232. Es de muy facil construcción y con tan solo unos pocos componentes podemos lograrlo.

---------------------------------------------
Fuente : DISCA (Departamento de Informática de Sistemas y Computadoras)
Traducción :MaMu
Versión del Producto :2005
Licencia :Freeware (Debe respetarse la autoría del Hardware Libre)
DataSheet List :
MAX232 - http://www.disca.upv.es/aperles/web51/pdf/1798.pdf
SN75176B/SN65176B - http://www.disca.upv.es/aperles/web51/pdf/slls101b.pdf
LTC485 - http://www.disca.upv.es/aperles/web51/pdf/lt0485.pdf
MAX485 - http://www.maxim-ic.com/appnotes.cfm?an_pk=2116


---------------------------------------------

Módulo de Conversión

Con este módulo vamos a poder comunicarnos con otros sistemas, usando las normas de comunicación serie más habituales que existen en el entorno industrial. Estas normas son la RS-232 y RS-485, para las cuales se desarrollará un circuito que podrá funcionar con una u otra norma con pocos cambios.

DESCRIPCIÓN:

Todo microcontrolador de la familia 80x51 incluye un puerto serie que, mediante un sencillo hardware de adaptación de niveles de tensión, permite implementar un interfaz RS-232 y RS-485 Esto permitirá al micro que se comunique fácilmente con otros equipos y, en especial, con los PCs.
Se recomienda, en general, que los cables que interconectan los dispositivos no excedan de 15 metros. Para distancias mayores se recomiendan otros sistemas de interconexión, por ejemplo un RS-485.
El estándar RS-232-C describe 21 señales en un conector de 25 líneas tipo DB-25, pero ha degenerado y es normal encontrarlo con conectores de 9 patillas tipo DB-9 y con menos señales.

Las líneas que más interesan en este capítulo son TRANSMIT y RECEIVE (líneas 2 y 3). Estas líneas son compatibles (entre el computador o terminal y el módem) porque TRANSMIT es una señal de entrada al módem y de salida para el computador/terminal. Lo mismo ocurre con la señal RECEIVE.

El resto de líneas permiten conocer cuando se produce una llamada, manejar una comunicación full-duplex o half-duplex, evitar perdidas de datos cuando uno de los dos elementos no puede absorber más datos, etc.

En cuanto a los niveles de tensión, la norma RS-232-C define una tensión simétrica respecto a la referencia, y al menos 3 V para un nivel lógico 0 y -3 V. para un nivel lógico 1. En la práctica los niveles de tensión son de +12V y -12V.

El interfaz RS-232 utiliza una transmisión no balanceada, por lo que no es adecuada en ambientes industriales (ruido en modo común) y en longitudes de conexión largas (efecto crosstalk).

Las velocidades de transmisión más utilizadas son: 300, 1200, 2400, 4800, 9600 y 19200 bps. En la práctica se logran alcanzar hasta 115.200 bps.

Las limitaciones de la norma RS-232C se pueden superar con las mejoras que aportó posteriormente la norma RS-485 (hay normas previas como la RS-423 y RS-422). Su ventaja es que se trata de una transmisión balanceada o diferencial que aporta como beneficios inmediatos una mayor velocidad de transmisión, una gran longitud de línea del orden del kilómetro y una buena inmunidad al ruido.

El medio físico de transmisión es un par trenzado, con las ventajas de rechazo de ruido que aporta. Si al par trenzado se le añade un apantallamiento se estará en condiciones de tener un red de comunicaciones industriales bastante inmune al ruido (incluso sin el apantallamiento), por ello, la mayoría de buses de campo (redes industriales de control) emplean este tipo de cableado. Téngase en cuenta que se admiten hasta 32 estaciones en un sólo hilo y la comunicación es half-duplex. Será necesario poner una resistencia terminadora en cada extremo de 120 Ohms.

Esquema de una RS-485

En un RS-485 se transmite exactamente lo mismo que para un RS-232 así que suele haber en el mercado adaptadores entre las dos normas que capacitan, por ejemplo, a un PC para comunicarse con sensores y actuadores industriales.

En el esquema se presenta un hardware que permite al microcontrolador conectarse con un sistema RS-232 y con un sistema RS-485. Para la interfaz RS-232 se usará un clásico MAX232 que incorpora un bomba de tensión que permite obtener +/-10 voltios a partir de una única alimentación de +5V. Las únicas señales del estándar RS-232 disponibles serán la masa lógica (línea 5), la señal TxD (línea 3) y la señal RxD (línea 2), todo ello en un conector DB-9 según suele ser habitual últimamente. Para conectar el micro a un PC bastaría con implementar un NULL-MODEM cruzando las líneas 2 y 3.

Para la interfaz RS-485 se puede usar un SN75176 o un LTC485. En el sistema propuesto se selecciona si se desea usar la interfaz 232 o la 485 mediante unos jumpers y si se quiere conectar una resistencia de 120 Ohms si está en un extremo del par trenzado.

EJEMPLO:

Se puede usar un PC como terminal RS-232 para enviar órdenes al micro o recibir información. El hardware mostrado en este apartado lo permite fácilmente, recuérdese que basta con cruzar las líneas 2 y 3. Sólo falta establecer el mimo protocolo en los extremos.

El siguiente listado muestra una aplicación que configura el puerto serie a 2400 bps, 8 bits, sin paridad (cristal de 12 Mhz) y envía continuamente un mensaje al puerto serie aprovechando la función printf.

Código: Seleccionar todo
    /* serie3.c */
    #include <stdio.h>
    #include <io51.h>

    sfr ADCON = 0xD8; /* solo ALTAIR 535 */

    #define DELAY 30000

    void delay(int i);

    void main(void)
    {
        unsigned char i;
        /* en los ALTAIR hay que quitar el control del serie al S.O.*/
        EA = 0; /* SOLO ALTAIR535, deshabilitar interrupciones*/
        PSW.5 = 1; /* SOLO ALTAIR535, deshabilitar captura serie*/
        /* generador baudios con timer 1, modo autorrecarga */
        TMOD &= 0x0F;
        TMOD |= 0x20;
        PCON |= 0x80; /* SMOD=1 */
        TH1= 0xE6; /* 2400 baudios, 12Mhz */
        SCON=0x70; /* MODO 1 */
        ADCON.7 = 0; /* solo ALTAIR535, desconectar generador dedicado */
        TR1=1;
        TI = 1;
        while(1)
        {
            for (i=32;i<255;i++)
            {
                delay(DELAY);
                printf(">>> Codigo: %c\n",i);
            }
        }
    }
     

    void delay(int i)
    {
        while (i--);
    }


Conectando la salida serie al PC como se ha indicado, se puede recibir la información desde cualquier software capacitado para leer los puertos serie del PC.






Este mensaje contiene archivos adjuntos, para verlos debes estar registrado.

#2  gracias por publicar este circuito
hutu

Registrado: 27 May 2006
Mensajes: 1
Ubicación: colombia
citar
gracias por publicar este circuito

#3  Un poco mas de detalles
dr_vico7

Registrado: 01 Jul 2006
Mensajes: 1
citar
Hola, bueno nose si me pueden responder esto, pero n entiendo muy bien este circuito, dice conversor de rs232 a rs485 y viceversa, bueno el problema es ke no entiendo donde van conectados los pines en caso de ke sea de rs232 a rs485, es de los pines 11 y 12 del max232 y van a los pines 6 y 7 del max485, y la salida seria en los pines 3 Tx yRx?, pin 1?, seria de esa forma?, y si kiero enviar de rs485 a rs232 las conexiones serian las mismas?, si alguien me puede ayudar con esta duda por favor, gracias.

#4  
MaMu
Moderador
Registrado: 18 Abr 2005
Mensajes: 907
Ubicación: Argentina - Buenos Aires - Capital Federal
citar
Observá el circuito, de JP1 a JP4, fijate que la solución y respuesta a tu pregunta se encuentra en como configuras estos terminales.

Saludos.

#5  
aniebuhr

Registrado: 27 Oct 2006
Mensajes: 17
citar
hola!, antes que nada quiero comentar que soy un poco novato en electronica....
Tengo un lector de targetas "HID MiniProx" y lo quiero conectar al Rs232... segun lo que estuve viendo tengo que hacerlo mediante este adaptador de 485 a 232... las salidas de mi sensor son:
A - Vcc
B - gnd
C - Data0
D - Data1/clock
E - Shield Ground
F - Green led
G - Red led
H - Beeper
I - Hold
J - Card present.

Mis preguntas son:
- Hay algun circuito mas simple o que sea directo de 485 a 232? (este circuito no lo entiendo bien)
- o no tendrian una imagen de las pistas de este circuito?

#6  
KREATOR

Registrado: 09 Oct 2006
Mensajes: 4
Ubicación: Bogotá - Colombia
citar
HOLA aniebuhr... me doy cuenta que estas un poco perdido.

Primero que todo, un lector de tarjetas HID MiniProx, utiliza un protocolo llamado Weigand para comunicarse con los paneles de control de acceso. Para eso utiliza los teminales Data 0, Data 1. Este protocolo no tiene nada que ver con la conversion de protocolo RS232/RS485.

#7  UNA DUDA DEL CIRCUITO
JAVIERCRUZ

Registrado: 24 Nov 2006
Mensajes: 1
citar
VEN TENGO UNA DUDA Y ESPERO ME PUEDAS AYUDAR,, ES Q TENGO UNA DUDA ES Q LO Q NECESITO ES COMUNICAR UN DISPOSITIVO Q SE COMUNICA A TRAVES DE RS-245 CON UN PC POR EL RS-232,,, ENTIENDO Q ESTE CIRCUITO ME SIRVE????,, SERIA CONECTANDO AL CONTRARIO EN LOS JP1-JP4 CONECTANDO EL RX DEL 485 AL TX DEL 232 Y VICEVERSA,, ESTOY EN LO CORRECTO???,,, OTRA DUDA SI TENGO DUDA DEL CORRECTO FUNCIONAMIENTO DE LOS IC"S COMO VERIFICO EL SN 75176 O DEL MAX 232??,, Q VOLTAJES SE TRANSMITEN EN EL 485 O COMO SIMULO PARA VER SI EL INTEGRADO ESTA FUNCIONANDO BIEN????


GRACIAS

#8  Re: UNA DUDA DEL CIRCUITO
MaMu
Moderador
Registrado: 18 Abr 2005
Mensajes: 907
Ubicación: Argentina - Buenos Aires - Capital Federal
citar
JAVIERCRUZ escribió:
VEN TENGO UNA DUDA Y ESPERO ME PUEDAS AYUDAR,, ES Q TENGO UNA DUDA ES Q LO Q NECESITO ES COMUNICAR UN DISPOSITIVO Q SE COMUNICA A TRAVES DE RS-245 CON UN PC POR EL RS-232,,, ENTIENDO Q ESTE CIRCUITO ME SIRVE????,, SERIA CONECTANDO AL CONTRARIO EN LOS JP1-JP4 CONECTANDO EL RX DEL 485 AL TX DEL 232 Y VICEVERSA,, ESTOY EN LO CORRECTO???,,, OTRA DUDA SI TENGO DUDA DEL CORRECTO FUNCIONAMIENTO DE LOS IC"S COMO VERIFICO EL SN 75176 O DEL MAX 232??,, Q VOLTAJES SE TRANSMITEN EN EL 485 O COMO SIMULO PARA VER SI EL INTEGRADO ESTA FUNCIONANDO BIEN????


GRACIAS


Efectivamente, los jumpers identifican el sentido de conversion. Bajando las hojas de tados de ambos IC's se especifica como usar el test point, y asi despejar todo tipo de dudas acerca del funcionamiento de los mismos.

Saludos.

#9  
aniebuhr

Registrado: 27 Oct 2006
Mensajes: 17
citar
Hola KREATOR.. gracias por tu respuesta...
tu me prodias ayudar a entender como conectar ese sensor a una maquina? o eso es imposible?
gracias...

#10  
aniebuhr

Registrado: 27 Oct 2006
Mensajes: 17
citar
existe algun circuito para convertir de Weigand a serial?

 Responder



Google
 


 Temas de interés 
No hay mensajes nuevos Cuenta revoluciones
No hay mensajes nuevos Estará correncto esto?
No hay mensajes nuevos temporizador de cuenta atras
No hay mensajes nuevos cuenta revoluciones de leds
No hay mensajes nuevos Diseño de cuenta vueltas

Foros de Electronica
|| Cuestiones Elementales de Electrónica || Fuentes de alimentacion || Circuitos de radio || Diseño de circuitos en general ||
|| Sistemas de Audio: Preamplificadores, Ecualizadores || Amplificadores || Reparación || Discusión ||
|| Microcontroladores y sistemas embebidos || Circuitos logicos combinacionales y secuenciales || Interfaces y Programacion || Dudas en general || Sistemas de Video || PC Hardware || Telematica y comunicaciones || Tecnologias moviles || Software Electronico || Robotica, Domotica y Mecatronica || Autotrónica || Automatizacion, Electronica industrial y de Potencia || Documentacion, circuitos y esquemas || Donde Las Ideas Convergen... || Tutoriales y Manuales || Proyectos Prácticos ||