Sei sulla pagina 1di 72

TRABAJO FINAL DE CARRERA

Ttulo: Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS Ttulacin: Ingeniera Tcnica de Telecomunicaciones, especialidad Sistemas de Telecomunicaciones Autor: Jorge Lujn de Francisco Director: Oscar Lpez Lapea Fecha: 4 de diciembre de 2008

Ttulo: Diseo de una estacin meteorolgica autnoma gestionada

mediante mensajes SMS


Autor: Jorge Lujn de Francisco Director: Oscar Lpez Lapea Fecha: 4 de diciembre de 2008

Resumen El objetivo del TFC es el diseo de un sistema electrnico para la adquisicin y transmisin de los parmetros fsicos tpicos de una estacin meteorolgica. Los parmetros meteorolgicos medidos han sido elegidos por su fcil interpretacin por un usuario, a fin de detectar posibles lluvias, niebla, heladas, riesgo de incendios, etc., todo ello sin necesidad de desplazarse al lugar del emplazamiento. La estacin meteorolgica puede ser emplazada en cualquier lugar, tanto en zonas urbanas como en rurales, o campos, donde no se dispone de red elctrica para su alimentacin ni una red de comunicaciones por cable. Dicho proyecto consta de un desarrollo de hardware que engloba el diseo de los circuitos de captacin, el acondicionamiento de los sensores, la comunicacin con el sistema GSM, la unidad central de procesado y la alimentacin. El software desarrollado para la estacin meteorolgica controla la gestin de los usuarios, los niveles de batera, los sensores y las comunicaciones. Como caractersticas principales cabe destacar: - El sistema de alimentacin autnomo mediante paneles solares y bateras. A fin de poder emplazar el sistema en cualquier ubicacin y su autorregulacin para disminuir el consumo. - El sistema de comunicaciones inalmbrico, va red de comunicaciones GSM instaladas por las compaas telefnicas. Consiguiendo una movilidad total para su emplazamiento. - La facilidad para los usuarios a la hora de enviar sms a fin de conocer alguno de los parmetros de la estacin meteorolgica y establecer parmetros de alarma. El objetivo final es la gestin eficaz de los recursos del sistema a fin de lograr un funcionamiento simple, autnomo y de un tamao reducido para su libre ubicacin.

Title: Design of a weather station autonomously managed through SMS messages Author: Jorge Lujn de Francisco Director: Oscar Lpez Lapea Date: December, 4 2008

Overview

The target of the TFC is the design of an electronic device in order to establish the acquisition and administration of physical parameters typical of a weather station. The weather parameters measured have been chosen due to their easy interpretation by the user, so that they can detect possible rains, fogs, snowstorms, risks of fire, etc. everything without the necessity of moving towards the place itself. The weather station could be situated in any place, not only in urban but also in rural areas, where there are no supply systems. This project consists of the developement of the hardware (which involves the desing of circuits to pick up signals), the conditioning of sensors, the communication using the GSM system, the central unit of processor and supply. The type of software developed for this weather station deals with the management by the users, the levels of battery, the sensors and communications. As the main features, we will point out: - The autonomous supply system using solar panels and batteries. In order to be able to situate the system in any place and its autocontrol to decrease the consumption. - The wireless communication system, suing the GSM supply system installed by the telephone companies. This way we will achieve a total mobility to its location. - The easiness for users when sending an sms so that they know some of the parameters of the weather station and to establish alarm parameters. The final targets are, on the one hand, the correct administration of the system resources so as to achieve the simple and autonomous use, and on the other hand, the reduce size of the device so that makes its location free.

NDICE

CAPTULO 1. INTRODUCIN........................................................................... 6
1.1. 1.2. Objetivo .............................................................................................................................. 6 Planteamiento del proyecto.............................................................................................. 7

CAPITULO 2. UNIDAD CENTRAL DE CONTROL ........................................... 9


2.1 2.2 2.2 Introduccin a los microcontroladores........................................................................... 9 Eleccin del microcontrolador ....................................................................................... 10 Programacin mediante MPLAB................................................................................... 13

CAPITULO 3. DESARROLLO DEL PROGRAMA........................................... 15


3.1 3.2 3.3 Funciones del microcontrolador en el sistema............................................................ 15 Definicin de las entradas y salidas del PIC ................................................................ 15 La programacin de la estacin meteorolgica........................................................... 16 3.3.1 Gestin general de las funciones ......................................................................... 20 3.3.2 Gestin de la energa ........................................................................................... 22 3.3.3 Gestin de los usuarios ........................................................................................ 25 3.3.4 Gestin de alarmas y peticiones .......................................................................... 28

CAPITULO 4. ADQUISICIN DE DATOS....................................................... 32


4.1 Sistema de adquisicin de las variables meteorolgicas........................................... 32 4.1.1 Adquisicin y adecuacin de seal del Hidrmetro.............................................. 32 4.1.2 Adquisicin y adecuacin de seal del Barmetro............................................... 33 4.1.3 Adquisicin y adecuacin de seal del Termmetro............................................ 34 4.1.4 Adquisicin y adecuacin de seal del Luxmetro .............................................. 35

CAPITULO 5. ALIMENTACIN DE LA ESTACIN METEOROLGICA ...... 36


5.1 5.2 5.3 Alimentacin de la placa................................................................................................. 36 Eleccin de la batera...................................................................................................... 37 Eleccin del panel solar.................................................................................................. 38

CAPITULO 6. SISTEMA DE TRANSMISIN DE DATOS............................... 41


6.1 6.2 Caractersticas del MODEM GSM................................................................................... 41 Gestin del MODEM GSM ............................................................................................... 43

6.3

Conexin con la estacin meteorolgica ..................................................................... 43

CAPITULO 7. DISEO DE LA PLACA ........................................................... 45


7.1 7.2 7.3 Esquema general............................................................................................................. 45 Diseo del circuito impreso. .......................................................................................... 47 Aspecto terminado del circuito...................................................................................... 49

CONCLUSIONES ............................................................................................ 50 BIBLIOGRAFA ............................................................................................... 51 ANEXOS .......................................................................................................... 52 10 11 FUNCIONAMIENTO IC2 Y MPLAB......................................................... 53 PROGRAMACIN ESTACIN METEOROLGICA EN C .................... 59

12 CONFIGURACIN Y USO DEL HYPER TERMINAL............................... 70

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

CAPTULO 1. INTRODUCIN
1.1. Objetivo

El objetivo del proyecto es el diseo de una estacin meteorolgica autnoma. Dicha estacin es un elemento til para poder tomar mediciones de diversas variables meteorolgicas, sin necesidad de desplazarnos al lugar de emplazamiento de la estacin. Podr ser emplazada en un campo para controlar de forma sencilla por un agricultor los efectos del clima en sus cosechas en un momento determinado, a fin de poder gestionar los recursos a su disposicin. Otra aplicacin sera la ubicacin de la estacin en una montaa o bosque, a fin de controlar posibles riesgos de incendios o como consulta para excursionistas antes de desplazarse al lugar. Las medidas meteorolgicas han sido elegidas por su fcil interpretacin por un usuario, a fin de detectar posibles lluvias, niebla, heladas, riesgo de incendios, etc. Dichos parmetros y rangos de medicin son: Temperatura (-20/45 C) Presin (0/2000 milibares) Humedad (0/100%) Iluminacin (0/99999 Lux) La autonoma de este tipo de dispositivos es un requisito interesante si se desean adquirir las variables meteorolgicas en ciertos emplazamientos donde no existen lneas de comunicaciones ni redes elctricas de alimentacin. Las comunicaciones del sistema se basaran en la red inalmbrica GSM de comunicaciones de telfonos mviles. Esta red tiene una cobertura en el territorio espaol del 98 % y por tanto, puede ser utilizada en prcticamente en cualquier lugar. Se pretende alimentar la estacin meteorolgica a partir de energa solar mediante paneles solares y bateras. Obviamente, este tipo de alimentacin condiciona el diseo de todo el sistema, ya que el consumo del circuito electrnico debe ser el mnimo posible. El sistema debe ser capaz de dar de alta/baja a los usuarios, atender las peticiones de alguno de los parmetros y habilitar alarmas. Las alarmas son los mensajes sms enviados por el sistema al usuario en el caso de sobrepasar un rango de valores predefinidos en las mediciones. Dicha caracterstica es importante a fin de poder informar al usuario de una posible helada, lluvia, excesivo calor o iluminacin.

Desarrollo del programa

1.2.

Planteamiento del proyecto

A continuacin se muestra un diagrama de bloques donde se enumeran los elementos que componen el sistema de la estacin meteorolgica. Sigue el esquema tpico de un Sistema de Adquisicin y Distribucin de seales basado en un microcontrolador. Consta de cuatro partes diferenciables, dependiendo de la funcin que realizan en el sistema.

Fig. 1.1 Diagrama de bloques de la estacin meteorolgica

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Descripcin breve de los bloques: Sistema de alimentacin. Batera: La batera es el elemento de almacenamiento de energa necesario para alimentar el sistema cuando las condiciones de iluminacin no sean suficientes para obtener potencia del panel solar. Placa solar: Es el elemento utilizado para captar energa del ambiente proporcionando al sistema autonoma en su alimentacin. Ser elegida en funcin de las necesidades de consumo del circuito y teniendo en cuenta la ubicacin de la estacin meteorolgica, ya que es importante para el clculo de su dimensionado. Regulador de tensin: Es necesario para acondicionar la tensin de la batera y la placa solar a los niveles requeridos para los dispositivos electrnicos que integran el sistema. El circuito ser alimentado ntegramente a 5V, ya que los componentes sern seleccionados para funcionar en dicho rango de tensiones. Sistema de adquisicin y acondicionado de seales. Sensores meteorolgicos y acondicionamiento: Se compondr de 4 sensores con sus respectivos circuitos de acondicionamiento y amplificacin mediante un LM324N. Dichos sensores medirn: temperatura, humedad, presin atmosfrica y luz. Por otra parte, se han utilizado circuitos acondicionadores para adaptar el rango de medida de los sensores a las tensiones de referencia del conversor analgico digital. Estado de la batera: El estado de la carga de la batera es de gran importancia debido a que el MODEM no funciona con tensiones inferiores a 8V. Mediante un circuito se comprueba su estado y dependiendo de la carga de batera, vara el intervalo de tiempo de desconexin del MODEM. Unidad central de control del sistema. Microcontrolador: Constituye el centro de procesamiento de los datos enviados por los sensores y el resto de elementos que integran el proyecto. Dispone de puertos de entrada y salida mediante los que controla la alimentacin del MODEM y del mdulo de comunicacin de RS-232. Sistema de comunicaciones. Acondicionamiento y comunicacin: Adapta los niveles de tensin del microcontrolador a los niveles tpicos en una comunicacin RS232. MODEM GSM: El MODEM GSM permite la comunicacin entre el sistema y el usuario va sms. Se comunica con el sistema mediante el Standard rs232.

Unidad central de control

CAPITULO 2. Unidad central de control


2.1 Introduccin a los microcontroladores Existen diferentes alternativas para implementar este bloque: mquinas de estado mediante elementos discretos digitales como TTLs, microcontroladores, microprocesadores, DSPs, FPGAs, ASICs, PsoC, etc. La eleccin de microprocesadores para dicho proyecto es debido principalmente a dos factores: - Son dispositivos programables que permiten programar unas funcionalidades especficas para una determinada aplicacin. - Integran en un chip no nicamente una unidad central de proceso sino tambin todas aquellas funcionalidades tpicas de un controlador. Entre estas funcionalidades cabe destacar los puertos de entrada y salida digitales, los analgicos, puertos de comunicaciones, etc. Un microcontrolador es un circuito integrado programable que contiene todos los componentes de un computador aunque de limitadas prestaciones. Se emplea para controlar el funcionamiento de una tarea determinada y, debido a su reducido tamao, suele ir incorporado en el propio dispositivo al que gobierna. Esta ltima caracterstica es la que le confiere la denominacin de controlador incrustado (Embedded controller). En su memoria slo reside un programa destinado a gobernar una aplicacin determinada. Sus puertos de entrada/salida soportan el conexionado de sensores y actuadores del dispositivo a controlar y todos los recursos complementarios disponibles tienen como nica finalidad atender sus requerimientos. Una vez programado y configurado el microcontrolador solamente sirve para gestionar la tarea asignada. Segn el tipo empleado pueden diferenciarse en la capacidad y tipo de memoria, en el nmero de entradas/salidas, cantidad de temporizadores y de convertidores A/D y D/A.

Fig. 2.1: Estructura tpica de un microcontrolador.

10

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

2.2

Eleccin del microcontrolador

A la hora de escoger el microcontrolador a emplear en un diseo concreto hay que tener en cuenta multitud de factores: la documentacin y herramientas de desarrollo disponibles, su precio, la cantidad de fabricantes que lo producen y por supuesto, las caractersticas del microcontrolador (tipo de memoria de programa, nmero de temporizadores, interrupciones, etc.). La eleccin de los microcontroladores de Microchip frente a otros, se debe a caractersticas como su bajo precio, velocidad, reducido consumo, pequeo tamao, facilidad de uso, fcil programabilidad o la abundancia de informacin y de herramientas econmicas de soporte. El fabricante Microchip realiza una clasificacin en gamas. Cada gama tiene unas caractersticas en comn y que la distinguen de las dems. La gama baja. La gama baja de los PIC encuadra nueve modelos fundamentales en la actualidad. La memoria de programa puede contener 512 bytes, 1 k o 2 k con una longitud de palabra de 12 bits, y ser de tipo ROM, OTP o EEPROM. La memoria de datos SRAM puede tener una capacidad comprendida entre 25 y 73 bytes. Slo disponen de un temporizador (TMR0), un repertorio de 33 instrucciones y un nmero de terminales para soportar las E/S comprendido entre 12 y 20. Al no disponer de interrupciones, la pila slo tiene dos niveles de profundidad. La tensin de alimentacin admite un valor muy flexible comprendido entre 2 y 6,25 voltios, lo cual posibilita el funcionamiento mediante pilas corrientes teniendo en cuenta su bajo consumo, menos de 2 mA a 5 V y 4 MHz

La gama media. En esta gama sus componentes aaden nuevas prestaciones a las que poseen los de la gama baja, hacindolos ms adecuados en las aplicaciones complejas. El repertorio es de 35 instrucciones y la longitud de las instrucciones es de 14 bits. Admiten interrupciones, poseen comparadores de magnitudes analgicas, convertidores A/D, puertas serie y diversos temporizadores. Algunos modelos disponen de una memoria de instrucciones del tipo OTP y otros de memoria EEPROM. El temporizador TMR1 del que dispone esta gama tiene un circuito oscilador que puede trabajar asncronamente y que puede incrementarse aunque el microcontrolador se halle en el modo de reposo, posibilitando la implementacin de un reloj en tiempo real. Las lneas de E/S del puerto B presentan unas resistencias de carga pull-up activadas por software.

Unidad central de control

11

La gama alta. En la actualidad, esta gama est formada principalmente por tres modelos cuyas caractersticas responden a microcontroladores de arquitectura abierta, siendo capaces de ampliar su configuracin interna, aadiendo nuevos dispositivos de memoria y de E/S externas. Esta caracterstica obliga a estos componentes a tener un elevado nmero de terminales comprendidos entre 40 y 44. Admiten interrupciones, poseen puerto serie, varios temporizadores y mayor capacidad de memoria, que alcanza los 8k palabras en la memoria de instrucciones y 454 bytes en la memoria de datos. El formato de las instrucciones es de 16 bits. El repertorio es de 55 o 58 instrucciones segn modelo. La frecuencia mxima de funcionamiento es de 25Mhz, con un ciclo de instruccin de 160ns. Para la realizacin de este proyecto es suficiente con utilizar un microcontrolador de la gama media que integre una memoria EEPROM y capacidad de transmisin serie de datos al mdem GSM. Debe destacarse que la memoria EEPROM es necesaria para almacenar datos relevantes, tales como telfonos de usuarios, que no deban perderse en el caso de fallo de la alimentacin. Entre los microcontroladores de gama media se ha seleccionado el 16F877A I/P LF por disponer de mayor capacidad de memoria flash, menor consumo, ms posiciones EEPROM y RAM de datos que el resto de microcontroladores de la serie 16FXXX, vase tabla 2.2. Tabla 2.2 Comparativa gama 16FXXX Caractersticas Frecuencia Mxima 16F873 DC-20Mhz 16F874 DX-20Mhz 4KB 192 128 A, B, C y D 40 14 3 2 MSSP, USART 8 35 instruc 14 bits 16F876 DX-20Mhz 8KB 368 256 A, B y C 28 13 3 2 MSSP, USART 5 35 instruc 14 bits 16F877 DX-20Mhz 8KB 368 256 A, B, C y D 40 14 3 2 MSSP, USART 8 35 instruc 14 bits

Memoria de programa 4KB FLASH Palabra de 14 bits Posiciones RAM de datos 192 Posiciones EEPROM de 128 datos Ports E/S A, B y C N de Pines Interrupciones Timers Mdulos CCP Comunicaciones Serie entrada en Convertidor A/D Juego de Instrucciones Longitud de la instruccin 28 13 3 2 MSSP, USART 5 35 instruc 14 bits

12

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

En la Fig. 2.2, se muestra un diagrama de bloques con la organizacin interna del PIC16F877A I/P LF, que permite tener una visin de la arquitectura de este microcontrolador.

Fig. 2.2 Diagrama interno de un PIC 16F877A

Unidad central de control

13

2.2 Programacin mediante MPLAB MPLAB es una herramienta para escribir y desarrollar cdigo en lenguaje ensamblador para los microcontroladores PIC. El MPLAB incorpora todas las herramientas necesarias para la realizacin de cualquier proyecto, ya que adems de un editor de textos, cuenta con un simulador en el cual se puede ejecutar el cdigo paso a paso para ver as su evolucin y el estado en el que se encuentran sus registros en cada momento. MPLAB es un software gratuito que se encuentra disponible en la pgina web de Microchip. MPLAB permite realizar las siguientes tareas: - Manejar el escritorio MPLAB. - Crear un nuevo archivo de cdigo fuente. - Identificar y corregir errores simples. - Ejecutar el simulador interno. - Marcar puntos de interrupcin. - Crear ventanas de observacin. - Manejar ventanas para el seguimiento de errores.

El programa MPLAB posee una aplicacin que permite la grabacin del programa en el microcontrolador, siendo necesario en tal caso, disponer de un programador. En este proyecto en concreto se ha empleado el ICD2, debido a que permite tanto la grabacin, como la ejecucin del programa paso a paso, controlando siempre el cambio de estado de las variables. Una vez instalado el programa MPLAB, se instala el programador ICD2, mostrado en la Fig. 2.3

Fig. 2.3 Programador ICD 2

14

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

A la hora de realizar la placa del circuito se tiene en cuenta el utilizar un conector rj-12 como se especifica en la Fig. 2.4

Fig. 2.4 Conexionado ICD2 a la placa

Quedando el esquema general de conexionado, vase Fig. 2.5

Fig. 2.5 Esquema general conexionado ICD2

Desarrollo del programa

15

CAPITULO 3. Desarrollo del programa.


En este captulo se describen la funciones del microcontrolador en el sistema y como se han implementado mediante las rutinas programadas.

3.1

Funciones del microcontrolador en el sistema

La funcin que realiza el microcontrolador en la estacin meteorolgica se agrupa en cinco bloques principales, los cuales se componen de diversas funciones que se irn desglosando en este captulo. Gestin de los usuarios: Altas y bajas de los usuarios. Gestin de las alarmas y peticiones: Respuesta a los mensajes y activacin de las alarmas. Gestin de los datos: Comprobacin del estado de la batera y sensores meteorolgicos. Gestin de la energa: Encendido y apagado del MODEM y de ms perifricos. Gestin general de las funciones: Relacionar las diferentes funciones de forma coherente para su funcionamiento.

3.2

Definicin de las entradas y salidas del PIC

A la hora de programar el PIC, se ha definido el uso de las diferentes entradas y salidas, vase Fig. 3.1. El PIC utilizado consta de siete puertos de entrada que pueden ser configurados para la captacin de seales analgicas. En este proyecto, se emplean nicamente cinco de ellos para las medidas de los sensores y del estado de la batera. AN0- Entrada analgica sensor luminancia AN1- Entrada analgica sensor temperatura AN2- Entrada analgica sensor presin AN3- Entrada analgica sensor humedad AN7- Entrada analgica estado de la batera Otros puertos a tener en consideracin son los habilitados para la comunicacin RS-232. Para ello el PIC tiene predefinidos dos puertos, los cuales se habilitan para tal efecto mediante el programa (RC6-Transmisin RS232, RC7-Recepcin RS-232). Debido a que el diseo del sistema se ha orientado para tener mnimo consumo de energa, mediante el PIC se habilitan los distintos elementos que forman la estacin meteorolgica. A travs del PIC se controla la alimentacin de los sensores, su acondicionamiento de seal (RDO) y la medicin del estado de la batera (RD1), as como la conexin del MODEM (RD2) y la conexin del chip de comunicaciones RS-232 (RC5).

16

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Fig. 3.1 Conexin del PIC

3.3

La programacin de la estacin meteorolgica

El programa principal se encarga de configurar el microcontrolador y llamar a las diferentes funciones segn que tarea deba realizar el PIC en cada momento. Tambin, como parte de la estructura del programa principal deben incluirse 2 interrupciones (Interrupcin del Timer y la Interrupcin de la recepcin de datos. La Figura 3.2 muestra la jerarqua de las diferentes funciones que se han utilizado y que sern posteriormente explicadas en detalle.

Fig.3.2 Estructura del programa En el programa principal, vase Fig. 3.3, se habilitan todos los parmetros del PIC para su correcto funcionamiento (inicializaciones de variables, definiciones de entradas y salidas, configuracin del timer). La variable A se emplear como indicador de que posicin de mensaje se ha de leer del MODEM. Una vez inicializado el sistema, el programa principal entra en una rutina de espera de veinte minutos. Transcurrido ese tiempo se encender el MODEM y proceder a procesar los mensajes que se hayan transmitido desde los usuarios. Finalmente, se apagar el MODEM y se esperar otro intervalo de tiempo hasta la prxima conexin. El tiempo entre conexiones viene determinado por la variable X y depende del estado de la batera.

Desarrollo del programa

17

La temporizacin del tiempo entre conexiones se realiza mediante una interrupcin activada por el timer 1. Cuando ha transcurrido el tiempo indicado por X, la interrupcin pone la variable Habilita a cero indicando al programa principal que ya ha transcurrido el tiempo.
Programa principal

inicializa variables=0 X=20min, A=1, habilita=1

Si Habilita=0? funcin "arranque_modem"

habilitar interrupciones timer

No

habilitar entradas analgicas

funcin "procesa_sms"

desconexin del MODEM desconexin modem y alimentaciones

Fig. 3.3 Programa principal

Interrupcin del temporizador La interrupcin provocada por el Timer 1, vase Fig. 3.4, tiene por objeto medir los tiempos entre las conexiones del MODEM y as gestionar la energa en la batera.
interrupcin timer

Si D>909?

No C>X?

Si

No D y C=0 deshabilitar interrupciones timer Habilita=0

C++ D=0

D++

Fig. 3.4 Interrupcin de temporizacin

18

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

La interrupcin gestiona el incremento de dos variables locales, C y D. La llamada a la interrupcin se realiza cada 33ms (valor predefinido anteriormente en la configuracin del timer). Una vez producida la interrupcin se incrementa el valor de la variable D. Cuando se repita la operacin 909 veces, es decir transcurridos 30 seg., se incrementar en una unidad la variable C. La variable C se incrementar hasta que alcance el valor lmite de temporizacin determinado por la variable X.

T = 33ms * 909 = 30seg Ttotoal = T * valor _ var iableX

(3.1)

Finalizado el proceso se desactiva la interrupcin y se pone a cero la variable Habilita, indicando as al programa principal que puede proceder con una nueva conexin del modem.

Interrupcin para la recepcin de datos Dicha interrupcin se produce al recibir algn carcter proveniente del MODEM va RS-232 (interrupcin RDA, recepcin de datos serie), vase Fig. 3.5. Al conectar el MODEM se habilita la recepcin de datos mediante esta interrupcin. Comprueba si hay informacin en los mensajes y si la informacin es correcta. Del mensaje slo se guarda la informacin necesaria, es decir, el nmero de telfono y los datos relevantes del sms. Esto se debe a que el PIC tiene un espacio limitado para guardar datos en la RAM y as se consigue minimizar el espacio ocupado en memoria. Para seleccionar los datos del mensaje que son de inters se tiene en cuenta la estructura de los mensajes. Los datos se reciben carcter a carcter. Mediante la variable G, se controla el inicio del mensaje y capturan los caracteres a partir de las terceras comillas, donde se encuentra el nmero de telfono del usuario que lo ha enviado. Dicha operacin se repite a partir de las comillas nmero seis donde se encuentra el texto del sms. Vase el siguiente ejemplo. +CMGL: 1,"REC READ","+34609287222",,"07/07/26,23:48:49+08"texto OK Una vez terminada la recepcin del sms, la funcin devuelve la variable sms_nulo indicando si hay mensaje o no, y si hubiera informacin se guarda el nmero de telfono del usuario en la cadena de caracteres num y el mensaje en la cadena de caracteres sms. Una vez finalizado el sms se recibe un OK que indica el final de mensaje. Se deshabilita la recepcin de sms (deshabilita interrupcin RDA), ya que se ha de procesar la informacin recibida.

Desarrollo del programa

19

interrupcin RDA

lee caracter del MODEM

Si caracter='+' variable inicio mensaje g=1 Si g=1?

No

No

mensaje esta vacio?

Si

No

deshabilitacin interrupcin RDA sms_nulo=0

recepcin de caracter <37 y hay mensaje No

Si

si caracter recibido== (") variable i++

Si i=3? No

captura numero telf sms en "num" Si

i=6? No caracter='K'? No captura texto en "sms" deshabilitacin interrupcin RDA fin del mensaje y sms_nulo=1 Si

deshabilitacin interrupcin RDA

fin

Fig. 3.5 Interrupcin de recepcin de datos

20

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

3.3.1 Gestin general de las funciones


Funcin procesa sms Una vez encendido el MODEM y obtenido el mensaje mediante la interrupcin RDA, la funcin procesa_sms, vase la Fig. 3.6, se encarga de interpretar el mensaje y vigilar las alarmas. Dicha funcin se ejecuta despus de la funcin arranque_modem. Cabe destacar, que si se comprueba que han sido recibidos tres sms sin informacin (la variable B es la encargada de ello) el sistema se desconecta y espera el tiempo asignado en el timer para su prxima activacin (activa la interrupcin del timer). Tambin, ser reiniciada la variable A, cuya funcin en el programa es indicar el mensaje que se lee del MODEM. En primer lugar se procede a comprobar el valor de sms_nulo a fin de determinar si hay mensaje o no. Si existe mensaje se procede a la eliminacin del sms de la memoria del MODEM, ya que los datos de inters estn guardados en la memoria del PIC. Si el sms contiene informacin, se realiza la comprobacin de que el usuario que lo ha enviado est dado de alta en el sistema. Para ello, se comprobar si el nmero recibido coincide con alguno de los almacenados en la memoria, y si su peticin es ser dado de baja del sistema. Este buscar el nmero en la memoria y lo eliminar poniendo los valores de las alarmas asociados a los valores de origen. Si no est dado de alta se comprueba si el sms es una peticin de alta de un nuevo usuario, y si queda memoria disponible para darlo de alta. Si no fuera posible se le enva un sms denegando su peticin. Una vez dado de alta el nuevo usuario, se establecern las alarmas para ese usuario a los valores mximos. La palabra clave para darse de alta es alta, as pues, tambin sera posible indicarlo mediante una contrasea o alta+contrasea. Si el usuario est dado de alta se comprueba si ha hecho una peticin de alguno de los 4 parmetros o quiere activar alguna alarma. Si es as, le ser enviado el sms correspondiente. Una vez realizadas dichas funciones y enviado dicho sms al usuario, el sistema comprueba si se ha activado alguna alarma de alguno de los usuarios y le enva un sms avisndole de dicha alarma. El desarrollo de las diferentes funciones se desglosa en los siguientes apartados.

Desarrollo del programa

21

inicio

Si sms_nulo=0? B++

No borra sms del modem posicin A "borrar_sms"

No B=3? A++ Si comprueba si el usuario esta dado de alta o si quiere borrarse "comprobar_borrar _telf" desconexin modem B=0 y A=1 activacin interrupcin timer habilita=1

el usuario esta dado de alta?

No

Si coge los valores de los sensores y el estado de la batera (X toma valor en funcin del estado de la batera) "toma_medidas" No el sms recibido es aadir usuario?

comprueba si el sms es una peticin de algn parmetro "sms_toma"

Si comprueba si es posible aadirlo, y pone las alarmas asociadas al usuario a los valores mximos "aadir_usuario"

el sms recibido es una alarma?

Si

No

introduce los parmetros de la alarma asociados al usuario "tipo_alarma"

envia el sms correspondiente "envio_sms "

comprueba las alarmas de los usuarios "busca_telf"

envia el sms correspondiente "envio_sms"

inicializacin buffer y variables

fin

Fig. 3.6 Funcin procesa_sms

22

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

3.3.2 Gestin de la energa


El MODEM es el elemento que tiene mayor consumo de energa en el sistema. Por este motivo, no puede permanecer encendido todo el tiempo y debe nicamente activarse durante intervalos de tiempo pequeos, durante los cuales se atienden tanto a la transmisin de mensajes como a su recepcin. La frecuencia de activacin del MODEM depende del estado de la batera, segn se muestra en la tabla.

Carga batera 110mA >11V 11V-10V 10V-9V <9V

Tiempo en espera 20 min. 40 min. 60 min. 120 min.

Valor variable X 40 80 120 240

Tabla 3.1 Valores asignados a X en funcin de la carga La medicin de los intervalos de tiempo se realiza con la interrupcin anteriormente comentada, siendo X la variable de control del temporizador. Dicha variable toma su valor en la funcin toma_mediciones.

3.3.3 Gestin del MODEM Las funciones que hacen referencia a la gestin de datos son las encargadas de habilitar el MODEM y hacer peticiones de mensajes, procesar los sms, separar la informacin de inters, eliminar los sms, enviar a los usuarios sms con la informacin requerida y realizar la captacin de las medidas de los sensores.

Desarrollo del programa

23

La funcin arranque_MODEM Esta habilita el encendido del MODEM y del chip de comunicaciones rs-232, vase la Fig. 3.7. Dicha funcin es llamada desde el programa principal. El MODEM tiene un tiempo de activacin de 5 seg. Para poder recibir un sms son necesarios otros 5 seg. para que comience a recibirlos. Se ha de habilitar la interrupcin RDA, dicha interrupcin permite la recepcin en el PIC de caracteres y se activar cada vez que se reciba un caracter desde el MODEM. Una vez realizadas dichas operaciones se procede a enviar al MODEM un mensaje para que nos permita leer el primer sms. El mensaje en cuestin ser AT+CMGR=A. Dicho valor, variable A, ir incrementndose en sucesivas ocasiones, estando inicialmente a valor 1, a fin de leer el primer sms del MODEM.

inicio

habilitacin alimentacin modem y rs232

espera 10 seg

habilitacin interrupcin rda

leer mensaje num= A

fin

Fig. 3.7 Funcin arranque_MODEM

24

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Funcin eliminar mensaje Una vez se ha guardado en el PIC la informacin relevante del mensaje, se procede a su eliminacin en la memoria del MODEM, vase Fig. 3.8. Esta operacin se realiza mediante el comando AT+CMGD=A, siendo A el nmero de posicin del mensaje que se desea eliminar. Dicho valor ir incrementado para poder eliminar los sms sucesivos.

Fig. 3.8 Funcin eliminar_sms

Funcin envo sms Esta es la encargada de enviar el sms correspondiente al usuario cuando este realiza una peticin o bien, se activa una alarma, vase la Fig. 3.9. Esta funcin tiene como variable de entrada sms_devuelto la cual le indica que tipo de mensaje debe enviar. El valor de sms_devuelto viene determinado en las funciones posteriores. Por simplicidad para la interpretacin de los flujogramas se indicar el mensaje que ser enviado. No obstante, realmente toma un valor que en esta funcin interpreta que sms ha de enviar.
inicio

variable sms_devuelto=1

envio sms a telf "comando mal introducido"

variable sms_devuelto=13

envio sms a telf "Alarma presin"

fin

Fig. 3.9 Funcin envo sms

Desarrollo del programa

25

3.3.3 Gestin de los usuarios


Debido a la reducida capacidad de memoria de este PIC se ha limitado a dos posibles usuarios la estacin meteorolgica. Estos usuarios se identificaran por su nmero de telfono, la respuesta ser enviada a dicho nmero. Cada uno de los usuarios podr acceder al sistema mediante mensajes sms y pedir informacin de las variables meteorolgicas, definir alarmas de aviso, o incluso gestionar la baja del propio usuario. Los mensajes que pueden ser enviados por los usuarios son: Darse de alta: Darse de baja: Peticin de mediciones: Alta Baja Temperatura Presin Humedad Luz Alarma.temperatura(max:XXX/min:XXX) Alarma.presion(max:XXXX/min:XXXX) Alarma.humedad(max:XXX/min:XXX) Alarma.luz(max:XXXXX/min:XXXXX)

Activacin de las alarmas:

El sistema les responder mediante los mensajes preestablecidos: Comando mal introducido Usuario borrado Usuario aceptado Memoria llena Usuario no registrado La temperatura es: +/-XXX F La presin es: XXX milibares La humedad es: XXX % La luminosidad es: XXXXX Lux Alarma introducida Alarma por Temperatura Alarma por Humedad Alarma por Presin Alarma por Luminosidad

26

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Funcin comprobar borrar telf Para verificar si un usuario est dado de alta en el sistema, se compara el nmero de telfono recibido (variable num) con los nmeros de telfono que tiene el sistema en su memoria, vase la Fig. 3.10. Si se encuentra alguna coincidencia la variable telf indica la posicin de memoria en la que se ha encontrado el telfono del usuario y se activa la variable usuario_valido. Para poder darse de baja hay que comprobar que el usuario est dado de alta en el sistema, y su peticin sea un sms de baja (comprueba si la variable sms es una baja). Si es as, se procede a eliminarlo de la memoria del sistema y deshabilitar las alarmas que tuviera establecidas. Tambin cabe la posibilidad de que un usuario no registrado intente acceder a la estacin. En tal caso, le ser enviado un sms denegando su peticin (variable sms_devuelto toma un valor correspondiente al mensaje usuario no registrado).

inicio

iniciacin variables telf=0 usuario_valido=0 sms_devuelto=0

sms recibido=borrar y telf != 0?

Si

lee primer telf memoria No

No telf =1?

No

Si telf != 0?

num telf sms== telf memoria? No lee segundo telf memoria

Si Si telf=1 borra telf de la posicin 1 de memoria inicializa valores mximos alarmas borra telf de la posicin 2 de la memoria inicializa valores mximos alarmas

sms_devuelto= "usuario no registrado" num telf sms== telf memoria? No Si usuario_valido=1 telf=2

sms_devuelto= "usuario borrado"

sms_devuelto= "usuario borrado"

fin

Fig. 3.10 Funcin comprobar_borrar_telf

Desarrollo del programa

27

Funcin aadir telf Previamente al envo de un mensaje a un usuario que no est registrado, se comprueba mediante la funcin aadir_telf, vase Fig. 3.11, si su peticin es darse de alta. Para ello, una vez comprobado si el sms enviado (variable sms) es una nueva alta, se verifica si existe alguna posicin de memoria sin asignar para poder aadirlo. Una vez localizada se procede al almacenado en memoria del nuevo usuario e inicializacin de los valores asociados de las alarmas a valores mximos. Finalmente, acaba la funcin asignando a la variable sms_devuelto la cadena de caracteres memoria llena o usuario aceptado.

inicio

Si telf=0 telf != 0?

No lee primer telf memoria telf = 1?

No

Si guarda telfono en posicin 1de la memoria inicializa valores maximos alarmas guarda telfono en posicin 2 de la memoria inicializa valores maximos alarmas

2 primeros num telfono = telfono en memoria? Si lee segundo telf memoria

No

telf=1

sms_devuelto= "memoria llena"

sms_devuelto= "usuario aceptado"

2 primeros num telfono = telfono en memoria? Si

No

fin

telf=2

Fig. 3.11 Funcin aadir_telf

28

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

3.3.4 Gestin de alarmas y peticiones El microcontrolador dispone de varias entradas analgicas que son utilizadas para captar la seal de los sensores. Todas estas entradas comparten un mismo conversor analgico/digital que est multiplexado. La toma de medidas se realiza de forma secuencial con un breve intervalo de tiempo entre cada medicin (1ms).

Funcin toma medidas La captura de las mediciones de los sensores, vase Fig. 3.12 se realiza mediante la funcin toma_medidas. Se activa la alimentacin de los sensores, se capturan las medidas, y se ajustan a los formatos establecidos para cada tipo de seal. Adems se determina el estado de la batera a partir de su tensin para una carga de 100 mA. El nivel de tensin medido determinar el tiempo que debe transcurrir hasta que vuelva a conectarse el modem, vase tabla 3.1 Una vez capturados los valores se deshabilita la alimentacin de los sensores y el circuito utilizado para verificar el estado de carga de la batera.

inicio

habilitacin alimentacin sensores y circuitos acondicionadores

Conexin del canal 2 (sensor presin) al conversor analgico digital

Conexin del canal 3 (sensor luz) al conversor analgico digital

Conexin del canal 1 (sensor humedad) al conversor analgico digital

adc_luz= Resultado Conversor Conexin canal 7 adc (batera) batera=Resultado Conversor 1ms deshabilitacin alimentacin sensores y circuitos acondicionadores

Conexin del canal 0 (sensor temperatura) al conversor analgico digital

fin

Fig. 3.12 Funcin toma_medidas

Desarrollo del programa

29

La funcin sms toma Comprueba si el usuario ha realizado alguna consulta de las variables meteorolgicas, vase Fig. 3.13. Compara el mensaje de texto enviado con otros predefinidos como temperatura, presin, etc... Si encuentra alguna coincidencia enva un sms con la medida solicitada mediante sms_devuelto.

inicio

Si sms="temperatura" sms_devuelto="temperatura"

No

Si sms="luz" No sms_devuelto="luz"

fin

Fig. 3.13 Funcin sms_toma

30

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Funcin tipo alarma Una vez descartada la opcin de peticin de variables meteorolgicas, se comprueba si ha enviado una peticin de activacin de alguna de las alarmas, vase la Fig. 3.14. Mediante mensaje de texto predefinidos se establecen los lmites mximos y mnimos a partir de los cuales el sistema deber enviar un sms de alarma. La funcin se encargara de separar los valores mximos y mnimos y asociarlos al usuario. Finalmente, esta funcin enva un mensaje confirmando que la alarma ha sido introducida correctamente.

inicio

sms recibido ="alarma_temp"?

Si

No separa max

sms recibido ="alarma_luz"? No

Si

mismo proceso para luz

guarda temp max asociandola al nmero de telfono

separa min sms recibido ="alarma_hume"? No sms_devuelto= "alarma introducida" sms recibido ="alarma_presin"? No Si mismo proceso para presin Si mismo proceso para humedad

guarda la temp min asociandola al nmero de telfono

fin

Fig. 3.14 Funcin tipo_alarma

Desarrollo del programa

31

Funcin busca telf Para verificar el estado de las alarmas habilitadas por los usuarios, la funcin busca_telf, vase la Fig. 3.15, se encarga de comparar las medidas obtenidas por los sensores con los lmites establecidos por cada usuario. En el caso de que estos lmites sean superados, enva un mensaje sms indicando el tipo de alarma. Dicho proceso de bsqueda lo realiza mediante la variable telf.
inicio

telf=0 lee telfono de la 1 posicin de memoria

existe telf en la 1 posicin de memoria?

Si telf=1

No

compara lmites alarmas de 1 telf y medidas luz, presin..

Si alarma activada?

No

existe telf en la 2 posicin de memoria? No

Si telf=2

compara lmites alarmas de 2 telf y medidas luz, presin..

Si alarma activada? copia telfono indicado mediante la variable telf a num y sms_devuelto ="alarma activada"

No

fin

Fig. 3.15 Funcin busca_telf

32

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

CAPITULO 4. ADQUISICIN DE DATOS


4.1 Sistema de adquisicin de las variables meteorolgicas

El sistema de adquisicin de las variables meteorolgicas est formado por cada uno de los sensores y los circuitos de procesado analgico necesarios para acondicionar adecuadamente estas seales. Por tratarse de una arquitectura de alto nivel se ha utilizado un circuito de acondicionamiento especfico para cada sensor que adapta el margen de la mediada a los lmites de referencia del conversor analgico digital, en este caso de 0 a 5V. Se han empleado filtros paso bajo a las salidas en cada uno de los circuitos acondicionadores a fin de disminuir los ruidos o posibles interferencias en cada una de las variables a medir.

4.1.1 Adquisicin y adecuacin de seal del Hidrmetro


Para realizar la medida de humedad se ha seleccionado un sensor de humedad relativa compensado HU10 del fabricante Crown Industrial Estate. El sensor esta diseado de fbrica para aplicaciones lineales. Tiene una tensin de alimentacin de 5 0.2Vdc, y un error de linealidad del 5%RH dentro del rango de medidas entre el 25% y el 90%RH. El margen que se desea medir comprende de 0 a 100% de humedad. El fabricante en la hoja de caractersticas ya estipula el esquema que se debe seguir para adecuar la seal al sensor, como denota en la Fig. 4.1 que viene a continuacin. En este caso se comporta como una fuente de intensidad y vara su intensidad de salida en funcin de la humedad relativa en el ambiente.

Fig. 4.1 Circuito de adaptacin de seal y grafica de V(%RH) a 25C

Adquisicin de datos

33

Como se puede observar en la grfica dada por el fabricante, la salida del sensor no es del todo lineal. Para conseguir una relacin lineal se realiza una regresin lineal con una serie de datos tomados de la grfica, vase la Tabla 4.1. Para obtener la ecuacin de la recta que caracteriza la funcin, los valores que se han tomado son los siguientes: Humedad 0 10 20 30 40 50 60 70 80 90 Volts 1.05 1.25 1.35 1.6 1.85 2.05 2.25 2.43 2.6 2.78

Tabla 4.1 Datos tomados de la grfica La recta que se obtiene siguiendo dicho procedimiento es y=0,02x + 1,03, con una correlacin de 0,99 por lo tanto existe una aproximacin y un error total del 6%RH.

4.1.2 Adquisicin y adecuacin de seal del Barmetro


Para realizar la medicin se ha escogido un sensor de silicio piezoresistivo de cuatro terminales de la casa Freescale Semiconductors Fig. 4.2. La referencia por el que lo denomina el fabricante es MPX2102. Este sensor tiene una tensin diferencial de salida lineal en relacin a la presin atmosfrica. El margen de alimentacin es de 10V y 16V, su sensibilidad es de 0,4mV/KPa y est compensado en temperaturas de 0 a 85C.

Fig. 4.2 MPX2102

34

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

La adaptacin de la seal se realiza mediante un amplificador diferencial con una ganancia 10, formado por resistencias de un 1% de tolerancia y un amplificador LM324N, vase la Fig. 4.3. Las tensiones diferenciales de alimentacin deben ser positivas, en este caso sern 5V y 12V, a fin de elevar el valor de la medicin a tensiones positivas, as poder ser amplificadas y adecuadas al rango del microprocesador.

Fig. 4.3 Circuito de acondicionamiento del sensor de presin La sensibilidad del sistema con el amplificador incluido queda establecida en 40mV/kPasc de tal forma que el barmetro tiene un fondo de escala de 4V a 100kPasc. Tambin tendr un error debido al offset del propio sensor y del amplificador. El offset del sensor es de 2mV y una vez amplificado pasa a ser de 20mv. Esto conlleva un error de 0,5kPasc, que despus ser corregido mediante la programacin del PIC.

4.1.3 Adquisicin y adecuacin de seal del Termmetro


El sensor de temperatura utilizado es un circuito integrado de tres terminales. El TMP36 genera una tensin proporcional a la temperatura absoluta, cumpliendo una relacin lineal de 10mV/K. Dicho sensor est especficamente recomendado para temperaturas de -40C hasta 125C, la salida a 25C ser de 750mV segn las especificaciones el fabricante. El margen de temperaturas que se ha seleccionado es de -40C a 50C. Para acondicionar la seal se ha utilizado otro de los amplificadores operacionales integrados en el LM324N en configuracin no inversor Fig. 4.5, se establece una ganancia de 5, la sensibilidad de la medida es de 50mV/Kelvin

Fig. 4.5 Circuito de acondicionamiento del sensor de temperatura

Adquisicin de datos

35

4.1.4 Adquisicin y adecuacin de seal del Luxmetro


El sensor utilizado es un fotodiodo PN de silicio del fabricante Vishay Telefunken diseado para aplicaciones lineales. Tiene una ventana de cristal fino diseada para filtrar unas determinadas longitudes de onda de tal forma que se aproxime lo mximo posible a la respuesta espectral (Visible Light) del ojo humano. El ojo humano percibe de los 280nm a los 780nm. El esquema elctrico, vase la Fig. 4.6, es un conversor de corriente tensin con la entrada invertida de forma que tendremos a la salida Vo =R*I. Se ha empleado el LM324N para la amplificacin de dicha seal.

Fig. 4.6 Circuito de acondicionamiento del luxmetro Este sensor permite un rango de medida, vase la Fig. 4.7, desde 0 Lux, es decir oscuridad absoluta, hasta 100000 lux, luz solar en pleno mes de Agosto.

Fig. 4.7 Relacin entre intensidad e Iluminacin

36

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

CAPITULO 5. ALIMENTACIN DE LA ESTACIN METEOROLGICA


5.1 Alimentacin de la placa

A la hora de plantear la realizacin del proyecto se ha tenido en cuenta que los componentes deban de tener un consumo lo ms bajo posible. Para ello se tomaron diversas consideraciones. El PIC debe ser de bajo consumo, como consecuencia se opt por un 16F877A-LF (su consumo es de 3.8 mA) que permite una relacin aceptable de prestaciones y consumo. Mediante el PIC se activa: La alimentacin del circuito de captacin de los sensores, ya que de este modo se consigue desconectarlos cuando no estn en uso. La habilitacin de la comunicacin con el MODEM, ya que el chip de comunicaciones Max222 permite su habilitacin o desconexin mediante una de sus entradas El control de la habilitacin del MODEM.

La regulacin de tensin a 5V se realiza mediante un regulador de bajo consumo MC78LC50NTRG, que tiene una corriente de fugas de tan solo 1.1 uA y por tanto, es ideal para alimentacin de sistemas autnomos donde el ahorro de energa es fundamental. El sistema tiene dos estados de funcionamiento; estado de reposo y el estado activo. En el estado de reposo nicamente funciona el microcontrolador reduciendo su consumo hasta unos 4 mA. Por otra parte, el sistema entra en estado activo durante unos dos minutos una vez que haya transcurrido un tiempo en estado de reposo. Inicialmente este tiempo es de 20 minutos pero puede aumentar si se detecta que la batera ha reducido su carga. El estado de carga se determina a partir de la tensin de la batera para un consumo aproximado de unos 100 mA. Ntese en la figura 5.1 como el microcontrolador puede inducir la descarga momentnea de la batera a travs del MOSFET para as determinar el estado de carga.

Fig. 5.1 Medicin del estado de la batera

Alimentacin de la estacin

37

Durante el estado activo se conecta el modem, as como los sensores y sus circuitos acondicionadores. El consumo del sistema sube hasta unos 120 mA, siendo 110mA debidos al consumo del modem.

5.2

Eleccin de la batera

En primer lugar se estima el consumo diario de la placa, para ello se tiene en cuenta su funcionamiento durante 1 hora:
IAh = 54 min 4mA + 6 min 120mA = 15.6mAh

(5.2)

Si la batera a plena carga tiene una tensin de 12 V, la energa que necesitara

para el funcionamiento del sistema en un da ser:

ET = IAh h V ET = 15.6mAh 24h 12V E = 4.49Wh / da


Una vez realizado el clculo del consumo terico, se calcula el consumo energtico real, para hacer frente a los posibles factores de perdidas. (5.3)

E=

ET R

(5.4)

Donde R es el parmetro de rendimiento global de la instalacin, definido como: Ka N (5.5) R = (1 K b K c K v ) 1 Pd Los factores de la ecuacin 5.5 son los siguientes: Kb: Coeficiente de perdidas por rendimiento del acumulador 0.05 en sistemas que no demanden descargas intensas 0.1 en sistemas con descargas profundas Coeficiente de prdidas en el convertidor: 0.05 para convertidores senoidales puros, trabajando en rgimen optimo 0.1 en otras condiciones de trabajo Coeficiente de perdidas varias (rendimiento de la red): 0.05-0.15 Agrupa otras perdidas Coeficiente de autodescarga diario: 0.002 para bateras de baja autodescarga Ni-Cd 0.005 para bateras estacionarias de Pb-cido 0.012 para bateras de alta autodescarga Nmero de das de autonoma de la instalacin: Sern los das que la instalacin deber funcionar bajo una irradiacin mnima o nula. 4 15 das.

Kc:

Kv: Ka:

N:

38

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Pd:

Profundidad de descarga diaria de la batera Esta profundidad de descarga no debe ser superior al 80%

Una vez escogidos los valores adecuados para el sistema, se deduce el siguiente rendimiento:

0.005 4 R = (1 0.05 0 0.05) 1 = 0.825 (5.6) 0.7


Quedando la potencia real consumida:

E=

4.49Wh / da = 5.44Wh / da 0.825

(5.7)

A partir de este valor se calcula la capacidad de la batera necesaria para su funcionamiento durante tres da con unas condiciones climticas que incapacitaran la extraccin de energa del panel.

C=

E N 3.49Wh 3 = = 1.94 Ah (5.8) V Pd 12V 0.7

La batera ser el modelo np2-12 fabricante Yuasa, con una carga de 12V 2Ah

5.3

Eleccin del panel solar

Una vez seleccionada la batera, se ha de establecer cual es el tamao de la placa solar. Para ello, se ha de tener en cuenta una serie de datos respecto a la ubicacin del sistema. Las pruebas del sistema son realizadas en la localidad de Hospitalet de Llobregat, Barcelona. Se buscan los datos de mejor orientacin de la placa solar en las peores condiciones posibles en dicho emplazamiento, vase la Fig. 5.9. Ser en invierno, donde es necesario un mejor aprovechamiento de la cantidad de luz disponible.

Fig. 5.9 Distribucin de la altitud solar

Alimentacin de la estacin

39

En el caso que nos atae, la inclinacin ptima es de 35 y la orientacin acimutal de -2. Utilizando esta orientacin se obtiene unas horas de pico solar media anual de 4.7 horas. Es decir, la irradiacin diaria media anual es equivalente a 4.7 horas a 1000 W/m^2.

Fig. 5.10 Irradiacin anual para el emplazamiento elegido La placa solar de la que se dispone es el modelo C-0156 de Cebek Components. Tiene una tensin en circuito abierto de 12 V y suministra una potencia de 1.92W a plena iluminacin, es decir 100W/m^2. Considerando un 10% de prdidas en la extraccin de energa, se deduce la potencia media anual obtenida: E g = 0.9 W HPS

E = 0.9 1.92W 4.7 E = 8.12W / da

(5.11)

Ntese que la energa generada diaria es superior a la energa consumida por el sistema. Para la proteccin del sistema, la placa solar tiene integrado un diodo, mediante el cual se evita la descarga de la batera. Asimismo se ha colocado un diodo zener de 13,5V en paralelo a la batera para evitar algn posible desperfecto por exceso de carga. Las pruebas se han realizado durante la segunda semana del mes de agosto 2008, dejando el sistema en funcionamiento y orientado correctamente durante una semana de tiempo. Durante dicho intervalo no se aprecio descarga del nivel de la batera. Habra que tener en cuenta que no son las peores condiciones de funcionamiento, siendo estos los meses de diciembre y enero. No obstante, el valor medio de HPS es de tres horas durante estos meses y por tanto, estaran tambin dentro de los mrgenes para el correcto funcionamiento del sistema. Se ha comprobado experimentalmente que la batera podra alimentar al sistema durante cinco das en condiciones meteorolgicas adversas, es decir

40

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

cuando no hay suficiente iluminacin para funcionar el panel solar. Ntese que este tiempo es superior a los tres das calculados tericamente. Esto se debe a que en el calculo terico se ha supuesto que el estado activo se produca cada veinte minutos. Sin embargo, a medida que se descarga la batera este tiempo se alarga y provoca una mayor duracin de la batera.

Sistema de transmisin de datos

41

CAPITULO 6. SISTEMA DE TRANSMISIN DE DATOS


Se requiere que la estacin meteorolgica sea fcilmente accesible por los usuarios y estos puedan ser identificados. Al ser un sistema autnomo es necesario que dicho sistema tenga gran cobertura en el territorio espaol. Al no requerirse la transmisin de gran cantidad de datos ni grandes anchos de banda, debe ser lo ms simple posible y econmicamente viable. Considerando esta requisitos se optado por la transmisin mediante un modem GSM. 6.1 Caractersticas del MODEM GSM

Este modelo es el ms sencillo y econmico de la casa Audiotel. No obstante, ofrece una amplia gama de prestaciones, como comunicaciones de voz, fax y mensajera SMS, que sern suficientes para la realizacin del proyecto, el cual se centra en el envo de sms. Las Fig. 6.1 y Fig. 6.2 muestran el aspecto fsico del mdem, as como un detalle de sus puertos externos.

Fig. 6.1 Aspecto exterior MODEM

Fig. 6.2 Puertos MODEM

Existe tres tipos de puertos; puerto de alimentacin, puerto de audio, puerto para la transmisin y recepcin de datos ( RSR232 ). El puerto de alimentacin consta de 4 pines, de los cuales, slo son tiles tres; la masa ( GND ), tensin de alimentacin ( Power IN ) y el encendido ( ING ). Vase tabla 6.1. Tabla 6.1 CONECTOR 4 PIN MICROFIT PIN 1 2 3 4 SEAL Power IN GND IGN PDN USO Power IN (+) Tierra Encendido Power Down COLOR RojoOUT Negro Amarillo N.E

El mdem permite tensiones de alimentacin comprendidas entre 8 a 32V. El puerto de comunicacin del mdem GSM se compone de un conector de 9 pines. Este est constituido para poder ser conectado a cualquier tipo de

42

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

perifrico, como puede ser un PC o cualquier otro tipo de controlador. En el proyecto solamente se han utilizado los pines TX y RX. Por este motivo, se ha cortocircuitado los pines 1,4,6 del puerto serie del MODEM. La tabla 6.2 muestra la funcin de cada uno de los terminales. CONECTOR 1 2 3 4 5 6 7 8 9 PIN EIA DCD RX TX DTR GND DSR RTS CTS RI USO DataCarrier Recep Data Trans Data DataTerm.Ready Ground DataSetReady RequesttoSend Clear to Send Ring ind. IN/OUT OUT OUT IN IN OUT IN OUT OUT

DB9 SERIAL RS232

Tabla 6.2 Funcin de los terminales Para utilizar el mdem en una aplicacin concreta deben configurarse algunas de sus caractersticas. Concretamente, deben sincronizarse las velocidades del puerto RS232 con la del controlador y el modo de configuracin de los mensajes SMS. Existen dos modos de configuracin; modo PDU y modo TXT. Por cuestiones de simplicidad en la codificacin se ha optado por la opcin en modo texto. En la Fig. 6.3 se muestra como sera la respuesta del mdem GSM para un mismo mensaje de prueba.

Respuesta del mdem en modo TXT: +CMGR: "REC READ","+34670341212",,"05/05/10,16:54:28+04" Mensaje de prueba Respuesta del mdem en modo PDU: +CMGR: 1,,34 07914306073011F0040B914376301412F200005050016145824011C DB27B1E 569741E432082EAF97C561
Fig. 6.3: Diferencia entre la recepcin de mensajes en modo TXT y PDU

Sistema de transmisin de datos

43

6.2

Gestin del MODEM GSM

El control del GSM BASE por parte del microcontrolador se realiza a partir del puerto RS232 mediante los denominados comandos AT. Estos comandos se identifican con una cadena de caracteres en cdigo ASCII. En la tabla 6.3 se muestra una breve seleccin de los comandos utilizados. Tabla 6.3 Codificacin en ASCII AT+CMGF=X Descripcin Configuracin en modo PDU (si X=0) o en modo TXT (si X=1) Mandar mensaje de texto Ejemplo

AT+CMGF=1 AT+CMGS=+34telfono ENTER > Mensaje ctrl.-Z AT+CMGR=1

AT+CMGS

AT+CMGR=X

Leer el mensaje recibido Numero X Borrar mensaje numero X

AT+CMGD=X

AT+CMGD=1

6.3

Conexin con la estacin meteorolgica

El microcontrolador 16F877A i/p dispone de terminales para la transmisin de datos serie que se ajusta al protocolo de comunicaciones RSR232. El nico problema para la interconexin entre estos terminales y los del puerto serie del mdem reside en la diferencia entre sus niveles lgicos. Para solventar este inconveniente se ha utilizado el MAX222 de Maxim. Se ha elegido debido a que puede desconectarse mediante uno de sus puertos para as no consumir mientras no este en uso por el sistema.

44

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

En la Fig. 6.4 podemos observar como se conecta puerto rs232 mediante el MAX222 al PIC.

Fig. 6.4 Esquema de conexionado RS232 al PIC

Diseo de la placa

45

CAPITULO 7. DISEO DE LA PLACA


7.1 Esquema general

Para la realizacin de la placa se ha elegido el programa P-cad 2002 que integra el esquemtico. En la Fig. 7.1 podemos observar la conexin del chip de comunicaciones as como la alimentacin del MODEM. En la Fig. 7.2 es posible ver la comunicacin con el programador va rj-45, as como los diferentes sensores, su acondicionamiento de seal, filtros, alimentacin del sistema y control de la alimentacin de diferentes partes del circuito.

Fig. 7.1 Esquemtico transmisin rs232 y control alimentacin MODEM

46

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Fig. 7.2 Esquema sensores, alimentacin y PIC

Diseo de la placa

47

7.2

Diseo del circuito impreso.

Una vez definido el esquemtico se importa al programa del P-CAD para el diseo del pcb, en primer lugar se escoge la posicin de los componentes para intentar minimizar el tamao de la placa Fig. 7.3.

Fig 7.3 Distribucin de los componentes en la placa

Para realizar las conexiones, se importa el esquemtico. El trabajo se simplifica debido a que mediante el programa PCAD se realiza la conexin de los componentes y nicamente se han de modificar el lugar por donde pasan las pistas quedando el diseo como se muestra en las figuras Fig. 7.4 y Fig. 7.5

48

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Fig. 7.4 Cara anterior PCB

Fig. 7.5 Cara posterior PCB

Diseo de la placa

49

7.3

Aspecto terminado del circuito

Una vez realizada la placa y colocados los componentes el resultado final es el mostrado el la Fig. 7.6

Fig. 7.6 Aspecto final del proyecto En la placa se puede observar los diferentes bloques que forman el sistema. Vase la Fig. 7.7

Fig. 7.7 Distribucin de los componentes en la placa

50

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

CONCLUSIONES
La finalidad del proyecto ha sido la creacin y el desarrollo de una estacin meteorolgica autnoma y de fcil transporte, para su ubicacin en cualquier lugar sin dependencia de ningn factor ya sea de comunicaciones o de alimentacin. El enfoque inicial del proyecto se centr principalmente en la autonoma del sistema, lnea que se ha seguido durante el transcurso de su desarrollo. Los componentes fueron seleccionados con el objetivo de minimizar su consumo. Aun as, gran parte del diseo ha sido condicionado por el elevado consumo del modem, habiendo de ajustar el tiempo de conexin de componentes a fin de poder compensarlo y pretendiendo que la placa solar no fuera de unas dimensiones incomodas para su transporte. Mediante el proyecto se han podido observar diferentes apartados de anlisis, diseo, elaboracin de placas y mediciones. El diseo se podra ampliar en un futuro mediante memorias externas que permitieran la incorporacin de un mayor nmero de usuarios. Otra posible mejora sera un control ms eficaz de los usuarios a travs de un administrador. La posibilidad de Introducir ms variables meteorolgicas o en su defecto, establecer una red de estaciones meteorolgicas que se comunicaran entre ellas y que el sistema fuera capaz de hacer predicciones simples en funcin de los parmetros captados, serian posibles mejoras o ampliaciones. Dichas posibles ampliaciones afectaran al consumo del circuito, debido a que los periodos de conexin serian ms largos, pudindose optimizar la energa captada por la placa solar mediante su orientacin automtica para una ptima orientacin en cada momento.

Diseo de la placa

51

BIBLIOGRAFA
[1] http://www.microchip.com [2] http://studies.ac.upc.edu/EPSC/SED/ [3] http://todopic.mforos.com/?cat=327473 [4] http://sunbird.jrc.it/pvgis/apps/pvest.php?lang=en&map=europe [5] http://www.unav.es/cti/curso-c/ [6] http://www.alldatasheet.com

52

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

ANEXOS

Ttulo: Diseo de una estacin meteorolgica autnoma gestionada

mediante mensajes SMS


Titulacin: Ingeniera Tcnica de Telecomunicaciones, especialidad Sistemas de Telecomunicaciones Autor: Jorge Lujn de Francisco Director: Oscar Lpez Lapea Fecha: 4 de diciembre 2008

Anexos

53

10 Funcionamiento IC2 y MPLAB


En el primer anexo, se centra en la instalacin y configuracin del programa MPLAB y e ICD2. Procedemos a la instalacin del programa MPLAB descargado de la web de microchip, ejecutando el asistente, vase la Fig. 10.1.

Fig. 10.1 Instalacin MPLAB Al realizar la conexin va usb del icd2, el asistente de nuevo hardware encontrado nos informa del nuevo dispositivo. Se habr de instalar los 2 controladores que acompaan al programador. Vase la Fig. 10.2, dichos controladores los podemos encontrar dentro de la carpeta de instalacin del MPLAB

Fig. 10.2 Instalacin de los controladores ICD2

54

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Una vez debidamente instalado el dispositivo, en el administrador de dispositivos comprobaremos su correcto funcionamiento, vase la Fig. 10.3

Fig. 10.3 Comprobacin de la instalacin de controladores Ejecutamos el programa MPLAB y creamos un nuevo proyecto, definiendo el PIC que utilizaremos, en este caso PIC16f877A, vase la Fig. 10.4

Fig. 10.4 Seleccin del PIC

Anexos

55

Otro paso importante es la eleccin del lenguaje de programacin, en este caso, se ha elegido CSS, vase Fig. 10.5.

Fig. 10.5 Eleccin del lenguaje de programacin. Ya creado el proyecto, se selecciona el dispositivo para realizar la compilacin y pruebas mediante Debugger>select tool>icd2 seleccionamos el nuestro vase Fig. 10.6

Fig. 10.6 Eleccin del ICD2

Las opciones del debugger nos permiten insertar puntos de parada del programa, ejecutarlo paso a paso, contino, leer el programa del PIC, tambin habr opciones interesantes como Watch, en la cual podemos ver las variables empleadas y sus cambios de estado a tiempo real.

56

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Una vez instalado el ICD2 observamos que aparecen nuevas opciones en el MPLAB para la gestin del programador, vase Fig. 10.7

Fig. 10.7 Nuevas opciones en el MPLAB El proyecto costa de un programa principal, y libreras para la interpretacin de las instrucciones del programa principal, tambin llamadas cabeceras. Vase la Fig. 10.8

Fig. 10.8 Programa y libreras Dichas libreras tienen una funcin especfica dentro del programa 16f877.h contiene la definicin de los pines de conexin del PIC String.h contiene la definicin de macros, constantes, funciones y tipos de utilidad para trabajar con cadenas de caracteres y algunas operaciones de manipulacin de memoria

Anexos

57

Ctype.h fue diseado para operaciones bsicas con caractres. Contiene los prototipos de las funciones y macros para clasificar caractres. Stdlib.h contiene los prototipos de funciones de C para gestin de memoria dinmica, control de procesos y otras. Stdio.h contiene las definiciones de macros, las constantes, las declaraciones de funciones y la definicin de tipos usados por varias operaciones estndar de entrada y salida. A la hora de compilar el proyecto se realiza mediante el compilador seleccionado con anterioridad, dicho proceso es automtico al realizar una compilacin. Vase la Fig. 10.9

Fig. 10.9 Compilacin mediante css Una vez realizada la compilacin el sistema nos informa de posibles errores, alertas y la cantidad de memoria del sistema ocupada. Vase Fig. 10.10

Fig. 10.10 Proyecto compilado

58

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Una vez realizada la compilacin del proyecto, configuraremos el programador para la grabacin en el PIC, vase la Fig 10.11, se procede a la desconexin del programador, el PIC ya estara grabado y listo para su funcionamiento.

Fig. 10.12 Grabacin en el PIC

Anexos

59

11 Programacin estacin meteorolgica en C

60

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Anexos

61

62

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Anexos

63

64

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Anexos

65

66

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Anexos

67

68

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Anexos

69

70

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

12 Configuracin y uso del Hyper Terminal


Durante la realizacin del proyecto se ha utilizado el HyperTerminal de Windows para supervisar la comunicacin entre el mdem GSM y el microcontrolador. Este anexo explica como crear la sesin para realizar dicho proceso, as como la configuracin de velocidades, bits de datos, bits de paridad etc En primer lugar, se conecta el mdem a su tensin de alimentacin. Una vez conectado el puerto serie entre ambos, nos dirigiremos al men del PC y abriremos el programa HyperTerminal. Este se encuentra en Inicio>Programas>Accesorios>Comunicacin>HyperTerminal. Seguidamente daremos nombre a la nueva conexin. Vase la Fig. 12.1

Fig. 12.1 Inicio de comunicacin con el hyperterminal

Luego seleccionaremos el puerto que estamos utilizando (COM1 o COM2) vase la Fig. 12.2, y a continuacin visualizaremos otra ventana donde se seleccionar la velocidad de transmisin y recepcin de datos, que deber ser igual a la del mdem. Vase la Fig. 12.3

Fig 12.2 Seleccin del puerto

Anexos

71

Fig. 12.3 Configuracin del puerto de comunicaciones Seguidamente se pulsar en la pestaa de propiedades>configuracin para acceder a Configuracin ASCII y seleccionamos Eco de los caracteres escritos localmente. Esto nos permitir mandar datos por el puerto serie desde el PC. Una vez hayamos realizado estos pasos ya estaremos preparados para poder interactuar con nuestro mdem. Primeros pasos a realizar: Puesta en marcha Es muy importante que desactivemos el cdigo PIN de la tarjeta antes de introducirla en el mdem GSM. En caso contrario, la tarjeta estar esperando el cdigo PIN y no nos permitir poder realizar ninguna aplicacin. Abriremos la sesin del HyperTerminal en Windows como se ha explicado anteriormente. Conectaremos la alimentacin al mdem. El led de estado del mdem se encender. Posteriormente parpadear (se est registrando en red). Una vez registrado el parpadeo ser a una frecuencia diferente.

72

Diseo de una estacin meteorolgica autnoma gestionada mediante mensajes SMS

Volvemos a hyperterminal: Esperaremos unos segundos. Teclearemos: ATI y pulsaremos la tecla ENTER. En pantalla deber de HyperTerminal nos aparece el siguiente mensaje referente a las caractersticas del mdem. ATI Audiotel Base REVISION 05.00 OK Una vez realizado la comprobacin de la puesta en marcha ya estamos preparados para empezar a utilizar el mdem GSM.

Potrebbero piacerti anche