Protocolo RS 485 - Nota: 10 PDF

Title Protocolo RS 485 - Nota: 10
Author Cesar A. Cervantes
Course Comunicaciones Industriales
Institution Universidad de Colima
Pages 17
File Size 806.5 KB
File Type PDF
Total Downloads 70
Total Views 155

Summary

Conceptos del protocolo, como funciona, como se emplea, etc.....


Description

UNIVERSIDAD DE COLIMA FACULTAD DE INGENIERIA ELECTROMECANICA

AREA: Ingeniero en Tecnologías Electrónicas MATERIA: Comunicaciones Industriales

SEMESTRE: 7° “B” CATEDRATICO Ing. Carlos Flores Bautista

ALUMNO(s): Oscar Adan Alonso Soto Cesar Alberto Arroyo Serbantes Charly Godínez González Brian Daniel López Pérez PRÁCTICA:

“COMUNICACIÓN CON EL PROTOCOLO RS-485”

Manzanillo, Col. a 10 de septiembre del 2019 U de C

Comunicaciones Industriales FIE-ITE

INTRODUCCIÓN

2

OBJETIVO

3

MATERIAL UTILIZADO PARA LA PRÁCTICA.

3

MARCO TEORICO

3

DESARROLLO

4

CONEXIÓN TRAMA DE DATOS.

4 6

PROGRAMA EN ARDUINO

6

PRUEBAS

12

CONCLUSIONES

16

INTRODUCCIÓN En la vida actual es de gran importancia conocer las bases y fundamentos de las comunicaciones, ya sea desde lo más básico hasta llegar a estructuración de comunicaciones más amplias sin limitaciones. Las comunicaciones tienden a obtener una gran importancia debido a que en base a ellas se puede lograr la comunicación de un punto a otro para enviar información, datos, imágenes, etc… Cuando se necesita transmitir a largas distancias o con mas altas velocidades que el RS-232, el RS-485 es la solución. Utilizando enlaces con RS-485 no hay limitación a conectar tan solo dos dispositivos([ CITATION Per14 \l 2058 ] Dependiendo de la distancia, velocidad de transmisión y los circuitos integrados que utilicemos se pueden llegar a conectar hasta 32 nodos con un simple par de cables[ CITATION Per14 \l 2058 ]

U de C

Comunicaciones Industriales FIE-ITE

OBJETIVO

Realizar la comunicación por medio del protocolo de comunicación RS-485 y mostrar su compatibilidad con respecto a transmisión de datos.

MATERIAL UTILIZADO PARA LA PRÁCTICA.     

Arduino® Convertidor RS-485 PC Cable UTP LED’s

MARCO TEORICO  Protocolo RS-485 El protocolo RS-485, está definido como un sistema de bus diferencial multipunto, es ideal para transmitir información a altas velocidades sobre largas distancias (35 Mbit/s hasta 10 metros y 100 kbit/s en 1200 metros) y a través de canales ruidosos, ya que el par trenzado reduce los ruidos que se inducen en la línea de transmisión. Especificaciones: Interfaz diferencial, conexión multipunto, alimentación única de +5V, velocidad máxima de 10 Mbit/s (a 12 metros), longitud máxima de alcance de 1200 metros (a 100 kbit/s), rango de bus de -7V a +12V. Algunas de sus aplicaciones son tales como, controle de sistemas de iluminación, se utiliza en la automatización de los cableados solo requiere de un par de cables y puede alcanzar la longitud de onda de 1200 metros, tiene su mayor parte de aplicación en las plantas de industriales de producción automatizadas. U de C

Comunicaciones Industriales FIE-ITE

Figura 1: Configuración Máster – Slave

DESARROLLO CONEXIÓN Para establecer la comunicación entre un Arduino y la línea RS485 es necesario tener un módulo de acoplamiento, el mismo que se denomina modulo RS485 y sus conexiones se realizan tal y como indica la siguiente figura:

Figura 2. Conexión Arduino-Modulo RS485.

U de C

Comunicaciones Industriales FIE-ITE

En el módulo Serial a RS485 tiene dos pines que permiten que el Arduino puede enviar o recibir información y estos pines son DE y RE, los cuales se conectan con un puente hacia un pin del microcontrolador o dispositivo de control. Cuando estos pines se encuentran conectados a GND el módulo permitirá la recepción de información, por otra parte, cuando estén conectados a VCC el mismo solo podrá enviar datos.

Figura 3. Modulo serial RS485.

Al realizar una conexión practica en la cual ya estamos realizando el funcionamiento de varios dispositivos, es necesario conectar en los extremos de esta línea resistencias de 120 ohmios.

Figura 4. Conexión en BusRS485.

U de C

Comunicaciones Industriales FIE-ITE

TRAMA DE DATOS. Cuando trabajamos con este protocolo las tramas de datos lo podemos definir a voluntad cuando es un diseño personalizado.

Figura 5. Envió de trama de datos.

PROGRAMA EN ARDUINO En el siguiente programa se muestra en código de Arduino para el dispositivo maestro o “máster”, el cual es llamado así por el ser el dispositivo principal por el cual se hará la comunicación. const int En_WrRd_RS485 = const int Led_1 =

2;

7; const int Led_2 =

6; const int Led_3 =

char VarChar = ' '; String BufferIn = ""; boolean StringCompleta = false;

U de C

Comunicaciones Industriales FIE-ITE

5;

void setup() { Serial.begin(9600); pinMode(En_WrRd_RS485, OUTPUT);

pinMode(Led_1, OUTPUT); pinMode(Led_2, OUTPUT); pinMode(Led_3, OUTPUT);

digitalWrite(En_WrRd_RS485, LOW); digitalWrite(Led_1, LOW); digitalWrite(Led_2, LOW); digitalWrite(Led_3, LOW); }

void loop() { digitalWrite(En_WrRd_RS485, HIGH); Serial.print("B1#"); digitalWrite(Led_1, HIGH);digitalWrite(Led_2, HIGH);digitalWrite(Led_3, HIGH); delay(50); digitalWrite(En_WrRd_RS485, HIGH); Serial.print("C1#"); digitalWrite(Led_1, LOW);digitalWrite(Led_2, LOW);digitalWrite(Led_3, LOW); delay(50); digitalWrite(En_WrRd_RS485, HIGH); Serial.print("B2#"); digitalWrite(Led_1, HIGH);digitalWrite(Led_2, HIGH);digitalWrite(Led_3, HIGH);

U de C

Comunicaciones Industriales FIE-ITE

delay(50); digitalWrite(En_WrRd_RS485, HIGH); Serial.print("C2#"); digitalWrite(Led_1, LOW);digitalWrite(Led_2, LOW);digitalWrite(Led_3, LOW); delay(50);

digitalWrite(En_WrRd_RS485, HIGH); Serial.print("B3#"); digitalWrite(Led_1, HIGH);digitalWrite(Led_2, HIGH);digitalWrite(Led_3, HIGH); delay(50); digitalWrite(En_WrRd_RS485, HIGH); Serial.print("C3#"); digitalWrite(Led_1, LOW);digitalWrite(Led_2, LOW);digitalWrite(Led_3, LOW); delay(50); }

Para el código de dispositivos esclavos, estos tendrán la función de repetir o obedecer la señal que obtendrán del dispositivo maestro. const int En_WrRd_RS485 =

const int Led_1 =

7;

const int Led_2 =

6;

const int Led_3 =

5;

2;

char VarChar = ' '; String BufferIn = ""; boolean StringCompleta = false;

U de C

Comunicaciones Industriales FIE-ITE

void setup() { Serial.begin(9600); BufferIn.reserve(5);

pinMode(En_WrRd_RS485, OUTPUT);

pinMode(Led_1, OUTPUT); pinMode(Led_2, OUTPUT); pinMode(Led_3, OUTPUT);

digitalWrite(En_WrRd_RS485, LOW); digitalWrite(Led_1, LOW); digitalWrite(Led_2, LOW); digitalWrite(Led_3, LOW); }

void loop() { if (StringCompleta) { delay(50); digitalWrite(En_WrRd_RS485, LOW); Serial.print(BufferIn);

//if ((BufferIn.indexOf('B')) >= 0) if ((BufferIn.indexOf('C')) >= 0)

U de C

Comunicaciones Industriales FIE-ITE

{ if (BufferIn.indexOf('1' ) HIGH);delay(10);digitalWrite(Led_1, LOW);delay(10);}

>=

0){digitalWrite(Led_1,

if (BufferIn.indexOf('2' ) HIGH);delay(10);digitalWrite(Led_2, LOW);delay(10);}

>=

0){digitalWrite(Led_2,

if (BufferIn.indexOf('3' ) HIGH);delay(10);digitalWrite(Led_3, LOW);delay(10);}

>=

0){digitalWrite(Led_3,

} StringCompleta = false; BufferIn = ""; } }

void serialEvent() { while (Serial.available()) { VarChar = (char)Serial.read(); BufferIn += VarChar; if (VarChar == '#') { StringCompleta = true; } } }

U de C

Comunicaciones Industriales FIE-ITE

CONTROL RS485 Para el control del protocolo RS485 se utilizo un software serial virtual, llamado “Doocklight Scripting V2”, en el cual tiene la facilidad de declarar el nombre de la variable “A1, A2, A3” para poder definir cual es el que debe de manipular.

Figura 6. Nombramiento de variable a controlar.

En esta etapa de control se muestran todas las variables ya definidas que se pretenden controlar. Esto para tener una idea visual del control.

U de C

Comunicaciones Industriales FIE-ITE

Figura 7. Etapa de control de variables.

PRUEBAS Para la comprobación de los datos en el cual se presenta la comunicación en el software Doockligth Scripting V2.2®, en el cual es encargado de destinar el puerto COM en el cual vamos a realizar la comunicación por el protocolo RS-485. Donde se puede apreciar la relación que existe entre el RX y TX, esto para mostrar en cuanto tiempo se demuestra la comunicación, el tiempo que tiene de retardo o perdida del dato en transmitir y enviar el mismo, como se aprecia en la figura 8, con la ayuda del código ASCII es fácil de destinar hacia donde se va a realizar la trama de datos que se quiere enviar-recibir.

U de C

Comunicaciones Industriales FIE-ITE

Figura 8. Software de interfaz visual

En la visualización en el software de Arduino, se presenta la trama de lectura de datos, en el cual, es de manera remota y sencilla como se puede realizar la visualización de datos. Esto también funciona en base a código ASCII.

U de C

Comunicaciones Industriales FIE-ITE

Figura 9. Visualización trama de datos en Software Arduino.

Resultados prácticos se obtuvieron que al ser una comunicación Half-duplex en la cual se busca poder conocer los fundamentos teóricos básicos y prácticos de como se puede utilizar en el mundo real, las aplicaciones que pueden llegar a tener. La imagen 10, muestra la comunicación que existe entre 1 dispositivo maestro y 2 dispositivos esclavos, en función a lo que el dispositivo maestro esta desarrollando, los 2 esclavos van a cumplir a la mayor semejanza posible.

U de C

Comunicaciones Industriales FIE-ITE

Como se convierte la señal procesa para un TTL y poder interpretar para la visualización de trama de datos.

Figura 10. Montaje de comunicación modoBus RS-485.

En la trama de datos, entre los 3 dispositivos, se aprecia que están elaborando la trama al igual que el maestro, esto quiere decir que se están cumpliendo la trama en consecuencia de la interpuesta.

U de C

Comunicaciones Industriales FIE-ITE

Figura 11. Comunicación por 2 hilos.

CONCLUSIONES Brian Daniel López Pérez:

U de C

Comunicaciones Industriales FIE-ITE

El aprendizaje de esta práctica fue entender el protocolo RS-485 el cómo trabaja que es a dos hilos, a que velocidad por distancia que entre más cerca más veloz es. La práctica vimos como al desconectar un cable de los que hacían la comunicación en ese caso eran el "a" y "b" del esclavo el maestro realiza haciendo su función y el resto del Arduino enviando y recibiendo información, en cambio sí desconectamos los cables del maestro dejaban todos de operar ya que los esclavos no recibían ninguna función.

Cesar Alberto Arroyo Serbantes: Puedo concluir que la comunicación por el protocolo RS-485 es mucho mejor que el RS-232, debido a que el RS-485 empleado con corriente tiene menor perdida y también mayor alcance referente a longitud máxima y en velocidad de transmisión. La comunicación RS-485 se envía por medio de dos hilos, en el cual al emplear una desconexión no se envía el dato a través de los esclavos siempre y cuando el maestro este en correcta función, de lo contrario, al desconectar cualquier de los dos hilos, se pierde por completo la comunicación. Charly Godínez González : El protocolo RS 485 funciona mediante el envío de corriente lo que permite que la información viaje más lejos. También se incrementa la velocidad de transmisión de datos y permite mantener la comunicación mientras la unidad maestra esté en funcionamiento.

U de C

Comunicaciones Industriales FIE-ITE...


Similar Free PDFs