implementacion de un protocolo modbus en redes de …
TRANSCRIPT
�UNIVERSIDAD DE LOS ANDES����
FACULTAD DE INGENIERÍA ESCUELA DE INGENIERÍA ELÉCTRICA
IMPLEMENTACION DE UN PROTOCOLO MODBUS EN REDES DE SENSORES
Br. Chinappi P. José A.
Mérida, Junio, 2009
�
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA ELÉCTRICA
IMPLEMENTACIÓN DE UN PROTOCOLO MODBUS EN REDES DE SENSORES
Trabajo de Grado presentado como requisito parcial para optar al título de Ingeniero
Electricista.
Br. Chinappi P. José A. Tutor: Prof. Francisco Viloria
Mérida, Junio, 2009
UNIVERSIDAD DE LOS ANDES FACULTAD DE INGENIERÍA
ESCUELA DE INGENIERÍA ELECTRICA
IMPLEMENTACIÓN DE UN PROTOCOLO MODBUS EN REDES DE SENSORES
Br. Chinappi P. José A.
Trabajo de Grado, presentado en cumplimiento parcial de los requisitos exigidos para optar al título de Ingeniero Electricista, aprobado en nombre de la Universidad de Los Andes por el siguiente Jurado.
Prof. Emigdio Malaver C.I.
Prof. Orlando Ostos C.I.
Prof. Francisco Viloria C.I.
����
ÍNDICE GENERAL
DEDICATORIA iiiAGRADECIMIENTOS ivRESUMEN vINTRODUCCIÓN 1
CAPÍTULO pp.
I GENERALIDADES 31.1 Justificación 31.2 Alcance 31.3 Limitaciones 41.4 Objetivos 4
1.4.1 Objetivo General 41.4.2 Objetivos Específicos 4
1.5 Ubicación del Área donde se Realizan las Pruebas 5
II MARCO TEÓRICO 62.1. Protocolo de Red 62.2. Especificaciones del Protocolo 72.3. Modelo de Referencia OSI 8 2.3.1 Capa Física 9 2.3.2 Capa de Enlace de Datos 9 2.3.3 Capa de Red 10 2.3.4 Capa de Transporte 10 2.3.5 Capa de Sesión 10 2.3.6 Capa de Presentación 11 2.3.7 Capa Aplicación 112.4. Descripción del Protocolo de Comunicaciones Modbus 112.5. Protocolos de Transmisión 13 2.5.1 Protocolo ASCII 13 2.5.2 Protocolo RTU 132.6. Verificación de Errores 14 2.6.1 Calculo del CRC 15 2.6.2 Verificación del LCR 162.7. Descripción de Algunas de las Funciones del Protocolo 16
�����
2.7.1 Función 0 17 2.7.2 Función 1 y 2 17 2.7.3 Función 3 y 4 18 2.7.4 Función 5 19 2.7.5 Función 6 20 2.7.6 Función 7 20 2.7.7 Función 8 21 2.7.8 Función 11 22 2.7.9 Función 15 222.8. Mensajes de Error 252.9. Red de Sensores 262.10. Características de una Red de Sensores 26 2.10.1 Topología Dinámica 26 2.10.2 Variabilidad del Canal 26 2.10.3 Tolerancia a Errores 26 2.10.4 Consumo de Energía 26 2.10.5 Áreas de Aplicación 27 2.10.5.1 Entornos de Alta Seguridad 27 2.10.5.2 Sensores Ambientales 27 2.10.5.3 Sensores Industriales 27 2.10.5.4 Medicina 27 2.10.5.5 Sensores en Modbus 27
III HARDWARE 293.1 Consideraciones Practicas en el Diseño Electrónico 29 3.1.1 Condiciones Ambientales 29 3.1.2 Mejores Vías para Obtener la Información 29 3.1.3 Rango de Temperatura del Sensor 30 3.1.4 Tipo de Alimentación 30 3.1.5 Elementos Donde puede ser Implementado 303.2 Diseño del Hardware 303.3 Componentes 32 3.3.1 Microcontrolador 32 3.3.2 Reloj de Tiempo Real 35 3.3.3 Pantalla de Cristal Liquido 36 3.3.4 Comunicación Serial 36 3.3.5 Sensor de Temperatura LM35 38 3.3.6 Fuente de Alimentación 39 3.3.7 Simulaciones 40 3.3.8 Circuitos Impresos 40
IV SOFTWARE 514.1 Estructura General 514.2 Estructura del Esclavo 524.3 Estructura del Maestro 55
������
4.4 Estructura del Programa General con Modbus 574.5 Interfaz Diseñada en Matlab 58 4.6.1 Diagrama de Flujo de la Interfaz en Matlab 61
V Resultados 62
CONCLUSIONES 66RECOMENDACIONES 69BIBLIOGRAFÍA 71ANEXOS 73�
����
LISTA DE FIGURAS
FIGURA pp.1.1 Ubicación geográfica de área en estudio 52.1 Niveles del Sistema OSI 82.2 Calculo del CRC 152.3 Trama Genérica de las Subfunciones de Control de Esclavos 172.4 Petición y respuesta de la función. (funciones 1 y 2) 182.5 Petición y respuesta de la función (funciones 3 y 4) 192.6 Petición y respuesta de la función. (función 5) 192.7 Petición y respuesta de la función. (función 6) 202.8 Petición y respuesta de la función. (función 7) 212.9 Petición y Respuesta de la función. (función 8) 212.10 Petición y respuesta de la función. (función 11) 222.11 Petición y respuesta de la función. (función 15) 232.12 Trama de un mensaje de error 252.13 Estructura de una red de Sensores con Modbus 283.1 Diagrama de Bloques de los Esclavos 313.2 Diagrama de Bloques del Maestro 333.3 Identificación de los pines del PIC 18F452 343.4 Diagrama de Bloques del DS1307 353.5 Pantalla LCD 2x16 363.6 Ubicación de los pines y diagrama del MAX485 373.7 Ubicación de los pines y diagrama del MAX232 373.8 Presentación y aplicaciones típicas del LM35 383.9 Presentación del Regulador 7805 393.10 Esquema de Montaje de los Esclavos. (Simulación) 413.11 Esquema de Montaje del Maestro (Simulación) 423.12 Esquema de montaje de la Alimentación. (Simulación) 433.13 Esquema de montaje Maestro/Esclavo Modbus. (Simulación) 443.14 Esquema de montaje Prototipo Completo. (Simulación) 453.15 Tarjeta Impresa de Alimentación Diseñada 473.16 Tarjeta Impresa del Maestro Diseñada 483.17 Tarjeta Impresa de los Esclavos Diseñada 493.18 Tarjeta Impresa del Esclavo Diseñada Cara Inferior 503.19 Tarjeta Impresa del Esclavo Diseñada Cara Superior 504.1 Disposición de los Botones del Teclado 53
���
4.2 Diagrama de Flujo para del Esclavo 544.3 Diagrama de Flujo para el Maestro 564.4 Diagrama de Bloques del Programa General 584.5 Interfaz Grafica para el Registro de Temperatura 604.6 Grafica del Esclavo 1 604.7 Grafica del Esclavo 2 614.8 Diagrama de Flujo de la Interfaz en Matlab 615.1 Prototipo Funcional Creado 625.2 Selección del Esclavo 635.3 Ajuste de Hora y Minutos 635.4 Envió de Datos al Esclavo 645.5 Recepción del Comando por parte del Maestro 645.6 Tarjeta de Alimentación Creada 65
����
LISTA DE TABLAS
TABLA pp.2.1 Modelo ASCII 132.2 Modelo RTU 142.3 funciones Básicas y Códigos de Operación 162.4 Estructura de la consulta de la función 03 232.5 Estructura de la respuesta de la función 03 244.1 Modelo de Registro de Modbus 524.2 funciones de los botones del teclado 544.3 Direcciones del mapa de memoria de los Esclavos 55
iv
AAAGGGRRRAAADDDEEECCCIIIMMMIIIEEENNNTTTOOOSSS���
A Dios a la Virgen y a San Benito, por llenar siempre mi vida de bendiciones y por darme la
sabiduría, entendimiento y paciencia para realizar exitosamente mi trabajo final de grado.
A mi Madre Aura Pérez y a mi Padre Wolfgang Chinappi, porque su apoyo, consejos,
dedicación y preocupaciones para que salga siempre exitoso en cualquier reto de mi vida, por
eso, infinitas gracias, para ustedes este nuevo logro.
A mi hermano Luis Miguel, por brindarme su apoyo y sobre todo su cariño de hermano
cuando más los necesite para ti también este nuevo logro un abrazo.
A mis Tías Esther e Italia Chinappi, por toda su ayuda y preocupación para que yo lograra
satisfactoriamente la etapa final de mi carrera.
A la familia González Pérez por recibirme en su hogar y hacer que ese fuese mi verdadera casa
y uno más de su familia.
A mi Tutor Profesor Francisco Viloria. Por su gran ayuda, buenos consejos y preocupación en
todo el desarrollo de este trabajo, muchas gracias.
A mis amigos Alejandro, Jesús y Mario, por su apoyo y ayuda para que pudiera culminar de la
mejor manera posible esta gran meta.
A Jesús Lacruz por su ayuda brindada en los momentos finales de la realización de este
trabajo.
Al Sr. Álvaro Araque. Técnico del Laboratorio de Comunicaciones por su valiosa ayuda al
momento de realizar los circuitos impresos. Gracias.
iii
DDDEEEDDDIIICCCAAATTTOOORRRIIIAAA�
�������������� �� ��������������� �� �����������������������������������������������������������������
����������������������������������� ����������� �������� ��������������������
A mi madre Aura Pérez, a mi Padre Wolfgang Chinappi y a mi hermano Luis M. Chinappi,
por ser mi mayor inspiración y por quienes vale la pena cualquier sacrificio. Esto es por y para
ustedes. Los Amo.
v
Br. José A. Chinappi P. Implementación del Protocolo Modbus en una Red de Sensores.
Universidad De Los Andes. Tutor: Prof. Francisco Viloria. Junio 2009.
RESUMEN
El avance tecnológico en esta época es muy notable, donde las medidas atmosféricas como temperatura, humedad, presión entre otras y sus instrumentos de medida no escapan a tan notables progresos. Es por ello que se requiere la innovación de los instrumentos de medición. Por consiguiente se tomo la decisión de realizar un diseño electrónico. El diseño se fundamenta en la implementación del protocolo de comunicaciones Modbus en una red de sensores, en este caso sensores de temperatura, el diseño consta de diversos componentes electrónicos dentro de los cuales tenemos: PIC 18f452 el cual es considerado el corazón del circuito, sensores de temperatura LM35 los cuales captan la temperatura para luego enviarla al PIC, DS1307 para que los datos a ser procesados estén acompañados del instante en que fueron tomados y por ultimo tenemos una pantalla LCD 2x16 en la cual se desplegaran los datos. De igual forma se desarrollo un programa en lenguaje “C” para manejar el sistema. Para el transporte de los datos se implemento el protocolo comercial de comunicación Modbus el cual se fundamenta en la estructura Maestro/Esclavo de forma serial. Luego para observar los datos recolectados en el computador se creó una interfaz diseñada en MATLAB, el cual por medio de un programa graficara la variable medida. Para probar el diseño se realizaron 3 circuitos impresos siendo el primero para el Maestro, y los dos siguientes para los Esclavos, los cuales a su vez van acompañados de un circuito de alimentación para cada uno por separados.
DESCRIPTORES: Modbus, PIC (Microprocesador), Maestro/Esclavo.
INTRODUCCIÓN
Actualmente se vive en un mundo que cambia constantemente a un ritmo acelerado. Con el
correr del tiempo estos cambios han sufrido transformaciones, y la temperatura, a nivel
mundial, no escapa a esta realidad. Los cambios de temperatura nos obligan a la creación y
desarrollo de nuevos prototipos funcionales de medición a través de nuevos software y
hardware, es por ello que el siguiente trabajo tiene como finalidad la realización de un
prototipo funcional basado en la aplicación del protocolo de comunicaciones Modbus en una
red de sensores de temperatura, entendiéndose por protocolo de comunicación, el conjunto de
reglas que especifican el intercambio u ordenes durante la comunicación entre las entidades
que forman parte de una red.
Los Microcontroladores (Pic) que conforman el prototipo están programados en un lenguaje
de programación de alto nivel llamado “C”, la temperatura se obtiene del sensor LM35; para
luego guardar el dato adquirido en la memoria interna del PIC y enviarlo del Esclavo al
Maestro cuando así este lo solicite usando el protocolo Modbus que es el encargado de la
comunicación por medio de la estructura Maestro/Esclavo, para luego enviar el dato a la
computadora por medio de la comunicación serial
Esta investigación está estructurada de la siguiente forma:
El capítulo I, lo conforman lo las llamadas generalidades, donde se encuentran los objetivos,
alcance, limitaciones, antecedentes y una pequeña ubicación geográfica del área donde se
realizarán las pruebas.
El capítulo II, titulado marco teórico, se presentan las bases teóricas que fundamentan el
prototipo funcional y definición de términos básicos.
���
�
�
En los capítulos III y IV, se encuentra el marco metodológico, el cual presenta el tipo de
investigación y herramientas a desarrollar a lo largo del trabajo, este se desglosa en el capítulo
III que es el diseño del hardware y por su parte el capítulo IV es el diseño del software.
Por último en el capitulo V se presenta lo que son los resultados y para finalizar el Trabajo de
Grado con lo que son conclusiones y recomendaciones a las cuales se llegaron.
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
�
CAPÍTULO I
GENERALIDADES
En el capítulo I se explica las generalidades del Trabajo de Grado, que se fundamenta en los
aspectos básicos y objetivos a alcanzar en el prototipo funcional, a su vez se plantea el alcance
y limitaciones del mismo, dando una breve descripción geográfica del área a realizar las
pruebas.
1.1 JUSTIFICACIÓN
La recolección de datos es una tarea que conlleva a la producción de errores humanos, que se
traducen en trascripcion de datos erróneos, perdida de datos, entre otros. Si la cantidad de
datos involucra una serie de sensores, los problemas se hacen mayores. Estos problemas
pueden minimizarse si los sensores tienen capacidad para almacenar datos, pero aun existe el
problema de la recoleccion de las medidas realizadas en cada uno de ellos. Para solucionar
esto se requiere la implementación de una red de sensores y desarrollar el protocolo de
comunicaciones necesario.
1.2 ALCANCE
Es de gran importancia la realización de un estudio basado en una red de sensores de
temperatura controlada por Modbus, ya que con el desarrollo de dicho proyecto se lograra
visualizar el comportamiento de la temperarutara ambiente presente en un determinado lugar,
���
�
�
mediante un computador. A su vez crear una base de datos y registro de temperatura del area
en estudio para futuros proyectos o ¿porque no? la continuacion de dicho trabajo. Tambien se
logrará la disminución de errores para obtener mayor precision al momento de realizar las
medidas, como también estudiar el protocolo de comunicación Modbus.
�
1.3 LIMITACIONES
La limitaciòn más importantes para la realización del trabajo, fue la poca presencia de los
implementos a utilizar en la construcción del protoptipo, los materiales son escasos en la
ciudad de Mérida y su obtensión es a través de otras vías, nacionales e internacionales.
1.4 OBJETIVOS
1.4.1 Objetivo General
Implementar el protocolo de comunicación Modbus en un sistema básico de adquisición de
datos autónomo.
1.4.2 Objetivos Específicos
• Diseñar y construir un prototipo para un sistema básico de adquisición de datos
basados en el Microcontrolador 18F452.
• Implementar rutinas para el almacenamiento de datos de las medidas.
• Implementar el protocolo Modbus en el prototipo de adquisición de datos.
• Implementar una red de sensores de temperatura controlado por Modbus.
• Especificar las funciones que se implementaran en el protocolo.
• Desarrollar el software necesario en una computadora para usar el protocolo creado.
• Evaluar el desempeño del protocolo.
���
�
�
1.5 UBICACIÓN DEL ÁREA DONDE SE REALIZARAN LAS PRUEBAS
El área de estudio se ubica en los Andes Venezolanos, en el Occidente de Venezuela,
específicamente en la zona Metropolitana del Municipio Libertador, en la Av. Don Tulio
Febres Cordero en LABIDAI, como se muestra en la figura 1.1.
Fig.1.1 Mapa Político Territorial del Estado Mérida e Imagen de Satélite de la zona de estudio
(www.a-venezuela.com/.../imag/1estados/merida.jpg y Google Earth 4.2 Beta.)
��
CAPÍTULO II
MARCO TEORICO
El siguiente capítulo tiene como finalidad conceptualizar los diferentes elementos gramaticales
que integran el trabajo de grado titulado: IMPLEMENTACIÓN DEL PROTOCOLO
MODBUS A UNA RED DE SENSORES.
Antes de empezar a describir en si lo que es el protocolo de comunicaciones Modbus se
presenta un pequeño resumen de lo que es un Protocolo de comunicaciones y sus
especificaciones.
2.1 PROTOCOLO DE RED O TAMBIÉN PROTOCOLO DE
COMUNICACION
“Es el conjunto de reglas que especifican el intercambio de datos u órdenes durante la
comunicación entre las entidades que forman parte de una red”. [García 2001].
Los protocolos son normas de comunicación que toleran el flujo de información entre
computadoras que operan con distintos lenguajes, por ejemplo, dos computadoras conectados
en la misma red pero que difieran del protocolo no podrían comunicarse de ningún modo, para
ello, es necesario que ambas "hablen" el mismo idioma, en tal sentido, el protocolo TCP/IP fue
creado para las comunicaciones en Internet, para que las computadoras establecieran un
mismo lenguaje y así pudieran comunicarse entre sí. Su funcionalidad es:
��
�
�
• Confinar un ordenador de forma axiomática.
• Establecer una conexión con otro ordenador.
• Permitir intercambiar información entre ordenadores de forma segura, independiente
del tipo de maquinas que estén conectadas.
• Abstraer a los usuarios de los enlaces utilizados (red telefónica, radioenlaces, etc.) para
el intercambio de información.
• Liberar la conexión de forma ordenada.
Estos protocolos pueden estar implementados bien en hardware (tarjetas de red), software
(drivers), o una combinación de ambos.
2.2 ESPECIFICACIÓN DE PROTOCOLO
Un protocolo se caracteriza por
• Sintaxis: En ella se especifica como son y cómo se construye el protocolo.
• Semántica: Representa cada comando o respuesta del protocolo respecto a sus
parámetros o datos.
• Procedimientos de uso de esos mensajes: Es lo que se realiza mediante un lenguaje
de programación, es decir esto es lo que se programa.
���
�
�
2.3 MODELO DE REFERENCIA OSI
“El modelo de referencia de Interconexión de Sistemas Abiertos (OSI, Open System
Interconnection) lanzado en 1984, fue el modelo de red descriptivo creado por la Organización
Internacional para la Normalización (ISO); esto es, un marco de referencia para la definición
de arquitecturas de interconexión de sistemas de comunicaciones”. [Alarcón 2004].
En el campo de la informática los protocolos se pueden clasificar en diversas categorías siendo
la más estudiada el modelo de referencia OSI.
Según la clasificación OSI, la comunicación se puede estudiar dividiéndola en 7 niveles (ver
fig. 2.1), que van desde el nivel superior hasta su nivel inferior como a continuación se
muestra:
Figura 2.1 Niveles del sistema OSI (www. wikipedia.org/wiki/Capa_de_aplicación)
���
�
�
2.3.1 Capa Física (Capa 1)
Como su nombre lo indica, es la Capa Física del modelo de referencia OSI. Es la que se
encarga de las conexiones físicas de la computadora hacia la red.
Sus principales funciones se pueden resumir como:
• Concretar el medio o medios físicos por los que va a viajar la comunicación: cable de
pares trenzados, coaxial, guías de onda, aire, fibra óptica, entre otros.
• Definir las características materiales tanto mecánicos (componentes y conectores
mecánicos) como eléctricas (niveles de tensión) que se van a usar en la transferencia
de los datos por los medios físicos.
• Especificar las características funcionales de la interfaz.
• Verificar el transporte de bits a través del medio.
• Manipular las señales eléctricas/electromagnéticas.
• Garantizar la conexión más no la fiabilidad de ésta.
2.3.2 Capa de Enlace de Datos (Capa 2)
Esta capa es la encargada de direccionar los datos en el medio físico según sea la estructura de
la red, además notifica si ha ocurrido algún error y controla el flujo en las tramas. Así como
también establecer los límites de las tramas y solucionar cualquier problema que en ellas se
presente. A su vez, aligerar el trafico de manera tal que la velocidad de la trama sea la misma
en el receptor que en el emisor.
���
�
�
2.3.3 Capa de Red (Capa 3)
La tarea de la capa de red es hacer que los datos alcancen su trayectoria completa, es decir,
que lleguen desde el origen hasta el destino sin que se pierda un dato por el camino aún
cuando ambos no estén conectados directamente. Para facilitar tal tarea encontramos los
dispositivos conocidos como enrutadores o routers.
Auxiliarmente la capa de red es la encargada de controlar la congestión en los nodos para
evitar que la saturación completa de la red. (Similar a esto un colapso en un cruce de una
arteria vial importante en una gran ciudad).
2.3.4 Capa de Transporte (Capa 4)
Es la encargada de aceptar los datos enviados por las capas superiores, fragmentarlos en
pequeñas partes si es necesario, y pasarlos a la capa de red.
Como su nombre lo expresa esta capa se encarga de transportar los datos del lugar de origen al
lugar de destino. Independientemente de la red física que este en uso.
2.3.5 Capa de Sesión (Capa 5)
Es la encargada de establecer, gestionar y finalizar las conexiones entre usuarios. Ofrece
varios servicios que son cruciales para la comunicación, como son:
• Controlar la sesión entre el emisor y el receptor (quién envía, quién recibe y su
trayectoria).
• Establecer puntos de chequeo (checkpoints), que sirvan para que, ante una interrupción
de transmisión por cualquier causa, la comunicación se pueda reanudar desde el último
punto de verificación en lugar de repetirla desde el principio.
En conclusión esta capa es la encargada de asegurar de que una sesión ya establecida no sufra
ningún tipo de alteraciones y sea efectuada de principio a fin, reanudándola en caso de
interrupciones.
��
�
�
2.3.6 Capa de Presentación (Capa 6)
Es la encargada de la representación de la información, de manera tal que si se utilizan
diferentes representaciones de caracteres (ASCII, UNICODE), números, sonidos e imagines,
la información llegue de manera reconocible al lugar de destino.
Por lo tanto, podemos resumir definiendo a esta capa como la encargada de manejar las
estructuras de datos abstractas y realizar las conversiones de representación de datos
necesarias para la correcta interpretación de los mismos. Esta capa también permite cifrar los
datos y comprimirlos. En pocas palabras es un traductor.
2.3.7 Capa de Aplicación (Capa 7)
Es la que permite al usuario por medio de programas acceder a los servicios de las demás
capas, esta se hace debido a la complejidad que la programación pueda presentar. A su vez,
ésta define el protocolo a implementar en las diversas funciones de intercambio de datos.
2.4 DESCRIPCIÓN DEL PROTOCOLO DE COMUNICACIONES
MODBUS
Es un protocolo de comunicaciones situado en el nivel 2 del Modelo de Referencia de
Interconexión de Sistemas Abiertos (OSI), basado en la arquitectura Maestro/Esclavo o
cliente/servidor, diseñado en 1979 por Modicon para su gama de controladores lógicos
programables (PLCs).
Es un protocolo de comunicaciones estándar, y dentro de la industria es el que posee mayor
aceptabilidad para la conexión de dispositivos electrónicos e industriales. Sus razones:
•••• Es público.
•••• Su implementación es fácil.
•••• Requiere poco desarrollo.
���
�
�
•••• Maneja bloques de datos sin suponer restricciones.
•••• Su velocidad va desde los 75 bps hasta los 19200 bps.
•••• Las tramas pueden alcanzar 1200 metros sin repetidoras.
•••• Es un sistema Maestro/Esclavo.
Una comunicación Modbus es iniciada por el Maestro y este puede hacer una transacción a la
vez, el maestro emite sus peticiones de dos modos:
• En modo Unicast, donde el Maestro se dirige al Esclavo en forma individual. El
Esclavo después de recibir y procesar la información devuelve una respuesta al
Maestro. Es decir que aquí la comunicación se realiza de modo que existan 2 mensajes
un primer mensaje que sería la petición del maestro y un segundo mensaje el cual sería
la respuesta del esclavo.
• En modo Broadcast (difusión), donde el maestro puede enviar peticiones a todos os
Esclavos presentes en la trama. La difusión no es confirmada ya que ninguna respuesta
es devuelta a la petición, es decir no hay garantía del mensaje, por lo tanto este modo
solo debe ser empleado en datos no críticos como por ejemplo el reset, datos comunes
de sincronización entre otros.
Los nodos Esclavos no trasmiten datos sin una petición del Maestro, y no se comunican con
otros Esclavos. Solo un maestro está conectado al bus y uno o varios (247) nodos de esclavo
están también conectados al mismo bus.
Un mensaje Maestro/Esclavo en Modbus contiene:
• Dirección de Esclavo.
• Comando.
• Datos.
• Códigos para verificación.
Modbus permite el control de una red de dispositivos, por ejemplo un sistema de medida de
temperatura, comunicando los resultados a un computador.
���
�
�
2.5 PROTOCOLOS DE TRASMISIÓN
2.5.1 PROTOCOLO ASCII: Es una representación legible del protocolo pero menos
eficiente y cada byte está representado como dos caracteres ASCII.
ASCII utiliza una suma de control de redundancia longitudinal (LRC), a continuación en la
tabla 2.1 observamos la trama de modelo ASCII aplicada en el protocolo Modbus.
Tabla 2.1 Trama del modelo ASCII
COMIENZO DIRECCION FUNCION DATOS LCR FIN
: 2
CARACTERES
2
CARACTERES
0 HASTA
2X252 CARACTERES
2
CARACTERES
CR/LF
2.5.2 PROTOCOLO RTU: RTU que es una representación binaria compacta de los datos. El
formato RTU finaliza la trama con una suma de control de redundancia cíclica (CRC) de 16
bits para la detección de errores de transmisión, como se observa en la tabla 2.2. La mensajería
RTU es libre de estados. Es importante al momento de utilizar el protocolo RTU que los
mensajes sean enviados como flujo constante de caracteres sin interrupción, si hay una
interrupción de más de 3.5 veces el tiempo de transmisión, de un carácter, un dispositivo
interpretara esto como el final de la trama y descartara los bits restantes a recibir.
La mensajería RTU es libre de estados. No hay necesidad de abrir o cerrar conexiones a un
dispositivo Esclavo particular o de procedimientos especiales de reconocimiento de errores.
���
�
�
Tabla 2.2 Trama del modelo RTU
DIRECCION DEL
ESCLAVO
FUNCION DATOS CRC
1 BYTE 1 BYTE 0 HASTA 252
BYTES
CRC
BAJO
CRC
ALTO
2.6 VERIFICACION DE ERRORES
Dos tipos de verificación son empleados dependiendo del protocolo de trasmisión
implementado, estos son ASCII y RTU.
En el modo RTU, los mensajes incluyen un modo de chequeo de redundancia cíclica (CRC).
En el modo ASCII el chequeo se basa en un modo de redundancia longitudinal (LRC).
En la figura 2.2 se observa el diagrama de flujo o la codificación para el cálculo del control de
redundancia cíclica (CRC) en la trama RTU, el cual es empleado para chequear el contenido
del mensaje completo. Es aplicado sin importar cualquier método de chequeo de paridad usado
para caracteres individuales del mensaje.
El CRC es el método de verificación errores más implementado, en los diversos protocolos de
comunicaciones debido a su versatilidad y robustez al momento de la revisión de errores.
El cálculo del CRC es comenzado al precargar primero un registro de 16 bits de puros 1.
���
�
�
2.6.1 Cálculo del CRC codificación RTU:
Figura 2.2 Cálculo del CRC
���
�
�
2.6.2 Verificación del LRC.
El control de redundancia Longitudinal (LRC) es una secuencia de 8 bits o un byte el cual es
calculado al añadir de manera consecutiva bytes del mensaje, descartando cualquier acarreo y
luego agregando complemento a 2 al resultado.
2.7 DESCRIPCIÓN DE ALGUNAS DE LAS FUNCIONES DEL
PROTOCOLO
A continuación se presenta en la tabla 2.3 una lista de funciones disponibles en el protocolo
Modbus con sus correspondientes códigos de operación:
Tabla 2.3 Funciones básicas y códigos de operación
FUNCION CODIGO TAREA 0 00H Control de estaciones
Esclavas 1 01H Lectura de n bits de salida
2 02H Lectura de n bits de entradas
3 03H Lectura de n palabras de salida
4 04H Lectura de n palabras de entrada
5 05H Escritura de un bit
6 06H Escritura de una palabra
7 07H Lectura rápida de 8 bits
8 08H Control de contadores del 1 al 8
9 09H No utilizado
10 0AH No utilizado
��
�
�
11 0BH Control de contadores # 9
12 0CH No utilizado
13 0DH No utilizado
14 0EH No utilizado
15 0FH Escritura de n bits
16 10H Escritura de n palabras
2.7.1 Función 0: Permite ejecutar órdenes de control, tales como marcha, paro, carga y
lecturas de programas del usuario como se muestra en la figura 2.3:
# Esclavo
(00-3H)
00H Código de la
Subfuncion
SF0 SF1
Datos de la
Subfuncion
D0 D1
Información CRC
(16)
H L
Figura 2.3 Trama genérica de las subfunciones de control de esclavos
2.7.2 Funciones 1 y 2: Lectura de bits. La forma de direccionamiento de los bits es a base de
dar la dirección de la palabra que los contiene y luego la posición del bits como se observa en
la figura 2.4.
���
�
�
Petición del Maestro
# Esclavo
(00-3H)
01H
02H
Dirección
1ª Bit
PP PB
# de
Bits
NN NN
CRC
H L
Respuesta del Esclavo
# Esclavo
(00-3H)
01H
02H
# de Octetos
Leídos
NN NN
1ª Octeto
57…B0
Otras
palabras
Max.
255
CRC
H L
Figura 2.4 Petición y respuesta de la función
2.7.3 Funciones 3 y 4: Lecturas de palabras. La petición indica el número de palabras al leer,
mientras que la respuesta se indica los números de octetos leídos, como nos indica la figura
2.5.
Petición del Maestro
# Esclavo
(00-3H)
03H
04H
Dirección
1ª Palabra
PP PP
# de
Palabras
DD DD
CRC
H L
���
�
�
Respuesta del Esclavo
# Esclavo
(00-3H)
03H
04H
# de Octetos
Leídos
NN NN
1ª Palabra
H L
Otras
palabras
Max.
128
CRC
H L
Figura 2.5 Petición y respuesta de la función
2.7.4 Función 5: Escritura de un bit. El direccionamiento del bit se efectúa tal y como se ha
indicado para las funciones 1 y 2 (ver fig. 2.6).
Petición del Maestro
# Esclavo
(00-3H)
05H Dirección
Bit
PP PB
XXH 00H CRC
H L
PPP= Dirección de la palabra (hex.) B= dirección del Bit dentro de la palabra 0 a FH
Respuesta del Esclavo
# Esclavo
(00-3FH)
05H Dirección
Bit
PP PB
XXH 00H CRC
H L
XXH = 00H para bit =0 y XXH = FFH para bit = 1
Figura 2.6 Petición y respuesta de la función
����
�
�
2.7.5 Función 6: Escritura de una palabra, es como lo muestra la figura 2.7.
Petición del Maestro
# Esclavo
(00-3FH)
06H Dirección
Palabra
PP PP
Valor
Palabra
DD DD
CRC
H L
Respuesta del Esclavo
# Esclavo
(00-3FH)
06H Dirección
Palabra
PP PP
# de
Palabras
DD DD
CRC
H L
Figura 2.7 Petición y respuesta de la función
2.7.6 Función 7: Petición de lectura rápida de un octeto. La petición no tiene campo de
dirección, esto es debido a que el octeto legible por esta función es fijo en cada esclavo y
viene fijado en su configuración (ver fig. 2.8).
Petición del Maestro
# Esclavo
(00-3FH)
07H CRC
H L
� ��
�
�
Respuesta del Esclavo
# Esclavo
(00-3FH)
07H Valor
Octeto
D0
CRC
H L
Figura 2.8 Petición y respuesta de la función
2.7.7 Función 8: Petición del contenido y control de los 8 primeros contadores de diagnostico
de un esclavo, como lo muestra la figura 2.9:
Petición del Maestro
# Esclavo
(00-3FH)
08H Código
Subfunción
SF0 SF1
Dato
Subfunción
D0 D1
CRC
H L
Respuesta de Esclavo
# Esclavo
(00-3FH)
08H Código
Subfunción
SF0 SF1
Dato
Subfunción
D0 D1
CRC
H L
Figura 2.9 Petición y respuesta de la función
����
�
�
2.7.8 Función 11: Petición del contenido del contador de diagnostico numero 9 (ver fig. 2.10).
Petición del Maestro
# Esclavo
(00-3FH)
08H CRC
H L
Respuesta de esclavo
# Esclavo
(00-3FH)
08H 00 00 Valor
Contador
CRC
H L
Figura 2.10 Petición y respuesta de la función
2.7.9 Función 15: Escritura de bits del autómata (ver fig.2.11).
Petición del Maestro
# Esclavo
(00-3FH)
0FH Dirección
1er Bit
PP PB
# de Bits
NN NN
# de
Octetos
M
Valor de
los bits
8xM
valores
CRC
H L
����
�
�
Respuesta del Esclavo
# Esclavo
(00-3FH)
0FH Dirección
1er Bit
PP PB
# de Bits
NN NN
CRC
H L
Figura 2.11 Petición y respuesta de la función
Los valores internos en un dispositivo Modbus se encuentran almacenados en registros de
almacenamiento. Estos registros son de 2 bytes y pueden ser utilizados para varios propósitos.
Algunos contienen parámetros de configuración y otros son utilizados para devolver valores
medidos (temperatura, entre otros) al servidor. Los registros en un dispositivo con Modbus
comienzan a enumerarse desde el 40001. Ellos son direccionados en la estructura del mensaje
Modbus con direcciones que comienzan en 0. La función 3 es utilizada para solicitar valores
de uno o más registros de almacenamiento de un dispositivo. Solo un esclavo puede ser
consultado a la vez. En la tabla 2.4 se observa de una manera más desglosada como está
estructurada la función 03.
Tabla 2.4 Estructura de la consulta de la función 03
BYTE VALOR DESCRPCION
1 1…247 DIRECCION DEL ESCLAVO
2 3 CODIGO DE LA FUNCION
3 0…255 DIRECCION DE ARRANQUE, BYTE
SUPERIOR
4 0…255 DIRECCION DE ARRANQUE, BYTE
INFERIOR
����
�
�
5 0…255 NUMERO DE REGISTROS, BYTE
SUPERIOR
6 0…255 NUMERO DE REGISTROS, BYTE
INFERIOR
7(…8) CRC(LCR) VALOR DEL CHEQUEO DE ERROR
Después de procesar la solicitud, el esclavo retorna valores de 16 bits de los registros de
almacenamientos solicitados.
Debido al tamaño de los registros de almacenamiento, cada registro esta codificado con 2
bytes en el mensaje de respuesta. El primer byte de dato contiene el byte más alto y el segundo
el byte más bajo. El mensaje de respuesta de Modbus comienza con la dirección del
dispositivo esclavo y el código de la función 03. El próximo byte es el número de bytes de
datos que siguen este valor es el doble de los registros retornados. Un chequeo de error es
agregado para que el maestro pueda verificar si ocurrió error en la comunicación, de igual
manera que en la parte anterior (consulta) en la tabla 2.5 encontramos como se estructura la
respuesta de la función 03.
Tabla 2.5 Estructura de la respuesta de la función 03
BYTE VALOR DESCRPCION
1 1…247 DIRECCION DEL ESCLAVO
2 3 CODIGO DE LA FUNCION
3 2*N NUMEROS DE BYTES A ENVIAR
����
�
�
4 0…255 REGISTROS, BYTE SUPERIOR
M-2 0…255 REGISTROS, BYTE INFERIOR
M-1(…M) LCR/CRC VALOR DEL CHEQUEO DE ERROR
M=Tamaño de la Trama N= Cantidad de registros
2.8 MENSAJES DE ERROR
Puede ser que un mensaje se interrumpa antes de culminar. Cada esclavo interpreta que el
mensaje a terminado si transcurre un tiempo de silencio equivalente a 3.5 caracteres. Después
de ese tiempo el esclavo considera que el carácter siguiente es el campo de dirección de
esclavo de un nuevo mensaje.
Cuando un esclavo recibe una trama incompleta o errónea desde el punto de vista lógico, envía
un mensaje de error como respuesta, excepto en el caso de mensaje de difusión como se
explica en la figura 2.12.
Respuesta del Esclavo
# Esclavo
(00-64)
Código
Función
Código
Error
CRC
H L
Figura 2.12 Trama de un mensaje de error
����
�
�
2.9 RED DE SENSORES
“Una red de sensores (del inglés sensor network) es una red de ordenadores conformado por
pequeñísimos (nodos), equipados con sensores, que colaboran en una tarea común”. [Hill
2001].
“Las redes de sensores es un concepto relativamente nuevo en adquisición y tratamiento de
datos con múltiples aplicaciones en distintos campos tales como entornos industriales,
domótica, entornos militares, detección ambiental”. [Hill 2001].
2.10 CARACTERÍSTICAS DE UNA RED DE SENSORES
2.10.1 Topología Dinámica: Las redes de sensores presentan una topología que varía según
sea su aplicación, estas se deben adaptar para de esta manera comunicar los datos adquiridos.
2.10.2 Variabilidad del Canal: La variabilidad del canal presenta una serie de fenómenos
como pueden ser la atenuación, desvanecimientos rápidos, desvanecimientos lentos e
interferencias que puede producir errores en los datos.
2.10.3 Tolerancia a Errores: Una red de sensores y en este caso un dispositivo sensor
integrante de la red debe estar en capacidad de seguir en funcionamiento a un cuando la red
presente algún tipo de error en su sistema.
2.10.4 Consumo de Energía: “Es uno de los factores más sensibles debido a que tienen que
conjugar autonomía con capacidad de proceso, ya que actualmente cuentan con una unidad de
energía limitada. Un nodo sensor tiene que contar con un procesador de consumo ultra bajo así
como de un transceptor radio con la misma característica, a esto hay que agregar un software
que también conjugue esta característica haciendo el consumo aún más restrictivo”. [Hill
2001].
���
�
�
2.10.5 Áreas de aplicación
2.10.5.1 Entornos de Alta Seguridad: “En la actualidad es una de las aplicaciones más
comunes, debido a que se implementan redes de sensores en lugares estratégicos para evitar
algún tipo de ataque. Dentro de estos entornos encontramos aeropuertos, edificios
gubernamentales, entre otros. Gracias a una red de sensores se pueden detectar situaciones
irregulares que con una simple cámara sería imposible detectar”. [Hill 2001].
2.10.5.2 Sensores Ambientales: “Seguidamente de los entornos de alta seguridad nos
encontramos con el control ambiental. El cuidado de extensas áreas de bosque o de océanos,
sería imposible sin las redes de sensores. El control de múltiples variables, como temperatura,
humedad, fuego, actividad sísmica así como otras. También ayudan a especialistas a definir o
prevenir un problema o urgencia”. [Hill 2001].
2.10.5.3 Sensores Industriales: Cabe destacar que dentro de las fábricas existen diversos
sistemas de control, lo cual hace necesario la aplicación de las redes de sensores dentro de
éstas.
2.10.5.4 Medicina: Es uno de los campos que presenta gran auge. Debido a la reducción que
presentan los nuevos dispositivos electrónicos que ayudan a mantener la calidad de vida de
algunos pacientes que requieren de estos dispositivos, ya que se encargan de controlar sus
constantes vitales (pulsaciones, presión, nivel de azúcar en sangre, etc.), en el futuro seria una
de las aplicaciones de mayor avance y positiva contribución para la comunidad en general.
2.10.5.5 Sensores con Modbus: Se trata de una red donde el tipo de información que se
intercambia corresponde a datos simples (bits) con el estado de sensores, actuadores o un poco
más compleja (bytes) con información de diagnóstico de dispositivos, valores de variables
analógicas, configuración de dispositivos, entre otros.
Estos sensores se pueden vincular a una red de comunicación con protocolo MODBUS
operando como Esclavo, mediante el bus RS-485, el cual es el Doble par trenzado, velocidad
hasta 10 Mbps, distancia máxima 1200 mts, multipunto. Como el que presentara este trabajo
����
�
�
de grado. Esta posibilidad permite relacionarse con cualquier computador corriendo un
software de control, supervisión o adquisición de datos.
El diseño del módulo de Comunicaciones Esclavo Modbus debe cumplir ciertas condiciones
de tipo general, como por ejemplo el hecho de que el prototipo funcional debe interconectarse
con diferentes dispositivos de Entrada/Salida.
Adicionalmente, al tratarse de un sistema que deberá acoplarse al protocolo Modbus, el
hardware debe diseñarse de tal forma que de soporte eficiente al mismo para así aprovechar de
la mejor manera todas las características que nos proporciona el protocolo.
En la siguiente figura observaremos como es la estructura de una red de sensores Modbus, la cual está conformada por una serie de Esclavos y un Maestro, el cual es el encargado de pedir las ordenes que se necesiten para que los Esclavos respondan a sus peticiones:
Figura 2.13 Estructura de una red de Sensores con Modbus
�
�
CAPÍTULO III
DISEÑO DEL HARDWARE
En este capítulo se explicar todo lo que tiene que ver con el diseño y creación del Prototipo
Funcional (hardware), además de contiene los dispositivos electrónicos implementados así
como también las simulaciones y diseños de los circuitos impresos.
3.1 CONSIDERACIONES PRÁCTICAS EN EL DISEÑO ELECTRÓNICO
Para la realización del hardware se toma en cuenta ciertos aspectos que se consideraron que
son importantes al momento del diseño electrónico:
3.1.1 Condiciones ambientales
El prototipo funcional podrá realizar sus funciones en lugares donde no esté sometido a altas
temperaturas debido a que va a ser elaborado de forma artesanal y sencilla, con la finalidad
que sea lo menos costoso posible.
3.1.2 Las mejores vías para obtener la información necesaria
El prototipo implementara el protocolo Modbus para el intercambio de información, debido a
las características que este presenta las cuales hacen del prototipo un dispositivo versátil y de
fácil implementación.
3.1.3 Rango de temperatura del sensor utilizado: El sensor implementado posee un rango
de medición de temperatura que va desde los – 55 ºC a 150 ºC.
����
�
�
�
3.1.4 Tipo de alimentación
Esta es por separado, es decir cada sistema lleva su propia alimentación, para facilitar su
manejo y transporte al momento de ponerlo en práctica.
3.1.5 Elementos donde pueda ser implementado
El prototipo pude ser implementado en elementos o dispositivos que manejan el rango de la
temperatura ambiente.
3.2 DISEÑO DEL HARDWARE
Tomando en cuenta los recursos disponibles y las consideraciones antes mencionadas es
necesario proceder al diseño del hardware, el cual es uno de los pilares fundamentales del
prototipo funcional.
El diseño del Hardware comprende tres etapas, las cuales son las siguientes: la primera etapa
que es la que comprende las simulaciones y búsqueda de los componentes electrónicos a
utilizar. La segunda etapa tiene que ver más con lo que es el prototipo, debido a que ya se
realizaron las simulaciones y se conoce los componentes a utilizar, en esta etapa se realizan
las pruebas al prototipo para pasar a la tercera y última etapa que consiste en la realización de
los circuitos impresos.
El primer circuito impreso utilizado para los Esclavos, se fundamenta en la comunicación
serial, usando el estándar 485, consta de un pic 18F452 el cual es considerado el dispositivo
principal del circuito impreso, motivado a que es el encargado de procesar las señales y, a su
vez, en su memoria interna, almacenar los valores de la variable medida (temperatura), los
cuales se obtienen por medio del sensor de temperatura LM35 para ser enviados al maestro
cuando este así lo solicite.
Para hacerlo más práctico se le agregó una pantalla LCD acompañada de un teclado, de
manera tal que el usuario interactué con el dispositivo. Con el teclado el usuario puede
cambiar en el instante de tiempo en que se desee la medida, desplegando en la pantalla las
opciones para el ajuste de la misma, ya sea horas o en minutos. A continuación se presenta un
� ��
�
�
�
diagrama de bloques (fig. 3.1) de lo que es la primera tarjeta impresa que en este caso tiene
que ver con los Esclavos:
Figura 3.1 Diagrama de Bloques de los Esclavos
El segundo circuito diseñado es el del Maestro. En él están presentes dispositivos similares a
los utilizados en el Esclavo, solo que aquí desempeñan distintas funciones y a diferencia del
primer circuito impreso éste posee un Max232 el cual se utiliza para establecer la
comunicación entre el Microprocesador y la Computadora.
Al igual que en el circuito diseñado para los Esclavos, el Maestro presenta un PIC18F452 el
cual es el encargado de solicitar a los esclavos la información requerida para procesarla y
luego enviarla al computador para su respectiva representación grafica. La comunicación entre
����
�
�
�
el Esclavo y el Maestro se lleva a cabo gracias al dispositivo RS485 en forma serial, de igual
manera el circuito a diseñar consta de un reloj DS1307 para obtener datos en una base de
tiempo y una pantalla LCD 2x16 para la visualización de los datos. En este caso el teclado que
posee la tarjeta está compuesto primero por dos botones que sirven para indicar a cuál de los
Esclavos vamos a pedir la información, seguidamente posee botones para ajuste de tiempo,
también consta de dos botones adicionales para resetear desde el Maestro ambos Esclavos. A
continuación en la figura 3.2 se representa mediante un diagrama de bloques la función del
sistema completo.
Por último, el tercer circuito impreso es la encargado de suministrar la energía necesaria para
que las tarjetas anteriores funcionen de una manera optima, cada tarjeta impresa (Esclavo
/Maestro) llevará por separado una de estas tarjetas de alimentación lo cual facilita la
portabilidad del dispositivo.
Básicamente su función es transformar el voltaje proveniente de una fuente exterior al voltaje
adecuado para el funcionamiento de los circuitos, esto se realiza mediante un regulador 7805
acompañado de una serie de capacitores. De igual forma está presente en esta tarjeta una
conexión extra de un MAX232 para posteriores aplicaciones (ver fig. 3.12).
3.3 COMPONENTES
3.3.1 Microcontrolador
Es importante incorporar al prototipo un dispositivo capaz de procesar y almacenar varias
señales a la vez y que lo hiciera a una velocidad relativamente rápida, todo esto teniendo en
cuenta la disminución de los costos y de consumo de energía eléctrica es por ello que se
����
�
�
�
Figura 3.2 Diagrama de Bloques del Maestro
decide utilizar el Microcontrolador (PIC) 18F452, el cual lo observamos en la figura 3.3.
Destacándose las siguientes características (Ver anexo 1):
• 32 Kbit de memoria de programa, la cual es suficiente para el programa diseñado para
el prototipo. Esta memoria es flash, lo cual permite ser sobrescrita 100000 veces, lo
cual hace posible la corrección u actualización del código allí guardado.
• Convertidor analógico digital de 10 bits 8 canales, el cual es el encargado del
procesamiento de la señal.
����
�
�
�
• Tensiones de operación que van desde los 2,5 V hasta los 5 V.
• 256 bytes de memoria interna.
• Puertos analógicos y digitales, A, B, C, D, E, los cuales permiten la conexión de los
sensores o cualquier otro dispositivo que se necesite.
• Puerto serial, el cual puede operar de modo full-dúplex y que soporta el protocolo RS-
485.
• Soporte para dispositivos I²C, tales como el reloj de tiempo real.
• Convertidor analógico/digital de 10 bits 8 canales.
Figura 3.3 Identificación de los pines del PIC 18F452 (http://www.microchipPic-18FXX2- Data
Sheet.com)
����
�
�
�
3.3.2 Reloj de Tiempo Real
Se implementa un reloj de tiempo real como el que se describe en la figura 3.4, motivado a las
necesidades a ser implementadas en el prototipo, es por ello que se utilizo el DS1307, el cual
es un reloj/calendario de codificación binaria decimal (BCD), que cuenta con 56 bytes de
memoria y es de bajo consumo de energía (Ver anexo 2).
Los datos y direcciones que implementa dicho dispositivo son a través de la comunicación
serial por medio del puerto bidireccional I2C. Este puede operar en formato de 12 y 24 horas,
se utiliza el modo de 24 horas ya que este es universal.
Posee un respaldo de energía en caso de fallar la alimentación principal, es por ello que el
registro de tiempo se mantiene.
Para el circuito oscilador es necesario conectarle un cristal de 32.768 KHz.
Figura 3.4 Diagrama de Bloques del DS1307 (www.maxim-icds1307.com.” Manual de reloj de tiempo
Real”)
����
�
�
�
3.3.3 Pantalla de Cristal Líquido
Es necesario la utilización de una pantalla liquida de 2 filas por 16 columnas (2x16) similar a
la figura 3.5, para la visualización de los datos en tiempo real.
La pantalla posee un control de iluminación de fondo y contraste lo cual hace optimo la
visualización de los datos.
Figura 3.5 Pantalla LCD 2x16 (www.datasheetcatalog.com. “16x2 Character LCD”)
3.3.4 Comunicación Serial
En las aplicaciones de este Trabajo de Grado se necesita la transmisión de los datos para así en
un computador desplegar el comportamiento de la variable medida (temperatura) y así poder
representar su grafica para un mejor entendimiento (Ver anexo 3).
Se escogió el dispositivo RS 485 como medio de transporte ya que posee una característica
que la hace más relevante con respecto a las demás ya que permite una mayor longitud en
cuanto al cableado y permite la conexión de varios dispositivos.
La interfaz RS485 para la transmisión en serie de datos de alta velocidad a grandes distancias
se encuentra en creciente aplicación en el sector industrial. Es por ello que se escogió el
MAX485, el RS485 está concebido como sistema Bus bidireccional con hasta 32
participantes y puede instalarse tanto como sistema de 2 hilos como se muestra en la figura
3.6.
Por su parte para llevar los datos del PIC al la computadora se empleo un Max232 (ver
fig.3.7).
���
�
�
�
Figura 3.6 Ubicación de los pines y diagrama del MAX485 (conexión a 2 hilos) (www.maxim-RS-
485/RS-422.com.” Hoja de Especificaciones del RS-85”)
Figura 3.7 Ubicación de los pines y diagrama del MAX232 (www.maxim-MAx-232.com.” Hoja de
Especificaciones del Max 232”)
����
�
�
�
3.3.5 Sensor de temperatura LM35
Es en el encargado de sensar la temperatura presente en el ambiente para luego por medio del
programa, ser procesada en el PIC. Este trabaja con un rango de operación de -55 a 150
grados centígrados, lo cual se hace adecuado para las temperaturas a ser medidas, este
dispositivo presenta un costo relativamente económico y sus características se adaptan a lo que
se requiere (Ver anexo 4).
En la figura 3.8 observamos las diferentes versiones en que se presenta el sensor de
temperatura LM35, en este Trabajo de Grado se utilizo el modelo TO-92 (“Plastic Package”).
Figura 3.8 Presentación y aplicaciones típicas del LM35 (www. nationallm.com.” Manual del Sensor
LM35”)
����
�
�
�
3.3.6 Fuente de Alimentación
Es la que se encarga de transformar el voltaje proveniente de la pila de 9 V al voltaje requerido
por los componentes a implementar en los circuitos impresos (+ 5 VDC).
Ésta está compuesta por capacitores y un regulador 78L05 como el que se muestra en la figura
3.9, el cual proporcionara la corriente necesaria a ser utilizada en los circuitos impresos.
Adicionalmente la tarjeta impresa llevará una entrada para adaptadores de corriente alterna en
caso de que así se necesite
El regulador es el encargado de llevar el voltaje requerido a los dispositivos como se
menciono anteriormente, aquí algunas de sus características:
• Salida de corriente hasta los 100 m A.
• Salidas de voltaje que van hasta 5 V.
• Protección de corto circuito.
Figura 3.9 Presentación del Regulador 78L05 (Fuente: http://www.datasheetcatalog.com. “L78L00
Series”)
����
�
�
�
3.3.7 Simulaciones
Es la primera parte a realizar en el diseño, estas se realiza a efectos de prueba para tener así un
precedente de lo que se realizara posteriormente.
A continuación como se muestra en las siguientes paginas, se observaran algunas de de estas
simulaciones, donde en la figura 3.10, se observa el esquema de montaje de uno de los
Esclavos.
Por su parte en la figura 3.11, encontramos el esquema de montaje del Maestro, en el cual
observamos que este posee dos pulsadores adicionales los cuales sirven para solicitar la
información a cualquiera de los Esclavos.
La figura 3.12, representa a la fuente alimentación diseñada la cual cuenta con un regulador de
voltaje para proporcionar así el voltaje requerido por los circuitos impresos, además de contar
con una serie de capacitores los cuales están dispuesto en los diversos circuitos impresos.
En la figura 3.13, encontramos el circuito en el cual se realizo la primera prueba en proteus
implementando el protocolo Modbus, la cual se hizo con una conexión punto a punto entre un
Esclavo y un Maestro para verificar el funcionamiento del protocolo Modbus.
Por último, la figura 3.14, indica una conexión punto/multipunto implementando para ello el
dispositivo RS485 entre dos Esclavos y un Maestro como se planteo en el Trabajo de Grado.
3.3.8 Circuitos Impresos
Los circuitos impresos fueron diseñados mediante el software conocido como EAGLE Light
Edition, el cual es un programa diseñado por CadSoft para la realización de tarjetas impresas
de una forma fácil.�[http://www.cadsoftusa.com/freeware.htm. 2009].
El Eagle Layout funciona de manera sencilla, aquí alguno de los pasos para la elaboración de
las tarjetas:
��
��
� ��
�
Figu
ra 3
.10
Esq
uem
a de
mon
taje
de
uno
de lo
s Esc
lavo
s
��
��
����
�
Figu
ra 3
.11
Esq
uem
a de
mon
taje
del
Mae
stro
��
��
����
�
Figu
ra 3
.12
Esq
uem
a de
mon
taje
de
la a
limen
taci
ón
��
��
����
�
Figu
ra 3
.13
Esq
uem
a de
mon
taje
Mae
stro
/Esc
lavo
Mod
bus
��
��
����
�
F
igur
a 3.
14 E
sque
ma
de m
onta
je d
el P
roto
tipo
Fina
l
����
�
�
�
• Elegir los componentes a utilizar mediante el uso de las extensas librerías que posee
el programa, donde se encuentran diferentes marcas y genéricos de los
implementos, de manera tal que obtenidos los componentes proceder a armar el
esquemático.
• Luego de montar el esquemático proceder a arreglar los componentes de la forma
más precisa de manera tal que se utilice de forma practica la placa, ahora entramos
a la función PCB del programa y accionamos la función AutoRoute el cual
automáticamente realizara las pistas a utilizar en el diseño. (se pueden realizar
ajustes en caso de que así lo amerite el caso).
Como precaución se instalaran bases donde van los circuitos electrónicos encapsulados, de
manera de que ocurra un fallo en alguno de estos se puedan reemplazar de forma inmediata
y a su vez se dejaran espacios dispuestos para cualquier componente extra.
El circuito impreso donde se encuentra la alimentación del prototipo funcional está
diseñada a una sola cara (ver figura 3.15), debido a su sencillez, ya que esta no presenta
tantos dispositivos electrónicos, por su parte los circuitos impresos del Maestro y los
Esclavos están diseñados a dos caras debido a que estos son más complejas (ver figuras
3.17 y 3.19).
A continuación se mostraran las graficas del diseño de las tarjetas impresas las cuales se
diseñaron el programa antes mencionado para su posterior realización en la lámina que se
utiliza para construir circuitos impresos:
���
�
�
�
Figura 3.15 Tarjeta Impresa de Alimentación Diseñanada
����
�
�
�
Figura 3.16 Tarjeta Impresa del Maestro Diseñada
����
�
�
�
Figura 3.17 Tarjeta Impresa de los Esclavos Diseñada
����
�
�
�
Figura 3.18 Tarjeta Impresa del Esclavo Diseñada Cara Inferior
Figura 3.19 Tarjeta Impresa Esclavo Diseñada Cara Superior
��
CAPÍTULO IV
CREACIÓN DEL SOFTWARE
A continuación se describe todo lo relacionado con la programación de los
Microcontroladores a ser utilizados en el prototipo funcional, y el envío de la información al
computador, es decir en general se explicaran los Software diseñados.
4.1 ESTRUCTURA GENERAL
Básicamente el diseño del software de los Microcontroladores está compuesto por dos
programas, uno que se encarga de lo que es el Maestro y otro de lo que es el Esclavo, esta
programación se realizo en lenguaje “C” para luego ser compilado en PIC-C (Custom
Computer Services, Inc., 2007).
Hay que acotar algo muy importante para la programación se agregaron librerías a las
presentes librerías originales del compilador, y en algunos casos se modificaron algunas de
ellas, las cuales se describirán a lo largo de este capítulo.
De igual manera se diseño una interfaz grafica en Matlab para observar el comportamiento de
la temperatura medida, esta interfaz se implemento mediante el dispositivo MAX 232, el cual
es el encargado de comunicar el Maestro con el computador a través del puerto serial.
En la siguiente tabla observaremos como Modbus realiza los registros:
����
��
Tabla 4.1 Modelo de Registro Modbus
TABLA TERMINOLOGIA REGISTRO CARACTERISTICA
SALIDA DISCRETA
BOBINAS O COILS 0:00000
ELEMENTO DE 16 BITS, ALTERABLE
POR SOFTWARE, ES DE LECTURA ESCRITURA
ENTRADA DISCRETA
ENTRADAS 1:00000�
BIT UNICO, SOLO DE LECTURA
REGISTRO DE
ENTRDA
REGISTRO DE ENTRADA 2:00000�
ELEMENTO DE 16 BITS, SOLO DE
LECTURA
REGISTRO DE
SALIDA
REGISTRO DE ALMACENAMIENTO
4:00000�
BIT UNICO ALTERABLE POR SOFTWARE ES DE
LECTURA-ESCRITURA
El protocolo Modbus no define estas áreas con mucha precisión. La distribución entre las
entradas y salidas así como los datos deireccionables por bits o registros no importa cualquier
comportamiento específico por parte del Esclavo. Es muy común que todos los dispositivos
Esclavos implementen la tabla como un área de memoria solapable.
4.2 ESTRUCTURA DEL ESCLAVO
Como se mencionó en el capítulo anterior los Esclavos son los encargados mediante el sensor
de temperatura de captar la señal a ser medida. Para luego ser procesada en el PIC y así ser
almacenada en su memoria interna. Todo esto se realiza en tiempo real. Una vez pasado este
tiempo, el Esclavo espera a que el Maestro le solicite los datos para enviarlos.
Los programas constan de varios lazos, como lo son ajuste del rango de temperatura,
configuración del reloj de tiempo real, indicar los valores de temperatura y tiempo real en la
pantalla LCD, y por último el intercambio de información Maestro/Esclavo. Cabe destacar que
el envío de información Maestro/Esclavo, Esclavo/Maestro, se realiza por comunicación serial
y se implementan el Protocolo de Comunicaciones Modbus.
����
��
Para iniciar el programa observamos la temperatura medida por el sensor de temperatura, la
cual se refleja en la pantalla LCD, a su vez, que el reloj despliegue en la pantalla cero (0)
horas, cero (minutos) y cero (0) segundos.
Seguidamente se configurara el reloj de manera tal que sea el mismo usuario el que incorpore
la hora, esto se realiza por medio de cuatro botones, donde el primer botón es para seleccionar
modificación de hora y minutos.
Los botones B2 y B3 son para incrementar y disminuir la hora y los minutos, por último el
botón B4 es el encargado de cambiar la modalidad de alternar entre horas y minutos y a su vez
dar la señal de arranque para que el reloj comience con las acciones expuestas por el usuario,
la disposición de los mismos se observa en la figura 4.1 y sus funciones en la tabla 4.2.
Figura 4.1 Disposición de los botones del teclado de los Esclavos.
����
��
Tabla 4.2 Funciones de los botones del teclado
Botón Puerto Función B1 D0 Cambio de hora B2 D1 Incrementar B3 D2 Disminuir B4 D3 Cambio de Hr/min. Y Run
Luego de configurar el tiempo, estos datos se muestran en la pantalla acompañados del valor
de temperatura medido, como se dijo anteriormente.
El siguiente lazo consiste en revisar si existe alguna petición por parte del Maestro para el
envió de información, de existir se recurre a la función de dicha petición, de lo contrario se
procede a la visualización y captación de los datos provenientes de los sensores para su
posterior almacenamiento. Los datos almacenados en el sistema como son: hora de la
temperatura promedio, minuto de la temperatura promedio y temperatura promedio, entre
otros se localizan en posiciones especificas de memoria como se indican en la tabla 4.3.
Para el mejor entendimiento se muestra en la figura 4.2 el diagrama de flujo del esclavo:
Figura 4.2 Diagrama de flujo para Esclavo
����
��
Tabla 4.3 Direcciones del Mapa de Memoria de los Esclavos
DIRECCION CARACTERISTICA 10 Hora Temperatura
Promedio. 11 Minuto Temperatura
Promedio. 12 Temperatura
Promedio. 13 Hora Temperatura
Máxima. 14 Minuto Temperatura
Máxima. 15 Temperatura Máxima. 16 Hora Temperatura
Mínima. 17 Minuto Temperatura
Mínima. 18 Temperatura Mínima.
4.3 ESTRUCTURA DEL MAESTRO
La estructura del Maestro básicamente radica en pedir información al Esclavo en determinado
momento, para almacenar dicho dato en la memoria interna del Microprocesador, y luego ser
enviado al computador.
Es el Maestro el encargado de enviar la información para la computadora para que esta
despliegue una ventana gráfica creada en el ambiente grafico de Matlab, en donde se observa
el comportamiento de la temperatura en función del tiempo.
Al igual que en el Esclavo la programación se realizan mediante una serie de comandos, que a
continuación se explicaran.
����
��
El Maestro debe pedir la información correspondiente al Esclavo, de manera que reciba un
mensaje para almacenarlo en su memoria, desplegarlo en una pantalla LCD y luego enviarlo al
computador para que lo procese y lo muestre en la pantalla del mismo. La comunicación entre
Maestro/esclavo es del tipo serial, implementando a través del dispositivo RS485.
De igual forma el Maestro presenta otras rutinas como son el reset de los Esclavos, ajuste del
tiempo de los Esclavos.
Aquí el diagrama de flujo del Maestro (fig.4.3):
Figura 4.3 Diagrama de flujo para el Maestro
���
��
4.4 ESTRUCTURA DEL PROGRAMA GENERAL CON MODBUS
Conocidas las funciones de Maestro/Esclavo, procedemos a establecer el protocolo Modbus en
nuestro programa ya que este es la base de la comunicación a establecer, para el cual PIC-C
(Custom Computer Services, Inc., 2007), posee una librería la cual se debió ajustar a nuestra
programación, la librería implementada en el Trabajo de Grado fue la librería de
“Modbus_Pic”, la cual está presente en el programa utilizado.
Básicamente en el programa el Esclavo es el encargado de proporcionar la primera
información en cada mensaje de Modbus, este es identificado a través de direcciones únicas
las cuales van de la 1 a la 247.
En la línea serial de Modbus, el campo de dirección solo contiene las correspondientes al
Esclavo.
Un Maestro se dirige a un Esclavo al colocar la dirección de este esclavo en el campo de
dirección del mensaje.
Cuando el Esclavo devuelve sus respuestas, coloca su propia dirección en el campo de
dirección para notificar al Maestro cual es el Esclavo que está respondiendo.
El segundo parámetro en cada mensaje de Modbus, es el código de la función, esté define el
tipo de mensaje y la acción requerida por el Esclavo. Los códigos válidos están en el rango del
1 al 255.
Cuando un error es detectado el bit más alto es activado. Los registros son de 2 bits y son
direccionados en la estructura del mensaje Modbus con direcciones que comienzan desde 0.
Después de procesar la solicitud el Esclavo Modbus retorna valores de 16 bits de los registros
almacenados o solicitados.
����
��
Figura 4.4 Diagrama de bloques del programa general
4.5 INTERFAZ GRÁFICA DISEÑADA EN MATLAB
Ahora lo que se hace es implementar unas rutinas que nos simplifiquen el envió de datos por
el puerto serie.
Esto se realizara por medio del software Matlab, ya que este es un software diseñado para
aplicaciones que involucren adquisición, control, análisis y presentación de datos. Las ventajas
que proporciona este software son:
• Se reduce el tiempo de desarrollo de las aplicaciones, ya que son muy intuitivos y fáciles de
aprender.
• Dotan de gran flexibilidad al sistema, permitiendo cambios y actualizaciones tanto del
hardware como del software.
• Dan la posibilidad a los usuarios de crear soluciones completas y complejas.
����
��
• Con un único sistema de desarrollo se integran las funciones de adquisición, análisis y
presentación de datos.
• Los sistemas están dotados de un compilador gráfico para lograr la máxima velocidad de
ejecución posible.
• Tienen la posibilidad de incorporar aplicaciones escritas en otros lenguajes.
Matlab (abreviatura de Matrix Laboratory) es un software matemático que ofrece un entorno
de desarrollo integrado (IDE) con un lenguaje de programación propio (lenguaje M). Está
disponible para las plataformas Unix, Windows y Apple Mac OS X.
Entre sus prestaciones básicas se hallan: la manipulación de matrices, la representación de
datos y funciones, la implementación de algoritmos, la creación de interfaces de usuario (GUI)
y la comunicación con programas en otros lenguajes y con otros dispositivos hardware. El
paquete Matlab dispone de dos herramientas adicionales que expanden sus prestaciones, a
saber, Simulink (plataforma de simulación multidominio) y GUIDE (editor de interfaces de
usuario - GUI). Además, se pueden ampliar las capacidades de Matlab con las cajas de
herramientas (toolboxes); y las de Simulink con los paquetes de bloques (blocksets).
Es un software muy usado en universidades y centros de investigación y desarrollo. En los
últimos años ha aumentado el número de prestaciones, como la de programar directamente
procesadores digitales de señal o crear código VHDL.
A continuación en la figura 4.5 se muestra la interfaz diseñada en Matlab para la adquisición
de los datos provenientes del Maestro, para su posterior visualización en el computador la cual
consta de 3 botones el primero que es el de “ABRIR” este es el encargado de abrir la interfaz,
con el botón 2 llamado “LEER” adquirimos loas datos que vienen del Maestro a través del
puerto serial , y por último el botón 3 de nombre “CERRAR” es el encargado de finalizar la
interfaz:
����
��
Figura 4.5 Interfaz Gráfica para el Registro de Temperatura
En las figuras 4.6 y 4.7 observamos las gráficas obtenidas en Matlab de la Temperatura en
función del Tiempo de los Esclavos números 1 y 2 respectivamente, las cuales se obtienen por
medio de la interfaz:
0h1m 1h5m 3h7m 4h9m 5h11m 6h50m 8h40m 10h35m 12h5m 14h50m25
25.5
26
26.5
27
27.5
28
28.5
29
29.5
30
TIEMPO EN HORAS Y MINUTOS
TEM
ER
ATU
RA
EN
ºC
TEMPERATURA vs. TIEMPO (ESCLAVO 1)
Figura 4.6 Temperatura Vs Tiempo (Esclavo 1)
� ��
��
00h1m 1h5m 3h7m 4h9m 5h11m 6h50m 8h40m 10h35m 12h5m 14h50m25
25.5
26
26.5
27
27.5
28
28.5
29
29.5
30
TIEMPO EN HORAS Y MINUTOS
TEM
PE
RA
TUR
A E
N º
C
TEMPERATUR vs.TIEMPO (ESCLAVO 2)
Figura 4.7 Temperatura Vs Tiempo (Esclavo 2)
4.6.1 Diagrama de Flujo del Software para la Interfaz: (Fig. 4.8)
En la siguiente figura se observa por medio de un diagrama de flujo lo que realiza el programa
diseñado para la adquisición de los datos del Maestro al computador, el cual se realiza a través
del puerto serial e implementado para la adquisición de los datos Matlab.
Figura 4.8 Diagrama de Flujo de la Interfaz
��
CAPÍTULO V
RESULTADOS
Como resultado al finalizar el diseño, se obtuvo el siguiente prototipo funcional para la
Implementación del Protocolo de Comunicaciones Modbus en una Red de sensores de
Temperatura:
En la figura 5.1 se observara el prototipo completo, el cual consta de 2 esclavos y 1
Maestro además de contar con alimentación separada para cada placa impresa diseñada:
Fig. 5.1 Prototipo funcional Creado
En la figura 5.2 tenemos al Maestro desplegando en la pantalla a cuál de los Esclavos
vamos a solicitar la información:
����
Fig. 5.2 Selección del Esclavo
De igual manera en la figura 5.3 vemos en la pantalla del Maestro como podemos variar la
hora y los minutos. Bien sea hacia arriba o para abajo (esto se puede realizar directamente
en el Esclavo también):
Fig. 5.3 Ajuste de Hora Y Minutos
Bien ahora en la figura 5.4 se observara como el Maestro envía la información al Esclavo
en este caso al Esclavo 1:
����
Fig. 5.4 Envió de Dato al Esclavo por medio del Maestro
Por último en la figura 5.5 se observara al esclavo esperando el comando para luego
responder al Maestro su petición y así el Maestro enviar el dato al computador para su
respectiva representación:
Fig. 5.5 Recepción del comando por parte del Maestro
����
De igual manera se diseñaron y construyeron circuitos impresos por separado para la alimentación de cada uno de los Esclavos y Maestro, como los que a continuación se muestran en la figura 5.6:
Fig. 5.6 Tarjeta de alimentación creada
CONCLUSIONES
• Se utiliza el protocolo Modbus basado en la arquitectura Maestro/Esclavo, ya que
este resulta ser robusto en la transferencia de datos, de fácil implementación, costo
relativamente bajo y empleado por una diversa gama de fabricantes.
• Se implemento una red conformada por un Maestro y dos Esclavos. Donde el
Maestro es el encargado de coordinar los enlaces de comunicación realizando
peticiones a los Esclavos en determinado momento.
• El bus de campo implementado puede adaptarse a cualquier red de campo que
permita la utilización de la topología tipo bus, siempre y cuando sea Modbus el
protocolo implementado.
• El desempeño del protocolo resulto ser óptimo para lo que se planteaba en el
Trabajo de Grado, este presenta una buena velocidad y una trama de corrección de
errores en caso de que se llegara a necesitar.
• Las simulaciones de los circuitos permitieron ahorro de tiempo y dinero, ya que solo
se procedió a realizar la tarjeta impresa luego que las simulaciones obtenidas nos
dieran resultados satisfactorios y así evitar la compra de componentes electrónicos
innecesarios.
67
• El uso de microcontroladores permite la reducción de tamaño en la tarjeta impresa
ya que el alberga internamente algunos dispositivos electrónico (convertidores,
temporizadores contadores, etc.) Permitiendo una fácil sustitución en caso de
desperfectos.
• En el diseño implementado, se incorporaron características de diversos modelos y
adaptaciones requeridas para diversos propósitos, entre los que se destacan:
capacidad de almacenamiento, exactitud, almacenamiento de rangos de temperatura
máxima y mínima para ser adaptado a determinado uso, ajuste de tiempo, entre
otros, las cuales son cualidades de un instrumento versátil.
• La selección del sensor debe ser apropiada al tipo de evento con el cual se desea
trabajar , ya que en un proceso en el cual la temperatura no fluctúa bruscamente, un
sensor como el LM35 es el indicado para este tipo de aplicaciones, dadas sus
características de bajo costo, auto calibración y alta precisión del dispositivo.
• En el prototipo desarrollado se incorporaron característica que no se encontraron
disponibles en otros prototipos, como bajo costo, implementación del protocolo de
comunicaciones Modbus en una red de sensores de temperatura, entre otros.
• Para la adquisición de datos entre los Microprocesadores se implemento el
protocolo de comunicaciones Modbus utilizando como medio de transporte para los
datos el dispositivo electrónico RS-485, y a su vez para enviar los datos al
computador se utilizó RS-232 por puerto serial.
• El entorno grafico presentado al final de la adquisición de los datos desarrollado en
Matlab facilita el monitoreo de la variable medida en cualquier instante de tiempo.
• Los históricos presentes en los mapas de memoria puede ser manejada en cualquier
momento mediante la utilización del protocolo Modbus.
68
• La operación entre una persona cualquiera y la interfaz grafica no requiere de
conocimientos profundos de computación (es intuitivo), ya que solo se utiliza el
mouse y el teclado para navegar en las diferentes aplicaciones del sistema.
• Este trabajo permite la adquisición de datos autónomos por medio de la implantación del protocolo de comunicaciones Modbus.
• El prototipo realizado es de bajo costo partiendo del uso de dispositivos comerciales
para su implementación.
��
RECOMENDACIONES
• No se debe sobrepasar ninguna especificación de trabajo con cualquier de los
dispositivos electrónicos utilizados en el prototipo funcional, esto podría ocasionar
desperfectos en el prototipo.
• Aun cuando el manejo de los programas por computador no es complejo se
recomienda un adiestramiento previo al personal encargado de trabajar con el
prototipo.
• Se recomienda un mantenimiento periódico de los módulos presentes en el
prototipo para su mejor funcionamiento, es decir revisar continuamente el estado de
los dispositivos electrónicos, las conexiones, entre otros.
• Se recomienda como necesidad futura la implementación de las memorias
adicionales que se encuentren en el prototipo bien sea para futuras aplicaciones o
para que el prototipo posea mayor capacidad de almacenamiento.
• Al poner en funcionamiento el prototipo se recomienda establecer un medio
homogéneo para la comparación del sistema diseñado con un patrón que sirva de
base para que garantice buena precisión al momento de la medición.
• Para aprovechar mejor el sistema desarrollado, se puede adaptar otros tipos de
sensores, tal como el AD595 y la Termocupla tipo K, para comparar la respuesta a
���
cambios bruscos de temperatura, para procesos que lo requieran. Adaptarle sensores
con capacidad de medir otras variables.
• Es necesario diseñarle alimentación independiente, para lograr la portabilidad del
dispositivo.
• Diseñar los circuitos impresos de los Esclavos a una sola cara, debido a la poca
existencia del material necesario para la elaboración del mismo y también para que
al momento de soldar los dispositivos electrónicos no caer en fallas de cortos
circuitos en la tarjeta impresa diseñada.
• Una de las aplicaciones del prototipo desarrollado es la medición de temperatura en
ambientes amplios y cerrados como son los invernaderos, los cuales presentan
diversos perfiles de temperatura dependiendo de la altura respecto al suelo y la
cercanía de las paredes del mismo.
��
REFERENCIAS
Alarcón. Ingebor (2004). Protocolo de comunicaciones para controladores de tráfico. Trabajo Especial de Grado para optar al título de Ingeniero Electricista, Escuela de Ingeniería Eléctrica, Universidad de los Andes, Mérida, Venezuela.
Axelson Jean (2008). Serial Port Complete: Programming and Circuits for RS-232 and RS-485 Links and Netwoks.
CadSoft Computer GmBh (2009). Extraído el 20 de enero del 2009 desde http://www.cadsoftusa.com/freeware.htm.
Creus Antonio. (1992). Instrumentación Industrial. Editorial Alfa Omega.
�
Embedded-Solutions. A commerical version of a MODBUS master stack is now available. The master stack is written in ANSI C and supports multiple master instances. Licenses are royality free and pricing starts at 500$ for a full source code license with support included. RTU/ASCII ports are available for AVR, ARM7 and Linux and TCP ports are on the way. If you are interested contact Extraído el 18 de Octubre de 2008 desde http://www.embedded-solutions.at.
García M. Emilio (2001). Automatización de Procesos Industriales. Editorial Alfa Omega.
Hill J. Culler D. (2001). A Wireless Embedded Sensor Architecture for System-Level Optimization
Jiménez B. Manuel (2001). Manual de Comunicaciones Industriales. Universidad Politécnica de Cartagena Departamento de tecnología Electrónica.
���
��
Maxim. “Manual de reloj de tiempo Real”, Extraído el 02 de julio del 2008 desde http://www.maxim-icds1307.com.
Microchip. Microchip Technology Incorporated, “Data Sheet PIC18FXX2”. U.S.A.: 2002. Extraído el 22 de diciembre del 2008 desde http://www.nationallm.com.
Nationallm. “Manual del sensor de temperatura LM35”, Extraído el 02 de Julio del 2008 desde http://www.nationallm.com.
Planas, J, Medida de Temperaturas. Extraído el 17 de Octubre de 2008 desde http://www.mater.upm.es/Docencia/Materiales/Instrumentacion/Teoria/inst04. pdf.
Ruiz, F. José, D. (2008). Capa de enlace simple. Tx. Rt. HDLC. ( TCP/IP) Niveles. Extraído el 20 de Diciembre de 2008 desde http://www.ultraforos .com.
Ruiz, J, Implementación de una Red Modbus/TCP. Extraído el 19 de Octubre de 2008 desde http://www.univalle.edu.co.
Rojas P. Freddy A. (2008). Diseño y Construcción de un Controlador Para Estación Meteorológica con transmisión de Datos a un Ordenador. Trabajo Especial de Grado para optar al título de Ingeniero Electricista, Escuela de Ingeniería Eléctrica, Universidad de los Andes, Mérida, Venezuela.
�