Sie sind auf Seite 1von 20

Redes Industriales

Práctica de comunicación serial RS232

V
2015

Integrantes:

 Christian Fonseca
 Henry Parrales
 Richard Toasa

Autor: Mecatrónica
Práctica comunicación RS232 – Mecatrónica

Contenido
INFORME N°. 1 ......................................................................................................................................................4
TEMA: ...................................................................................................................................................................4
OBJETIVOS: ...........................................................................................................................................................4
MARCO TEÓRICO: .................................................................................................................................................4
Comunicación serial RS-232 .............................................................................................................................4
RS-232 ...........................................................................................................................................................4
Protocolo de comunicación: .........................................................................................................................5
Comunicación Half-dúplex................................................................................................................................5
Placa Arduino....................................................................................................................................................6
MAX 232 ...........................................................................................................................................................6
LCD 16x2 ...........................................................................................................................................................7
Características principales: ...........................................................................................................................7
MATERIALES .........................................................................................................................................................8
PROCEDIMIENTO: .................................................................................................................................................8
Arduino 1 ........................................................................................................................................................10
Arduino 2 ........................................................................................................................................................11
ANÁLISIS DE RESULTADOS: .................................................................................................................................17
CONCLUSIONES: .................................................................................................................................................19
RECOMENDACIONES: .........................................................................................................................................19
BIBLIOGRAFÍA: ....................................................................................................................................................20

2
Práctica comunicación RS232 – Mecatrónica

Ilustración 1.Protocolo de comunicación RS232 ..................................................................................................5


Ilustración 2. TOMASI Wayne (2010) niveles de voltaje para distancias más largas ...........................................5
Ilustración 3. Comunicación Half-dúplex ..............................................................................................................6
Ilustración 4. Diversos tipos de placa Arduino .....................................................................................................6
Ilustración 5. MAX 232. ........................................................................................................................................7
Ilustración 6. LCD 16x2 .........................................................................................................................................7
Ilustración 7 Materiales empleados .....................................................................................................................8
Ilustración 8 Conexión módulo RTC – Arduino......................................................................................................9
Ilustración 9 Datos seriales enviados....................................................................................................................9
Ilustración 10 Conexión MAX232 ..........................................................................................................................9
Ilustración 11 Programación Arduino – Receptor...............................................................................................15
Ilustración 12 Simulación Completa ...................................................................................................................15
Ilustración 13 Hardware Comunicación RS232...................................................................................................16
Ilustración 14 Conexión Arduino - LabVIEW .......................................................................................................16
Ilustración 15 Pruebas de ondas MAX232 ..........................................................................................................17
Ilustración 16 Ondas generadas por la comunicación RS232 .............................................................................17

3
Práctica comunicación RS232 – Mecatrónica

INFORME N°. 1

TEMA:
PRÁCTICA DE LA COMUNICACIÓN SERIAL RS232 ENTRE DOS PLACAS ARDUINO PARA LA
ADQUISICIÓN Y PRESENTACIÓN DE DATOS DE UNA RTC.

OBJETIVOS:
 Aplicar los conocimientos adquiridos acerca del uso de la comunicación serial RS– 232 y el
uso de CI MAX 232 para la interacción entre el software y el Hardware pertinente.

 Programar dos placas Arduino para la utilización del CI MAX 232 implementando los
circuitos que establecen los Datasheets y así llevar a cabo las tareas de adquisición y
comunicación de datos.

 Implementar el circuito para recibir datos a través de una RTC leídos por un Arduino N°1 y
tener la posibilidad de visualizar dichos valores por medio de la comunicación RS232 hacia
una LCD controlada por un Arduino N°2.

 Perpetrar y efectuar él envió de datos adquiridos desde la placa RTC que nos entrega la
hora y fecha actual, controlar el formato de dichos valores mediante la programación, la
transmisión de datos entre las dos placas Arduino se realizará implementando integrados
MAX 232.

MARCO TEÓRICO:
Comunicación serial RS-232
Un protocolo muy común que hace poco tiempo, en la nueva generación de computadores está
siendo remplazado cada vez más por los puestos USB Universal Bus Serial para comunicación
entre dispositivos que se incluye de manera estándar en prácticamente cualquier computadora.

La mayoría de las computadoras incluyen dos puertos seriales RS-232. La comunicación serial es
también un protocolo común utilizado por varios dispositivos para instrumentación; existen varios
dispositivos compatibles con GPIB que incluyen un puerto RS-232. Además, la comunicación serial
puede ser utilizada para adquisición de datos si se usa en conjunto con un dispositivo remoto de
muestreo (TOMASI Wayne 2010)

RS-232
Es utilizado para una gran variedad de propósitos, como conectar un ratón, impresora o modem,
así como instrumentación industrial. Gracias a las mejoras que se han ido desarrollando en las
líneas de transmisión y en los cables, existen aplicaciones en las que se aumenta el desempeño de
RS-232 en lo que respecta a la distancia y velocidad del estándar. RS-232 está limitado a

4
Práctica comunicación RS232 – Mecatrónica

comunicaciones de punto a punto entre los dispositivos y el puerto serial de la computadora. El


hardware de RS-232 se puede utilizar para comunicaciones seriales en distancias de hasta 150cm.
(TOMASI Wayne 2010)

Protocolo de comunicación:

La comunicación se lo realiza mediante el envió de un estado alto a bajo conocido como el bit de
arranque, seguido por la trama de datos desde el bit menos significativo que corresponde a una
trama de 8 bits y luego seguido por el bit de paridad el cual no suele ser usado con frecuencia en
este tipo de comunicaciones y para finalizar el bit de parada que es un cambio de un estado bajo a
un estado alto sea una solo vez o dos veces.

Ilustración 1.Protocolo de comunicación RS232

Ilustración 2. TOMASI Wayne (2010) niveles de voltaje para distancias más largas

Comunicación Half-dúplex
Una conexión semi-dúplex a veces denominada una conexión alternativa es una conexión en la
que los datos fluyen en una u otra dirección, pero no las dos al mismo tiempo. Con este tipo de
conexión, cada extremo de la conexión transmite uno después del otro.

Este tipo de conexión hace posible tener una comunicación bidireccional utilizando toda la
capacidad de la línea. Puede darse el caso de una comunicación por equipos de radio, si los
equipos no son full dúplex, uno no podría transmitir hablar si la otra persona está también
transmitiendo hablando porque su equipo estaría recibiendo escuchando en ese momento. En
radiodifusión, se da por hecho que todo dúplex ha de poder ser bidireccional y simultáneo, pues de
esta manera, se puede realizar un programa de radio desde dos estudios de lugares diferentes.

5
Práctica comunicación RS232 – Mecatrónica

Ilustración 3. Comunicación Half-dúplex

Placa Arduino
El Arduino es una placa basada en un microcontrolador, específicamente un ATMEL. Un
microcontrolador es un circuito integrado (podríamos hablar de un microhip) en el cual se pueden
grabar instrucciones. Estas instrucciones se escriben utilizando un lenguaje de programación que
permite al usuario crear programas que interactúan con circuitos electrónicos.

Normalmente un microcontrolador posee entradas y salidas digitales, entradas y salidas analógicas


y entradas y salidas para protocolos de comunicación. Un Arduino es una placa que cuenta con
todos los elementos necesarios para conectar periféricos a las entradas y salidas del
microcontrolador. Se trata de una placa impresa con todos los componentes necesarios para el
funcionamiento del micro y su comunicación con una computadora a través de comunicación serial.

Ilustración 4. Diversos tipos de placa Arduino

MAX 232
El MAX232 es un circuito integrado de Maxim que convierte las señales de un puerto serie RS-232
a señales compatibles con los niveles TTL de circuitos lógicos. El MAX232 sirve como interfaz de
transmisión y recepción para las señales RX, TX, CTS y RTS.

El circuito integrado tiene salidas para manejar niveles de voltaje del RS-232 (aprox. ± 7.5 V) que
las produce a partir de un voltaje de alimentación de + 5 V utilizando multiplicadores de voltaje
internamente en el MAX232 con la adición de condensadores externos. Esto es de mucha utilidad

6
Práctica comunicación RS232 – Mecatrónica

para la implementación de puertos serie RS-232 en dispositivos que tengan una alimentación
simple de + 5 V.

Las entradas de recepción de RS-232 (las cuales pueden llegar a ± 25 V), se convierten al nivel
estándar de 5 V de la lógica TTL. Estos receptores tienen un umbral típico de 1.3 V, y una
histéresis de 0.5 V.

La versión MAX232A es compatible con la original MAX232, y tiene la mejora de trabajar con
mayores velocidades de transferencia de información (mayor tasa de baudios), lo que reduce el
tamaño de los condensadores externos utilizados por el multiplicador de voltaje, – 0.1 μF en lugar
del 1.0 μF usado en el dispositivo origina. (MAX 232, 2012).

Ilustración 5. MAX 232.

LCD 16x2
La pantalla de cristal líquido o LCD (LiquidCrystalDisplay) es un dispositivo Controlado de
visualización grafico para la presentación de caracteres, símbolos o incluso dibujos en algunos
modelos, es este caso dispone de 2 filas de 16 caracteres cada una y cada carácter dispone de
una matriz de 5x7 puntos (pixeles), aunque los hay de otro número de filas y caracteres.

Ilustración 6. LCD 16x2

Características principales:
 Pantalla de caracteres ASCII, además de los caracteres Kanji y Griegos.
 Desplazamiento de los caracteres hacia la izquierda o la derecha.
 Proporciona la dirección de la posición absoluta o relativa del carácter.

7
Práctica comunicación RS232 – Mecatrónica

 Memoria de 40 caracteres por línea de pantalla.


 Movimiento del cursor y cambio de su aspecto.
 Permite que el usuario pueda programar 8 caracteres.
 Conexión a un procesador usando un interfaz de 4 u 8 bits.

MATERIALES
 2 Arduino UNO

 2 C.I. MAX – 232.

 1 Protoboard.

 1 LCD 16x2

 4 Capacitores de 1uF.

 1 RTC

 2 resistencias de 330 Ω.

 1 Osciloscopio

 Computador.

 Cables.

 Software Proteus, Arduino, Labview.

PROCEDIMIENTO:
1. Conseguir los elementos electrónicos a emplearse para la comunicación con el MAX232.

Ilustración 7 Materiales empleados

2. Realizar la conexión con el módulo RTC para Arduino, adquiriendo la señal de reloj y fecha
actual con las librerías que se disponen del mismo.

8
Práctica comunicación RS232 – Mecatrónica

Ilustración 8 Conexión módulo RTC – Arduino

3. Comprobada la funcionalidad del módulo RTC procedemos a modificar su programación en


el guide de Arduino comprobando que se envíen los datos requeridos por el puerto serial
definido. Podemos ayudarnos de su simulación en Proteus para corroborar su correcto
funcionamiento.

Ilustración 9 Datos seriales enviados

4. Acertamos con el datasheet del integrado MAX232 para realizar su correcta conexión para
disposición de la red RS232. El datasheet se encontrará en la parte de anexos.

Ilustración 10 Conexión MAX232

9
Práctica comunicación RS232 – Mecatrónica

5. Procedemos a realizar toda la programación del Arduino receptor el mismo que se


encargará de recibir los datos seriales de la fecha y hora actual para poder visualizarlos en
un LCD. Comprobamos su funcionalidad ayudándonos de la simulación.

Arduino 1
//PROGRAMA QUE PERMITE LA COMUNICACIÓN SERIAL CON OTRO ARDUINO

#include <Wire.h>

#include <gRTC.h>

gRTC rtc;

//Variables

int led=13; //led que recibe el dato

void setup()

//habilitamos el puerto serial

Serial.begin(9600);

while(!Serial);

delay(1000);

// Permite la configurar de la fecha y la hora.

// Descomentar para usar. Despues volver a comentar o grabar de nuevo el

// codigo en el Arduino, si no cada vez que se reinicie se reconfigurara.

// rtc.setFecha( MIERCOLES, 1, ENERO, 2014 );

// rtc.setTiempo( 00, 00, 00 );

void loop()

Tiempo t = rtc.getDatos();

// HORA

Serial.print(t.hora24h, DEC); Serial.print(" ");

Serial.print(t.minutos, DEC); Serial.print(" ");

Serial.print(t.segundos, DEC); Serial.print(" ");

// FECHA

Serial.print(t.diaMes, DEC); Serial.print(" ");

Serial.print(t.mes, DEC); Serial.print(" ");

Serial.println(t.anio, DEC);

delay(1000);

1
0
Práctica comunicación RS232 – Mecatrónica

/* //Pregunta si existe dato serial

if(Serial.available()>0){

//Enciende Led

digitalWrite(led,HIGH);

delay(1000);

digitalWrite(led,LOW);

delay(1000);

*/

Arduino 2
//Configuración de la LCD

#include <LiquidCrystal.h>

//RS=12, E=12, D7=2,...,D4=5

LiquidCrystal lcd(13,12,8,9,10,11);

//--------------------------VARIABLES-----------------------------

//cdena de caracteres, que son los valores de posición

int DatoMaestro = 0;

// Información entrante tipo caracter.

char Caracter=0;

//Cantidad de palabras que se ingresan.

int cantPalabras = 1;

//Indica si se termino de recorrer la palabra entrante.

boolean datosAnalizados = false;

//Nombre de pulsador

int puls=6;

//Palabras

String Hora=""; String Minuto=""; String Segundo=""; String Dia=""; String Mes=""; String An="";

//-----------------------CONFIGURACIONES INICIALES----------------

void setup()

//Velocidad para la comunicación serial

Serial.begin(9600);

1
1
Práctica comunicación RS232 – Mecatrónica

//Pin 7 como salida para encendido de Led

pinMode(puls, INPUT);

//Información en la LCD

lcd.begin(16, 2); lcd.setCursor(3, 0); lcd.print("REDES"); lcd.setCursor(3, 1); lcd.print("RS 232");

delay (1000); lcd.clear();

//>>>>>>>>>LAZO<<<<<<<<<<

void loop()

if(digitalRead(puls)==LOW)

Serial.println("1");

//&&&&&&&&RECIBE&&&&&&&&

//Arduino recibe los datos del arduino 1

if (Serial.available()>0)

//Lee y almacena la trama que se ha obtenido desde el arduino

//Trama:[Dato1][Espacio][Dato2]Espacio].....

DatoMaestro= Serial.read();

//Transformar el número en el caracter ASCII

Caracter = DatoMaestro;

/*Se usa el caracter 32 (espacio) como delimitador de palabras.

Cuando se encuentra un espacio, se indica que se analizará la

próxima palabra.*/

if (DatoMaestro==32){

//Incrementa en uno e contador de palabras.

cantPalabras++;

/* El caracter 13 corresponde al retorno del carro.

El caracter 10 es el salto de línea.

El caracter 32 es el espacio.

EL caracter analizado no debe ser ni 13, 10 o 32*/

1
2
Práctica comunicación RS232 – Mecatrónica

if (DatoMaestro!=10 && DatoMaestro!=32 && DatoMaestro!=13){

//Analisa las palabras recibidas con respecto a la posición.

if(cantPalabras==1){

//Se almacena en una cadena de caracteres la posición de Y.

Hora = Hora+Caracter;

if(cantPalabras==2){

//Se almacena en una cadena de caracteres la posición de Y.

Minuto = Minuto+Caracter;

if(cantPalabras==3){

//

Segundo = Segundo+Caracter;

if(cantPalabras==4){

//

Dia = Dia+Caracter;

if(cantPalabras==5){

//

Mes = Mes+Caracter;

if(cantPalabras==6){

//

An = An+Caracter;

//Se ha finalizado el análisis de los datos.

if (DatoMaestro==10){

datosAnalizados = true;

1
3
Práctica comunicación RS232 – Mecatrónica

/ *********INTERPRETACIÓN***********/

/*Cuando se detecta que ya no hay nada para analizar,

pero hay datos analizados, se procedo a interpretarlos.

*/

if (Serial.available() <=0 && datosAnalizados==true) {

//No hay datos analizados, y se levanta la bandera.

datosAnalizados = false;

//Llama a la función 'commandInterpreter' y le traspasa

//los valores de las posiciones del eje X y del eje Y.

commandInterpreter(Hora,Minuto,Segundo,Dia,Mes,An);// funcioon

//Se reestablece los valores a condiciones iniciales.

Hora = ""; Minuto= ""; Segundo= ""; Dia = ""; Mes= ""; An= "";

cantPalabras = 1;

//Función para imprimir la hora y feha

void commandInterpreter(String P1,String P2,String P3,String P4,String P5,String P6){

//Verifica que las cadenas de caracteres no estén vacías.

if (P1 != ""||P2 !=""||P3 !=""||P4 !=""||P5 !=""||P6 !=""){

//Realiza la conversión a entero a partir del String.

int A1=P1.toInt(); int A2=P2.toInt(); int A3=P3.toInt(); int A4=P4.toInt(); int A5=P5.toInt(); int A6=P6.toInt();

//Visualización de resultados

//Fila 1, (0). Fila 2 (1);

//Muestra la posición del mensaje

lcd.setCursor(0,0); lcd.print(A1); lcd.setCursor(2,0); lcd.print("-"); lcd.setCursor(3,0); lcd.print(A2); lcd.setCursor(5,0);

lcd.print("-"); lcd.setCursor(6,0); lcd.print(A3);

//Fila2

lcd.setCursor(0,1); lcd.print(A4); lcd.setCursor(2,1); lcd.print("/"); lcd.setCursor(3,1); lcd.print(A5); lcd.setCursor(5,1);

lcd.print("/"); lcd.setCursor(6,1); lcd.print(A6);

//Pausa para estabilizar la LCD.

delay (300);

lcd.clear ();

1
4
Práctica comunicación RS232 – Mecatrónica

Ilustración 11 Programación Arduino – Receptor

Ilustración 12 Simulación Completa

6. Comenzamos a cargar la programación en los Arduinos y a armar todo el hardware


correspondiente a la comunicación, comprobando ya su funcionalidad física.

1
5
Práctica comunicación RS232 – Mecatrónica

Ilustración 13 Hardware Comunicación RS232

7. Comprobada la funcionalidad de la comunicación procedemos a tomar sus datos seriales


con el software LabVIEW, generando de esta manera una interfaz visual de la hora y fecha
al usuario.

Ilustración 14 Conexión Arduino - LabVIEW

8. Finalmente comprobamos la funcionalidad del integrado MAX232, ayudándonos del uso del
osciloscopio para poder visualizar cada una de las ondas generadas por el mismo.

1
6
Práctica comunicación RS232 – Mecatrónica

Ilustración 15 Pruebas de ondas MAX232

Ilustración 16 Ondas generadas por la comunicación RS232

ANÁLISIS DE RESULTADOS:
 En la comunicación serial RS-232, se tiene que un 1 lógico se represente con un voltaje
entre -3V y -15V, mientras que un 0 lógico se represente con un voltaje entre +3V y +15V y
mediante el uso del C.I Max-232 que es un convertidor de los niveles de las líneas de un
puerto serie RS232 a niveles TTL y viceversa, se pudo obtener la comunicación entre el
software LabVIEW y el Arduino UNO en donde se visualiza los datos de la fecha obtenidos
mediante el RTC en un HMI relacionado en LabVIEW.

 De igual manera mediante configuraciones en el software, se pudo comunicar los datos a


otro Arduino para que mediante la adaptación de una LCD se pueda tener otra forma de
presentación de la fecha y hora adquiridas; de esta forma se realizó la comunicación serial
entre los dispositivos, los cuales deben estar armados y configurados adecuadamente,
tomando en cuenta la velocidad de transmisión, paridad, bits de inicio y bits de parada.

1
7
Práctica comunicación RS232 – Mecatrónica

 Como se pudo comprobar al momento de realizar la comunicación por medio de RS232-c


se pudo corroborar que, si se realiza con 7 bit dando y teniendo 1 bits de inicio y otro de
parada, En la figura se ve 2 señales cada uno representa la salida de Tx de nuestro Arduino
y la otra la salida del MAX232, comprobando que una es la inversa que la otra.

 Pudimos comprobar que la trama de nuestra comunicación, en el pin trasmisor de nuestro


arduino, es de 9 bits 7 de datos 1 de inicio y 1 de parada. (véase en la siguiente figura)

 En la siguiente grafica se puede observar que la señal que es transmitida por el max232,
es inversa a la del transmisor del arduino, por lo que se dio en clases se comprobó
correctamente, teniendo un periodo de 3.12kHz y así mismo se puede observar que el
voltaje pico que se maneja es menor que la dada por nuestro transmisor.

1
8
Práctica comunicación RS232 – Mecatrónica

 Se pudo analizar el tiempo de ciclo en nuestra comunicación, este periodo no siempre es el


mismo para todas las comunicaciones, dependerá de lo que se esté transmitiendo.

CONCLUSIONES:
 El desarrollo del proyecto se empleó para visualizar la comunicación RS-232 y la aplicación
de envío y recepción de datos generados desde una RTC, aplicación que puede ser llevada
al área industrial con la adaptación de un HMI que ha sido estructurado desde Labview para
la presentación de los datos, así como también la comunicación entre Arduinos y la
presentación de datos en la LCD.

 Las aplicaciones cada día requieren de comunicación de una maquina a otra y una de estas
es la comunicación serial RS232 la cual tiene una gran acogida en proyectos tanto grandes
como pequeños y la mayoría de elementos o circuitos electrónicos suelen utilizar esta
comunicación.

 La comunicación serial es de tipo Half dúplex, pero como se realiza a velocidades altas las
cuales las personas no las podemos percibir, por ende, se genera una sensación de una
comunicación instantánea.

 El circuito integrado MAX-232 convierte exitosamente los niveles lógicos de la interfaz serial
a niveles lógicos TTL.

 El C.I MAX232 soluciona la conexión entre dos dispositivos y gracias a su juego interno de
capacitores, permite la conversión de niveles de tensión.

 El software LabVIEW consta con todas las librerías para poder configurar y comunicar con
otro dispositivo externo mediante la interfaz serial RS-232.

RECOMENDACIONES:
 Verificar los datasheet de cada componente a fin de la correcta implementación del circuito.

1
9
Práctica comunicación RS232 – Mecatrónica

 Tener en cuenta la configuración adecuando entre los dispositivos a comunicarse, tal como
es la velocidad de transmisión, entre otras.

 Al momento de programar el micro controlador, se debe establecer una configuración de T


(True) en la comunicación serial, ya que en la parte de simulación se utiliza N.

BIBLIOGRAFÍA:

 Font, J. (08 de 2013). Tecnología. Recuperado el 12 de noviembre de 2015, de


http://www.ehowenespanol.com/tipos-cables-seriales-sobre_325522/

 MAX 232. (2012). Recuperado el 12 de noviembre de 2015, de


http://datasheets.maximintegrated.com/en/ds/MAX220-MAX249.pdf

 Merenhg Unan, “Instrumentación En LabVIEW”, 4ta Edición, Año 1997.

 Weel J. (2015, noviembre 11) Wikipedia [En linea] Disponible en:


http://es.wikipedia.org/wiki/Red_R-
2Rhttp://www.informando.net/documentacion/deteccion/51

 G. Arent. (2015, noviembre 11) Quegrande [En linea] Disponible


en:http://quegrande.org/apuntes/grado/1/FCG/teoria/1011/tema_2.pd

2
0

Das könnte Ihnen auch gefallen