DISEÑO DE UNA ESTACIÓN METEOROLOGICA AUTOMÁTICA Ángel M. López Vieddma. Laboratorio de Electrónica – CITEC-FIUNA Teléfono (595) 21 646 150 Isla Bogado-Luque, Paraguay Correo electrónico:
[email protected] Álvaro Reyes Mella Teléfono (595) 971 301 089 Asunción- Paraguay Correo electrónico:
[email protected] María Sol Benítez Sosa División de Meteorología – Facultad Politécnica UNA Teléfono (595) 585 588 Campus Universitario- San Lorenzo, Paraguay Correo electrónico:
[email protected]
Resumen El presente trabajo consiste en el desarrollo completo de una estación meteorológica automática desde el hardware, concebido a través de una arquitectura modular tal como un sistema de control industrial distribuido, hasta el software de colección y visualización de dato necesario para implementar un Servicio Meteorológico íntegro que permita el estudio de l as variables meteorológicas. En todo momento del diseño se tuvieron en cuenta los siguientes requisitos: sencillez, costo, facilidad en el mantenimiento y una aceptable robustez en el funcionamiento. El envió de datos desde la estación hasta el Centro Centro de Colección y Procesamiento de Datos, se realiza a través de una interfaz serial RS485 o en su defecto a través de un modem GSM. Palabras claves: arquitectura modular, control industrial distribuido, variables meteorológicas, procesamiento de datos, interfaz RS485, módem GSM. Abstract
The present work consists of the complete development of an automatic weather station from the hardware, conceived through a modular architecture as a system of distributed industrial control, to the software of collection and visualization of data necessary to implement complete a Meteorological Service that allows the study of the meteorological variables. At any moment of the design the following requirements considered: simplicity, cost, facility in the maintenance and an acceptable robustness in the operation. It sent of data from the station to the Center of Collection and Data processing, is made through a serial interface RS485 or in its defect through a modem GSM.
1. Introducción Actualmente las informaciones de las ciencias meteorológicas son sumamente importantes en todos los ámbitos de la sociedad y está directamente relacionada o ligada al desarrollo de la economía de un país; ganadería, agricultura, turismo, etc. Gracias al avance de la instrumentación y los sistemas de cómputos en los últimos años ha permitido obtener un registro de variables más completo y eficiente, mediante el uso computadoras personales, cuyo campo de aplicación no se ha limitado tan sólo al área del monitoreo y control de procesos, sino que también está siendo aplicado en el registro de variables físicas en general. Actualmente existen estaciones meteorológicas que satisfacen estos requerimientos, sin embargo el número de estas en condiciones operativas es reducido y con un costo muy elevado. Por ello, en nuestro país esta información aún es escasa, o bien se conoce de manera puntual. La razón de contar con un sistema de adquisición de datos de variables meteorológicas que permita el monitoreo de manera eficiente y un bajo costo de operación y mantenimiento a llevado a la necesidad de diseñar por completo una estación meteorológica automática de similares prestaciones a las comerciales. A continuación se enumera los siguientes requerimientos que debe cumplir el sistema:
1. Medir al menos las variables de temperatura, velocidad y dirección del viento, humedad relativa, presión atmosférica y precipitación. 2. Ser de fácil instalación, fácil manejo y uso, de bajo costo y autónomo. 3. Poseer capacidad de ampliación en cuanto al número de sensores y actualización del sistema. 4. Disponibilidad de los datos en todo momento para ser almacenados y procesados en forma centralizada. 5. Los datos adquiridos sean significativos y de fácil interpretación. 6. Los datos recolectados sean confiables. 7. La transmisión de datos y estado del sistema sean automáticos. En este trabajo se describe el diseño y la implementación de una estación meteorológica automática consistente de un sistema de adquisición y almacenamiento de datos autónomas que se comunica a través de una interfaz RS485 Centro de Procesamiento de Datos. El proceso de diseño involucra la selección de los sistemas de adquisición de las variables climatológicas de interés, los sistemas que permiten su digitalización, procesamiento, almacenamiento y posterior envío. El proceso de diseño también implica la creación de programas que permitan que el usuario pueda almacenar, analizar e interpretar los datos recogidos. Para cumplir las especificaciones anteriormente citadas se ha desarrollado una arquitectura enteramente modular, que no consiste en disponer de un gran número de entradas para distintos sensores, sino un sistema que puede crecer en tamaño según las prestaciones. Por otro lado, se ha solventado el problema del alto coste de los sensores de medición, puesto que se ha trabajado directamente sobre los transductores y se han realizado los circuitos de acondicionamiento y de protección a medida para constituir sensores completos de prestaciones similares a los comerciales. A continuación se explica conceptualmente cómo se ha logrado.
2. Descripción General del Sistema Tomando en cuenta las consideraciones de diseño anteriores, resultaron en un sistema que se puede representar esquemáticamente la arquitectura en la Figura 1. Módem GSM
Módem Satelital
Batería
Módem Serial
Panel Solar
Nodo Sensor n- 1
Nodo Sensor 1
Nodo de Comunicación
Nodo de Control y Supervisión de Suministro de Energia
Nodo de Al ma ce na m ie nt o y control
Nodo de Configuración y Visualización
Bus CAN Bus CAN
Nodo Sensor n Transeiver CAN
Tramas CA N
EEPROMs
Controlador CA N
LC D
µC PIC18F458
RT C
D/A
Nodo Sensor
Señal analógica
Sensor
Figura 1: Arquitectura de la Estación Meteorológica
T eclad o
De acuerdo a este esquema la estación meteorológica se ha concebido como si se tratara de un sistema de control distribuido industrial, no como una serie de sensores en torno a una unidad central que realiza las funciones de control y de almacenamiento. Partiendo de los elementos transductores, se ha desarrollado una serie de sensores inteligentes, que comunican los datos digitalmente al cual se lo denomina en forma genérica un nodo sensor. De este modo, cada nodo sensor posee su transductor, su circuito de acondicionamiento y protección y un microcontrolador que se encarga de la conversión de su señal en un dato digital que se sitúa en un bus multipunto del que cuelgan todos los demás nodos sensores, el nodo de almacenamiento y control, el nodo de comunicación, el nodo de control y supervisión de suministro de energía y el nodo de visualización y configuración. La confiabilidad del sistema descansa en gran medida en la robustez del bus que interconectan a estos módulos, por ello la elección correcta de una tecnología de bus es fundamental. Se ha escogido adoptar el bus CAN [1] por diversas razones, entre las cuales podemos citar su amplia implementación en sistemas de control industrial, la normalización de su capa física (ISO 11898) [2] y la disponibilidad de controladores de bajo costo. Aprovechando las ventajas que el bus CAN ofrece, fue posible plantear la arquitectura arriba presentada, de tal forma que cada nodo pueda tener acceso a los demás y dividir las tareas. Del mismo modo establecer un algoritmo de control distribuido robusto y bastante sencillo desde el punto de vista de la instalación y el mantenimiento. La idea fundamental que subyace en este planteamiento es disponer de distintos módulos, cada uno de ellos con un objetivo específico, funcionando en forma paralela e independiente los unos de los otros. Dado que los módulos; nodos sensores, nodos de almacenamiento y control, etc., tienen como misión controlar o ejecutar determinados aspectos de la estación, será necesario un intercambio de información entre ellos. Es ahí donde se aprovecha las ventajas que ofrece el bus CAN. Los módulos conectados al bus no presentan direcciones específicas. En lugar de eso la información se compone de mensajes etiquetados con un identificador que determinará prioridad del mensaje y contenido. Como parte del diseño, se corresponde asignar un significado a cada identificador, teniendo presente que la estructuración adecuada de los mismos redituará en el rendimiento del sistema. Cada módulo conectado al bus recibe el mensaje y, en función a su contenido, realiza las acciones pertinentes. Considerando que el valor asignado al identificador de los mensajes establece la prioridad del mismo, se elaboró un esquema en el cual existan categorías de los mensajes y cada una de ellas posea un rango de valores permitidos para su identificación. De acuerdo a esto se establecieron las siguientes categorías con el rango de valores de sus identificadores, presentados en la tabla siguiente:
Categoría Mensajes de alarma
Rango de id. 100-130
Mensajes de eventos
200-230
Mensajes de consultas
300-330
Mensajes de configuración y mantenimiento
400-430
1
Descripción Mensajes que indican el estado del módulo que requiera ser conocidos por los demás de forma inmediata Mensajes originados por los módulos a partir de la conclusión de una determinada tarea Mensajes originados en un módulo destinado a otros para su posterior respuesta. Mensajes originados exclusivamente o por el módulo de configuración y visualización o por el Centro de procesamiento de Datos a través del módulo de comunicación para el mantenimiento y la configuración de los demás módulos.
Como ejemplo, podemos mencionar que el mensaje originado en nodo sensor del cual forma parte el sensor de temperatura está dentro de la categoría de “mensajes de eventos”, y le corresponde el valor de 210. Otro identificador que podemos indicar es el de “mensajes de consulta”, como ser el de mensaje de consulta de temperatura, el cual le corresponde el valor de 310. Y de la misma manera podemos citar al mensaje de presión con el valor de identificador 211 y 311, correspondiendo el primero a la categoría de mensajes de eventos y el segundo al de mensajes de consulta. 1
Id : Identificador.
De esto se puede observar que existe una relación entre los mensajes de eventos y de consultas, sin embargo hay que señalar que los mensajes de consultas generados por los nodos sensores cuyas respuestas pueden ser generados por los mismos u otro nodo sensor no son posibles. Los mensajes de consultas destinados a los nodos sensores solo pueden ser generados por otros módulos ajenos a la tarea de adquisición de datos de las variables meteorológicas. Así cada sensor viene asociado a dos mensaje uno de consulta y el otro de evento con sus respectivos identificadores de tal forma a diferenciarse dentro de la estación meteorológica. De este modo, el módulo de almacenamiento y control reconoce los datos presentes en el bus de información y almacena los datos consecuentemente. Lo único necesario para añadir más sensores a esta arquitectura es dotarla de un nodo sensor que se adecue a la estructura de mensajes y que envíe datos de forma digital en el bus. Queda a cargo del nodo sensor las funciones de conversión y de tratamiento de la señal, liberando de trabajo al módulo de almacenamiento y haciendo que no se requiera tener dispuestas un número determinado de entradas de cada tipo. Para que este desarrollo sea posible fue necesario trabajar con transductores y no con sensores comerciales. Cumpliéndose también el objetivo de hacer que la estación sea de bajo coste, puesto que los sensores a medida desarrollados son mucho más económicos que los tradicionales. Además al poseer un microcontrolador cercano al sensor, se obtiene una mejor precisión de las medidas, puesto que la señal del sensor es inmediatamente convertida en un valor digital, aumentándose de esta manera la confiabilidad en la adquisición de los datos. Todo el sistema descrito anteriormente tiene como funciones principales el de adquirir los datos de las variables meteorológicas, procesarlos, almacenarlos y enviarlos al Centro de Colección y Procesamiento de Datos. Este centro tiene la función de recibir información proveniente de la Estación, procesarla y almacenarla para su posterior análisis, también es función de la misma transmitir instrucciones hacia la Estación cuando éstas se requieran. En las secciones siguientes se describe resumidamente el funcionamiento de cada módulo componente de la estación meteorológica, como también el software de procesamiento del Centro de Colección. 3.- Nodo Sensor (NS) El nodo sensor se compone de un microcontrolador con el controlador CAN incorporado internamente, el o los sensores y un adaptador de bus CAN (Figura 2). El microcontrolador digitaliza las mediciones provenientes de los diferentes sensores, y luego crea la trama de datos para enviarla a través del bus hacia el nodo de Almacenamiento y Control. Los intervalos de tiempo entre mediciones sucesivas son configurables vía Nodo de Configuración y Visualización o desde el Centro de Colección y Procesamiento de Datos a través del Nodo de Comunicación. Las variables que se miden mediante estos nodos sensores son: temperatura ambiente, humedad relativa, dirección y velocidad del viento, presión atmosférica en superficie y precipitación acumulada. Más abajo se detallan las características de los sensores empleados así como también del microcontrolador. 3.1 Temperatura Ambiente: se mide mediante el sensor digital el SHT723, de Sensirion Company, [3] 3.2 Humedad relativa: se mide mediante el sensor digital el SHT723, de Sensirion Company, [3] 3.3 Dirección del viento: se mide mediante una veleta, se diseño y desarrolló en los Laboratorios del CITEC, FIUNA [5]. 3.4 Velocidad del viento: se mide mediante un anemómetro, de Keiki Seisakusho . 3.5 Presión Atmosférica: se mide mediante un sensor de presión de 15 PSI. 3.3 Precipitación Acumulada: se mide mediante un pluviómetro2 , reacondicionado en los Laboratorios del CITEC, FIUNA [5] 3.4 Microcontrolador: se utilizó el PIC18F458, de Microchip Company, [6]
2
Adaptado de un pluviógrafo
Figura 2 Nodo Sensor Genérico
4.- Nodo de Almacenamiento y Control (NAC) Este nodo se compone de un microcontrolador, un banco de memorias externas eeprom [7] con interfaz i2c [8] y un circuito de reloj maestro desarrollado alrededor del integrado DS1307 [9] (Figura 3 y 4). El microcontrolador se encarga de recibir las tramas de datos provenientes de los nodos sensores a través del bus, procesarlas y dirigirlas al banco de memorias eeprom para su almacenamiento. El circuito de reloj genera los pulsos de reloj que determina el periodo de generación y envío de mensajes de petición de tomas de datos por parte del microcontrolador hacia los nodos sensores. También este circuito integrado posee un reloj calendario, el cual se utiliza para agregar a los datos de una estampa de tiempo que indique la fecha y el momento en que se realizó la adquisición de datos. Los demás nodos pueden solicitar, vía mensajes de consulta la fecha y la hora actual, este último expresado en horas, minutos y segundos. Este circuito de reloj viene provisto de una batería níquel-cadmio de modo a proporcionar un respaldo de energía cuando el nivel de tensión de la batería principal del sistema cae por debajo de un determinado valor. El banco de memoria está compuesto de un arreglo de ocho memorias seriales 24LC515 obteniendo en total una capacidad de 512Kbyte ampliable a otro grupo de ocho pudiéndose llegar hasta 1Mbyte. Tanto las memorias seriales como el DS1307 se encuentran conectados al microcontrolador a través del bus i2c.
Figura 3 Banco de Memorias eeproms y RTC
5. Nodo de Comunicación (NC) Se compone básicamente de un microcontrolador y de las interfaces para el CAN y la comunicación serial (Figura 4). Para esta última cuenta con dos interfaz, una para el estándar RS-232 el cual posibilita la conexión con el modem GSM. La otra interfaz es el estándar RS-485, el cual conecta directamente la estación con el Centro de Colección y Procesamiento de Datos si ésta se encuentra en un radio no mayor a 500 m. La comunicación desde el Centro y la estación es bidireccional de tal forma que de la misma manera en que se reciben datos se puedan enviar comandos.
Figura 4 Nodo de Comunicación -Interfaces RS 232/RS 485 y CAN El formato de la trama de intercambio entre la estación y el centro posee un formato único y esta compuesto de la siguiente manera: 1 byte para la cabecera de inicio de trama, 2 bytes para el identificador de origen de la trama, 1 byte para indicar el tipo de mensaje, 2 bytes que indican longitud del campo de datos, el campo de datos de longitud variable indicado por el campo de longitud y por último 2 bytes que contienen el código verificador de la corrección de la trama (CRC-16), [10] como se puede observar en la Figura 5. Para las tramas originadas desde la estación hacia el Centro cuyo contenido sea mensajes de transmisión de datos de las variables meteorológicas, se dispone del caracter punto y coma (;) como separador para los distintos datos de los sensores dentro del campo de datos. Esto se realizó a los efectos de facilitar, una vez descargados los datos, la exportación de los mismo hacia una planilla de cálculos tipo Excel. Son funciones de este nodo el recibir mensaje desde el Centro, traducirlos a mensajes CAN si esto es necesario y crear las tramas de transmisión de datos provenientes de la adquisición de los nodos sensores como así también de otros datos inherentes al estado general y de configuración actual de la estación. De acuerdo al tipo de conexión existente entre la estación y el centro este nodo se encargará de tomar las acciones pertinentes para asegurar el envío. El nodo ha sido diseñado usando el microcontrolador PIC 18F458 de Microchip, [6] y el módem BIM433 de Radiometrix, [4]. Los circuitos transceptores para la interfaz serial son el MAX232 y el MAX485 de Maxim, [14].
Inicio
Origen
Figura 5 Trama de intercambio
Tipo de mensaje
Longitud
DATOS
CRC-16
6.- Nodo de Configuración y Visualización (NCV) Compuesto de un microcontrolador, una pantalla LCD y un teclado matricial de 4x4, este nodo tiene como misión principal la configuración de los demás nodos como también la visualización de los datos de las variables meteorológica (Figura 6).
Figura 6 Nodo de Configuración y Visualización montados Este nodo al igual que el nodo de Almacenamiento y Control tiene la posibilidad de generar mensajes de petición de adquisición de datos por parte de los nodos sensores. La diferencia radica que esto lo realiza con identificadores en el rango de los mensajes de configuración y mantenimiento. Tanto la pantalla como el teclado posibilitan el ingreso de comandos y la visualización de los resultados al usuario. Opcionalmente este nodo está preparado para realizar toda la operación de configuración y mantenimiento mediante una PC a través de una interfaz RS-232 como también la bajada de datos del módulo de almacenamiento.
7.- Nodo de Control y Supervisión de Suministro de Energía (NCSSE) Este nodo está compuesto de un microcontrolador encargado de la administración central de todo el módulo, una batería de plomo con su circuito de carga y la celda solar. Este nodo se encarga entre otras tareas de controlar el nivel de voltaje de la batería además de la corriente que circula por toda la estación. Estos datos son enviados también al nodo de almacenamiento para ser almacenados tal cual como sería los datos provenientes de los nodos sensores. Si el nivel de voltaje de la batería llega a bajar por debajo de niveles críticos entonces es generado un mensaje de alarma y es puesto en el bus para que todos los nodos tomen las medidas del caso. Estos niveles de alarmas van de moderado, pasando por graves hasta llegar a urgentes, cada uno de ello correspondiéndole un identificador de mensaje.
8.- Centro de Colección y Procesamiento de Datos (CCPD) Está formado de una PC con procesador Pentium IV, de Intel con Sistema Operativo Windows, de Microsoft en el cual se ejecuta el programa de colección y procesamiento de datos. La interfaz con el usuario es amigable debido a que posee un entorno totalmente gráfico. (Figura 8) El software fue desarrollado utilizando el LabVIEW, de National Instruments [11], lo que posibilitó un fácil desarrollo y manejo del Puerto Serie de la PC.
Figura 8 Vista del Software de Colección y Procesamiento de Datos
9. Conclusiones El sistema diseñado cumple con las expectativas presentadas en la sección 1 del trabajo: que sea un sistema de adquisición de datos robusto y autónomo, de fácil uso y mantenimiento, escalable a las necesidades, de bajo costo y sin descuidar la precisión en los datos. Esto fue posible gracias a la arquitectura propuesta el cual da robustez y asegura que el sistema pueda ser hecho a la medida de las necesidades. El bajo costo fue factible debido al hecho de utilizar microcontroladores de 8 bit con controladores del bus CAN incorporado internamente y al empleo de transductores en vez de sensores totalmente hechos. La presición no fue afectada debido a que tanto los transductores como los circuitos de acondicionamiento estaban todos muy cercanos unos del otro y estos a su vez al microcontrolador que se encargaba propiamente de la adquisición y posterior digitalización. El uso de algoritmos a modo de filtros digitales redundó en la reducción de los márgenes de errores en la toma de muestras aisladas. Como trabajos futuros se puede considerar sustituir el banco de memoria basados en EEPROM con memorias del tipo SmardCard aumentando notablemente de esa forma la capacidad de almacenamiento y el empleo de un modem GSM/GPRS o incluso módem satelital. 11. Referencias Bibliográficas [1] CAN System Engineering : From Theory to Practical Applications by Wolfhard Lawrenz [2] ISO International Standard 7498-1984. “Information processing systems.Open Systems InterconnectionBasic Reference Model [3] Sensor de humedad relativa, SHT72, www.sensirion.com/en/download/humiditysensor/SHT11.htm [4] Manual BiM-433-F, http://www.radiometrix.co.uk [5] CITEC-FIUNA, www.citec.ing.una.py [6] PIC18FXX8 Data Sheet, http://www.microchip.com
[7] 512K I2C CMOS Serial EEPROM, http://www.microchip.com [8] Especificaciones del protocolo I2C, http://www.semiconductor.philips.com/buses/i2c/index.html [9] DS1307 Data Sheet, Dallas Semiconductor, http://www.maxim-ic.com [10] CRC Generating and Checking, application data AN730, http://www.microchip.com [11] LabVIEW, National Semiconductors, http://www.ni.com/labview