MONITORIZACIÓN WIRELESS DE CONSTANTES...

127
MONITORIZACIÓN WIRELESS DE CONSTANTES VITALES DE UN BEBÉ TITULACIÓN: INGENIERÍA AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL AUTOR: Miguel María García Jiménez DIRECTOR: Enrique Cantó Navarro FECHA: Mayo / 2011.

Transcript of MONITORIZACIÓN WIRELESS DE CONSTANTES...

Page 1: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

MONITORIZACIÓN WIRELESS DE CONSTANTES VITALES DE UN BEBÉ

TITULACIÓN: INGENIERÍA AUTOMÁTICA Y ELECTRÓNICA INDUSTRIAL

AUTOR: Miguel María García Jiménez DIRECTOR: Enrique Cantó Navarro

FECHA: Mayo / 2011.

Page 2: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

2

INDICE: 1 Introducción y Objetivos ....................................................................................... 4

1.1 Introducción................................................................................................... 4

1.2 Antecedentes.................................................................................................. 5

1.3 Objetivo del Proyecto .................................................................................... 8

2 Memoria descriptiva.............................................................................................. 9

2.1 Nociones sobre la Temperatura Corporal...................................................... 9

2.1.1 Definición .............................................................................................. 9

2.1.2 Zonas de Lectura ................................................................................. 10

2.1.3 Valores, Alteraciones y Terminología................................................. 10

2.2 Módulo 1: Equipo Inalámbrico con Sensor de Temperatura....................... 12

2.2.1 Diagrama de Bloques........................................................................... 12

2.3 Medición de la Temperatura Corporal. Sensores. ....................................... 14

2.3.1 Termopares .......................................................................................... 14

2.3.2 RTD’s. ................................................................................................. 18

2.3.3 Termistores .......................................................................................... 22

2.3.4 Acondicionamiento de la Señal. .......................................................... 26

2.3.5 Sensores de Temperatura con Semiconductores. ................................ 27

2.3.6 Elección Final ...................................................................................... 30

2.4 Comunicación Wireless entre Módulos....................................................... 33

2.4.1 ZigBee ................................................................................................. 33

2.4.2 IEEE 802.15.4 ..................................................................................... 35

2.4.2.1 Arquitectura de los Protocolos........................................................ 36

2.4.2.2 Nivel Físico ..................................................................................... 36

2.4.2.3 Nivel Enlace de Datos..................................................................... 37

2.4.3 Especificación Zigbee.......................................................................... 38

2.4.4 Dispositivos que Constituyen una Red Zigbee.................................... 39

2.4.5 Comunicaciones y Descubrimientos de Dispositivos.......................... 40

2.4.6 Modos de Funcionamiento .................................................................. 40

2.4.7 Modelo de Redes Zigbee ..................................................................... 43

2.4.8 Otros Medios de Transmisión de Datos y Elección Final ................... 46

2.5 Módulos Zigbee en el Mercado. .................................................................. 51

2.5.1 Elección Final ...................................................................................... 52

2.6 El Microcontrolador .................................................................................... 54

Page 3: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

3

2.6.1 Función ................................................................................................ 54

2.6.2 Requisitos ............................................................................................ 54

2.6.3 Alternativas.......................................................................................... 56

2.6.4 Elección Final ...................................................................................... 56

2.7 Módulo 2: Equipo de Sobremesa ................................................................ 58

2.7.1 Funciones:............................................................................................ 58

2.7.2 Diagrama de Bloques: ......................................................................... 58

2.7.3 El módulo de comunicación inalámbrica. ........................................... 59

2.7.4 El módulo LCD. .................................................................................. 59

2.7.5 Pulsadores............................................................................................ 63

2.7.6 Zumbador ............................................................................................ 64

2.7.7 Alimentación ....................................................................................... 64

2.8 Manual de Funcionamiento ......................................................................... 67

3 MEMORIA DE CÁLCULO................................................................................ 68

3.1 Diagrama de Flujo Módulo 1: Equipo Inalámbrico con Sensor de Tª......... 68

3.2 Diagrama de Flujo Módulo 2: Módulo de Sobremesa ................................ 74

3.3 Batería Módulo 1: Módulo inalámbrico ...................................................... 83

3.4 Datos experimentales................................................................................... 85

4 PLANOS.............................................................................................................. 86

5 PRESUPUESTO.................................................................................................. 93

5.1 Mediciones .................................................................................................. 93

5.2 Cuadro de Precios Unitarios ........................................................................ 93

5.3 Cuadro de Precios Descompuestos.............................................................. 95

5.4 Presupuesto.................................................................................................. 99

5.5 Resumen del Presupuesto .......................................................................... 100

6 CONCLUSIONES............................................................................................. 101

7 ANEXOS........................................................................................................... 103

7.1 Programa en CCS Módulo 1...................................................................... 103

7.2 Programa en CCS Módulo 2...................................................................... 109

7.3 Ficheros ..................................................................................................... 127

Page 4: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

4

1 Introducción y Objetivos

1.1 Introducción Han pasado alrededor de 2.500 años desde que se fundó la primera Escuela de

Medicina Occidental. Muchos han sido los médicos e investigadores que han ido desde la anestesia a la vacuna, pasando por el endoscopio y los antibióticos. Numerosos han sido los inventos y descubrimientos que se han producido en el último siglo y medio que han permitido sentar las bases de la actual ciencia médica.

Para muchos, estos avances han pasado inadvertidos a lo largo de los años debido al trepidante ritmo tecnológico que le ha dado la tecnología. Hace sólo unos ciento cincuenta años parecía casi un sueño realizar una operación quirúrgica sin que el paciente sufriera. Hoy en día, las intervenciones resultan menos traumáticas y los períodos postoperatorios se han reducido notablemente gracias a la presencia de la tecnología en el ejercicio de la medicina.

Se han aplicado cada vez más y más tecnologías para lograr las condiciones óptimas en cualquier intervención quirúrgica. Se están utilizando los avances no sólo para curar sino también para prevenir enfermedades así como para todo tipo de investigaciones médicas, las cuales, gracias a la tecnología han realizado importantes descubrimientos. Los expertos se han ocupado de la incorporación de los avances tecnológicos en la práctica de la medicina, por lo que se prevé un cambio radical en la ciencia médica del futuro.

En la actualidad, la tecnología médica ha traspasado la frontera de hospitales y centros de salud y día a día se incorporan nuevos equipos que mejoran la calidad de vida de los ciudadanos.

Estos equipos basan su éxito en su sencillez de uso, la calidad y precisión de sus medidas y su bajo coste. Como ejemplos, podemos citar los medidores de tensión arterial de muñeca, termómetros digitales, medidores de glucosa en sangre, pulsímetros, audífonos…

En el presente proyecto, se implementará un dispositivo de medición de temperatura de bajo coste y wireless, que permitirá conocer la temperatura de una persona, adulta o bebé, a distancia.

Page 5: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

5

1.2 Antecedentes La temperatura corporal es una de las constantes vitales que nos indica el estado de

salud de una persona, ya sea en su estado adulto o durante la niñez. La fiebre (temperatura corporal elevada) es uno de los síntomas que nos indican

enfermedad. Existen en el mercado muchos tipos de termómetros para medir la temperatura, además de diferentes métodos, cada uno ofrece ventajas y desventajas de acuerdo a la edad, colaboración y personalidad de la persona o niño a la que se va a medir la temperatura.

Los termómetros que podemos encontrar son los siguientes: Temperatura táctil. Es la medición de la temperatura utilizando el tacto tocando a la persona, este

método no ofrece ninguna garantía acerca del nivel exacto de la temperatura, simplemente es una forma de saber si tiene fiebre para luego usar un termómetro para la medición.

Termómetro de vidrio. Estos termómetros ya no se encuentran en el mercado, aunque su utilización estuvo

muy extendida hasta su prohibición. Pueden medir la temperara de forma precisa y de fácil medición, pero requieren mayor tiempo para hacer las mediciones (oral y rectal 3 minutos, axilar 8 a 10 minutos). Al ser de vidrio pueden romperse con facilidad, por lo que no son aconsejados debido a que el vidrio roto y su contenido de mercurio (tóxico) son dañinos para la salud, tienen la punta sólida y son de difícil lectura porque se debe buscar el ángulo en el cual se puede visualizar la banda de mercurio.

Figura 1. Termómetro de vidrio

Termómetros digitales Sirven para medir la fiebre de forma precisa, rápida, segura y fácil de leer y fácil

medición. Precisa porque utilizan sensores de temperatura; rápida porque basta un minuto para obtener la medida; segura porque cuentan con una punta flexible, donde se ubica el sensor, lo que les da menor probabilidad a romperse y no contienen mercurio; y fáciles de leer porque cuentan con una pantalla digital que muestra la temperatura obtenida de la medición.

Page 6: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

6

Figura 2. Termómetro digital

Termómetros de oído Son los más costosos, estos termómetros miden el calor emitido en el tímpano y

el tejido circundante en el interior del conducto auditivo por medio de un infrarrojo, se obtiene una medición precisa siempre y cuando se haya colocado correctamente dentro del canal auditivo, de lo contrario, el infrarrojo no podrá medir la temperatura o arrojará un dato erróneo. El tiempo de la medición es el más rápido, y son fáciles de leer al contar con una pantalla digital.

Figura 3. Termómetro de oído

Termómetros de tira plástica Es un dispositivo que se coloca en la frente de los niños y dan valores de

temperatura poco confiables, son de fácil lectura pero al igual que el método de medición de la temperatura táctil, le indican si el niño tiene fiebre, y es un anticipo al uso de otro tipo de termómetro.

Figura 4. Termómetros de tira plástica

Termómetros de chupete Dispositivo que se coloca en los chupones de los bebés, sus valores también son

poco confiables, al igual que la temperatura táctil y los termómetros de tira plástica sólo indican si el niño tiene fiebre

Page 7: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

7

Figura 5. Termómetro de chupete

Termómetro infrarrojo Este tipo de termómetros no necesitan del contacto físico para medir la temperatura. En pocos segundos, a partir de sensores infrarrojos permiten obtener un valor de la temperatura de la piel sobre la cual están dirigidos. La distancia a la que se debe encontrar el termómetro varía entre los 0’5 cm. a los 10 cm.

Figura 6. Termómetro infrarrojo

A pesar de existen multitud de tipos de termómetros, todos tienen un elemento

común de funcionamiento:

- En personas enfermas o niños, es necesaria la presencia de un adulto para realizar la medición.

- La lectura de la medición se realiza al lado de la persona de la cual se quiere saber su temperatura.

Page 8: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

8

1.3 Objetivo del Proyecto Todos los padres han vivido alguna vez la siguiente situación: despertarse a media

noche para encontrar a su hijo parado al lado de su cama, rojo, acalorado y sudando. La frente de su pequeño está caliente. De inmediato, sospechan que su hijo tiene fiebre.

A partir de ese momento, la máxima preocupación de los padres es vigilar la temperatura corporal de su hijo. Esto implica despertar al niño varias veces para tomarle la temperatura.

Actualmente, todos los termómetros existentes en el mercado necesitan de un adulto para medir la temperatura en niños y en bebes. Durante el día, la necesidad de estar con el niño para medir su temperatura puede parecer no muy importante, sin embargo, por la noche, implica que tanto el niño como el adulto, deben despertarse varias veces a lo largo de la noche para controlar la temperatura. Este hecho, hace que tanto los padres como los niños no consigan descansar, comenzando el nuevo día más agotados.

En el presente proyecto, se desea implementar un dispositivo que monitorice la temperatura corporal de un bebé o un niño, y que envíe esta medición mediante un sistema inalámbrico a otro dispositivo el cual avisará a los padres cuando el niño presente fiebre.

Para conseguir este cometido, se desarrollarán dos dispositivos, un equipo de sobremesa y un equipo a batería, ambos se comunicarán de manera inalámbrica.

El dispositivo de sobremesa actuará de interfaz con los usuarios. Su misión es recibir la información que le envíe el equipo de batería, mostrarla por pantalla y avisar en caso de fiebre.

El dispositivo de batería se encontrará en permanente contacto con el niño, realizará la medición de temperatura y la enviará al dispositivo de sobremesa.

En ambos equipos, se buscará su bajo consumo, bajo coste, pequeñas dimensiones y alta precisión y resolución, siendo estas características más críticas en el caso del dispositivo a baterías.

Page 9: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

9

2 Memoria descriptiva

2.1 Nociones sobre la Temperatura Corporal

2.1.1 Definición La temperatura es una magnitud que refleja el nivel térmico de un cuerpo, es decir,

su capacidad para ceder energía calorífica. La temperatura depende del movimiento de las moléculas que componen a la sustancia, si éstas están en mayor o menor movimiento, será mayor o menor su temperatura respectivamente, es decir, estará más o menos caliente. El calor es la energía que se pierde o gana en ciertos procesos. Por tanto, los términos de temperatura y calor, aunque relacionados entre sí, se refieren a conceptos diferentes: la temperatura es una propiedad de un cuerpo y el calor es un flujo de energía entre dos cuerpos a diferentes temperaturas.

La temperatura corporal es la medida del grado de calor de un organismo, y desempeña un papel importante para determinar las condiciones de supervivencia de los seres vivos. Así, los seres humanos necesitan un rango muy limitado de temperatura corporal para poder sobrevivir, y tienen que estar protegidos de temperaturas extremas.

La temperatura corporal es el equilibrio entre la producción de calor por el cuerpo y su pérdida. El centro termorregulador está situado en el hipotálamo. Cuando la temperatura sobrepasa el nivel normal se activan mecanismos como vaso dilatación, hiperventilación y sudoración que promueven la pérdida de calor. Si por el contrario, la temperatura cae por debajo del nivel normal se activan mecanismos como aumento del metabolismo y contracciones espasmódicas que producen los escalofríos.

Para poder hablar de temperatura normal del cuerpo, debemos establecer una diferencia entre la temperatura de los tejidos profundos del cuerpo y la temperatura cutánea. Esto justifica establecer una división: temperatura interna, con una temperatura constante y fuertemente regulada; y temperatura cutánea de los tejidos periféricos, cuya temperatura puede oscilar dentro de unos límites amplios, dependiendo tanto de la temperatura del ambiente como del grado de defensa ante la pérdida de calor y de las actividades particulares. De este modo, el término temperatura corporal no debe emplearse sin tener en cuenta en qué parte del cuerpo tiene lugar la medición.

- Temperatura periférica o superficial: es la de los constituyentes del revestimiento periférico, como la piel, el tejido subcutáneo y las porciones superficiales de las masas musculares cuya función principal es la de mantener una temperatura central constante. La temperatura periférica muestra considerables variaciones, subiendo y bajando según el medio ambiente. La temperatura media de la piel para una persona promedio en un cuarto con temperatura ambiente de 25ºC es de 33ºC. La temperatura de la piel se puede medir mediante termocuplas o termistores montados en contacto con la epidermis.

Page 10: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

10

- Temperatura central: la temperatura central representa la temperatura media en áreas corporales profundas centrales (ejemplos: cerebro, corazón, pulmones, órganos abdominales). Se encuentra constituida por las regiones del cráneo, torácica, abdominal, pélvica y las porciones más profundas de las masas musculares de las extremidades. Los seres humanos somos homeotérmicos lo que significa que la temperatura corporal interna se mantiene casi constante. En condiciones normales, la temperatura interna del cuerpo fluctúa entre 36’5ºC y 37’5ºC.

2.1.2 Zonas de Lectura Oral: sublingual utilizando el clásico termómetro de mercurio durante un tiempo

aproximado de cuatro minutos. Se debe tener en cuenta la última ingesta; se puede tomar la temperatura mínimo 15 minutos después de la ingesta. La temperatura oral se puede medir en todos los pacientes, excepto, en los que están inconscientes, sufren confusión mental, convulsiones, afecciones de nariz, boca o garganta y los niños menores de 6 años.

Rectal: lubricar el termómetro y proteger la intimidad del paciente. El resultado tiende a ser 0’5ºC a 0’7ºC mayor que la temperatura oral. La temperatura rectal es recomendable para el paciente menor de 6 años, a menos, que se le haya practicado cirugía rectal o presente algún tipo de anormalidad en el recto.

El canal auditivo: por su proximidad del canal auditivo del hipotálamo, la temperatura timpánica puede utilizarse como criterio para la estimación de la temperatura interna. De menor precisión que la toma rectal.

Axilar: es recomendable en adultos y niños mayores de 6 años, se deja el termómetro durante 5 minutos. El resultado es 0’5ºC menor que la temperatura oral.

2.1.3 Valores, Alteraciones y Terminología

En la tabla 1, se muestra los valores normales de temperatura según la edad.

Tabla 1. Valores de la temperatura según la edad

Page 11: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

11

Los factores que varían la temperatura varían según diversos parámetros:

- Edad: los niños son más susceptibles a las variaciones climáticas. En los ancianos la hipotermia se da por la pérdida de grasa subcutánea, dieta inadecuada, cese de actividad y disminución de los controles termorreguladores.

- Ejercicio: por aumento en la producción de calor

- Hormonas: en las mujeres la progesterona secretada durante la ovulación aumenta la temperatura.

- Estrés: la estimulación del sistema nervioso simpático aumenta el metabolismo y la producción de calor.

- Medio ambiente: las variaciones extremadas de la temperatura ambiental alteran los sistemas termorreguladores de las personas.

Cuando la temperatura corporal alcanza valores anormales se presentan una serie de reacciones:

- Pirexia o hipertermia: temperatura por encima del límite superior normal. Se presenta aumento de la frecuencia cardiaca, escalofríos, piel pálida y fría y lechos ungueales cianóticos, por vasoconstricción.

- Hipotermia: temperatura corporal por debajo del limite inferior normal. Se puede presentar somnolencia e incluso coma, lo cual, favorece la inadecuada producción de calor y la aparición de hipotensión, disminución de la diuresis, desorientación, sensación de frío y piel pálida y fría.

A la hipertermia se le denomina fiebre. Según la intensidad de la temperatura se puede distinguir entre:

- Febrícula: temperatura hasta los 38ºC

- Fiebre moderada: temperatura entre 38 y 39ºC

- Fiebre alta: temperatura superior a 39ºC.

Según la forma de la curva térmica:

- Fiebre continua: oscilación diaria inferior a un grado

- Fiebre remitente: oscilaciones diarias mayores de un grado

- Fiebre intermitente: la temperatura desciende hasta lo normal, para luego ascender nuevamente.

- Fiebre recurrente: episodios febriles (fiebre por encima de 38’3ºC) alternados con periodos de temperatura normal por días o semanas.

Mediante el presente proyecto, se pretende monitorizar la temperatura corporal, detectar los episodios febriles o de hipotermia y avisar a la persona encargada de cuidar a la persona enferma.

Page 12: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

12

2.2 Módulo 1: Equipo Inalámbrico con Sensor de Temperatura El módulo autónomo sensor será el encargado de realizar la medición de la

temperatura y transmitirla, es el módulo que se encontrará siempre en el bebe al cual se quiere monitorizar la temperatura.

En su diseño se han tenido en cuenta las siguientes necesidades:

- Se alimentará mediante un sistema de baterías y su consumo será mínimo. Durante más del 90% de su tiempo se encontrará funcionando en modo de bajo consumo y únicamente se activarán todas sus funciones para realizar la medición de temperatura y enviar los datos a otro dispositivo.

- Su tamaño será el menor posible, ya que se situará en el usuario y su diseño debe ser tal que no provoque molestias al llevarlo encima.

- En su diseño deben considerarse los mínimos componentes posibles para minimizar el consumo y el espacio.

- Controlará el estado de la batería y deberá enviar un aviso de batería baja al usuario.

- El sensor de temperatura será lo más exacto y preciso posible en su medida y debe poder funcionar en modo de bajo consumo.

- El sistema inalámbrico a utilizar debe ser de bajo consumo. La distancia máxima a transmitir será de unos 30 metros y la tasa de datos de transferencia será baja.

2.2.1 Diagrama de Bloques En la figura 7 se puede observar el diagrama funcional de bloques del Módulo Autónomo Sensor.

batería uC

sensor Tª

Sist. Wireless

Figura 7. Diagrama funcional de bloques

Page 13: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

13

Sus principales componentes serán:

- El sensor de temperatura. Debe ser un sensor de pequeño tamaño, que permita dos modos de funcionamiento, modo normal y modo de bajo consumo. Lo más integrado posible para que su consumo sea mínimo.

- El sistema de comunicación wireless. La elección del sistema de comunicación será importante ya que será el recurso que consuma más potencia. Se buscará un sistema de bajo consumo, capaz de entablar comunicación con otro dispositivo a 30 metros y su tasa de transferencia no tiene porque ser muy elevada.

- El microprocesador. Se encargará de gestionar los modos de funcionamiento del módulo. Se encargará de tomar el dato de temperatura proveniente del sensor y enviarlo al sistema de comunicación wireless para su envío al otro dispositivo. También debe gestionar el estado de la batería y enviar la información de batería baja al modulo de sobremesa.

- La batería: proporcionara la alimentación a todo el sistema. Debe ser lo más pequeña posible y que proporcione una autonomía suficiente. En función de las necesidades de consumo y tensión de funcionamiento del resto de dispositivos se decidirá sus características.

Page 14: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

14

2.3 Medición de la Temperatura Corporal. Sensores. Se puede realizar la medición de la temperatura corporal de diferentes maneras que

varían de acuerdo al costo del equipo, precisión, linealidad y rango.

A continuación expondré los principales tipos de sensores.

2.3.1 Termopares Los termopares son los sensores de temperatura utilizados con mayor frecuencia

porque son sensores precisos, relativamente económicos, que pueden operar en un amplio rango de temperaturas.

El termopar fue descubierto por Thomas Seebeck en 1831. Él descubrió que una corriente eléctrica fluía en un circuito cerrado de dos metales distintos cuando una de las uniones era calentada. La magnitud y dirección de la corriente son función de la diferencia de temperatura de las uniones y de las propiedades térmicas de los metales usados en el circuito. A este fenómeno se le conoce como efecto Seebeck.

Figura 8. Corriente provocada por el Efecto Seebeck

Si abrimos este circuito, obtenemos una diferencia de potencial pequeña (milivoltios), la cual es directamente proporcional a la temperatura de la unión y a la composición de los dos metales.

Figura 9. Metales distintos creando un temopar

Page 15: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

15

Figura 10. Los termopares son económicos y pueden operan en un amplio rango de temperaturas.

Existen diferentes tipos de termopares asignados con letras mayúsculas que indican su composición de acuerdo al American nacional Standards Institute (ANSI). Los tipos de termopares más comunes incluyen B, E, K, N, R, S y T.

Tabla 2. Diferentes tipos de termopares

Las curvas de calibración para los diferentes tipos de termopares son las descritas en la siguiente tabla:

Page 16: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

16

Figura 11. Curvas de calibración

Medición. La diferencia de potencial, en un termopar, no puede ser medida directamente

debido a que la unión termopar con el instrumento de medida crea un nuevo circuito termoeléctrico.

Por ejemplo, si conectamos un voltímetro a un termopar tipo T (cobre-constantan) para conocer su diferencia de potencial.

Figura 12. Conexión voltímetro

El circuito equivalente que obtendríamos sería el siguiente:

Figura 13. Circuito equivalente

Se quiere conocer el valor de V1, pero al conectar el voltímetro estamos creando dos uniones más U2 y U3. Debido a que U3 es del mismo metal (cobre-cobre), la

Page 17: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

17

diferencia de potencial de V3 es cero voltios (V3=0=. Sin embargo, U2 que es una unión de cobre-constantan crea una V2 en oposición a V1, por lo que la lectura resultante del voltímetro V será proporcional a la diferencia de temperaturas U1 y U2. Es necesario conocer U2 para determinar V1,

Una manera de determinar U2 es colocar físicamente esta unión dentro de un baño de hielo, forzando entonces a que su temperatura sea 0ºC y estableciendo U2 como la Unión de referencia (Unión fría).

Figura 14. Unión de referencia U2 por junta fría

De esta manera la tensión leída en el voltímetro será directamente proporcional a la temperatura de U1, ya que la temperatura de U2 es igual a cero.

En el primer ejemplo se ha utilizado un termopar tipo T, pero si usamos un termopar tipo J (hierro-constantan), en este caso tendríamos una unión más que afectaría la medición. Por supuesto que una solución sería colocar U2 y U3 dentro del baño de hielo y el problema está resuelto.

Pero existe otra solución, ésta consiste en tener U2 y U3 a una misma temperatura conocida y aisladas eléctricamente. Esto se logra con un bloque isotérmico cuya temperatura tiene que ser medida mediante otro sensor, normalmente un termistor o PT100.

Figura 15. Bloque de temperatura con PT100

Si el termistor o PT100 determinan la temperatura de referencia de U2 y U3, se puede determinar entonces la tensión eléctrica de referencia de esas uniones (Vref), por lo tanto V1 será la diferencia de V menos la Vref.

Page 18: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

18

Para este procedimiento de compensación por unión fría, existen dos técnicas:

- compensación por hardware

- compensación por software.

En la compensación por hardware, se inserta una fuente variable de voltaje dentro del circuito para cancelar los voltajes termoeléctricos parásitos. La fuente variable de voltaje genera un voltaje de compensación de acuerdo con la temperatura ambiente, para así poder adicionar el voltaje correcto para cancelar las señales termoeléctricas indeseadas. Cuando se cancelan estas señales parásitas, la única señal que mide el dispositivo de adquisición de datos es el voltaje desde la unión del termopar. Con la compensación por hardware, la temperatura en los terminales del sistema de adquisición de datos es irrelevante ya que los voltajes parásitos del termopar se han cancelado. La mayor desventaja de la compensación por hardware es que cada tipo de termopar debe poseer un tipo separado de circuito que pueda adicionar el voltaje correcto de compensación; este hecho hace que el circuito sea bastante costoso. La compensación por hardware es generalmente menos exacta que la compensación por software.

En la compensación por software el cálculo de la tensión de referencia y a su vez el cálculo de la diferencia de tensiones es realizado por un microprocesador. Este último es sin duda el procedimiento de medición de termopares más común.

2.3.2 RTD’s. Las termorresistencias son sensores de temperatura basados en el cambio de

resistividad que sufren las estructuras de los metales con la temperatura, la cual es aproximadamente lineal para ciertos metales.

Una termo resistencia, o RTD, se fabrica para tener un valor Ro nominal a una temperatura dad (p.e. 100 ohms a 0ºC). Al medir su resistencia a una temperatura desconocida y al compararla con Ro, se puede conocer la diferencia de resistencia. Como la característica de la resistencia en función de la temperatura es también conocida, el cambio de temperatura desde el punto inicial será conocida.

Los materiales usados como RTDs’s son:

- cobre

- balco (aleación de hierro-níquel)

- tungsteno

- iridio

- Platino.

Debido a su baja resistividad, el oro y la plata no son usados como RTD’s. El tungsteno posee alta resistividad, pero se le reserva para muy alta temperatura, al ser muy quebradizo y difícil de maquinar.

Page 19: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

19

El cobre se usa a veces como RTD. Su baja resistividad hace que el elemento sea

más largo que uno de platino, pero su linealidad y bajo costo lo hacen una alternativa económica. Su límite de operación es de 120ºC.

Los elementos de níquel o aleaciones de níquel son más no lineales y tienden a modificar su valor de resistencia con el tiempo.

Figura 16. Curva R-T de varios metales.

El platino es el más popular de las RTD’s, debido a su característica muy cercana a la linealidad en un rango amplio de temperaturas, estable a largo plazo. El costo de los PRTD’s (RTD de platino) se vieron reducidos al implementarse en película delgada.

Las princípiales características encontradas en el platino son:

- Estabilidad química: resistencia a la oxidación y corrosión

- Facilidad de manufactura

- Disponibilidad de alambre de alta pureza

- Buena reproducibilidad de características eléctricas.

Esta última permite el poder reemplazar el elemento sensor sin tener que recalibrar un instrumento. Los valores típicos son de 100, 500 y 1000 ohms.

Page 20: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

20

Las RTD’s se identifican por el metal del que se componen (según la tabla periódica) y la resistencia que presentan a 0ºC. Ejemplo: Pt100, Pt1000, Ni120, Cu200, etc.

Según la precisión, se distinguen dos tipos:

- Clase A: ± 0’15 ºC a 0ºC

- Clase B: ± 0’30 ºC a 0ºC

Luego presentan una degradación de la precisión hacia los extremos del rango. Por ejemplo, según el estándar IEC751, para clase B, se tiene:

Tabla 3. Precisión para clase B

Constructivamente las RTD se pueden encontrar de dos formas:

- Construcción tipo Meyer. Consisten en enrollar sobre una cruz de mica una bobina helicoidal de platino, y montar el conjunto dentro de un tubo de vidrio. Al ser el coeficiente de dilatación de la mica muy bajo, el esfuerzo sobre el alambre será bajo, evitando la variación de resistencia por estiramiento, obteniendo así un dispositivo estable. A su vez, al estar bobinado a la vez de enrollado, se maximiza su resistencia para un tamaño dado.

- RTD de película delgada de platino. La longitud de alambre y diámetro para controlar el valor de Ro se reemplaza por una estructura meandro muy delgada sobre un substrato (hasta de 3 micrones), de allí las bajas corrientes de medición permitidas.

El RTD de película delgada ofrece un dispositivo pequeño, que responde rápidamente a los cambios bruscos de temperatura y reduce la captación de ruido por campos magnéticos variables, problemas que poseen los del tipo bobinado. El inconveniente frente a los bobinados es que son menos estables.

Page 21: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

21

Figura 17. RTD de película delgada

En el caso de la RTD de platino, su función como sensor se basa en la dependencia con la temperatura de la resistividad del metal. La relación existente puede ser descrita por el siguiente polinomio característico:

(1)

donde:

R(T) = Resistencia medida.

Ro = Resistencia nominal a 0ºC

Las constantes están definidas por el estándar internacional (DIN EN 60751) para sensores de platino:

(2)

El coeficiente b es tan pequeño que para la mayoría de las aplicaciones puede considerarse una relación lineal entre R(T) y T.

Medición. La medida de una RTD se puede realizar de diferentes métodos. En todos ellos, es necesaria un circuito de acondicionamiento de la señal.

Medición por método de cero: puente de tres hilos.

(3)

Page 22: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

22

El valor del RTD a la temperatura de calibración del puente será el valor de R3. Se busca que R1, R2 y R3 tengan coeficientes de variación de resistencia con la temperatura nulo a la temperatura de trabajo.

Medición de temperatura con RTD por comparación. En este método se compara la magnitud desconocida con otra de la misma especie

conocida. El patrón y la incógnita coexisten en la medición. Puede ser de deflexión o cero.

El método por fuentes de corriente es de deflexión, al obtener una tensión de salida proporcional a la diferencia de resistencia entre RTD y Ro, que bien podría actuar sobre un instrumento calibrado en ºC.

El esquema básico sería el siguiente:

Figura 18. Esquema básico comparación

Al circular corriente por el sensor, se produce un error por autocalentamiento.

2.3.3 Termistores Los termistores aprovechan la dependencia que presenta la resistencia eléctrica de

cualquier material conductor con la temperatura. En el caso de los termistores, se utilizan materiales semiconductores de alta sensibilidad, específicamente diseñados para que su resistencia dependa agudamente de la temperatura del elemento. Existen termistores de coeficiente positivo PTC (su resistencia aumenta con la temperatura) o negativo NTC (su resistencia disminuye con la temperatura), siendo este último más típico y de bajo costo.

Figura 19. Distintas formas de los termistores NTC y PTC

Page 23: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

23

En los termistores se observan relaciones de la resistencia con la temperatura que no son lineales, sino más bien de carácter exponencial. Para termistores comerciales comunes, la relación es del tipo

( ) ( )⎥⎦

⎤⎢⎣

⎡−⋅Χ

⋅== 0

11

0TTeTTRTR

(4)

Donde “R(T)” es la resistencia (en ohms) observada a la temperatura “T”, la que depende de un primer parámetro dado por la resistencia a una temperatura conocida “R(T=To)”, típicamente 25ºC, y de un segundo parámetro de ajuste “x”.

Figura 20. Curva característica de los termistores

En el caso de los termistores, dado que se mide resistencia, se debe cuidar, en primer lugar, que la resistencia de los cables de conexión (que también cambia con la temperatura) no incida sobre la medición y, en segundo lugar, que la corriente que circule por el elemento para medir su resistencia sea lo suficientemente pequeña como para calentar sólo mínimamente el propio sensor. A ese fin se utilizan sistemas de compensación que incorporan cables idénticos pero sin el sensor, en el brazo adyacente de un puente de Wheastone, amén de circular una corriente nula por el sensor.

Los termistores al igual que cualquier dispositivo construido en base a semiconductores tienen algunos parámetros que deben ser considerados para su elección. Los términos que con mayor frecuencia se emplean son:

- Resistencia a potencia cero: Resistencia del termistor cuando no existe efecto de autocalentamiento.

- Variación de la resistencia con la temperatura: Sensitividad, típicamente de 4W/ºC.

- Estabilidad: Capacidad de un termistor para mantener sus características dentro del rango 0’03ºC/a en un periodo de 12 años.

- Autocalentamiento: Potencia disipada en el termistor

Page 24: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

24

- Temperatura de operación máxima: Temperatura máxima en la cual el termistor conservará su operación con características de estabilidad aceptables.

Las principales características que poseen son:

- Alta sensibilidad

- Alto coeficiente térmico

- Envejecen

- Tienen un tiempo de respuesta variable

- Sufren de autocalentamiento

- No son lineales

- Son de tamaño reducido

- Son susceptibles a contaminación

-

Figure 21. Resistencia contra Temperatura para un Termistor Típico y RTD

Medición.

Los termistores son dispositivos sensibles, se les debe administrar una corriente de excitación y luego leer el voltaje a través de los terminales. Si el calor adicional no se puede disipar, el calentamiento causado por la corriente de excitación puede incrementar la temperatura del elemento de detección. El auto calentamiento generalmente cambia la resistencia del termistor, provocando errores en las medidas. Los efectos del auto calentamiento se pueden disminuir al administrar una baja corriente de excitación.

La manera más fácil de conectar un RTD o termistor a un dispositivo de medida es con una conexión de 2 cables.

Page 25: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

25

Figura 22. Medida RTD/Termistor de 2 Cables

Con este método, los dos cables que alimentan al RTD o termistor con su corriente de excitación también se usan para medir el voltaje en el sensor. Debido a la baja resistencia nominal de los RTDs, la precisión de las medidas se puede ver afectada significativamente por la resistencia del cable. Por ejemplo, los cables con una resistencia de 1 W conectados a un RTD de platino de 100 W causan un error de medida del 1%.

Un método de conexión de 3 cables o 4 cables puede eliminar los efectos de resistencia del cable. La conexión coloca las terminales en una trayectoria de alta impedancia a través del dispositivo de medida, eliminando de manera efectiva los errores causados por la resistencia del cable. No es necesario usar un método de conexión de 3 o 4 cables para termistores ya que éstos generalmente tienen valores de resistencia nominal más altos que los RTDs. A continuación se muestra un diagrama de conexión de 4 cables.

Figura 23. Medida RTD de 4 Cables

Las señales de salida del RTD y del termistor por lo general están en el rango de los milivoltios, lo cual los hace sensibles al ruido. Los filtros paso bajo son usados comúnmente en sistemas de adquisición de datos de RTD y termistor para eliminar de forma efectiva el ruido de alta frecuencia en las medidas. Por ejemplo, los filtros paso bajo son útiles para eliminar el ruido de línea de potencia de 50 Hz que se presenta comúnmente en la mayoría de los laboratorios y plantas.

Page 26: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

26

2.3.4 Acondicionamiento de la Señal.

Se requiere acondicionamiento de señales para realizar medidas de temperatura precisas y confiables. Al diseñar el sistema de medidas adecuado para un sensor de temperatura, se debe considerar amplificación, aislamiento, filtros, excitación, precisión, resolución y compensación de junta fría (CJC).

Amplificación

Las señales de salida des los sensores de temperatura son generalmente en rangos de milivoltios, así que se debe amplificar la señal y prevenir el ruido en su sistema de medidas. Se debe escoger una ganancia que optimice los límites de entrada del convertidor analógico a digital (ADC) del hardware. Para mejorar significativamente el rendimiento del ruido de su sistema, se puede amplificar los voltajes de bajo nivel cerca de la fuente de señal o punto de medida.

Aislamiento

Los termopares que son montados o soldados directamente a un material conductivo, como el acero o el agua, introducen otra fuente de ruido. Esta configuración hace a los termopares particularmente sensibles al voltaje en modo común y a lazos a tierra. El aislamiento ayuda a prevenir lazos a tierra y puede mejorar drásticamente el rechazo de voltaje en modo común.

Filtrado

Los filtros paso bajo se utilizan comúnmente para eliminar de manera efectiva el ruido de alta frecuencia en medidas de temperaturas. Por ejemplo, los filtros paso bajo son útiles para eliminar el ruido de línea de potencia de 60 Hz que se presenta comúnmente en varios laboratorios y plantas.

Excitación

Ya que los RTDs y termistores son dispositivos sensibles, se les debe administrar una corriente de excitación y luego leer el voltaje a través de los terminales. Si el calor adicional no se puede disipar, el calentamiento causado por la corriente de excitación puede incrementar la temperatura del elemento de detección. El auto calentamiento cambia la resistencia del RTD o termistor, provocando errores en las medidas..

Precisión y Resolución

Al seleccionar el sensor y el hardware de adquisición de datos adecuados, se deben conocer los requerimientos de precisión y resolución para su aplicación. Sin embargo los filtros y la amplificación pueden mejorar significativamente la precisión de las medidas de termopares, de RTDs y de termistores. Además de las consideraciones de los sensores, el hardware de adquisición de datos y acondicionamiento de señal debe igualar la precisión y la resolución requerida.

Compensación de Junta Fría (CJC)

CJC es una tecnología requerida para medidas precisas de termopares. Un voltaje es generado en la conexión entre el termopar y el terminal de su dispositivo de adquisición de datos. CJC mejora la precisión de sus medidas al proporcionar la temperatura en esta unión

Page 27: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

27

y al aplicar la corrección apropiada. Es importante conocer cómo funciona la CJC porque el error introducido por el sensor CJC se compone de cualquier error existente en su medida. Al calcular la precisión del sistema, este error puede ser significante y debe ser considerado

Eliminación de Ruido

Las señales de los sensores generalmente están en el rango de los milivoltios, lo cual los hace sensibles al ruido. Los filtros paso bajo se utilizan comúnmente en los sistemas de adquisición de datos de termopares para eliminar de manera efectiva el ruido de alta frecuencia.

También se puede reducir el ruido amplificando los voltajes de bajo nivel cerca de la fuente de señal.

Otras fuentes de ruidos son debidas a que por ejemplo los termopares, se suelen montar o soldar en materiales conductivos, haciéndolos particularmente sensibles al ruido en modo común y a los lazos de tierra. Un buen aislamiento ayuda a prevenir que ocurran lazos a tierra y puede mejorar drásticamente el rechazo de ruido en modo común.

2.3.5 Sensores de Temperatura con Semiconductores. La corriente de conducción de una unión p-n polarizada directamente, responde

exponencialmente con la tensión de forma directa, e inversa con la temperatura. Si se recuerda la ecuación característica de funcionamiento de un diodo.

(5)

donde:

q=carga del electrón

k=constante de boltman

T=temperatura

Isat=corriente de saturación

De esta ecuación, se desprende que a corriente constante, la tensión varía a razón de -2’2m por cada grado centígrado (ºC), considerando el diodo formado por la unión base-emisor de un transistor bipolar.

Page 28: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

28

(6)

Pero además de la variación con T, mantiene una fuerte dependencia de Isat con la temperatura, lo que hace que no sea directamente utilizable debido a la compleja forma de dependencia con la temperatura. Si se toman N transistores idénticos al primero sobre lo que se reparte igualitariamente la misma corriente Ic.

(7)

Si se toma la tensión diferencia entre ambos conjuntos, se tendrá una tensión proporcional a la temperatura absoluta pero sin tener dependencia alguna con Isat.

(8)

Page 29: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

29

De esta manera, puede construirse un circuito conteniendo N+1 transistores NPN, un espejo de corriente PNP y una resistencia estable con la temperatura, como se muestra en la figura siguiente, cuya corriente será proporcional a la temperatura absoluta, como lo será igualmente la caída de tensión sobre la resistencia R (que representa la diferencia entre V y Vn de las ecuaciones anteriores).

Los sensores basados en este sistema pueden dar su salida según la siguiente tabla:

Tabla 4. Tipo de salidas para los sensores

Los sensores de temperatura con salida en corriente se basan en el circuito descrito en la figura anterior, a estos sensores se les denomina sensor de temperatura band-gap. Este tipo de sensores no necesitan calibración alguna o ajuste externo.

La incorporación de dispositivos digitales integrados junto con el sensor reduce el número de componentes externos en las aplicaciones. Así, existen circuitos como el MCP9804 de Microchip que proporcionan un salida digital I2C como salida de temperatura.

Page 30: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

30

Figura 24. Diagrama de bloques sensor integrado

2.3.6 Elección Final

En base a las necesidades del proyecto y a las características de los diferentes sensores descritos se ha escogido para desarrollar el proyecto el sensor de temperatura de Microchip MCP9804.

El MCP9804 es un sensor de temperatura basado en semiconductores del tipo band-gap. La ventaja del uso de semiconductores en el sensado de temperatura es su capacidad de integración. En el caso del MCP9804, viene integrado con un convertidor analógico/digital y con una comunicación I2C.

Page 31: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

31

El uso de un termopar, RTD o termistor implica la existencia de un circuito para acondicionar la señal.

Tipo de sensor Acondicionamiento de señal necesaria Exactitud Sensibilidad

AmplificaciónFiltroUnión friaCompensación

AmplificaciónFiltroCorriente de excitaciónAmplificaciónFiltroCorriente de excitación

Termopar Buena Buena

RTD La mejor Muy buena

Termistor Muy buena La mejor

Integrado lineal MCP9804

Muy buena BuenaNo necesita acondicionamiento de

señal

Tabla 5. Comparativa sensores Tª

En el presente proyecto el uso de un circuito acondicionador de señal presenta varios inconvenientes.

- Se añade un circuito acondicionador a la placa del dispositivo inalámbrico.

- Se debe controlar el circuito acondicionador para que mientras no esté en uso consuma la mínima energía.

- El hecho de utilizar más componentes discretos incrementa la complejidad del circuito, lo hace más susceptible a fallos y hace más difícil su reparación.

- Un circuito acondicionador aumenta el precio del sistema sensor.

En la siguiente tabla se muestra el precio aproximado de los diferentes sensores.

Tipo Sensor Precio (euros) Intercambiabilidad Estabilidad Circuito Acond. TOTAL

MCP9804 1.59 excelente buena 0 1.59Termopar tipo T 4.27 buena media 1 5.27

Termistor 0.7 mala media 1 1.7RTD - PT100 3.65 excelente buena 1 4.65

Tabla 6. Comparativa precios diferentes sensores

Como se puede observar, el sensor más económico es el termistor, sin embargo, la

necesidad de acondicionar su señal lo relega al segundo puesto, siendo el MCP9804 el más económico.

Page 32: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

32

Existen sensores de temperatura basados en semiconductores más económicos, sin embargo su señal de temperatura es analógica, lo que hace necesaria un acondicionamiento de la señal, siendo el precio final similar al MCP9804.

En definitiva, el uso del MCP9804 presenta muchas ventajas frente al resto de sensores, entre las que podemos destacar:

- facilidad de ínter cambiabilidad, en caso de fallo del sensor

- Alta precisión y resolución

- No necesita acondicionar la señal de salida. Salida digital de temperatura.

- Disminuye la complejidad del sistema y aumenta su fiabilidad.

- Presenta modo de funcionamiento en bajo consumo, necesario en sistemas a batería.

- El conjunto sensor se encuentra entre los más económicos

Page 33: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

33

2.4 Comunicación Wireless entre Módulos ZigBee constituye una de las partes importantes de este proyecto puesto que será el

medio de transmisión elegido para el envío de los datos, una vez medidos con el sensor de temperatura.

Como se verá más adelante, ZigBee puede ser usado para una gran variedad de

aplicaciones, como podemos observar en la Figura 25, pero en este caso su utilización es para fines de monitorización corporal.

Figura 25. Aplicaciones tecnología Zigbee

En este apartado se tratará de forma amplia y específica el funcionamiento de este

tipo de conexión, partiendo de una definición de ZigBee y posteriormente estudiando tanto sus principales características como su funcionamiento en una red ZigBee.

Otro punto a tener en cuenta es el porqué de su elección teniendo otros tipos de posibilidades. Para ello se realizará una comparación con otros medios de transmisión muy parejos a ZigBee. A partir de dicha comparativa podremos entender y asimilar que un medio ZigBee para este tipo de proyecto es lo más adecuado.

2.4.1 ZigBee

ZigBee es el nombre de la especificación de un conjunto de protocolos de alto nivel de comunicación inalámbrica. Esta especificación define una solución para comunicaciones inalámbricas de bajo coste y consumo.

El principal objetivo que pretende satisfacer una red de comunicación ZigBee es la de comunicar aplicaciones que requieren comunicaciones seguras, con baja tasa de envío y maximización de la vida útil de sus baterías. La red, en su conjunto, utilizará una cantidad

Page 34: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

34

muy pequeña de energía de forma que cada dispositivo individual pueda tener una autonomía de hasta 5 años antes de necesitar un recambio en su sistema de alimentación.

La ZigBee Alliance es el grupo encargado de su desarrollo. La primera versión 1.0

fue aprobada el 14 de diciembre de 2004. En diciembre de 2006 se aprobó el protocolo ZigBee 2006, y actualmente se está trabajando en nuevas versiones.

El medio de transmisión ZigBee trabaja sobre la banda ISM para usos industriales,

científicos y médicos; en concreto, 868MHz en Europa, 915MHz en Estados Unidos y 2.4GHz en todo el mundo. Al ser éste último libre en todo el mundo, las empresas optan por esta opción a la hora de diseñar. En el rango de frecuencias de 2.4GHz se definen hasta 16 canales, cada uno de ellos con un ancho de banda de 5MHz.

La pila de protocolos ZigBee, también conocida como ZigBee Stack, se basa en el

nivel físico (PHY) y el control de acceso al medio (MAC) definidos en el estándar IEEE 802.15.4, que desarrolla estos niveles para redes inalámbricas de área personal de baja tasa de transferencia (LR-WPAN, Low Rate - Wireless Personal Area Network). La especificación ZigBee completa este estándar añadiendo cuatro componentes principales:

- Nivel de red. - Nivel de aplicación - Objetos de dispositivo ZigBee (ZDO, ZigBee Device Objects). - Objetos de aplicación definidos por el fabricante. Además de añadir dos capas de alto nivel (nivel de red y de aplicación) a la pila de

protocolos, el principal cambio es la adición de los ZDO ya que son los responsables de llevar a cabo una serie de cometidos, entre los que se encuentran el mantenimiento de los roles de los dispositivos, la gestión de peticiones de unión a una red, el descubrimiento de otros dispositivos y la seguridad.

También hacer referencia a los objetos de aplicación definidos por el fabricante puesto

que permiten la personalización y adaptación, y favorecen la integración total. Dicha ZigBee Stack será un elemento a tener en cuenta más adelante puesto que los

dispositivos que se usen para implementar nuestro proyecto deberán ser totalmente compatibles con ZigBee y de este modo poder programar la pila de protocolos.

En la Figura 26 vemos de forma esquematizada los distintos niveles del estándar

802.15.4 y de la especificación ZigBee.

Page 35: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

35

Figura 26. Niveles estándar 802.15.4

2.4.2 IEEE 802.15.4 Antes de estudiar la especificación ZigBee, trataremos los niveles definidos por el

estándar IEEE 802.15.4 específico para conexiones inalámbricas tales como la nuestra. El estándar no define niveles superiores ni subcapas de interoperabilidad. Existen extensiones, como la especificación ZigBee, que complementan al estándar en la propuesta de soluciones completas.

IEEE 802.15.41 es la base sobre la que se define la especificación de ZigBee, cuyo

propósito es ofrecer una solución completa para este tipo de redes construyendo los niveles superiores de la pila de protocolos que el estándar no cubre.

El propósito del estándar es definir los niveles de red básicos para dar servicio a un

tipo específico de red inalámbrica de área personal (WPAN) centrada en la habilitación de comunicación entre dispositivos con bajo coste y velocidad. Se enfatiza el bajo coste de comunicación con nodos cercanos y sin infraestructura, o con muy poca, para favorecer aún más el bajo consumo.

En su forma básica se concibe un área de comunicación de 10 metros con una tasa

de transferencia de 250kbps. Como se ha indicado, la característica fundamental de 802.15.4 entre las WPAN’s es la obtención de costes de fabricación excepcionalmente bajos por medio de la sencillez tecnológica, sin perjuicio de la generalidad o la adaptabilidad.

Entre los aspectos más importantes se encuentra la adecuación de su uso para

tiempo real por medio de slots2 de tiempo garantizados, evitación de colisiones por CSMA/CA y soporte integrado a las comunicaciones seguras. También se incluyen

Page 36: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

36

funciones de control de consumo de energía como calidad del enlace y detección de energía.

2.4.2.1 Arquitectura de los Protocolos

La definición de los distintos niveles se basa en el modelo OSI. Aunque los niveles inferiores (físico y enlace de datos) se definen en el estándar 802.15.4, se prevé la interacción con el resto de niveles por medio de un subnivel de Control de Enlace Lógico basado en IEEE 802.2 (LLC, Logical Link Control), que acceda al Control de Acceso al Medio (MAC) a través de un subnivel de convergencia. La implementación puede basarse en dispositivos externos o integrarlo todo en dispositivos autónomos.

Figura27. Pila de protocolos modelo OSI

2.4.2.2 Nivel Físico

El nivel físico (PHY) proporciona el servicio de transmisión de datos sobre el medio físico propiamente dicho, así como la interfaz con la entidad de gestión del nivel físico, por medio de la cual se puede acceder a todos los servicios de gestión del nivel y que mantiene una base de datos con información de redes de área personal relacionadas.

De esta forma, PHY controla el transceptor de radiofrecuencia y realiza la selección

de canales junto con el control de consumo y de la señal. Como ya se ha comentado con anterioridad, se opera en una de las tres posibles bandas de frecuencia siguientes:

- 868-868.8MHz: Europa. Permite de uno a tres canales. - 902-928MHz: Norte América. Permite de diez a treinta canales. - 2400-2483.5MHz: Uso en todo el mundo. Permite hasta dieciséis canales.

Page 37: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

37

Figura 28. Banda de frecuencias

La versión original del estándar (2003) especifica dos niveles físicos basados en

Espectro Ensanchado por Secuencia Directa (DSSS, Direct Sequence Spread Spectrum). Uno de los dos niveles físicos trabaja en las bandas de 868/915MHz con tasas de

transferencia de entre 20 y 40kbps; el otro nivel trabaja en la banda de 2450MHz con hasta 250kbps. Posteriormente se realizó una revisión en el 2006 incrementando las tasas de datos máximas de las bandas de 868/915MHz, pasando a transmitir hasta 100 y 250kbps.

En el nivel físico podemos localizar cuatro niveles físicos distintos en base al método

de modulación usado. Tres de estos cuatro niveles conservan el mecanismo DSSS: las bandas de 868-915MHz que usan modulación en fase binaria o por cuadratura en offset (OQPSK, Offset Quadrature Phase Shift Keying). En la banda de 2450MHz se usa la técnica OQPSK.

Adicionalmente, se define una combinación opcional de modulación binaria y en

amplitud para las bandas de menores frecuencias, basadas por lo tanto en una difusión de espectro paralela, no secuencial (PSSS). Si se usan éstas bandas de menor frecuencia, se puede cambiar dinámicamente el nivel físico usado entre los soportados.

2.4.2.3 Nivel Enlace de Datos

En este nivel encontramos el Control de Acceso al Medio (MAC). Éste transmite tramas MAC usando para ello el canal físico. Además del servicio de datos, ofrece un interfaz de control y regula el acceso al canal físico y al balizado de la red. También controla la validación de las tramas y las asociaciones entre nodos, y garantiza slots de tiempo. Por último, ofrece puntos de enganche para servicios seguros.

En el nivel de enlace de datos podemos localizar el Control de Enlace Lógico (LLC) que hace la función de interfaz con los niveles superiores de la pila de protocolos.

En la figura 29 podemos observar los niveles definidos por el estándar 802.15.4 y

las capas intermedias que posibilitan la comunicación con los niveles superiores definidos por un tipo de especificación WPAN, como ZigBee.

Page 38: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

38

Figura 29. Pila de protocolos del estándar IEEE 802.15.4

2.4.3 Especificación Zigbee

Nivel de RED Los cometidos principales del nivel de red son permitir el correcto uso del subnivel

MAC, definido por el estándar 802.15.4, y ofrecer un interfaz adecuado para su uso por parte del nivel inmediatamente superior, el nivel de aplicación. Sus capacidades son las típicas de un nivel de red clásico.

Por una parte, la entidad de datos crea y gestiona las unidades de datos del nivel de

red a partir del payload del nivel de aplicación y realiza el ruteo en base a la topología de la red en la que el dispositivo se encuentra. Por otra parte, las funciones de control del nivel de red controlan la configuración de nuevos dispositivos y el establecimiento de nuevas redes; puede decidir si un dispositivo colindante pertenece a la red e identifica nuevos routers y vecinos. El control puede detectar así mismo la presencia de receptores, lo que posibilita la comunicación directa y la sincronización a nivel MAC. Nivel de APLICACIÓN

El nivel de aplicación es el más alto definido por la especificación y, por tanto, la interfaz efectiva entre el nodo ZigBee y sus usuarios. En él se ubican la mayor parte de los componentes definidos por la especificación: tanto ZDO’s, como sus procedimientos de control y los objetos de aplicación.

Componentes principales

El ZDO se encarga de la definición del rol de un dispositivo como Coordinador ZigBee o Dispositivo Final. Además, el ZDO identifica los dispositivos que se encuentran a un salto en la red (dispositivos vecinos) y los servicios que ofrecen. Tras ello, puede proceder a establecer enlaces seguros con dispositivos externos y responder peticiones.

El subnivel de soporte a la aplicación (APS, Application Support Sublayer) es el

segundo componente básico del nivel. Como tal, ofrece una interfaz bien definida y

Page 39: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

39

servicios de control asociados. Trabaja como nexo de unión entre el nivel de red y el resto de componentes del nivel de aplicación. Mantiene actualizadas las tablas de asociaciones en forma de base de datos, que puede utilizarse para encontrar dispositivos adecuados en base a los servicios demandados y ofrecidos. Como puente entre dos niveles, encamina los mensajes a lo largo de la pila de protocolos.

2.4.4 Dispositivos que Constituyen una Red Zigbee En una red ZigBee podemos encontrar y detectar tres tipos de dispositivos ZigBee

diferentes, según el papel que desarrollen en nuestra red. Estos dispositivos son los siguientes:

- Coordinador ZigBee (ZigBee Coordinator, ZC): Consiste en el dispositivo más

completo de los tres, puesto que sus funciones son las de controlar y coordinar la red y los caminos que deben seguir los dispositivos para conectarse entre ellos. Debemos encontrar obligatoriamente un ZC en cada red ZigBee.

- Router ZigBee (ZigBee Router, ZR): Su función es la de interconectar los

dispositivos separados en la topología de la red, además de ofrecer un nivel de aplicación para la ejecución de código de usuario.

- Dispositivo Final (ZigBee End Device, ZED): En este dispositivo queda

representado las principales características de ZigBee, como son el bajo consumo y el bajo coste. Los ZED poseen la funcionalidad necesaria para comunicarse con su nodo padre, que ya puede ser el Router ZigBee o el Coordinador ZigBee, pero no puede transmitir información destinada a otros dispositivos. Es por ello, que este tipo de dispositivo puede estar “dormido” la mayor parte del tiempo aumentando así la vida media de sus baterías. Un ZED tiene requerimientos mínimos de memoria y es por ello significativamente más barato.

Vistas las funciones realizadas por los distintos tipos de dispositivos que forman una

red ZigBee podemos clasificarlos, según su funcionalidad, en dos tipos de nodo definidos por el estándar 802.15.4:

- Dispositivo de Funcionalidad Completa (FFD, Full-Function Device): Conocido

también como nodo activo. Gracias a la memoria adicional y a la capacidad de computar puede funcionar como Coordinador o Router ZigBee de una red de área personal (PAN) o como un nodo normal. Implementa un modelo general de comunicación que le permite establecer un intercambio con cualquier otro dispositivo pudiendo encaminar mensajes, en cuyo caso se le denomina coordinador (coordinador de la PAN si es el responsable de toda la red y no sólo de su entorno). Puede ser usado en dispositivos de red que actúen de interface con los usuarios.

- Dispositivo de Funcionalidad Reducida (RFD, Reduced-Function Device):

Conocido también como nodo pasivo. Posee una capacidad y funcionalidad limitada para garantizar un bajo coste y una gran simplicidad, por ello sólo pueden

Page 40: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

40

comunicarse con FFD’s y nunca pueden ser coordinadores. Básicamente constituyen los sensores de la red.

2.4.5 Comunicaciones y Descubrimientos de Dispositivos Para que los dispositivos que forman una aplicación puedan comunicarse, deben

utilizar un protocolo de aplicación compartido. Estos acuerdos se agrupan en perfiles. En el momento de establecer una comunicación entre los distintos dispositivos se realiza mediante pares de identificadores fuente y destino (identificadores de cluster), agrupando las parejas en tablas de asociaciones. Dichas tablas estarán correctamente almacenadas en los Coordinadores ZigBee.

En base a la información disponible, el descubrimiento de dispositivos puede

efectuarse utilizando varios métodos. En caso de conocer la dirección de red, se pide la dirección IEEE utilizando unicast3. Si no es así, se pide por broadcast4. Los Dispositivos Finales ZigBee responden a estas peticiones con sus direcciones propias, mientras que los Routers y Coordinadores ZigBee envían también las direcciones de todos los dispositivos asociados a ellos.

Los identificadores de cluster favorecen la asociación entre entidades

complementarias por medio de tablas de asociación, mantenidas en los Coordinadores ZigBee, ya que estas tablas siempre han de estar disponibles en una red. Los Coordinadores son los encargados de guardar las tablas ya que, de entre todos los nodos, son los que con mayor seguridad dispondrán de una alimentación continua. Para establecer asociaciones entre diferentes dispositivos se necesita que se haya formado un enlace de comunicación, tras ello se decide si es necesario adjuntar un nuevo nodo a la red en base a la aplicación y las políticas de seguridad. Nada más establecerse la asociación, pueden iniciarse las comunicaciones.

Existen dos modos de direccionamientos. Por una parte, el direccionamiento directo

utiliza la dirección de radio y el número de endpoint5; por otra parte, el direccionamiento indirecto necesita toda la información relevante (dirección, endpoint, cluster y atributo), y la envía al Coordinador de la red. El Coordinador es el encargado de traducir su petición y proporcionarle los datos deseados. Este último direccionamiento es especialmente útil para favorecer el uso de dispositivos muy sencillos y minimizar el almacenamiento interno.

2.4.6 Modos de Funcionamiento El funcionamiento de ZigBee debe cumplir la premisa del bajo consumo de sus

nodos. Para ello un nodo ZigBee, tanto activo como pasivo, reduce su consumo gracias a que puede permanecer “dormido” la mayor parte del tiempo, incluso muchos días seguidos. Cuando decimos que el nodo permanece “dormido” nos referimos a que está a la espera de ser activado por parte del Router o del Coordinador ZigBee.

Cuando se requiere su uso, el nodo ZigBee es capaz de despertar en un tiempo

ínfimo, para volverse a “dormir” cuando deje de ser requerido. El tiempo que tarda un nodo cualquiera en despertarse es de aproximadamente 15ms. Las redes ZigBee han sido diseñadas para conservar la potencia en los nodos esclavos (ZED), de esta forma se consigue el bajo consumo de potencia. La idea del funcionamiento ZigBee consiste en que

Page 41: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

41

los dispositivos esclavos en todo momento permanecen en modo “dormido” a no ser que sean activados, de tal forma que solo se “despiertan” por una fracción de segundo para confirmar que siguen en nuestra red de dispositivos de la que forman parte, es decir, que siguen “vivos”.

En las redes ZigBee, se pueden usar dos modos de funcionamiento diferentes: con

balizas o sin balizas.

Con balizas En este modelo de funcionamiento, el camino de transmisión y recepción está

permanentemente controlado por un distribuidor que se encarga de controlar el canal y dirigir las transmisiones. El distribuidor permite a todos los dispositivos saber cuándo pueden transmitir.

Para el control del canal se utilizan las balizas, elementos que se usan para poder

sincronizar todos los dispositivos que conforman la red. Los intervalos de las balizas son asignados por el coordinador de la red (Coordinador ZigBee) y pueden variar desde los 15ms hasta los 4 minutos.

Este modo es más recomendable cuando el coordinador de red trabaja con una

batería. Los dispositivos que conforman la red escuchan a dicho coordinador durante el balizamiento (envío de mensajes a todos los dispositivos -broadcast-, entre 0.015 y 252 segundos). Un dispositivo que quiere intervenir, lo primero que tendrá que hacer es registrarse para el coordinador, y es entonces cuando mira si hay mensajes para él. En el caso de que no haya mensajes, este dispositivo vuelve a “dormir”, y se despierta de acuerdo a un horario que ha establecido previamente el coordinador. En cuanto el coordinador termina el balizamiento, todos los dispositivos de la red vuelven a “dormirse”.

Como vemos, se trata de un mecanismo de control del consumo de potencia en la

red.

Sin balizas En este tipo cada dispositivo es autónomo, pudiendo iniciar una conversación en la

cual los otros dispositivos pueden interferir. A veces puede ocurrir que el nodo destino puede no oír la petición o que el dispositivo emisor pretenda transmitir cuando el canal esté ocupado, ocasionando posibles colisiones. Es por ello que se debe utilizar un mecanismo de control de acceso al medio. Las redes sin balizas acceden al canal por medio del CSMA/CA. El CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) se basa en la escucha del canal por parte del nodo que pretende transmitir, y de esta forma detecta si algún otro nodo que compone la red está transmitiendo o tiene intención de ello.

Al tratarse de un medio inalámbrico, la detección de colisiones no es posible, por lo tanto para evitar dichas colisiones la estación que quiera transmitir, si no hay tráfico en el canal, podrá hacerlo pasado un cierto instante de tiempo; en caso de existir tráfico, deberá esperar un cierto tiempo de espera más otro cierto intervalo de tiempo aleatorio.

Este sistema se usa típicamente en los sistemas de seguridad, en los cuales sus

dispositivos duermen prácticamente todo el tiempo. Para que se les tenga en cuenta, estos elementos se “despiertan” de forma regular para anunciar que siguen en la red.

Page 42: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

42

Cuando se produce un evento, como por ejemplo que un sensor detecte algún

movimiento, el sensor “despierta” instantáneamente y transmite a la alarma correspondiente. Es en ese momento cuando el coordinador de red recibe el mensaje enviado por el sensor y activa la alarma pertinente. En este caso, el coordinador de red se alimenta de la red principal durante todo el tiempo.

Los routers suelen estar activos todo el tiempo, por lo que requieren una

alimentación estable en general. Esto permite redes heterogéneas en las que algunos dispositivos pueden estar transmitiendo todo el tiempo, mientras que otros sólo transmiten ante la presencia de estímulos externos.

En general, los protocolos ZigBee que no hacen uso de las baliza, minimizan el

tiempo de actividad para evitar el uso de energía. En las redes con balizas, los nodos sólo necesitan estar despiertos mientras se transmiten las balizas (además de cuando se les asigna tiempo para transmitir); si no hay balizas, el consumo de cada dispositivo será distinto ya que encontraremos nodos activos permanentemente y otros que sólo lo están esporádicamente.

Acceso al medio

El medio físico es un recurso al que se accede utilizando CSMA/CA. Las redes que no utilizan las balizas hacen uso de una variación del mismo basada en la escucha del medio, temporizada por un algoritmo de backoff6, salvo en el caso de las confirmaciones (ACK, Acknowledgement).

Estos mensajes de confirmación pueden ser opcionales en algunos casos. La

recepción de una confirmación certifica el éxito de nuestro envío. En cualquier caso, si un dispositivo es incapaz de procesar una trama en un momento dado, no confirma su recepción. Pueden realizarse reintentos basados en timeout un cierto número de veces, tras lo cual se decide si seguir intentándolo a dar error de transmisión.

El entorno de funcionamiento previsto para este tipo de redes exige que se

maximice la vida de la fuente de energía, por lo que se favorecen los protocolos que conducen a estos fines. Para ello, se programan comprobaciones periódicas de mensajes pendientes, más o menos frecuentes según la aplicación concreta.

En lo que respecta a la seguridad en las comunicaciones, el subnivel MAC ofrece

funcionalidades que los niveles superiores pueden utilizar para lograr alcanzar el nivel de seguridad deseado. Estos niveles superiores pueden especificar claves simétricas para proteger los datos y restringir éstos a un grupo de dispositivos o a un enlace punto a punto.

Estos grupos se especifican en listas de control de acceso. Además, MAC realiza

comprobaciones de frescura (freshness check) entre recepciones sucesivas para asegurar que las tramas viejas cuyo contenido no se considera útil o válido ya, no transcienden a los niveles superiores.

Page 43: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

43

2.4.7 Modelo de Redes Zigbee Las redes están compuestas por grupos de dispositivos separados por distancias

suficientemente reducidas. Cada dispositivo posee un identificador único de 64 bits, aunque si se dan ciertas condiciones de entorno en éste pueden utilizarse identificadores cortos de 16 bits. Probablemente éstos se utilizarán dentro del dominio de cada PAN separadas.

Un aspecto a tener muy en cuenta son los tipos de topologías de red que permite el

estándar que soporta ZigBee. Su nivel de red permite tres topologías distintas:

- Topología en estrella. - Topología en árbol. - Topología de malla. Toda red necesita al menos un dispositivo coordinador (FFD), encargado de su

creación, mantenimiento básico y control de sus parámetros. Seguidamente estudiaremos de forma detallada los distintos tipos de topologías de ZigBee, dónde se sitúa en cada uno de ellos el coordinador de la red y cuál es la topología más adecuada.

Topología estrella

En redes en estrella el coordinador se sitúa en el centro, y toda conexión que se quiera realizar entre los distintos nodos de la red debe pasar por éste.

Una red en estrella activa tiene un nodo central activo que normalmente tiene los medios para prevenir problemas. Se utiliza sobre todo para redes locales. La mayoría de las redes de área local que tienen un router, un switch o un hub7 siguen esta topología.

El nodo central, en el caso de utilizar uno de estos dispositivos, sería el router, el

switch o el hub por el que pasan todos los paquetes. Las ventajas que nos puede aportar una red en estrella sería la facilidad a la hora de

implementarla, adecuada para redes temporales, el fallo de un nodo periférico no influiría en el comportamiento del resto de la red y no hay problemas con colisiones de datos ya que cada estación tiene su propia conexión al coordinador central. En contrapartida, la utilización de una red en estrella nos limita tanto el número de nodos que pueden estar conectados a la red, como la longitud del cableado (en caso de ser una conexión cableada). También se debe tener muy en cuenta que los costes de mantenimientos pueden aumentar a largo plazo, y que el fallo del nodo central puede echar abajo la red entera.

A causa de todo ello, podemos confirmar que una red en estrella puede ser poco

fiable en el momento de realizar transferencias de información

Topología en árbol

Topología de red en la que los nodos están colocados en forma de árbol. Para este tipo de topología el coordinador será la raíz del árbol. Desde una vista topológica, la conexión en árbol es parecida a una serie de redes en estrella interconectadas, salvo en que

Page 44: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

44

no tiene un nodo central. En cambio, tiene un nodo de enlace troncal, generalmente ocupado por un hub o switch, desde el que se ramifican los demás nodos.

En redes de árbol se permite el uso de Router ZigBee para interconectar los distintos nodos de la red. Así mismo, la comunicación en árbol es estrictamente jerárquica con lo que puede utilizar opcionalmente tramas balizas. Una falla de un nodo no implica la interrupción en las comunicaciones. Se comparte el mismo canal de comunicaciones.

Los problemas asociados a este tipo de topología radican en que los datos son

recibidos por todas las estaciones sin importar para quien vayan dirigidos. Por lo tanto es necesario dotar a la red de un mecanismo que permita identificar al destinatario de los mensajes. Además, debido a la presencia de un medio de transmisión compartido entre muchas estaciones, pueden producirse interferencias entre las señales cuando dos o más estaciones transmiten al mismo tiempo. La solución al primero de estos problemas aparece con la introducción de un identificador de estación destino. Para darle solución al segundo problema, hay que mantener una coordinación entre todas las estaciones, y para eso se utiliza cierta información de control en las tramas que controlan quien transmite en cada momento (utilización de tramas balizas mencionadas anteriormente).

Topología en malla

La topología más interesante es la topología de malla. Consiste en que al menos uno de los nodos tendrá más de dos conexiones. Con ello conseguimos que si, en un momento dado, un nodo del camino falla y se cae, pueda seguir la comunicación entre todos los demás nodos debido a que se rehacen todos los caminos.

El establecimiento de una red de malla es una manera de encaminar datos, voz e

instrucciones entre los nodos. Las redes de malla se diferencian de otras redes en que las piezas de la red (los nodos) están conectadas unas con otras por uno u otro camino. Esta configuración ofrece caminos redundantes por toda la red, de modo que si falla un cable, otro se hará cargo del tráfico.

Esta topología, a diferencia de las vistas en apartados anteriores, no requiere de un

servidor o nodo central, con lo que se reduce el mantenimiento. Un error en un nodo, sea importante o no, no implica la caída de toda la red.

Como ya se ha comentado anteriormente, las redes de malla son autogenerables. La

red puede funcionar incluso cuando un nodo desaparece o la conexión falla, ya que el resto de nodos evitan el paso por ese punto. Consecuentemente, se forma una red muy confiable.

Gracias a las estructuras arbitrarias que permite la topología en malla , es posible

llevar los mensajes de un nodo a otro por diferentes caminos. A consecuencia de este tipo de estructura no se pueden usar tramas balizas.

Al igual que en la topología en árbol, las redes en malla permiten el uso de Routers

ZigBee para habilitar la comunicación en el nivel de red. Éstos no son Coordinadores ZigBee, pero pueden serlo de sus respectivos espacios de operación personal definidos por 802.15.4.

Page 45: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

45

Aunque la facilidad de solución de problemas y el aumento de la fiabilidad son ventajas muy interesantes, estas redes resultan caras de instalar, ya que utilizan mucho cableado.

En la siguiente figura, se puede apreciar las diferentes topologías que puede tener

una red ZigBee.

Figura 30. Topologías de una red ZigBee

Árbol de clusters Vistos los tipos de topologías que podemos manipular, encontramos que nuestro

estándar menciona un tipo de red definido como “árbol de clusters”. Para ello se usan redes punto a punto.

Las redes punto a punto pueden formar patrones arbitrarios de conexionado, donde

su extensión se ve limitada únicamente por la distancia existente entre cada par de nodos. Forman la base de redes ad hoc8 autoorganizativas. El estándar no define un nivel

de red, por lo que no se soportan funciones de ruteo de forma directa, aunque si ha dicho nivel se le añade se pueden realizar comunicaciones en varios saltos.

Las estructuras árbol de clusters están formadas por el conexionado entre nodos

FFD y RFD. Puesto que se necesita de al menos un nodo FFD para poder conectar diferentes RFD’s, se aprovecha de ello para generar estructuras donde los nodos RFD’s simbolizan las hojas de un árbol, y donde la mayoría de los nodos son FFD’s. A partir de los árboles de clusters podemos generar grandes redes de malla, cuyos nodos sean árboles de clusters con un coordinador local para cada cluster, junto con un coordinador global.

Page 46: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

46

Figura 31. Árbol de clusters

2.4.8 Otros Medios de Transmisión de Datos y Elección Final Como ya hemos podido comprobar, el desarrollo de la tecnología de ZigBee se

centra en la sencillez y bajo coste de sus nodos y en el bajo nivel de transmisión de información. Es por ello que su utilización en este proyecto es la más adecuada en comparación con otras redes inalámbricas semejantes de la familia WPAN, como por ejemplo Bluetooth. ZigBee vs. Bluetooth

ZigBee es muy similar a Bluetooth, pero con algunas diferencias:

- Una red ZigBee puede constar de más de 65000 nodos distribuidos en subredes de 255 nodos, frente a los 8 máximos de una subred (piconet9) Bluetooth.

- Menor consumo eléctrico que el de Bluetooth. Este menor consumo se debe a que

el sistema ZigBee, como ya se ha mencionado anteriormente, se queda la mayor parte del tiempo dormido, mientras que en una comunicación Bluetooth esto no se puede dar ya que suelen estar siempre transmitiendo y/o recibiendo.

En la siguiente tabla podemos ver en términos exactos el consumo de ZigBee y de

Bluetooth.

Tabla 6. Consumo ZigBee Vs Bluetooth

La velocidad ZigBee es menor a la de Bluetooth. ZigBee tiene una velocidad de

hasta 250kbps, mientras que en Bluetooth es de hasta 1Mbps. Esta diferencia de valores es lógica si tenemos en cuenta que ZigBee se basa en una transmisión de datos baja, y por lo tanto no nos afecta en gran medida en el momento de transmisión y recepción de datos.

Vistas las principales diferencias entre ZigBee y Bluetooth, podemos llegar a la

conclusión de que uno es más apropiado que el otro para ciertas aplicaciones. Haciendo referencia a la diferencia de velocidades, Bluetooth se usa para aplicaciones con mayor carga de información para transmitir, como por ejemplo para teléfonos móviles e

Page 47: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

47

informática casera; la velocidad de ZigBee se hace insuficiente para estas tareas, desviándolo a usos tales como la domótica, los productos dependientes de la batería, artículos de juguetería y sensores médicos, en los cuales la transferencia de datos es menor.

Éste último caso de utilización de ZigBee, los sensores médicos, nos garantiza que

ZigBee será un medio idóneo para este proyecto que se basa en la transmisión de datos a partir de medidas capturadas por un sensor de temperatura. Wireless USB

Wireless USB es un protocolo de comunicación inalámbrica por radio con gran ancho de banda, que combina la sencillez de uso de USB con la versatilidad de las redes inalámbricas.

Utiliza como banda frecuencial la plataforma UWB (Ultra-Wide Band), operando en los rangos de frecuencia de 3.1 a 10.6GHz. Puede lograr tasas de transmisión de hasta 480Mbps en rangos de tres metros y 110Mbps en rangos de diez metros.

Gracias a su alta tasa de transferencia, Wireless puede usarse para aplicaciones que

requieren un flujo de transferencia elevado. Wireless USB se utiliza en mandos de videoconsola, impresoras, escáneres, transmisión y visualización de vídeos, etc.

Haciendo una comparativa de los principales aspectos de Wireless USB, Bluetooth,

Wi-Fi y ZigBee, como podemos comprobar en la siguiente tabla, el rango de frecuencia en el que trabaja Wireless es superior al de los otros medios de transmisión, al mismo tiempo que su tasa de transferencia es más elevada. Centrándonos en los valores de transferencia y utilizando la lógica, a mayor tasa de transferencia mayor será el consumo, con lo cual no nos beneficia para el tipo de proyecto que queremos llevar a cabo. ZigBee sigue siendo la mejor opción.

Tabla 7. Comparativa ZigBee – Bluetooth – Wireless USB – Wi-Fi

Wi-Fi

Wi-Fi, al igual que el resto de medios que estamos analizando, consiste en un sistema de envío de datos sobre redes que utiliza ondas en lugar de cables (wireless). Se basa en el estándar IEEE 802.11, y es por ello que podemos encontrar diversos tipos de Wi-Fi:

- Los estándares IEEE 802.11 son fácilmente aceptados debido a que usan la banda

frecuencial de 2.4GHz. - La velocidad de transferencia del medio depende del estándar que se haga uso.

Puede proporcionarnos una velocidad de 11Mbps (IEEE 802.11b) hasta 108Mbps (IEEE 802.11n), pasando por los 54Mbps del estándar IEEE 802.11g.

Page 48: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

48

- En la actualidad ya se utiliza el estándar IEEE 802.11a, conocido como Wi-Fi5 ya que opera en la banda de 5GHz. Dicha banda frecuencial (5GHz) ha sido recientemente habilitada. Al no existir otras tecnologías como ZigBee o Bluetooth que hagan uso de ella, nos garantiza un mínimo de interferencias vecinas. Su alcance es algo menor que el de los estándares que trabajan a 2.4GHz.

La principal ventaja que nos proporciona Wi-Fi, aparte de las altas velocidades de

transferencia, es la capacidad de suministrar cobertura en un gran rango de distancia (capaz de alcanzar los 100 metros).

Por otra parte, la desventaja fundamental de estas redes existe en el campo de la

seguridad. Existen algunos programas capaces de capturar paquetes enviados y calcular la contraseña de la red, y de esta forma acceder a ella. Al igual que el resto de medios de transmisión wireless, la velocidad de transferencia se ve disminuida al no utilizar cables.

Vistos los principales puntos que nos puede aportar la utilización de Wi-Fi (altas

velocidades de transmisión y gran cobertura), se puede concluir que este tipo de medio quedaría fuera del tipo de transmisión que se pretende llevar a cabo al necesitar una mayor fuente de energía para poder proporcionar dichas tasas de velocidades. Wibree

Wibree resultaría ser una opción a tener en cuenta para su empleo en este proyecto puesto que sus principales características y sus principios básicos son parejos a los ya vistos en ZigBee.

Wibree es una nueva tecnología digital de radio interoperable para pequeños dispositivos. Consiste en una tecnología de comunicación inalámbrica que nos ofrece conexión y comunicación entre dispositivos móviles o computadores y otros dispositivos más pequeños. Su diseño está pensado para que funcione con un consumo de energía mínimo.

Al igual que en ZigBee, Wibree opera a los 2.4GHz (banda ISM) haciendo posible

la comunicación entre dispositivos de pila de botón y dispositivos Bluetooth. Su tasa de transferencia es superior respecto a ZigBee: 250kbps de ZigBee frente a 1Mbps de Wibree.

Puesto que en este proyecto la cantidad de información a transmitir será mínima

(datos medidos por el sensor de temperatura), la tasa de transferencia tampoco interesa, en primera instancia, que sea muy elevada.

Wibree se diseñó para dos modos distintos de implementación:

- Wibree de implementación única: Esta implementación está pensada para el funcionamiento de dispositivos que requieren un consumo bajo de energía, pequeños y de bajo costo, como por ejemplo relojes, sensores deportivos, teclados inalámbricos, etc.

- Wibree de implementación modo dual (Bluetooth – Wibree): Se diseña para su uso

en dispositivos Bluetooth donde Wibree se integra con Bluetooth y BluetoothRF,

Page 49: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

49

utilizando los dispositivos existentes y dirigidos especialmente a dispositivos como teléfonos móviles y computadoras personales.

TinyOS

TinyOS es un sistema operativo open source basado en componentes para redes de sensores inalámbricas. Está diseñado para incorporar nuevas innovaciones rápidamente y para funcionar bajo las importantes restricciones de memoria que se dan en las redes de sensores.

Las aplicaciones para TinyOS se escriben en nesC, un dialecto del lenguaje de programación C optimizado para las limitaciones de memoria de las redes de sensores; donde el lenguaje de programación nesC consiste en un conjunto de tareas y procesos que colaboran entre sí. Existen, además, varias herramientas que completan y facilitan su uso, escritas en su mayoría en Java y en Bash.

TinyOS proporciona interfaces, módulos y configuraciones específicas, que

permiten a los programadores construir programas como una serie de módulos que hacen tareas específicas. Los módulos de TinyOS proporcionan interfaces para los tipos estándar de entradas y salidas de hardware y sensores.

A pesar de que TinyOS no sea una tecnología para comunicaciones inalámbricas, se

puede tener en cuenta su utilización para posibles configuraciones y programaciones de redes inalámbricas.

Page 50: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

50

Comparativa general

Tabla 8. Comparativa entre los distintos medios de transmisión de datos

Una vez analizados los distintos medios de transmisión inalámbricos podemos

concluir diciendo que cada uno de los medios se adapta mejor a un tipo de necesidades, pero en este caso son primordiales el bajo consumo y la baja transmisión de datos, por lo tanto el medio que mejor se adapta es ZigBee.

Page 51: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

51

2.5 Módulos Zigbee en el Mercado. Actualmente existen cerca de una veintena de compañías dedicadas entre otras

cosas a la manufacturacón de chips ZigBee, entre ellas, las más importantes son las siguientes: Atmel Corporation, Chipcon, Crossbow, Ember Corporation, Freescale, etc. MaxStream al igual que otros fabricantes desarrollan Módulos ZigBee utilizando estos chips, MaxStream ha optado por la plataforma ZigBee de Freescale.

En este apartado se analizan distintos módulos ZigBee a fin de comparar sus

especificaciones más relevantes. Entre las especificaciones se pueden mencionar a modo de ejemplo la corriente de transmisión, la corriente de recepción, la dimensión, los tipos de antenas, etc.

Tabla 9. Comparativa módulos Zigbee

Page 52: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

52

Tabla 10. Comparativa módulos Zigbee

Analizando las tablas comparativas se puede observar que los productos ZigBee de

MaxStream son la mejor opción frente a otros módulos de la competencia. Cuentan con unas dimensiones reducidas, una fácil integración, diferentes tipos de antenas según las necesidades del usuario final, un consumo aceptable, una buena disponibilidad, y la característica más relevante es la concesión del certificado ZigBee.

Además, cabe destacar que existe bastante información, resultando ser un factor

importante al momento de elegir un ódulo ZigBee, ya que una buena documentación permitirá que el desarrollo del proyecto avance de forma continuada y fluida en el transcurso del tiempo.

La familia de productos Xbee de MaxStream ha recibido la homologación ZigBee que concede ZigBee Alliance, superando rigurosas pruebas hasta convertirse en uno de los pocos productos en recibir la exclusiva homologación ZigBee.

2.5.1 Elección Final

La familia Xbee presenta 2 módulos, el Xbee y el Xbee-PRO. Las características de ambos son las siguientes:

Page 53: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

53

Tabla 11. Comparativa módulos Xbee y Xbee Pro

Para el desarrollo de este proyecto, se ha optado por escoger el modulo Xbee, con antena chip integrada. De los dos es el que más se ajusta por su bajo consumo y dimensiones. Con antena chip integrada, los alcances de las especificaciones se reducen un 70%, aun así, siguen siendo más que suficientes para el objetivo de este proyecto.

Page 54: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

54

2.6 El Microcontrolador

2.6.1 Función El microcontrolador se encargará de gestionar los recursos y los componentes. Se

encargará de temporizar los estados de bajo consumo cuando no se necesite la temperatura y de despertar a los diferentes módulos cuando se requiera su uso.

2.6.2 Requisitos El microcontrolador escogido tendrá que comunicarse con el módulo Xbee de

MaxStream y el sensor MCP9804 de Microchip.

Partiendo de las características de cada uno de los equipos se debe elegir el microcontrolador más adecuado.

Sensor MCP9804. Tensión de alimentación: desde 2’7 V a 5’5 V

Entradas / salidas digitales necesarias:

Figura 32. MCP9804

Para su comunicación, el sensor MCP9804 utiliza el protocolo I2C.

SDA – PIN 1

SCL – PIN 2

La señal de Alert (PIN 3) no se utilizará en esta aplicación.

Las señales A0, A1 y A2 (PIN 7, 6 y 5) se configurarán por hardware.

Page 55: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

55

Módulo Xbee.

Figura 33. Módulo Xbee

Tensión de alimentación: desde 2’8 V a 3’4 V

Entradas / salidas digitales necesarias:

Para su comunicación, el módulo XBee utiliza la UART

DOUT – PIN 2

DIN – PIN 3

Para entrar en modo de bajo consumo y salir del modo en bajo consumo se utiliza el PIN 9.

SLEEP_RQ – PIN 9

El resto de entradas / salidas no se aplican en este proyecto.

Por lo tanto el microcontrolador deberá disponer:

- Capacidad para una comunicación I2C

- Capacidad para una comunicación UART

- Un pin digital para controlar el modo de funcionamiento del módulo XBee.

- Debe funcionar con una tensión de alimentación comprendida entre 2’8V y 3’4V.

- Debe poder trabajar en modo de bajo consumo y despertarse por si solo transcurrido un determinado periodo de tiempo.

Page 56: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

56

PIN1 SDA2 SCL2 DOUT3 DIN9 SLEEP_RQ

I2C

UART

Requisitos Microcontrolador

Módulo Xbee

Sensor MCP9804Dispositivo

Tabla 12. Requisitos del microcontrolador.

2.6.3 Alternativas Aunque existen múltiples fabricantes, los posibles microcontroladores se han

buscado dentro de la gama que el fabricante MICROCHIP posee.

El principal motivo de la decisión de usar un microcontrolador de MICROCHIP es que suelen ser de bajo coste y ya disponemos de las herramientas y equipos necesarios para su programación.

El programa usado para su programación ha sido el CCS y el hardware para cargar los progamas el USB PIC BURNER.

2.6.4 Elección Final Dentro de la amplia gama de microcontroladores que posee Microchip, tiene las

versiones LF que trabajan a baja tensión.

Para esta aplicación, estas versiones son las más idóneas ya que trabajan a partir de los 2V de tensión de alimentación. El resto de familias necesitan 4’2V como mínimo.

Al ser un prototipo no se ha buscado ajustar el microcontrolador a las necesidades iniciales de diseño, ya que limitaría al equipo en sus posibles mejoras, por lo que se ha buscado un microcontrolador que facilitase la incorporación de nuevas opciones al prototipo.

Finalmente, el microcontrolador escogido es el PIC 18LF2525. Es un microcontrolador de 24 pines, no excesivamente grande, pero lo suficiente para poder disponer de puertos libres para posibles ampliaciones.

Las características de este microcontrolador son iguales a las del PIC 18F2525, únicamente cambia la tensión mínima de alimentación.

Page 57: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

57

Tabla 13. Características PIC18F2525.

Page 58: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

58

2.7 Módulo 2: Equipo de Sobremesa

2.7.1 Funciones: El módulo 2 es el equipo encargado de realizar las funciones de interface con el

usuario. Su principal misión será la de mostrar en todo momento la temperatura corporal que el módulo 1 está midiendo.

A su vez, permitirá que el usuario disponga de una serie de opciones para ajustarse a las necesidades de este.

Entre otras cosas deberá permitir:

- Conocer si el módulo 1 se encuentra con batería o sin batería.

- Programar la temperatura a la que quiere que el dispositivo de la alarma.

2.7.2 Diagrama de Bloques:

El diagrama de bloques del modulo 2 será el siguiente:

Regulador 3'2V uC

LCD

Sist. Wireless

Regulador 5V

AC / DC

Figura 34. Diagrama funcional de bloques Módulo 2

Estará formado por:

- Un circuito de alimentación.

Se encargará de alimentar los diferentes elementos con las tensiones adecuadas.

Page 59: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

59

- El microcontrolador

Se encargará de gestionar la información recibida por los pulsadores y el módulo de comunicación Xbee. Enviará la información al módulo LCD para mostrarlo por pantalla y se podrá configurar la aplicación.

- El módulo LCD

Se encargará de mostrar la información que le envia el microcontrolador, tanto los menús de configuración, como la temperatura del módulo 1.

- Pulsadores

Mediante unos pulsadores, el usuario podrá configurar el módulo 2.

- Zumbador,

Es el encargado de avisar al usuario cuando alguna alarma se activa. Como por ejemplo:

- Temperatura alta / baja del usuario.

- Falta batería en el módulo 1.

- El módulo de comunicación inalámbrica

Es el encargado de recibir la información proporcionada por el módulo 1 y enviarla al microcontrolador.

2.7.3 El módulo de comunicación inalámbrica.

Tal y como se ha evaluado en el módulo 1, el dispositivo inalámbrico adecuada para la comunicación en este tipo de aplicaciones es un dispositivo que utilice la tecnología ZigBee.

El módulo escogido es el Xbee de Maxstream, la justificación es la misma que para el módulo 1.

2.7.4 El módulo LCD. Las pantallas de cristal líquido LCD o display LCD para mensajes (Liquid Cristal

Display) tienen la capacidad de mostrar cualquier carácter alfanumérico, permitiendo representar la información que genera cualquier equipo electrónico de una forma fácil y económica.

Page 60: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

60

La pantalla consta de una matriz de caracteres (normalmente de 5x7 o 5x8 puntos) distribuidos en una, dos, tres o cuatro líneas de 16 hasta 40 carácteres cada línea.

El proceso de visualización es gobernado por un microcontrolador incorporado a la pantalla, siendo el HITACHI 44780 el modelo de controlador más utilizado. En la siguiente figura se puede observa un LCD.

Figura 1 : LCD de 2x16: está compuesto por 2 líneas de 16 carácteres

En el presente proyecto se ha optado un un LCD de 2x16, ya que la cantidad de información a mostrar es mínima.

Las características generales de un módulo LCD 16x2 son las siguientes:

- Consumo muy reducido, del orden de 7’5 mW.

- Pantalla de carácteres ASCII, además de los carácteres japoneses kanji, carácteres griegos y símbolos matemáticos.

- Desplazamiento de los carácteres hacia la izquierda o a la derecha.

- Memoria de 40 carácteres por línea de pantalla, visualizándose 16 carácteres por línea.

- Movimiento del cursor y cámbio de su aspecto.

- Permite que el usuario pueda programar 8 carácteres.

- Pueden ser gobernados de 2 formas principales:

- Conexión con bus de 4 bits.

- Conexión con bus de 8 bits.

En este caso, se ha optado por una conexión con bus de 4 bits. La ventaja frente al bus de 8 bits es su velocidad de transmisión de datos, sin embargo, al ser la necesidad de velocidad en la muestra de los datos en nuestra aplicación baja, no es necesario una conexión de 8 bits. Además, nos permite disponer de 4 pines más del microprocesador libres.

Page 61: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

61

En la siguiente tabla, se presenta la descripción de señales empleadas por el módulo LCD así como el número de patilla a la que corresponden.

Tabla 14. Señales del módulo LCD

El módulo LCF posee una zona de memoria RAM llamada DDRAM (Data Display Ram) donde se almacenan los caracteres que se van a mostrar en la pantalla.

Tiene una capacidad de 80 bytes, 40 por cada línea, de los cuales sólo 32 se pueden visualizar a la vez (16 bytes por línea).

De las 80 posibles, las dos direcciones más importantes de la DDRAM son:

- Dirección 00h, que es el comienzo de la primera línea

- Dirección 40h, que es el comienzo de la segunda línea.

Además de la DDRAM, el módulo LCD dispone de una memoria interna no volátil llamada CGROM donde se almacena una tabla con los 192 caracteres que pueden ser visualizados.

Cada uno de los caracteres tiene su representación binaria de 8 bits. Para visualizar un carácter debe recibir por el bus de datos el código correspondiente.

Page 62: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

62

Tabla 15. Caracteres ASCII

Como ya he comentado anteriormente, la conexión del LCD al microcontrolador se realizará mediante 4 bits, utilizaremos el puerto B del PIC para realizar esta conexión.

Las conexiones son las siguientes:

- Las 4 líneas superiores del módulo LCD, pines <DB7:DB4> se conectan a las 4 líneas del puerto B de la siguiente manera:

- DB4 - PIN B4

- DB5 - PIN B3

- DB6 - PIN B2

- DB7 - PIN B1

- PIN RS del LCD a la línea PIN B7 del PIC

- PIN R/W del LCD a la línea PIN B6 del PIC

- PIN Enable del LCD a la línea PIN B5 del PIC

Page 63: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

63

La siguiente figura muestra un ejemplo de esquema de conexión del módulo LCD, aunque no es la utilizada en el presente proyecto ya que en la figura se utiliza el puerto D.

Figura 35. Conexión a 4 bits

Para su funcionamiento he utilizado la librería que el compilador CCS ya incorpora con subrutinas de control.

2.7.5 Pulsadores Se han implementado 3 pulsadores mediante los cuales el usuario puede acceder al menú de la aplicación y configurarla.

La denominación de los pulsadores será:

- Pulsador 1 Menu / OK

- Pulsador 2 Sig. +

- Pulsador 3 Prev. –

El circuito para implementar los pulsadores es el siguiente:

Page 64: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

64

R110k

Pulsador

VCC

PIN uC

Figura 36. Esquema conexión pulsador

Para evitar rebotes en la señal durante la pulsación se implementa mediante software un retardo en la siguiente lectura del pulsador, evitando así que en una misma pulsación se detecten varias.

2.7.6 Zumbador El zumbador utilizado es un zumbador (buzzer) electromecánico. Se activará mediante un PIN del microcontrolador. Debido a que la intensidad máxima que puede proporcionar un pin a su salida es de 25 mA, utilizaremos un transistor NPN en la siguiente configuración como interruptor.

VCC

Q1NPN BCE

R2

1k

PIN uC

BUZZER

1

2

Figura 37. Esquema conexión zumbador

2.7.7 Alimentación

Los diferentes sistemas que forma el módulo se alimentan principalmente a 2 tensiones diferentes.

El microcontrolador y el módulo Xbee y el zumbador se alimentan a 3,2 V mientras que el LCD se alimenta a 5 V.

La tensión de alimentación general la obtenemos de la red eléctrica a 230V – 50 Hz y mediante un transformador la pasamos 9 V de tensión continua.

Mediante 2 reguladores de tensión obtenemos las tensiones deseadas.

Page 65: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

65

El regulador LM317 es un regulador ajustable, con una tensión a su salida que puede ajustar entre los 1’2V y los 37V. Mediante el LM317 conseguimos la tensión de 3’2V deseada. Su conexión típica es la que aparece en su hoja de características y es la siguientes:

Figura 38. Montaje típico LM317

Donde la tensión de salida Vou viene dada por la siguiente expresión:

(9)

Para la tensión de 5V, hemos elegido el regulador L7805 que proporciona una tensión fija a su salida de 5V.

Su conexión típica según su hoja de características es la siguiente:

Figura 39. Montaje típico 7805.

Page 66: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

66

Para evitar posibles conexiones incorrectas de la alimentación, hemos colocado un diodo en serie justo a la salida del transformador, así evitamos la alimentación inversa.

Page 67: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

67

2.8 Manual de Funcionamiento Para operar con los equipos se deben seguir una serie de pasos que se enumeran a

continuación.

1- Conectar el módulo de sobremesa a la red y poner el interruptor en posición ON.

2- La pantalla del LCD se encenderá y aparecerán los comandos AT de configuración del módulo Xbee.

3- Una vez configurado aparecerá sobre la pantalla el mensaje “esperando dato”.

4- Una vez ha aparecido el mensaje “esperando dato” se procede a conectar el dispositivo inalámbrico poniendo el interruptor en posición ON.

5- Tras unos segundo aparecerá la temperatura en la pantalla LCD.

En cualquier momento, y siempre después de configurarse el módulo Xbee del dispositivo de sobremesa, se puede entrar al menú de configuración mediante el pulsador “Menú”.

El Menú presenta el siguiente árbol de submenus:

Menú: 1- Alarma. Configura los parámetros de alarma de la temperatura.

1.1- T. Max. Dentro de este apartado se puede modificar el valor de alarma para la temperatura máxima.

1.2- T. Min. Dentro de este apartado se puede modificar el valor de alarma para la temperatura mínima.

1.3- Act. Alarma. Dentro de este apartado se puede activar o desactivar la alarma sonora de temperatura. Por defecto, cuando arranca el equipo está desactivada.

1.4- Salir. Sale del submenu alarma.

2- Termómetro. Dentro de este submenu se puede configurar el tiempo de muestreo de la temperatura, un intervalo de 5s mínimo a un intervalo de 60s.

3- Save conf. Dentro de este submenu se guarda la configuración del usuario en la Eeprom del dispositivo. La siguiente vez que se enciende se carga la última configuración salvada.

4- Salir. Sale del menú.

En caso de que una vez conectado el dispositivo de sobremesa pasen más de 2 minutos sin que se reciba señal de dispositivo inalámbrico, aparece por pantalla la señal de “Dispositivo no conectado o Baja Bateria”.

Page 68: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

68

3 MEMORIA DE CÁLCULO

A partir de los elementos reflejados en la memoria descriptiva, se han desarrollado dos programas para los microcontroladores de los módulos 1 y 2.

El lenguaje utilizado es el CCS, ya que dispone de herramientas y librerias muy útiles y se trata de un lenguaje muy parecido al C.

El compilador utilizado es el PCWHD versión 4.104 de CCS.

3.1 Diagrama de Flujo Módulo 1: Equipo Inalámbrico con Sensor de Tª A continuación se refleja el diagrama de flujo del programa que gobierna el

microcontrolador.

En la primera y segunda figura se muestra el diagrama de flujo de las interrupciones del TIMER1 y de la UART.

Inicio interrupcion Timer1

Contador_timer ++

Si contador_timer>tiempo_muestreo

Cargo Timer1

muestrea_envia=1

contador_timer=0

Fin Interrupción

Si

No

Figura 40. Diagrama de flujo Interrupción TIMER1

Page 69: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

69

El código es el siguiente:

#int_TIMER1 //Vector de interrupción por TIMER1

(temporizador)

void TIMER1_isr(void)

contador_TIMER1++;

if (contador_TIMER1>tiempo_de_muestreo) //500msx60=30s segundos //(500ms*tiempo_de_muestreo =xx segundos)

muestrea_envia=1;

contador_TIMER1=0;

set_timer1(0x0BDC); //Carga el timer1

Funcionamiento:

Cada 500 ms se produce una interrupción por el Timer 1 del microcontrolador.

Cuando entra en la interrupción, se incrementa un contador y se compara con el tiempo de muestreo preestablecido.

Si es mayor, entonces la variable muestrea_envia toma valor 1 y se pone a 0 el contador. Esta variable, indicará al programa principal que puede muestrear la Tª del sensor y enviarla al módulo de sobremesa.

Finalmente, se carga el Timer1 con el valor 0x0BDC para que vuelva a generar una interrupción a los 500 ms.

Page 70: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

70

Inicio Interrupción UART

Si kbhit

dato=getc()

dato_recibido=1

Fin Interrupción

Si

No

Figura 41. Diagrama de flujo Interrupción UART

El código es el siguiente: #int_rda //Vector de interrupcion de la recepcion de

datos

void rda_isr(void) //por el usart

if (kbhit()) // si entra un dato

dato[indi]=getc();

aux[indi]=dato[indi];

indi++;

dato_recibido=1; ;

Funcionamiento:

Si se genera una interrupción de la UART en primer lugar miro si es debido a la entrada de un dato (if (kbhit)).

Si se genera por la entrada de un dato, leo ese dato, hago una copia en una variable auxiliar he indico al programa principal que he recibido un dato (dato_recibido=1).

Page 71: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

71

El siguiente diagrama de flujo muestra el programa principal.

Page 72: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

72

Inicio

Inicio variables globales

Configuro Xbee

Si "recibo_dato=1"

Defino el tiempo de muestreo

Obtengo Tª del sensor

Envio el dato

Configuro Timer1

Si "muestrea_envia=1"

uC modo bajo consumoXbee modo normal

Obtengo Tª del sensor

Envio el dato

Xbee bajo consumo

muestrea_envia=0

Mientras True

Si

Si

No

No

Figura 42. Diagrama de flujo programa principal

Page 73: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

73

El código del programa principal es el siguiente: void main()

dato_recibido=0;

indice=0;

indi=0;

inicio_Xbee();

while (dato_recibido==0)

printf("z"); // señal para el coordinador de fin de configuracion

delay_ms(1000);

tiempo_de_muestreo=((aux[0]-48)*10)+(aux[1]-48);

delay_ms(1000);

muestrea();

envia();

inicio_TIMER1();

do

if (muestrea_envia==1)

output_low(PIN_C5); // PIN_C5 está conectado al SLEEP_RQ del XBee, si C5=0, lo despierta

delay_ms(20); // El Xbee tarda 13'2 ms en despertarse, espero 20 ms

muestrea();

envia();

output_high(PIN_C5); // Si C5=1->SLEEP_RQ=1, Xbee entra en modo sleep (<10 uA de consumo)

muestrea_envia=0;

else

SCS1=1;

SCS2=0;

IDLE=1;

sleep(); // Duermo el microcontrolador pero dejo funcionando el TIMER1, cuando provoque interrupción despierta.

while (TRUE);

Page 74: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

74

Funcionamiento:

En primer lugar inicializo las variables globales.

Configuro el módulo Xbee mediante la acción inicio_Xbee(). Durante su configuración, y para entrar en modo comando, el módulo Xbee envia el comando +++ al módulo de sobremesa indicando que está configurando el módulo Xbee, cuando termina la configuración envia el carácter “z”, cuando éste lo recibe, le envía un valor entero con el tiempo de muestreo deseado.

En el bucle del while, se espera a recibir este dato. Una vez recibido, se envía el carácter “z” al módulo de sobremesa para que sepa que se ha recibido correctamente el valor del tiempo de muestreo, y después se actualiza ese valor.

A continuación, se activa el sensor, se toma el valor de la Tª, se pone al sensor en bajo consumo y se envía ese valor por el módulo Xbee.

Se configura el Timer1 para que genere una interrupción cada 500 ms y se entra en un bucle cerrado infinito.

En este bucle, se mira si la variable muestrea_envia toma el valor 1, si es así, se saca al módulo Xbee de su modo de bajo consumo, se saca al sensor de su modo de bajo consumo, se muestrea la Tª, se pone al sensor en modo de bajo consumo, se envía el dato y se vuelve a poner al módulo Xbee en modo de bajo consumo. Una vez enviado, muestrea_envia vuelve a valer 0.

La variable muestrea_envia toma el valor 1 cuando el número de interrupciones realizadas por el timer 1 toma un valor superior a valor de tiempo de muestreo. En ese momento, la interrupción pone muestrea_envia a 1 y vuelve a inicializar el contador de interrupciones.

Si muestrea_envia está a 0, el microcontrolador entra en modo de bajo consumo. Únicamente despertará en la interrupción del Timer1. Volverá a analizar el valor de muestrea_envia, y si es 0 volverá a modo de bajo consumo,sino, enviará la temperatura. Este ciclo lo realizará infinitamente.

El código completo del programa se encuentra en el capítulo de Anexos.

3.2 Diagrama de Flujo Módulo 2: Módulo de Sobremesa Para representar el programa del módulo de sobremesa se ha utilizado 3 diagramas

de flujo. Los dos primeros representan los diagramas de flujo de las interrupciones provocadas por el microcontrolador, mientras que el último representa el desarrollo principal del programa.

Page 75: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

75

Interrupción Timer1

Contador_timer1++

Si (alarma=1) y (activar_alarma=1)

Si contador_timer1>180

Cargo Timer1

Fin Interrupción

Dispositivo_no_conectado=1

Contador_timer1=0

Si (contador_alarma=1)

Contador_alarma=0

Suena alarma

Contador_alarma=1

Desactiva Alarma

No

No

Si

Si

Si

No

Figura 43. Diagrama de flujo interrupción TIMER 1

El código es el siguiente: #int_TIMER1 //Vector de interrupción por TIMER1 (temporizador)

void TIMER1_isr(void)

contador_TIMER1++;

if ((alarma==1)&&(activar_alarma==1))

if (contador_alarma==1)

output_high(PIN_C2);

contador_alarma=0;

else

if (contador_alarma==0)

output_low(PIN_C2);

Page 76: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

76

contador_alarma=1;

if (contador_TIMER1>180) // 60 segundos (500ms*120=60 segundos)

disp_no_conectado=1;

contador_TIMER1=0;

set_timer1(0x0BDC); //Carga el timer1

Funcionamiento:

En el programa principal se carga el valor del Timer1 con el valor 0xBDC, con lo que conseguimos que se realice una interrupción cada 500 ms.

Una vez dentro de la interrupción, se incrementa un contador. Cuando este contador es mayor al valor de 180, significa que no se ha recibido ningún mensaje del módulo inalámbrico durante más de 60 segundos, por lo que se da la señal de alarma de dispositivo no conectado.

A su vez, si tenemos la alarma de temperatura activada, cada 500 ms cambia el estado del zumbador, de activo a inactivo y viceversa, consiguiendo así una señal de alarma intermitente.

Page 77: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

77

Inici Interrupción UART

Si (comando=1)

dato=getc()

aux=dato

dato=getc()

recibido=1

Fin Interrupción

NoSi

Figura 44. Diagrama de flujo interrupción UART

El código es el siguiente: #int_rda //Vector de interrupcion de la recepcion de datos

void rda_isr() //por el usart

if (comando==1)

if (kbhit())

dato[indice]= getc(); //Se lee el dato recibido

indice++;

if (comando==0)

if (kbhit())

dato[indice]=getc();

Page 78: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

78

aux[indice]=dato[indice];

indice++;

recibido=1;

Funcionamiento:

Cuando se provoca la interrupción de la UART, en primer lugar miro se el módulo se encuentra en modo comando, esto significa que está configurando el módulo Xbee. Si es así, y tambien se da la condición de que la interrupción es provocada por una entrada de datos, entonces guardo el dato entrante en la variable datos.

Si el módulo no se encuentra en modo comando, y también se da la condición de que la interrupción es provocada por una entrada de datos, guardo ese dato en la variable dato, hago una copia de dato a una variable auxiliar, aux, e indico que se ha recibido un dato.

Page 79: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

79

Inicio

Inicio LCD

Inicio variables

Inicio Xbee

Inicio Timer1

Si (presiono Menu) Entro en menu()

Si (recibido=1) Contador_timer1=0

Si (dato[0]=+) ini_Xbee=0

Si (dato[0]=x) Si (Xbee_ok=1) sensor_ok=0

envio t_muestreo

ini_Xbee=1

sensor_ok=1

envio t_muestreo

ini_Xbee=1

Si (dato[0]=z)sensor_ok=1

Si Xbee_ok=1, sensor_ok=1, ini_Xbee=1

escribe en LCD la Tª

Ejecuta Alerta()

Si dispositivo_no_conectado=1

Mientras (True)

escribe en LCD"No conectado"

dispositivo_no_conectado=0

Si

No

Si

Si

No

Si

No

Si

No

No

No

Si

Figura 44. Diagrama de flujo programa Principal

Page 80: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

80

El código es el siguiente: void main()

set_tris_c(00111000); //0 = salida, 1 = entrada (Pin7,6,5,4,3,2,1,0)

int xbee_ok=0;

int sensor_ok=0;

int ini_xbee=0;

inicio_LCD();

inicio_variables();

inicio_Xbee();

inicio_TIMER1();

do

// Si presiona el boton Menu (PIN C3) entra en Menu.

if (input(PIN_C3))

if (C3==-1)

C3++;

else

opciones_menu();

// Si recibo dato del sensor...

if ((recibido==1))

contador_TIMER1=0; // El contador de sensor no conectado vuelve a cero.

index=0;

// Si recibido la '+', indica que el Xbee del módulo sensor se está configurando

if (dato[0]=='+')

ini_xbee=0;

// Si recibido la 'x', envio t_muestreo e indico que el Xbee del módulo sensor está configurado

if (dato[0]=='x')

if (xbee_ok==1)

sensor_ok=0;

printf("%d",t_muestreo);

Page 81: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

81

ini_xbee=1;

else

xbee_ok=1;

printf("%d",t_muestreo);

ini_xbee=1;

for (index=0;index<8;index++)

dato[index]='f';

// Si recibido la 'z', el módulo sensor ha recibido el tiempo de muestreo

if (dato[0]=='z')

sensor_ok=1;

for (index=0;index<8;index++)

dato[index]='f';

//Si del módulo sensor el Xbee y el sensor están configurados, recibo la temperatura y la muestro por pantalla.

if ((ini_xbee==1)&&(xbee_ok==1)&&(sensor_ok==1))

lcd_putc("\f Temp=");

escribe_dato_lcd();

T_real=((aux[0]-48)*10)+(aux[1]-48)+((aux[3]-48)*0.1)+((aux[4]-48)*0.01);

alerta();

index=0;

T_real=0;

delay_us(15);

recibido=0;

indice=0;

if (disp_no_conectado==1)

lcd_putc("\fSENSOR NO CONECT\n");

lcd_putc("o BAJA BATERIA\n");

disp_no_conectado=0;

Page 82: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

82

while (TRUE);

Funcionamiento:

En primer lugar, inicio variables, el módulo LCD, el módulo Xbee y el timer 1. Este último lo configuro para que realice una interrupción cada 500 ms.

Una vez configurado el timer 1 el programa entra en un bucle infinito. Dentro de este bucle realiza secuencialmente varias acciones:

Si se presiona el botón de menú, entonces entra en la opción menú.

Si se ha recibido un dato, lo compara con varios caracteres:

1- Si es un “+”, significa que el módulo inalámbrico está configurando su módulo Xbee.

2- Si es una “x” indica que el módulo inalámbrico ha terminado de configurar su módulo Xbee, en ese momento se envia el valor del tiempo de muestreo que se desea realizar de la Tª.

3- Si recibe una “z” indica que el módulo inalámbrico ha recibido ese dato correctamente.

4- Si el módulo inalambrico ha configurado su módulo Xbee y tiene el tiempo de muestreo, se escribe el dato del sensor por pantalla y se ejecuta la función alerta. Esta compara la temperatura con un máximo y un mínimo y da una señal de alarma.

Si la variable dispositivo no conectado toma valor 1, significa que hace más de 60 segundos que no se ha recibido un dato del dispositivo inalámbrico, por lo que se muestra por pantalla del LCD la seña de DISPOSITIVO NO CONECTADO O BAJA BATERÍA.

El código completo se encuentra en el capítulo de Anexos.

Page 83: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

83

3.3 Batería Módulo 1: Módulo inalámbrico Para la alimentación del módulo 1 se ha escogido un batería de 3’6V, 2600mA, AA.

Aunque existen en el mercado las pilas tipo botón, de menor tamaño, he considerado que al ser un prototipo susceptible de mejoras y al que se le podrían añadir nuevos componentes, la batería a escoger debía estar sobredimensionada.

La duración aproximada de la batería, en funcionamiento continuo, y realizando un muestreo de temperatura cada minuto sería el siguiente:

Características de la pila:

Tensión: 3’6 V

Capacidad: 2600 mA/h

Elementos conectados y consumos:

Modo Normal Modo bajo consumo11 2,50200 0,10

45000 10

45211 12,6

(uA)Dispositivos

Totales (uA) =

PIC 18LF2525MCP9804

Xbee

Tabla 16. Consumos en modo normal y bajo consumo

Suponiendo que el usuario desea una muestra de temperatura cada minuto, y que adquirir esa muestra en el peor de los casos conllevará que los componentes funcionen en modo normal durante menos de un segundo.

Siendo:

Tmn = tiempo (s) funcionamiento en modo normal

Imn = consumo en modo normal

Tbc = tiempo (s) funcionamiento en modo bajo consumo

Ibc = consumo en modo bajo consumo

Suponemos Tmn = 1 s y Tbc=59s.

El consumo del equipo será:

Page 84: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

84

TbcTmnIbcTbcnTmnConsumo

+⋅+⋅

=Im (10)

Sustituyendo obtenemos un consumo de 0’77mA.

Dividiendo la capacidad de la batería (mA/h) entre el consumo (mA), obtenemos las horas de funcionamiento.

El resultado son 3395 horas, aproximadamente 4 meses y medio.

Esta es la duración del equipo si su funcionamiento fuese continuo. Si el uso doméstico fuese igual que el de los termómetros, su uso sería esporádico, por lo que el dispositivo podría durar años con la misma batería.

Suponiendo su uso 10 días al mes, durante 8 horas seguidas hacen un total de 80 horas. Diviendo entre las 3395 horas, nos salen 42 meses, aproximadamente tres años y medio.

Page 85: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

85

3.4 Datos experimentales Se ha comprobado el correcto funcionamiento del sensor y el envio de datos al

módulo de sobremesa comparando la temperatura dada con la obtenida mediante un termómetro digital de farmacia.

En la siguiente tabla se muestran los resultados obtenidos:

Sensor Termómetro farmacia error36,18 36,2 0,0236,00 36 0,0036,05 36,1 0,0536,25 36,2 -0,0536,34 36,2 -0,14

º C

Tabla 17. Comparativa valores obtenidos.

Las muestras se han obtenido en diferentes días.

Page 86: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

86

4 PLANOS

La relación de planos es la siguiente:

Nº PLANOPlano nº 1Plano nº 2Plano nº 3Plano nº 4Plano nº 5Plano nº 6

Disposición de elementos Módulo 2: Módulo de sobremesaFotografía Módulo 1Fotografía Módulo 2

DescripciónEsquema Módulo 1: Módulo inalámbrico

Esquema Módulo 2: Módulo de sobremesaDisposición elementos Módulo 1: Módulo Inalámbrico

Tabla 18. Relación de planos.

Page 87: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

87

Nº Plano: Plano 1Título:

Escala Proyecto: Versión

Fecha: 01/06/2011 Hoja 1/1

Esquema Módulo 1: Módulo inalámbrico

Monitorización wireless de las constantes vitales de un bebé--:-- 0

V1 + 3V

C61nF

V1 + 3V

U7

MCP9804

SDA1

SCL2

Alert3

GND4

Vdd8

A0 7

A1 6

A25

SDASCL

R1010k R9

10k

V1 + 3VV1 + 3V

V1 + 3V

SDASCL

V1+3 '6V

SWITCH

V1 + 3V

D3BAT54/SOT

SW5

V1 + 3V

R11

10k

U5

XBee

Vcc1

Dout2

Din3

GND10 SLEEP_RQ9

U6

PIC18LF2525

MCLR/VPP/THV1

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA3/AN3/VREF+5

RA4/T0CKI6

RA5/SS/AN47

GND8

OSC1/CLKIN9

OSC2/CLKOUT10

RC0/T1OSO/T1CKI11

RC1/T1OSI/CCP2 12

RC2/CCP113

RC3/SCK/SCL 14

RC4/SDI/SDA15

RC5/SDO16

RC6/TX/CK 17

RC7/RX/DT18

GND19VDD20

RB0/INT21

RB122

RB223

RB3/PGM24

RB425

RB526

RB6/PGC27

RB7/PGD28

RXTX

TXRX

Page 88: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

88

Nº Plano: Plano 2Título:

Escala Proyecto: Versión

Fecha: 01/06/2011 Hoja 1/1

Esquema Módulo 2: Módulo de sobremesa

Monitorización wireless de las constantes vitales de un bebé--:-- 0

U1

PIC18LF2525

MCLR/VPP/THV1

RA0/AN02

RA1/AN13

RA2/AN2/VREF-4

RA3/AN3/VREF+5

RA4/T0CKI6

RA5/SS/AN47

GN

D8

OSC1/CLKIN9

OSC2/CLKOUT10

RC0/T1OSO/T1CKI11

RC1/T1OSI/CCP212

RC2/CCP113

RC3/SCK/SCL14

RC4/SDI/SDA15

RC5/SDO16

RC6/TX/CK17

RC7/RX/DT18

GN

D19

VDD20

RB0/INT21

RB122

RB223

RB3/PGM24

RB425

RB526

RB6/PGC27

RB7/PGD28

+9V DC

BNC

1

2

SW1

SWITCH 1

R1330

D1LED

D2

BAT48C10.1uF

C21uF

U2 LM317/TO220

VIN3

ADJ1

VOUT2

R8330

R210k

V1 + 3'2V

V2

SW2 SW3

V2 U3 7805

VIN1

VOUT3

C31uF

C410uF

V3 +5V

R310k

R410k

R510k

V1 + 3'2V V1 + 3'2V V1 + 3'2V

TXRX

V1 + 3'2V

SW4

V1 + 3'2V

R6

10k

J2 LCD_PIN OUT1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16

R7

10k

V3 +5V

R12

10k

Q1NPN BCE

LS1

BUZZER

1

2

C51nF

V1 + 3'2V

U4XBee

Vcc1

Dout2

Din3

GND10 SLEEP_RQ

9

V1 + 3'2V

TXRX

Page 89: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

89

Nº Plano: Plano 3Título:

Escala Proyecto: Versión

Fecha: 01/06/2011 Hoja 1/1

Disposición elementos Módulo 1: Módulo Inalámbrico

Monitorización wireless de las constantes vitales de un bebé--:-- 0

Pila 3'6V

D3

Switch

PIC 18LF2525

XbeePort B

Port C

Port A

SW5

C8

R10

R11

R9

C6

UART

Sensor

Page 90: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

90

Nº Plano: Plano 4Título:

Escala Proyecto: Versión

Fecha: 01/06/2011 Hoja 1/1

Disposición de elementos Módulo 2: Módulo de sobremesa

Monitorización wireless de las constantes vitales de un bebé--:-- 0

D1

C2

D2

U2R8

R2SW4

C1

R6Port C

Port B

PortB LCD

PortA

U1 PIC 18LF2525

UART

C5

+3'2V

R12

+9V

Buzzer

Q1U3

C4C3

R7

R5

R4

R3

SW2

SW1

SW3

Xbee

+3'2V UART

+9 Vdc

Switch1

R1

Page 91: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

91

Nº Plano: Plano 5Título:

Escala Proyecto: Versión

Fecha: 01/06/2011 Hoja 1/1

Fotografía Módulo 1

Monitorización wireless de las constantes vitales de un bebé--:-- 0

Page 92: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

92

Nº Plano: Plano 6Título:

Escala Proyecto: Versión

Fecha: 01/06/2011 Hoja 1/1

Fotografía Módulo 2

Monitorización wireless de las constantes vitales de un bebé--:-- 0

Page 93: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

5 PRESUPUESTO

5.1 Mediciones

Las mediciones son el conjunto de todos los conceptos necesarios para la ejecución del proyecto, agrupando por separado todas aquellas unidades que sean objeto del mismo precio.

Las mediciones del proyecto son las siguientes:

ITEM UNIDAD DESCRIPCIÓN CANTIDAD

1 ud Suministro y montaje de OMNICELL - ER14505S - BATERÍA, LITIO, AA, 3'6V,2400mAh

1

2 ud Suministro y montaje de KEYSTONE - 2460 - BATTERY HOLDER 13 ud Suministro y montaje de microcontrolador de MICROCHIP - PIC18LF2525-I/SP - 8-

BIT MCU, 48K FLASH, PDIP282

4 ud Suministro y montaje de MULTICOMP - 2227MC-28-06-07-F1 - ZÓCALO, DIL, 0.6",28VÍAS

2

5 ud Suministro y montaje de NKK SWITCHES - GW12RHP - INTERRUPTOROSCILANTE, SPDT, ON-ON

2

6 ud Suministro y montaje de ALPS - SKHHARA010 - INTERRUPTOR, TÁCTIL, PCB,2.55N

2

7 ud Suministro y montaje de Resistencia 10 kΩ, 0'25W, 1% 88 ud Suministro y montaje de placa a topos de 160x100mm. 19 ud Suministro y montaje de sensor de temperatura MCP9804-E/MS. 1

10 ud Suministro y montaje de placa MSOP a DIP para sensor. 111 ud Suministro y montaje de módulo Xbee de MaxStream 1mW con chip antena. 212 ud Suministro y montaje de placa DIP para módulo Xbee. 213 ud Suministro y montaje de LUMBERG - 1613 20 - HEMBRA, CC, 90 GRADOS,

MONTAJE PCB .1

14 ud Suministro y montaje de LUMBERG - NES/J 135 - MACHO, BAJA TENSIÓN,1.35mm.

1

15 ud Suministro y montaje de condensador electrolítico 0,1 uF, 16V. 116 ud Suministro y montaje de condensador electrolítico 1 uF, 16V. 217 ud Suministro y montaje de condensador electrolítico 10 uF, 16V. 118 ud Suministro y montaje de condensador 1 nF. 219 ud Suministro y montaje de STMICROELECTRONICS - BAT48 - DIODO, SCHOTTKY,

PEQUEÑA SEÑAL2

20 ud Suministro y montaje de Resistencia 330 kΩ, 0'25W, 1% 221 ud Suministro y montaje de ptenciometro multivuelta 10 kΩ. 122 ud Suministro y montaje de Interruptor MSP 121C N/A 650mA Negro 323 ud Suministro y montaje de led estandar amarillo 124 ud Suministro y montaje de regulador de tensión LM317. 125 ud Suministro y montaje de regulador de tensión 7805. 126 ud Suministro y montaje de LCD alfanumérico de 2x16 127 ud Suministro, montaje y mecanizado de caja plástica.120x60x40mm. 128 Pa Pequeño material, cables… 1

MEDICIONES

5.2 Cuadro de Precios Unitarios En los Precios Unitarios figuran en letra y cifra los precios totales de cada una de las

unidades que aparecen en la obra sin detallar su descomposición.

Page 94: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

94

ITEM UNIDAD DESCRIPCIÓN CANTIDAD Prec. Unitario TOTAL

1 ud Suministro y montaje de OMNICELL - ER14505S - BATERÍA, LITIO, AA, 3'6V,2400mAh

1 3,64 3,64

(TRES EUROS Y SESENTA Y CUATRO CÉNTIMOS)

2 ud Suministro y montaje de KEYSTONE - 2460 - BATTERY HOLDER 1 1,53 1,53(UN EURO Y CINCUENTA Y TRES CÉNTIMOS)

3 ud Suministro y montaje de microcontrolador de MICROCHIP - PIC18LF2525-I/SP -8-BIT MCU, 48K FLASH, PDIP28

1 6,47 6,47

(SEIS EUROS Y CUARENTA Y SIETE EUROS)

4 ud Suministro y montaje de MULTICOMP - 2227MC-28-06-07-F1 - ZÓCALO, DIL,0.6", 28VÍAS

1 1,58 1,58

(UN EURO Y CINCUENTA Y OCHO CÉNTIMOS)

5 ud Suministro y montaje de NKK SWITCHES - GW12RHP - INTERRUPTOROSCILANTE, SPDT, ON-ON

1 2,02 2,02

(DOS EUROS Y DOS CÉNTIMOS)

6 ud Suministro y montaje de ALPS - SKHHARA010 - INTERRUPTOR, TÁCTIL, PCB,2.55N

1 0,89 0,89

(OCHENTA Y NUEVE CÉNTIMOS)

7 ud Suministro y montaje de Resistencia 10 kΩ, 0'25W, 1% 1 0,27 0,27(VEINTISIETE CÉNTIMOS)

8 ud Suministro y montaje de placa a topos de 160x100mm. 1 4 4(CUATRO EUROS)

9 ud Suministro y montaje de sensor de temperatura MCP9804-E/MS. 1 4,15 4,15(CUATRO EUROS Y QUINCE CÉNTIMOS)

10 ud Suministro y montaje de placa MSOP a DIP para sensor. 1 1,55 1,55(UN EURO Y CINCUENTA Y CINCO CÉNTIMOS)

11 ud Suministro y montaje de módulo Xbee de MaxStream 1mW con chip antena. 1 17 17

(DIECISIETE EUROS)

12 ud Suministro y montaje de placa DIP para módulo Xbee. 1 2,7 2,7(DOS EUROS Y SETENTA CÉNTIMOS)

13 ud Suministro y montaje de LUMBERG - 1613 20 - HEMBRA, CC, 90 GRADOS,MONTAJE PCB .

1 1,79 1,79

(UN EURO Y SETENTA Y NUEVE CÉNTIMOS)

14 ud Suministro y montaje de LUMBERG - NES/J 135 - MACHO, BAJA TENSIÓN,1.35mm.

1 1,4 1,4

(UN EURO Y CUARENTA CÉNTIMOS)

15 ud Suministro y montaje de condensador electrolítico 0,1 uF, 16V. 1 0,75 0,75(SETENTA Y CINCO CÉNTIMOS)

16 ud Suministro y montaje de condensador electrolítico 1 uF, 16V. 1 0,75 0,75(SETENTA Y CINCO CÉNTIMOS)

17 ud Suministro y montaje de condensador electrolítico 10 uF, 16V. 1 0,75 0,75(SETENTA Y CINCO CÉNTIMOS)

18 ud Suministro y montaje de condensador 1 nF. 1 0,75 0,75(SETENTA Y CINCO CÉNTIMOS)

19 ud Suministro y montaje de STMICROELECTRONICS - BAT48 - DIODO,SCHOTTKY, PEQUEÑA SEÑAL

1 0,71 0,71

(SETENTA Y UN CÉNTIMOS)

20 ud Suministro y montaje de Resistencia 330 kΩ, 0'25W, 1% 1 0,27 0,27(VEINTISIETE CÉNTIMOS)

PRECIOS DESCOMPUESTOS

Page 95: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

95

ITEM UNIDAD DESCRIPCIÓN CANTIDAD Prec. Unitario TOTAL

21 ud Suministro y montaje de potenciometro multivuelta 10 kΩ. 1 0,61 0,61(SESENTA Y UN CÉNTIMOS)

22 ud Suministro y montaje de Interruptor MSP 121C N/A 650mA Negro 1 2,19 2,19(DOS EUROS CON DIECINUEVE CÉNTIMOS)

23 ud Suministro y montaje de led estandar amarillo 1 0,49 0,49(CUARENTA Y NUEVE CÉNTIMOS)

24 ud Suministro y montaje de regulador de tensión LM317. 1 1,55 1,55(UN EURO CON CINCUENTA Y CINCO CÉNTIMOS)

25 ud Suministro y montaje de regulador de tensión 7805. 1 1,27 1,27(UN EURO Y VEINTISIETE CÉNTIMOS)

26 ud Suministro y montaje de LCD alfanumérico de 2x16 1 7,33 7,33(SIETE EUROS Y TREINTA Y TRES CÉNTIMOS)

27 ud Suministro, montaje y mecanizado de caja plástica.120x60x40mm. 1 16 16(DIECISEIS CÉNTIMOS)

28 Pa Pequeño material, cables… 1 4,6 4,6(CUATRO EUROS Y SEIS CÉNTIMOS)

PRECIOS DESCOMPUESTOS

5.3 Cuadro de Precios Descompuestos

En el cuadro de precios descompuestos se detalla la descomposición de cada uno de los precios que figura en el Cuadro de Precios Unitarios.

Page 96: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

96

ITEM UNIDAD DESCRIPCIÓN CANTIDAD Prec. Unitario TOTAL

1 ud Suministro y montaje de OMNICELL - ER14505S - BATERÍA, LITIO, AA, 3'6V,2400mAh

1 3,64 3,64

Material:ud OMNICELL - ER14505S - BATERÍA, LITIO, AA, 3'6V, 2400mAh 1 3,64 3,64

Mano de obra:hr Horas trabajadas 0 12 0

Total 3,64

2 ud Suministro y montaje de KEYSTONE - 2460 - BATTERY HOLDER 1 1,53 1,53Material:

ud KEYSTONE - 2460 - BATTERY HOLDER 1 0,93 0,93Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 1,53

3 ud Suministro y montaje de microcontrolador de MICROCHIP - PIC18LF2525-I/SP -8-BIT MCU, 48K FLASH, PDIP28

2 6,47 12,94

Material:ud MICROCHIP - PIC18LF2525-I/SP - 8-BIT MCU, 48K FLASH, PDIP28 1 6,47 6,47

Mano de obra:hr Horas trabajadas 0 12 0

Total 6,47

4 ud Suministro y montaje de MULTICOMP - 2227MC-28-06-07-F1 - ZÓCALO, DIL,0.6", 28VÍAS

2 1,58 3,16

Material:ud MULTICOMP - 2227MC-28-06-07-F1 - ZÓCALO, DIL, 0.6", 28VÍAS 1 0,98 0,98

Mano de obra:hr Horas trabajadas 0,05 12 0,6

Total 1,58

5 ud Suministro y montaje de NKK SWITCHES - GW12RHP - INTERRUPTOROSCILANTE, SPDT, ON-ON

2 2,02 4,04

Material:ud NKK SWITCHES - GW12RHP - INTERRUPTOR OSCILANTE, SPDT, ON-ON 1 1,42 1,42

Mano de obra:hr Horas trabajadas 0,05 12 0,6

Total 2,02

6 ud Suministro y montaje de ALPS - SKHHARA010 - INTERRUPTOR, TÁCTIL, PCB,2.55N

2 0,89 1,78

Material:ud ALPS - SKHHARA010 - INTERRUPTOR, TÁCTIL, PCB, 2.55N 1 0,29 0,29

Mano de obra:hr Horas trabajadas 0,05 12 0,6

Total 0,89

7 ud Suministro y montaje de Resistencia 10 kΩ, 0'25W, 1% 8 0,27 2,16Material:

ud Resistencia 10 kΩ, 0'25W, 1% 1 0,03 0,03Mano de obra:

hr Horas trabajadas 0,02 12 0,24

Total 0,27

8 ud Suministro y montaje de placa a topos de 160x100mm. 1 4 4Material:

ud placa a topos de 160x100mm. 1 4 4Mano de obra:

hr Horas trabajadas 0 12 0

Total 4

PRECIOS DESCOMPUESTOS

Page 97: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

97

ITEM UNIDAD DESCRIPCIÓN CANTIDAD Prec. Unitario TOTAL

9 ud Suministro y montaje de sensor de temperatura MCP9804-E/MS. 1 4,15 4,15Material:

ud sensor de temperatura MCP9804-E/MS. 1 1,75 1,75Mano de obra:

hr Horas trabajadas 0,2 12 2,4

Total 4,15

10 ud Suministro y montaje de placa MSOP a DIP para sensor. 1 1,55 1,55Material:

ud placa MSOP a DIP para sensor. 1 0,95 0,95Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 1,55

11 ud Suministro y montaje de módulo Xbee de MaxStream 1mW con chip antena. 2 17 34

Material:ud módulo Xbee de MaxStream 1mW con chip antena. 1 16,4 16,4

Mano de obra:hr Horas trabajadas 0,05 12 0,6

Total 17

12 ud Suministro y montaje de placa DIP para módulo Xbee. 2 2,7 5,4Material:

ud placa DIP para módulo Xbee. 1 2,1 2,1Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 2,7

13 ud Suministro y montaje de LUMBERG - 1613 20 - HEMBRA, CC, 90 GRADOS,MONTAJE PCB .

1 1,79 1,79

Material:ud LUMBERG - 1613 20 - HEMBRA, CC, 90 GRADOS, MONTAJE PCB . 1 1,19 1,19

Mano de obra:hr Horas trabajadas 0,05 12 0,6

Total 1,79

14 ud Suministro y montaje de LUMBERG - NES/J 135 - MACHO, BAJA TENSIÓN,1.35mm.

1 1,4 1,4

Material:ud LUMBERG - NES/J 135 - MACHO, BAJA TENSIÓN, 1.35mm. 1 0,8 0,8

Mano de obra:hr Horas trabajadas 0,05 12 0,6

Total 1,4

15 ud Suministro y montaje de condensador electrolítico 0,1 uF, 16V. 1 0,75 0,75Material:

ud condensador electrolítico 0,1 uF, 16V. 1 0,15 0,15Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 0,75

16 ud Suministro y montaje de condensador electrolítico 1 uF, 16V. 2 0,75 1,5Material:

ud condensador electrolítico 1 uF, 16V. 1 0,15 0,15Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 0,75

17 ud Suministro y montaje de condensador electrolítico 10 uF, 16V. 1 0,75 0,75Material:

ud condensador electrolítico 10 uF, 16V. 1 0,15 0,15Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 0,75

PRECIOS DESCOMPUESTOS

Page 98: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

98

ITEM UNIDAD DESCRIPCIÓN CANTIDAD Prec. Unitario TOTAL

18 ud Suministro y montaje de condensador 1 nF. 2 0,75 1,5Material:

ud condensador 1 nF. 1 0,15 0,15Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 0,75

19 ud Suministro y montaje de STMICROELECTRONICS - BAT48 - DIODO,SCHOTTKY, PEQUEÑA SEÑAL

2 0,71 1,42

Material:ud STMICROELECTRONICS - BAT48 - DIODO, SCHOTTKY, PEQUEÑA SEÑAL 1 0,11 0,11

Mano de obra:hr Horas trabajadas 0,05 12 0,6

Total 0,71

20 ud Suministro y montaje de Resistencia 330 kΩ, 0'25W, 1% 2 0,27 0,54Material:

ud Resistencia 330 kΩ, 0'25W, 1% 1 0,03 0,03Mano de obra:

hr Horas trabajadas 0,02 12 0,24

Total 0,27

21 ud Suministro y montaje de potenciometro multivuelta 10 kΩ. 1 0,61 0,61Material:

ud potenciometro multivuelta 10 kΩ. 1 0,25 0,25Mano de obra:

hr Horas trabajadas 0,03 12 0,36

Total 0,61

22 ud Suministro y montaje de Interruptor MSP 121C N/A 650mA Negro 3 2,19 6,57Material:

ud Interruptor MSP 121C N/A 650mA Negro 1 1,95 1,95Mano de obra:

hr Horas trabajadas 0,02 12 0,24

Total 2,19

23 ud Suministro y montaje de led estandar amarillo 1 0,49 0,49Material:

ud led estandar amarillo 1 0,25 0,25Mano de obra:

hr Horas trabajadas 0,02 12 0,24

Total 0,49

24 ud Suministro y montaje de regulador de tensión LM317. 1 1,55 1,55Material:

ud regulador de tensión LM317. 1 0,95 0,95Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 1,55

25 ud Suministro y montaje de regulador de tensión 7805. 1 1,27 1,27Material:

ud regulador de tensión 7805. 1 0,67 0,67Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 1,27

26 ud Suministro y montaje de LCD alfanumérico de 2x16 1 7,33 7,33Material:

ud LCD alfanumérico de 2x16 1 6,13 6,13Mano de obra:

hr Horas trabajadas 0,1 12 1,2

Total 7,33

27 ud Suministro, montaje y mecanizado de caja plástica.120x60x40mm. 1 16 16Material:

ud caja plástica.120x60x40mm. 1 4 4Mano de obra:

hr Horas trabajadas 1 12 12

Total 16

28 Pa Pequeño material, cables… 1 4,6 4,6Material:

ud Cable, conectores, estaño … 1 4 4Mano de obra:

hr Horas trabajadas 0,05 12 0,6

Total 4,6

PRECIOS DESCOMPUESTOS

Page 99: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

99

5.4 Presupuesto El presupuesto es el siguiente:

ITEM UNIDAD DESCRIPCIÓN CANTIDAD PRECIO UNITARIO PRECIO TOTAL

Módulo 1 : Equipo a batería con sensor de temperatura

1 ud Suministro y montaje de OMNICELL - ER14505S - BATERÍA,LITIO, AA, 3'6V, 2400mAh

1 3,64 3,64

2 ud Suministro y montaje de KEYSTONE - 2460 - BATTERYHOLDER

1 1,53 1,53

3 ud Suministro y montaje de microcontrolador de MICROCHIP -PIC18LF2525-I/SP - 8-BIT MCU, 48K FLASH, PDIP28

1 6,47 6,47

4 ud Suministro y montaje de MULTICOMP - 2227MC-28-06-07-F1- ZÓCALO, DIL, 0.6", 28VÍAS

1 1,58 1,58

5 ud Suministro y montaje de NKK SWITCHES - GW12RHP -INTERRUPTOR OSCILANTE, SPDT, ON-ON

1 2,02 2,02

6 ud Suministro y montaje de condensador electrolítico 10uF, 16V. 1 0,75 0,75

7 ud Suministro y montaje de STMICROELECTRONICS - BAT48 -DIODO, SCHOTTKY, PEQUEÑA SEÑAL

1 0,71 0,71

8 ud Suministro y montaje de ALPS - SKHHARA010 -INTERRUPTOR, TÁCTIL, PCB, 2.55N

1 0,89 0,89

9 ud Suministro y montaje de Resistencia 10 kΩ, 0'25W, 1% 3 0,27 0,8110 ud Suministro y montaje de placa a topos de 160x100mm. 0,5 4 211 ud Suministro y montaje de sensor de temperatura MCP9804-

E/MS.1 4,15 4,15

12 ud Suministro y montaje de placa MSOP a DIP para sensor. 1 1,55 1,5513 ud Suministro y montaje de módulo Xbee de MaxStream 1mW

con chip antena.1 17 17

14 ud Suministro y montaje de placa DIP para módulo Xbee. 1 2,70 2,715 Pa Pequeño material, cables… 0,5 4,6 2,3

TOTAL MÓDULO 1 48,1

Módulo 2 : Equipo de sobremesa1 ud Suministro y montaje de LUMBERG - 1613 20 - HEMBRA,

CC, 90 GRADOS, MONTAJE PCB .1 1,79 1,79

2 ud Suministro y montaje de LUMBERG - NES/J 135 - MACHO,BAJA TENSIÓN, 1.35mm.

1 1,4 1,4

3 ud Suministro y montaje de microcontrolador de MICROCHIP -PIC18LF2525-I/SP - 8-BIT MCU, 48K FLASH, PDIP28

1 6,47 6,47

4 ud Suministro y montaje de MULTICOMP - 2227MC-28-06-07-F1- ZÓCALO, DIL, 0.6", 28VÍAS

1 1,58 1,58

5 ud Suministro y montaje de NKK SWITCHES - GW12RHP -INTERRUPTOR OSCILANTE, SPDT, ON-ON

1 2,02 2,02

6 ud Suministro y montaje de condensador electrolítico 0,1 uF,16V.

1 0,75 0,75

7 ud Suministro y montaje de condensador electrolítico 1 uF, 16V. 2 0,75 1,5

8 ud Suministro y montaje de condensador electrolítico 10 uF, 16V. 1 0,75 0,75

9 ud Suministro y montaje de condensador 1 nF. 1 0,75 0,7510 ud Suministro y montaje de STMICROELECTRONICS - BAT48 -

DIODO, SCHOTTKY, PEQUEÑA SEÑAL1 0,71 0,71

11 ud Suministro y montaje de ALPS - SKHHARA010 -INTERRUPTOR, TÁCTIL, PCB, 2.55N

1 0,89 0,89

12 ud Suministro y montaje de Resistencia 330 kΩ, 0'25W, 1% 2 0,27 0,5413 ud Suministro y montaje de Resistencia 10 kΩ, 0'25W, 1% 5 0,27 1,3514 ud Suministro y montaje de ptenciometro multivuelta 10 kΩ. 1 0,61 0,6115 ud Suministro y montaje de placa a topos de 160x100mm. 1 4 416 ud Suministro y montaje de Interruptor MSP 121C N/A 650mA

Negro3 2,19 6,57

17 ud Suministro y montaje de led estandar amarillo 1 0,49 0,4918 ud Suministro y montaje de regulador de tensión LM317. 1 1,55 1,5519 ud Suministro y montaje de regulador de tensión 7805. 1 1,27 1,2720 ud Suministro y montaje de LCD alfanumérico de 2x16 1 7,33 7,3321 ud Suministro y montaje de módulo Xbee de MaxStream 1mW

con chip antena.1 17 17

22 ud Suministro y montaje de placa DIP para módulo Xbee. 1 2,70 2,723 ud Suministro, montaje y mecanizado de caja

plástica.120x60x40mm.1 16 16

24 Pa Pequeño material, cables… 0,5 4,6 2,3

TOTAL MÓDULO 2 80,32

TOTAL PRESUPUESTO 128,42

Page 100: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

100

5.5 Resumen del Presupuesto El presupuesto para la ejecución de los prototipos incluyendo el material y la mano de obra de montaje asciende a 128’42 €.

(CIENTO VEINTIOCHO EUROS CON CUARENTA Y DOS CÉNTIMOS)

No se ha contemplado en el presupuesto las horas de diseño y programación de los prototipos.

En caso de su fabricación a gran escala el precio de montaje descendería notablemente debido sobre todo a:

- Un mejor precio en la compra de los materiales. La compra de grandes cantidades provoca que los proveedores ajustan más sus precios.

Por ejemplo:

PIC 18LF2525 : 1 ud 6’47 euros

100 ud 4’07 euros

Se logra una rebaja en el precio de compra de un 37%.

- Disminución de la mano de obra en la fabricación. En un proceso totalmente automatizado la mano de obra para la fabricación sería prácticamente nula.

Por ejemplo:

En este proyecto, la mano de obra imputada al total del presupuesto hace incrementar el total en un 26’7%.

Considero que una producción en masa podría significar una reducción del presupuesto en un 53%, alcanzando un total de unos 59 euros los dos módulos.

Page 101: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

101

6 CONCLUSIONES

El objetivo principal de este proyecto ha sido realizar un sistema de monitorización de la temperatura para bebes wireless. Este tipo de equipos no existen en el mercado actual a nivel doméstico, aunque si se pueden encontrar aplicaciones específicas a nivel hospitalario.

Como objetivos secundarios se pretendía conseguir que los equipos diseñados tuviesen un coste, consumo de energía y tamaño mínimo.

El proyecto ha presentado dos fases bien diferenciadas. Una primera etapa en la que se ha tenido que decidir la estructura de los módulos, se ha definido el funcionamiento de ambos y se han escogido los componentes adecuados. Y una segunda etapa en la que se ha realizado la implementación en una versión de prototipo de los módulos y se ha comprobado su funcionamiento.

Se ha diseñado e implementado un módulo inalámbrico, el cual dispone de un sensor de temperatura y funciona alimentado mediante batería, y un módulo de sobremesa, encargado de mostrar la lectura de temperatura y realizar un aviso sonoro en caso de alarma. En el módulo inalámbrico la gestión de la energía ha sido un factor determinante ya que de ello dependía la duración de la batería.

Para la comunicación wireles se ha utilizado la tecnología Zigbee. Esta tecnología ha sido diseñada para aplicaciones de bajo consumo y baja tasa de transferencia de datos, por lo que la hacía ideal para esta aplicación. Se ha profundizado en la comunicación mediante esta tecnología así como en la programación de los microcontroladores en lenguaje C.

Experimentalmente se ha comprobado el correcto funcionamiento del sensor comparando sus medidas con un termómetro digital de farmacia. También se ha comprobado el rango de distancia alzanzado en la comunicación, siendo los resultados satisfactorios y mostrados en el proyecto.

Se puede afirmar que se ha alcanzado el objetivo principal del proyecto de manera satisfactoria.

La posible producción de estos módulos a nivel comercial supondría rellenar un hueco en el mercado de los termómetros todavía sin explotar. Gracias a estos módulos, se puede mejorar el control de la temperatura en bebés. Por extensión, también se podría aplicar a adultos enfermos o con minusvalías.

Durante el desarrollo del proyecto han surgido múltiples aplicaciones además de la inicial y posibles mejoras.

Page 102: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

102

Como posibles mejoras y aplicaciones indicar que la tecnología Zigbee permite la realización de redes de comunicación con un único módulo coordinador, en nuestro caso el módulo de sobremesa. Con este tipo de red, se podría monitorizar desde enfermería a todos los pacientes de una planta hospitalaria de manera continua, o una madre podría controlar a todos sus hijos.

Otras posibles mejoras sería la incorporación de nuevos sensores capaces de medir el ritmo cardíaco, el ritmo respiratorio e incluso la tensión sanguínea. Con estos nuevos sensores se podría monitorizar las principales constantes vitales de bebés, de enfermos, o incluso de deportistas de élite.

La muerte súbita causa múltiples muertes en los bebés así como en los deportistas de élite. Los módulos multisensor podrían avisar al personal médico cuando alguna de las constantes vitales comenzasen a fallar, anticipándose el personal médico a la muerte súbita.

Considero que queda justificada la necesidad de continuar desarrollando los prototipos diseñados, mejorándolos en tamaño, precio y operatividad.

A nivel personal he decidido realizar este proyecto ya que considero que una de las vías hacia una mejor atención sanitaria tanto a nivel hospitalario como doméstico, se realiza a través de la prevención y la vigilancia estrecha de las constantes vitales de los bebés y pacientes.

Por este motivo he pretendido desarrollar una herramienta que facilite a los padres la vigilancia de sus bebés cuando estos se encuentren enfermos.

Page 103: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

103

7 ANEXOS

7.1 Programa en CCS Módulo 1.

#include <18F2525.h>

#device adc=10//La resolución del módulo A/D es de 8 bits.

// SIN RELOJ EXTERNO

#fuses INTRC_IO,PUT,BROWNOUT,NOWDT,NOPROTECT,NOLVP,NOMCLR,NOLVP

#use delay(clock=4000000)

#use RS232(BAUD=9600,XMIT=PIN_C6,RCV=PIN_C7)

#use i2c(master,sda=PIN_C4,scl=PIN_C3,FORCE_HW)

// LIBRERIAS

#include <stdlib.h>

// DECLARO FUNCIONES

void inicio_Xbee();

void inicio_TIMER1();

void muestrea();

void envia();

void convierte_a_T();

// DECLARO VARIABLES

int contador_TIMER1;

int muestrea_envia;

int indice;

int Upper_data;

int Low_data;

float T;

int dato_recibido;

char dato[8];

char aux[8];

int tiempo_de_muestreo;

int indi;

// DECLARO REGISTROS

#byte OSCCON=0xFD3 //Registro configuración modo sleep()

#bit IDLE=OSCCON.7

#bit SCS1=OSCCON.1

#bit SCS2=OSCCON.0

// DECLARO INTERRUPCIONES

Page 104: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

104

#int_rda //Vector de interrupcion de la recepcion de datos

void rda_isr(void) //por el usart

if (kbhit())

dato[indi]=getc();

aux[indi]=dato[indi];

indi++;

dato_recibido=1; ;

#int_TIMER1 //Vector de interrupción por TIMER1 (temporizador)

void TIMER1_isr(void)

contador_TIMER1++;

if (contador_TIMER1>tiempo_de_muestreo) // 500msx60=30s segundos (500ms*tiempo_de_muestreo =xx segundos)

muestrea_envia=1;

contador_TIMER1=0;

set_timer1(0x0BDC); //Carga el timer1

//FUNCION PRINCIPAL

void main()

dato_recibido=0;

indice=0;

indi=0;

inicio_Xbee();

while (dato_recibido==0)

printf("z"); // señal para el coordinador de fin de configuracion

delay_ms(1000);

tiempo_de_muestreo=((aux[0]-48)*10)+(aux[1]-48);

delay_ms(1000);

muestrea();

Page 105: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

105

envia();

inicio_TIMER1();

do

if (muestrea_envia==1)

output_low(PIN_C5); // PIN_C5 está conectado al SLEEP_RQ del XBee, si C5=0, lo despierta

delay_ms(20); // El Xbee tarda 13'2 ms en despertarse, espero 20 ms

muestrea();

envia();

output_high(PIN_C5); // Si C5=1->SLEEP_RQ=1, Xbee entra en modo sleep (<10 uA de consumo)

muestrea_envia=0;

else

SCS1=1;

SCS2=0;

IDLE=1;

sleep(); // Duermo el microcontrolador pero dejo funcionando el TIMER1, cuando provoque interrupción despierta.

while (TRUE);

//FUNCIONES

void convierte_a_T()

//T = Temperatura ambiente (ºC)

T=0;

if (bit_test(Low_data,0))

T=T+0.0625;

if (bit_test(Low_data,1))

T=T+0.125;

if (bit_test(Low_data,2))

T=T+0.25;

if (bit_test(Low_data,3))

T=T+0.5;

Page 106: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

106

if (bit_test(Low_data,4))

T=T+1;

if (bit_test(Low_data,5))

T=T+2;

if (bit_test(Low_data,6))

T=T+4;

if (bit_test(Low_data,7))

T=T+8;

if (bit_test(Upper_data,0))

T=T+16;

if (bit_test(Upper_data,1))

T=T+32;

if (bit_test(Upper_data,2))

T=T+64;

if (bit_test(Upper_data,3))

T=T+128;

void envia()

printf("%2.2f",T);

printf("f");

void muestrea()

// Dirección sensor - lectura : 0x3F

// Dirección sesnor - escritura: 0x3E

// Config register - 0x01

i2c_start(); // Inicio comunicación

i2c_write(0x3E); // Dirección escritura

i2c_write(0x01); // Dirección Conig register

i2c_write(0x00); // Sensor en modo continuo

i2c_write(0x00);

i2c_stop();

delay_ms(5); // Fin trama

// Resolution register - 0x08

i2c_start(); // Inicio comunicación

i2c_write(0x3E); // Dirección escritura

Page 107: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

107

i2c_write(0x08); // Dirección Conig register

i2c_write(0x03); // Resolucion: 0'0625ºC

i2c_stop(); // Fin trama

// Espero conversión

delay_ms(350);

// Leo conversión

i2c_start(); // send START command

i2c_write (0x3E); //WRITE Command (see Section 4.1.4)

i2c_write(0x05); // Write TA Register Address

i2c_start(); //Repeat START

i2c_write(0x3F); // READ Command (see Section 4.1.4)

Upper_data = i2c_read(1); // READ 8 bits

Low_data = i2c_read(0); // READ 8 bits

i2c_stop(); // send STOP command

delay_ms(5);

// Lectura realizada, duermo el sensor.

i2c_start(); // Inicio comunicación

i2c_write(0x3E); // Dirección escritura

i2c_write(0x01); // Dirección Conig register

i2c_write(0x01); // Sensor en modo shutdown

i2c_write(0x00);

i2c_stop();

delay_ms(5);

// Convierto dato a grados centígrados

convierte_a_T();

void inicio_TIMER1()

contador_TIMER1=0;

muestrea_envia=0;

setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); //Setup timer: Reloj interno, preescaler= 8

enable_interrupts(INT_TIMER1); //Habilito interrupción particular del TIMER1

enable_interrupts(GLOBAL); //Habilito interrupciones globales

// Desbordamiento_TIMER1=(4/frecuencia_oscilador)*Preescaler*(65536-TMR1)

// Provocamos un desbordamiento del TIMER1 cada 500 ms.

Page 108: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

108

set_timer1(0x0BDC);//Carga del TMR1 con el valor 3036, 0x0BDC en hexadecimal

void inicio_Xbee() //Configuro Xbee

enable_interrupts(int_rda);

enable_interrupts(global);

//Entro en modo comando

printf("+++");

delay_ms(1500);

//La dirección del módulo es BBBB

printf("ATMYBBBB\r");

delay_ms(1500);

// La dirección del módulo de destino es 0xAAAA

printf("ATDLAAAA\r");

delay_ms(1500);

// La PAN ID es 0x3332

printf("ATID3332\r");

delay_ms(1500);

// Comunicación entre el HOST y el MODEM es 9600 baudios

printf("ATBD3\r");

delay_ms(1500);

// Se elige el canal 0x0C, canal 12.

printf("ATCHC\r");

delay_ms(1500);

// Se elige MODO SLEEP 1 controlado por un pin (1=sleep / 0=wake up).

printf("ATSM1\r");

delay_ms(1500);

// Graba todos los parámetros en memoria

printf("ATWR\r");

delay_ms(1500);

// Sale del modo comando

printf("ATCN\r");

delay_ms(3000);

printf("x"); // señal para el coordinador de fin de configuracion

Page 109: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

109

7.2 Programa en CCS Módulo 2. #include <18F2525.h>

// CON RELOJ EXTERNO

//#fuses XT,NOWDT,NOPROTECT,NOLVP,PUT,BROWNOUT,MCLR

// SIN RELOJ EXTERNO

#fuses INTRC_IO,NOPUT,NOBROWNOUT,NOWDT,NOPROTECT,NOLVP,MCLR,NOLVP

#use delay(clock=4000000)

#use RS232(BAUD=9600,XMIT=PIN_C6,RCV=PIN_C7)

// Conexiones uC con el LCD

#define LCD_RS_PIN PIN_B7

#define LCD_RW_PIN PIN_B6

#define LCD_ENABLE_PIN PIN_B5

#define LCD_DATA4 PIN_B4

#define LCD_DATA5 PIN_B3

#define LCD_DATA6 PIN_B2

#define LCD_DATA7 PIN_B1

// LIBRERIAS

#include "lcd_mod.c"

#include <stdlib.h>

#include <internal_eeprom.c>

// Valores predeterminados

float const Tmax_default_valor=38.00; // valor predeterminado como máxima temperatura para alarma

float const Tmin_default_valor=35.50; // valor predeterminado como minima temperatura para alarma

int const Sample_default_valor=60; // valor mediante el cual se configura el tiempo de muestreo 60*500ms=30s

int const Tmax_default_adress=0x0A; // dirección de EEPROM donde se guarda la Tª maxima elegida por el usuario

int const Tmin_default_adress=0x14; // dirección de EEPROM donde se guarda la Tª minima elegida por el usuario

int const Sample_default_adress=0x1E; // dirección de EEPROM donde se guarda el tiempo de muestreo de la Tª

long const pulsacion=300; // tiempo en ms que espera para evitar rebotes en los pulsadores

int const primer_adress=0x28; // direccion donde guardo si el programa se ejecuta por primera vez

// DECLARO FUNCIONES

Page 110: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

110

void inicio_LCD();

void inicio_Xbee();

void inicio_variables();

void escribe_dato_LCD();

void opciones_menu();

void t_config();

void inicio_TIMER1();

void alerta();

void activar_al();

void termometro();

// DECLARO VARIABLES

char dato[8];

char aux[8];

int fin_mensaje;

int fin;

int respuesta;

int indice;

int index;

int comando;

int temperatura;

int recibido;

int menu;

float T_max;

float T_min;

float T_real;

int alarma;

int aceptar_opcion;

int salir;

int temp_maxima;

long C3;

int contador_TIMER1;

int disp_no_conectado;

int comienza;

int contador_alarma;

int activar_alarma;

int t_muestreo;

int ini_xbee;

// DECLARO INTERRUPCIONES

Page 111: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

111

#int_TIMER1 //Vector de interrupción por TIMER1 (temporizador)

void TIMER1_isr(void)

contador_TIMER1++;

if ((alarma==1)&&(activar_alarma==1))

if (contador_alarma==1)

output_high(PIN_C2);

contador_alarma=0;

else

if (contador_alarma==0)

output_low(PIN_C2);

contador_alarma=1;

if (contador_TIMER1>180) // 60 segundos (500ms*120=60 segundos)

disp_no_conectado=1;

contador_TIMER1=0;

set_timer1(0x0BDC); //Carga el timer1

#int_rda //Vector de interrupcion de la recepcion de datos

void rda_isr() //por el usart

if (comando==1)

if (kbhit())

dato[indice]= getc(); //Se lee el dato recibido

indice++;

Page 112: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

112

if (comando==0)

if (kbhit())

dato[indice]=getc();

aux[indice]=dato[indice];

indice++;

recibido=1;

//PROGRAMA PRINCIPAL

void main()

set_tris_c(00111000); //0 = salida, 1 = entrada (Pin7,6,5,4,3,2,1,0)

int xbee_ok=0;

int sensor_ok=0;

int ini_xbee=0;

inicio_LCD();

inicio_variables();

inicio_Xbee();

inicio_TIMER1();

do

// Si presiona el boton Menu (PIN C3) entra en Menu.

if (input(PIN_C3))

if (C3==-1)

C3++;

else

opciones_menu();

// Si recibo dato del sensor...

if ((recibido==1))

contador_TIMER1=0; // El contador de sensor no conectado vuelve a cero.

Page 113: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

113

index=0;

// Si recibido la '+', indica que el Xbee del módulo sensor se está configurando

if (dato[0]=='+')

ini_xbee=0;

// Si recibido la 'x', envio t_muestreo e indico que el Xbee del módulo sensor está configurado

if (dato[0]=='x')

if (xbee_ok==1)

sensor_ok=0;

printf("%d",t_muestreo);

ini_xbee=1;

else

xbee_ok=1;

printf("%d",t_muestreo);

ini_xbee=1;

for (index=0;index<8;index++)

dato[index]='f';

// Si recibido la 'z', el módulo sensor ha recibido el tiempo de muestreo

if (dato[0]=='z')

sensor_ok=1;

for (index=0;index<8;index++)

dato[index]='f';

//Si del módulo sensor el Xbee y el sensor están configurados, recibo la temperatura y la muestro por pantalla.

if ((ini_xbee==1)&&(xbee_ok==1)&&(sensor_ok==1))

lcd_putc("\f Temp=");

escribe_dato_lcd();

T_real=((aux[0]-48)*10)+(aux[1]-48)+((aux[3]-48)*0.1)+((aux[4]-48)*0.01);

alerta();

Page 114: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

114

index=0;

T_real=0;

delay_us(15);

recibido=0;

indice=0;

if (disp_no_conectado==1)

lcd_putc("\fSENSOR NO CONECT\n");

lcd_putc("o BAJA BATERIA\n");

disp_no_conectado=0;

while (TRUE);

// FUNCIONES

void alerta()

if (T_real<T_min)

alarma=1;

lcd_putc("\n TEMP.BAJA!");

else

if (T_real>t_max)

alarma=1;

lcd_putc("\n TEMP.ALTA!");

else

alarma=0;

lcd_putc("\n TEMP.OK");

Page 115: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

115

void inicio_TIMER1()

contador_TIMER1=0;

setup_timer_1(T1_INTERNAL|T1_DIV_BY_8); //Setup timer: Reloj interno, preescaler= 8

enable_interrupts(INT_TIMER1); //Habilito interrupción particular del TIMER1

enable_interrupts(GLOBAL); //Habilito interrupciones globales

// Desbordamiento_TIMER1=(4/frecuencia_oscilador)*Preescaler*(65536-TMR1)

// Provocamos un desbordamiento del TIMER1 cada 500 ms.

set_timer1(0x0BDC);//Carga del TMR1 con el valor 3036, 0x0BDC en hexadecimal

void inicio_LCD()

delay_ms(1000);

lcd_init();

lcd_putc("\fXBee Coordinador\n");

delay_ms(2000);

void inicio_Xbee()

lcd_putc("\fSetup: uC-->XBee\n");

delay_ms(1000);

enable_interrupts(int_rda);

enable_interrupts(global);

comando=1;

//Entro en modo comando

printf("+++");

delay_ms(1500);

printf (lcd_putc,"\f%d)+++\n ",comando);

indice=0;

escribe_dato_LCD();

//La dirección del módulo es AAAA

printf("ATMYAAAA\r");

delay_ms(1500);

printf (lcd_putc,"\fATMYAAAA\n");

Page 116: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

116

indice=0;

escribe_dato_LCD();

// La dirección del módulo de destino es 0xBBBB

printf("ATDLBBBB\r");

delay_ms(1500);

printf (lcd_putc,"\fATDLBBBB\n");

indice=0;

escribe_dato_LCD();

// La PAN ID es 0x3332

printf("ATID3332\r");

delay_ms(1500);

printf (lcd_putc,"\fATID3332\n");

indice=0;

escribe_dato_LCD();

// Comunicación entre el HOST y el MODEM es 9600 baudios

printf("ATBD3\r");

delay_ms(1500);

printf (lcd_putc,"\fATBD3\n");

indice=0;

escribe_dato_LCD();

// Se elige el canal 0x0C, canal 12.

printf("ATCHC\r");

delay_ms(1500);

printf (lcd_putc,"\fATCHC\n");

indice=0;

escribe_dato_LCD();

// Graba todos los parámetros en memoria

printf("ATWR\r");

delay_ms(1000);

printf (lcd_putc,"\fATWR\n");

indice=0;

escribe_dato_LCD();

// Sale del modo comando

printf("ATCN\r\f");

delay_ms(1000);

printf (lcd_putc,"\fATCN\n");

indice=0;

escribe_dato_LCD();

delay_ms(1000);

comando=0;

Page 117: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

117

lcd_putc("\f.esperando dato.\n");

void escribe_dato_LCD()

index=0;

for (index=0;index<8;index++)

if (dato[index]!='f')

printf (lcd_putc,"%c",dato[index]);

dato[index]='f';

void inicio_variables()

activar_alarma=0;

contador_alarma=0;

aceptar_opcion=0;

C3=-1;

menu=0;

fin=0;

recibido=0;

temperatura=0;

fin_mensaje=0;

comando=1;

index=0;

indice=0;

respuesta=0;

// Inicializo las temperaturas máxima y mínima de alarma. Un byte de la eeprom viene de fábrica con valor entero -1. Leo una posición de memoria a la que llamo

// "primer", si vale -1 es que se ejecuta por primera vez el programa y cargo las temperaturas iniciales, si es diferente de -1, cargo las que tenga guardada la eeprom.

int primer;

primer=read_eeprom(primer_adress);

if (primer==-1)

Page 118: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

118

write_float_eeprom(Tmax_default_adress,Tmax_default_valor);

write_float_eeprom(Tmin_default_adress,Tmin_default_valor);

write_eeprom(Sample_default_adress,Sample_default_valor);

T_max=read_float_eeprom(Tmax_default_adress);

T_min=read_float_eeprom(Tmin_default_adress);

t_muestreo=read_eeprom(Sample_default_adress);

write_eeprom(primer_adress,5);

else

T_max=read_float_eeprom(Tmax_default_adress);

T_min=read_float_eeprom(Tmin_default_adress);

t_muestreo=read_eeprom(Sample_default_adress);

alarma=0;

disp_no_conectado=0;

for (index=0;index<8;index++)

dato[index]='f';

index=0;

comienza=0;

void opciones_menu()

lcd_putc("\fConfiguracion: \n");

long C4, C5;

long opcion, sig, prev;

int aceptar;

C3=-1;

C4=-1;

C5=-1;

opcion=100;

sig=10;

prev=10;

aceptar=0;

menu=1;

do

if (input (PIN_C3))

Page 119: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

119

if (C3==-1)

C3++;

else

aceptar=1;

if (input (PIN_C4))

if (C4==-1)

C4++;

else

opcion=opcion+sig;

if (input (PIN_C5))

if (C5==-1)

C5++;

else

opcion=opcion-prev;

switch (opcion)

case 100:

lcd_gotoxy(1,2);

lcd_putc("1/4-> Alarma ");

delay_ms(pulsacion);

if (aceptar==0)

prev=-40;

sig=10;

else

opcion=101;

aceptar=0;

break;

case 101:

lcd_gotoxy(1,2);

lcd_putc("1/4->T. Max: ");

delay_ms(pulsacion);

prev=-3;

sig=1;

if (aceptar==1)

temp_maxima=1;

Page 120: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

120

t_config();

aceptar=0;

break;

case 102:

lcd_gotoxy(1,2);

lcd_putc("2/4->T. Min: ");

delay_ms(pulsacion);

prev=1;

sig=1;

if (aceptar==1)

temp_maxima=0;

t_config();

aceptar=0;

break;

case 103:

lcd_gotoxy(1,2);

lcd_putc("3/4->Act Alarma ");

delay_ms(pulsacion);

if (aceptar==0)

prev=1;

sig=1;

else

activar_al();

aceptar=0;

break;

case 104:

lcd_gotoxy(1,2);

lcd_putc("4/4-> Salir ");

delay_ms(pulsacion);

if (aceptar==0)

prev=1;

sig=-3;

else

opcion=100;

aceptar=0;

break;

case 120:

lcd_gotoxy(1,2);

lcd_putc("2/4->Termometro ");

delay_ms(pulsacion);

Page 121: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

121

if (aceptar==0)

prev=10;

sig=10;

else

termometro();

aceptar=0;

break;

case 130:

lcd_gotoxy(1,2);

lcd_putc("3/4->Save conf. ");

delay_ms(pulsacion);

if (aceptar==0)

prev=10;

sig=10;

else

write_float_eeprom(Tmax_default_adress,T_max);

delay_ms(2);

write_float_eeprom(Tmin_default_adress,T_min);

delay_ms(2);

write_eeprom(Sample_default_adress,t_muestreo);

delay_ms(2);

lcd_gotoxy(1,2);

lcd_putc("2/3-> SALVADO! ");

delay_ms(2000);

lcd_gotoxy(1,2);

int segundo;

segundo=(t_muestreo/10)*5;

printf (lcd_putc,"%f,%f,%ds ",T_max,T_min,segundo);

delay_ms(2000);

opcion=120;

aceptar=0;

break;

case 140:

lcd_gotoxy(1,2);

lcd_putc("4/4-> Salir ");

delay_ms(pulsacion);

if (aceptar==0)

prev=10;

sig=-40;

Page 122: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

122

else

menu=0;

aceptar=0;

break;

default:

break;

while (menu==1);

lcd_gotoxy(1,2);

lcd_putc("Fin Menu ");

delay_ms(3000);

lcd_putc("\f.esperando dato.\n");

C3=0;

void activar_al()

long C4, C5;

C3=-1;

C4=-1;

C5=-1;

salir=1;

do

if (input (PIN_C3))

if (C3==-1)

C3++;

else

salir=0;

delay_ms(pulsacion);

if (input (PIN_C4))

if (C4==-1)

C4++;

else

if (activar_alarma==0)

activar_alarma=1;

Page 123: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

123

else

activar_alarma=0;

output_low(PIN_C2);

delay_ms(pulsacion);

if (input (PIN_C5))

if (C5==-1)

C5++;

else

if (activar_alarma==0)

activar_alarma=1;

else

activar_alarma=0;

output_low(PIN_C2);

delay_ms(pulsacion);

if (activar_alarma==0)

lcd_gotoxy(1,2);

lcd_putc("Alarma = NO ");

else

lcd_gotoxy(1,2);

lcd_putc("Alarma = SI ");

while (salir);

Page 124: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

124

void t_config()

long C4, C5;

C3=-1;

C4=-1;

C5=-1;

if (temp_maxima) // Configuro la variable de la temperatura máxima.

salir=1;

do

if (input (PIN_C3))

if (C3==-1)

C3++;

else

salir=0;

delay_ms(pulsacion);

if (input (PIN_C4))

if (C4==-1)

C4++;

else

T_max=T_max+0.1;

delay_ms(200);

if (input (PIN_C5))

if (C5==-1)

C5++;

else

T_max=T_max-0.1;

delay_ms(pulsacion);

lcd_gotoxy(1,2);

printf (lcd_putc,"T.Max Al.=%f",T_max);

while (salir);

Page 125: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

125

else // Configuro la variable de la temperatura mínima.

salir=1;

do

if (input (PIN_C3))

if (C3==-1)

C3++;

else

salir=0;

delay_ms(pulsacion);

if (input (PIN_C4))

if (C4==-1)

C4++;

else

T_min=T_min+0.1;

delay_ms(pulsacion);

if (input (PIN_C5))

if (C5==-1)

C5++;

else

T_min=T_min-0.1;

delay_ms(pulsacion);

lcd_gotoxy(1,2);

printf (lcd_putc,"T.Min Al.=%f",T_min);

while (salir);

void termometro()

long C4, C5;

int segundos;

C3=-1;

C4=-1;

Page 126: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

126

C5=-1;

salir=1;

do

if (input (PIN_C3))

if (C3==-1)

C3++;

else

salir=0;

delay_ms(pulsacion);

if (input (PIN_C4))

if (C4==-1)

C4++;

else

t_muestreo=t_muestreo+10;

delay_ms(200);

if (t_muestreo>120)

t_muestreo=10;

if (input (PIN_C5))

if (C5==-1)

C5++;

else

t_muestreo=t_muestreo-10;

delay_ms(pulsacion);

if (t_muestreo<10)

t_muestreo=120;

segundos=(t_muestreo/10)*5;

lcd_gotoxy(1,2);

printf (lcd_putc,"T. temp(s)= %d ",segundos);

while (salir);

Page 127: MONITORIZACIÓN WIRELESS DE CONSTANTES …deeea.urv.cat/public/PROPOSTES/pub/pdf/1515pub.pdfMonitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

Monitorización Wireless Constantes Vitalesde un bebé Automática y Electrónica Industrial

127

7.3 Ficheros En el cd adjunto al proyecto se encuentran todos los ficheros de programación así

como las hojas de características técnicas de los equipos empleados.