Story Transcript
UNIVERSIDAD AUTONOMA METROPOLITANA
UNIDAD:
. DIVISION:
IZTAPALAPA
CIENCIAS BASICAS E INGENIERIA
_I,\-._..
&'
\i
'>
*
,\
'
'_. '
\,
("'<
t
MATERIA:
SEMINARIO DE PROYECTO
TITULO:
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
/'FECHA:
JCTLIO DE 1999
--
ALUMNO:
BECERRIL CHIMAL JORGE
MATRICULA:
91226194
ASESOR:
JUAN CARCOS ECHEVERRIA ARJONILLA
AGRADECIMIENTOS
A MIS PADRES, POR SU APOYO INCONDICIONAL QUE ME BRINDARON DURANTE LA CARRERA. LES AGRADEZCO TODA SU AYUDA Y LES DEDICO ESTE REPORTE DE PROYECTOQUE SIGNIFICA LA TERMINACION DE LA LICENCIATURA EN INGENIERIA BIOMEDICA
AL PROFESOR JUAN CARLOS ECHEVERRIA ARJONILLA (MI ASESOR DE PROYECTO TERMINAL). GRACIAS POR TODO TU APOYO Y COMPRENSION DURANTE EL DESARROLLO DEL PROYECTO. SIEMPRE LO TEND& PRESENTE.
A LOS LABORATORISTAS JUAN, JORGE Y RODOLFO, POR SU AMISTAD Y POR LAS FACILIDADES OTORGADAS EN LOS LABORATORIOS.
UNIVERSIDAD AUTONOMA METROPOLITANA
INDICE
OBJETIVO
INTRODUCCION
CAPITULO I: “FISIOLOGIA”
2
ANTECEDENTES FISIOLOGICOS LA REGULACION NERVIOSA DE LA TEMPERATURA REGISTRO DE LA TEMPERATURA CORPORAL TEMPERATURA EN EL CONDUCTO AUDITIVO REFERENCIAS
CAPITULO I1 : “ DESARROLLO DEL SISTEMA ’’
10
INTRODUCCIÓN (DISEÑO) DIAGRAMA A BLOQUES DEL SISTEMA COMPONENTES UTILIZADOS
11 12 13
1. EL SENSOR DE TEMPERATURA CARACTERISTICAS OBTENCION DE LA TEMPERATURA CIRCUITO UTILIZADO (DIAGRAMA)
14 14 15 15
2. EL MICROCONTROLADOR 8031 CARACTERISTICAS DISTRIBUCION DE MEMORIA INTERCONEXION DEL 803 1 CON LA MEMORIA EXTERNA
16 16 17 18
UNIVERSIDAD AUTONOMA METROPOLITANA
3. EL CONVERTIDOR ANALOGICO DIGITAL ADC1205 CARACTERISTICAS RESOLUCION INTERCONEXION DEL ADC1205
19 19 19 21
4. LA ETAPA DE SELECCI~N DESCRIPCION DEL TECLADO EL CONTROLADOR DE TECLADO 8279 COMANDOS DEL 8279 INICIALIZACION DEL 8279 CODIFICACION DE LA TECLA INTERCONEXION DEL 8279
22 22 22 22 23 24 25
5. LA ETAPA DE DESPLIEGUE DESCRIPCION DEL DISPLAY CONTROL DEL AND491 INTERCONEXION
26 26 27 28
6. FUNCIONAMIENTO DEL SISTEMA FRECUENCIA Y PERIODO DE MUESTRE0 TIEMPO DE FUNCIONAMIENTO
29 29 29
CAPITULO I11 :“ CARACTERIZACION DEL SISTEMA” CARACTERIZACION ESTATICA EN UNA SOLA TEMPERATURA CARACTERIZACION ESTATICA EN UN RANGO DE TEMPERATURA NUEVA CARACTERIZACION CONCLUSIONES
31 32 34 37 44
UNIVERSIDAD AUTONOMA METROPOLITANA
CAPUTULO IV: SOFTWARE DEL 8031” PROGRAMA PARA VERIFICAR EL 8279 PROGRAMA PARA VERIFICAR EL ADC1205 PROGRAMA GLOBAL
45
46 47
55
APENDICE A. EL TRANSDUCTOR AD590
81
APENDICE B. PROBLEMAS EN EL DISENO
85
BIBLIOGRAFIA
93
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
Sistema para Medición de la temperatura Corporal basado en el Microcontrolador 8031 Objetivo : Desarrollar un sistema para el monitoreo de la temperatura en el conducto auditivo externo. Introducción: En el presente proyecto se desarrolla un sistema para la medición de la temperatura corporal en el conducto auditivo, con fines de investigación y diagnóstico clínico, presentando una alternativa sencilla y confiable para la medición de la temperatura corporal.
1
SISTEMA PARA EL MOMTOREO DE LA TEMPERATURA CORPORAL
CAPITULO I
FISIOLOGIA
2
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
ANTECEDENTES FISIOLOGICOS. Temperatura Corporal
La temperatura en el organismo es consecuencia de un balance entre la producción de calor y su pérdida. La producción de calor se origina por las reacciones químicas del metabolismo y su regulación suele llamarse termorregulación química. La pérdida de calor se consigue mediante mecanismos fisicos (termorregulación fisica). La constancia de la temperatura depende de un equilibrio dinámico bien gobernado que existe entre los procesos de termorregulación química y los de termorregulación física, es decir, homeostasis térmica. La constancia en la temperatura corporal es una condición de importancia vital, pues todos los procesos biológicos se realizan adecuadamente cuando se tiene un punto optimo de temperatura, por debajo de este punto optimo disminuyen o se detienen, y por encima del mismo disminuyen, se perturban o se produce la muerte. Este aumento de intensidad de los fenómenos fisiológicos según la temperatura de los tejidos sigue la ley de Arrenius, que establece que con un aumento de temperatura de 10 grados centígrados, la velocidad de las reacciones químicas aumenta entre 2 y 3 veces. Esta ley rige a los equilibrios químicos.(ó)
La regulación nerviosa de la temperatura.
Los componentes activos del sistema termorregulador forman una red altamente compleja de lazos de retroalimentación. Las estructuras de los nervios centrales desempeñan funciones de control que son manejadas por entradas de múltiples señales generadoras que actúan en múltiples efectores. El descubrimiento en 1912 de la importancia primordial de las estructuras del hipotálamo en el control de la temperatura corporal de los mamíferos puede ser considerado como el paso inicial para el análisis estructural y funcional del sistema activo en la termorregulación. Los intentos realizados en los siguientes 50 años para describir la actividad de los efectores termorreguladores con entradas termosensoriales hipotalámicas locales y cutáneas culminan en los conceptos clásicos de la regulación de la temperatura hipotalámica en mamíferos. (2) La temperatura del cuerpo está regulada casi por completo por mecanismos nerviosos de retroalimentación, y casi todos ellos operan a través de los centros reguladores de la temperatura localizados en el hipotálamo. Para que estos mecanismos de retroalimentacion actúen, deben existir también detectores de temperatura para determinar cuando la temperatura corporal es demasiado caliente o fría. El área preoptica del hipotálamo tiene la capacidad de servir como centro termostático de control de la temperatura corporal. Aunque las señales generadas por los receptores de temperatura del hipotálamo son extremadamente poderosas en el control de la temperatura corporal, los receptores de otras partes del cuerpo también desempeñan papeles importantes en la regulación de la temperatura
3
SISTEMA PAR4 EL MONITOREO DE LA TEMPERATURA CORPORAL
La detección periférica (a nivel de la piel) de la temperatura trata principalmente de detectar las temperaturas frescas y frías. También hay receptores de temperatura más internos, principalmente en la medula espinal, en las vísceras abdominales y alrededor del as venas grandes. Estos receptores profundos actúan de forma diferente a los receptores cutáneos porque están expuestos a la temperatura corporal central en lugar de a la temperatura superficial. Cuando los centros hipotalamicos detectan que la temperatura corporal es demasiado caliente o demasiado fría, activan los procedimientos adecuados para equilibrarla nuevamente. Los mecanismos que reducen la temperatura cuando la temperatura se eleva son la vasodilatación, sudoración y reducción de mecanismos de producción de calor como el temblor y la termogénesis química. Por otra parte, los mecanismos que aumentan la temperatura cuando la temperatura es baja son la vasoconstriccion cutánea, la piloereccion y aumento de la producción de calor por sistemas metabólicos. En el área del hipotálamo posterior es donde se combinan las señales del área preoptica y las señales de la periferia del cuerpo para controlar las reacciones de producción y conservación del calor del cuerpo (6).
El equilibrio tan fino que existe entre la producción y la pérdida de calor, solo es posible con la cooperación y con la coordinación de los niveles superiores del sistema nervioso central. Existe evidencia de que el control de los distintos mecanismos que intervienen en la regulación de la temperatura radica en el hipotálamo, y la lesión de esta zona puede producir hipotermia. Tanto la producción de calor como la pérdida del mismo, están regulados por la existencia de centros separados para las respuestas al calor y al frío. El del calor está localizado en el tálamo anterior, y el de la respuesta al frío, en la porción caudal del hipotálamo lateral.. Los núcleos inferiores de regulación de la pérdida de calor están situados en el bulbo y en la medula, encargados por lo menos del control de las pérdidas calóricas por cambios en el aporte de sangre a la piel, o por la secreción de sudor. También se efectúa a ese nivel un control de algunos de los procesos participantes en la producción de calor, tales como los escalofríos, vasoconstricción, alteraciones metabólicas, entre otras. Estos centros inferiores, sin embargo, solo pueden funcionar de una manera coordinada cuando se hallan bajo el control superior del hipotálamo. En los mamíferos superiores la temperatura de la sangre se mantiene dentro de limites bastante estrechos. Esta regulación asegura que la velocidad de las reacciones químicas y procesos fisicos del organismo no dependan de factores externos. La evolución de este control termostático probablemente ha sido uno de los de mayor importancia en el desarrollo del complejo sistema nervioso (8). Si la temperatura del cuerpo tiende a elevarse, el hipotálamo responde incrementando el índice de perdida calórica, y una de las maneras más efectivas de lograrlo es mediante la sudoración. El sudor enfría la piel al evaporarse, y el grado de enfriamiento alcanzado depende de la humedad de la atmósfera y del movimiento del aire alrededor del cuerpo. El conocimiento de las vías intraneurales que rigen el mecanismo de la sudoración reviste importancia porque, en ocasiones, puede utilizarse para localizar una lesión neurológica. La sudoración, uno de los medios del
4
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
hipotálamo para impedir la elevación de la temperatura del cuerpo, puede ser contrapuesta al escalofrío ( que aumenta la producción de calor ) . El escalofrío demuestra que los centros reguladores de calor pueden controlar la temperatura somática. En el escalofrío intervienen mas las fibras extrapiramidales que las corticoespinales y se observa que en su iniciación, los temblores se generan independientemente en los músculos; debe suponerse que en estas condiciones las vías descendentes preparan el terreno para los movimientos, pero que los detalles de ejecución se regulan localmente desde la medula espinal. El escalofrío es uno de los ejemplos de la capacidad del hipotálamo para controlar el sistema motor, por consiguiente no es sorprendente que el hipotálamo gobierne el aporte sanguíneo a la musculatura estriada (8).
Registro de la Temperatura Corporal
La temperatura corporal no es la misma en todos los puntos o regiones del cuerpo. Los órganos internos constituyen el núcleo central, cuya temperatura permanece casi constante a pesar de las variaciones de la temperatura del medio exterior. La homeotermia es propia de los Órganos profundos y no de la superficie. Por esta razón todo estudio de la temperatura corporal o de sus variaciones será adecuado en el caso de las mediciones a nivel del núcleo central (temperatura central). E n el hombre, la temperatura central se determina principalmente a nivel del recto (5). La piel, los tejidos subcutáneos, y especialmente la grasa de los tejidos subcutáneos son un aislante de calor para el cuerpo. El aislante debajo de la piel es un medio eficaz para mantener una temperatura central normal, aunque permite que la temperatura de la piel se aproxime a la temperatura del exterior. La temperatura de la piel, al contrario que la temperatura central, aumenta y disminuye con la temperatura exterior. El concepto de temperatura corporal estable y homogénea es una abstracción, ya que la temperatura varía de un sitio a otro del cuerpo, tanto en la profundidad como en la superficie. Los tejidos activos como el hígado o los músculos contráctiles, poseen una temperatura superior a la de los menos activos, o a la de aquellos que pierden calor con facilidad, como la piel. Pero sin embargo, debido a la circulación de la sangre y a la gran conductividad térmica de casi todos los tejidos, existe una tendencia a que las temperaturas del interior del cuerpo se igualen entre si, así como a que exista un gradiente progresivo de temperaturas desde los tejidos profundos hacia la piel (7). Este gradiente puede verse examinando las siguientes temperaturas:
Superficie cutánea Piel cubierta por vestidos....................................... Piel desnuda en baño a 5 "C.................................. Piel desnuda en baño a 25 "C................................
33 a 35"C 17 "C 26.5"C
5
SISTEMA PARA EL MONITOREO DE LA TEMPERATüRA CORPORAL
Músculos a 12 mm. por debajo de la piel En baño a 5 "C ..................................................... En baño a 25 "C ....................................................
36.3"C 36.9"C
Es importante notar como existe menor variación de temperatura (gradiente) a medida que la zona de registro es mas interna.
Constituye una práctica común con fines de diagnostico medir la temperatura humana en el recto, en la boca u ocasionalmente en la axila. La temperatura rectal refleja casi exactamente la temperatura profunda del cuerpo. La de la boca, varía con el ritmo respiratorio y con la pérdida de calor a través de las mejillas. La temperatura rectal puede variar puede variar diariamente entre 36.3 y 37.3"C, considerándose 37 "C como un término medio. Es la mas segura de las temperaturas, y su limitación como procedimiento clínico rutinario es por razones prácticas y de incomodidad.. De esta manera, es deseable tener un indicador de temperatura alternativo rápido, simple, no tan agresivo, que sirva como un remplazo para la temperatura rectal.
Temperatura en el conducto auditivo (timpánica)
En la practica clínica, la temperatura en el conducto auditivo (timpánica) es usada como una estimación de la temperatura corporal. Teóricamente, la temperatura registrada directamente del tímpano refleja la temperatura de la sangre arterial circulando en el cerebro. Sin embargo algunos estudios no concuerdan con esta suposición (3) Los termómetros basados en el oído para el uso clínico, comúnmente llamados termómetros timpánicos, detectan la emisión de calor en el canal auditivo y en el tímpano (3).
.
Hay investigaciones que concluyen que la temperatura timpánica puede ser un remplazo satisfactorio para la temperatura rectal , no así lo es la temperatura oral (1). En dicho estudio mencionado, heron examinadas las temperaturas Oral (Tor), y timpánica (Tty), como alternativas para la temperatura rectal (Tre). Los sujetos analizados fueron 20 voluntarios de 1833 años de edad. Una carga de trabajo h e determinada con prendas protectoras químicas , teniendo que caminar el sujeto en una banda de esfuerzo hasta que fue alcanzado un V02 de 1.33 L/min. (650 W aprox.). En una segunda sesión, los sujetos caminaron sobre la banda de esfuerzo con una carga de trabajo previamente determinada hasta alcanzar una Tre de 39OC, o una frecuencia cardiaca de 185 latidos por minuto, o por fatiga. Entonces los sujetos descansaron 48 minutos.
6
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
Este ciclo continuó por 4 horas o hasta la fatiga absoluta a menos de 4 horas. La frecuencia cardiaca, Tor, Tty, Tre y la temperatura promedio de la piel, fueron registradas cada 10 minutos y al fin del trabajo. Los resultados se muestran en la Tabla 1. ..... Intervalo ................... .....................................Tor ...........(“C) , ....... ....................................... TtY .... ....(“C) . ..... .................................................Tre ..(“C) ...... ...........................
37.19 +I- .69 10 minutos 35.37 +I- 1.57 36.59 +/- .28 37.51 +I- .42 36.77 +I- .39 35.53 +I- 1.14 20 minutos 36.85 +I- .35 37.67 +I- .39 35.60 +/- 1.09 30 minutos +I.50 37.82 +I- .42 36.93 35.55 +I1.23 40 minutos 37.08 +I- .55 37.97 +/- .49 35.71 +/- 0.98 50 minutos 60 minutos 35.65 +I- 0.91 37.17 +I- .55 38.06 +I- .57 Tabla 1. Media y Desviación estándar de Tor, Tty y Tre para todos los sujetos (1)
..........
Una prueba T STUDENT por pares fue usada para determinar si una diferencia significativa en la magnitud de la de temperatura se incrementaba en Tor y Tty comparada con la Tre . No fueron observadas diferencias significativas (p>0.05) en ATor contra ATre a los 20, 40 y 60 minutos de ejercicio, pero ATor falló al mostrar diferencias promedio significativas consistentemente a través de la prueba. Sin embargo, ATty no mostró diferencias significativas (pB0.05) contra ATre a través de la prueba. Tty significativamente correlacionada con Tre a los 30 y 50 minutos de los intervalos ( p l 0.05) y al fin de la lectura ( p l 0.01). Un análisis de las mediciones repetidas , de la varianza, no mostró diferencia significativa entre Tty y Tre en el tiempo. Los resultados mostraron que Tty y Tre fueron cambiando linealmente en el tiempo pero con Tor no fue así. Esto concluye que Tty tiene potencial como indicador de la temperatura central y como indicador de la producción de calor (1). Por esta razón, se pensó en la importancia del presente proyecto, que consiste en el diseño y desarrollo de un sistema digital para medir la temperatura en el conducto auditivo externo, proporcionando un medio practico, alternativo, de gran utilidad en el área de investigación clínica o de diagnostico. De acuerdo a las investigaciones sobre la temperatura (1,2,3), se encontró que era importante que el sistema presentara una buena resolución, para que de esta forma sea de utilidad en diversas investigaciones y estudios importantes sobre la temperatura en relación con otros parámetros o variables fisiológicas, como es el caso de la variabilidad de la frecuencia cardiaca, la cual es el reflejo de múltiples mecanismos homeostáticos, siendo la temperatura uno de ellos, y en donde los componentes del espectro de potencia de muy baja frecuencia se postulan para reflejar el control vasomotor termorregulador. Sin embargo, la relación entre la respuesta termorreguladora y la variabilidad de la frecuencia cardiaca no ha sido suficientemente estudiada (4). En el método de esta investigación, se realizaron 2 protocolos distintos en un conjunto de sujetos (humanos). En el primer protocolo, la temperatura central fue
7
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
reducida por una infusión salina fría (intravenosa), mientras la temperatura de la piel permaneció sin cambio. El segundo protocolo involucró calentamiento y enfriamiento de la superficie de la piel. Un análisis del espectro de potencia de la variabilidad de la frecuencia cardiaca fue realizado, usando la transformada rápida de Fourier, y fue determinada el área en 3 distintos anchos de banda. Los resultados sugieren que la potencia en la banda de muy bajas frecuencias es modulada por el estimulo térmico, que resulta en hipotermia central y actividad termorreguladora, mientras que el enfriamiento de la superficie de la piel, sin hipotermia central, no produce efectos en esta banda de frecuencia (4).
8
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
REFERENCIAS 1. JANIS S.BEAIRD,THOMAS R.BAUMAN, JAMES D. LEEPER Oral and Tympanic Temperature as Heat Strain Indicators for Workers Wearing Chemical Protective Clothing American Industrial Hygiene Association Journal. Vol. 57. Pags. 344-347. 1996 2. ECKHART SIMON, FRIEDRICH-KARL PERAU, DAVID C. TAYLOR
Central and periferical Thermal Control o f effectors in Homeothermic Temperature Regulation The American Physiological Society. Vol. 66, No. 2. Pags.236-300. 1986
3. Thomas-K-A, Savage- MV, Brengelmann-GL Effect of facial cooling on tympanic temperature.
American Journal o f Critical Care. 1997 Jan; Vol. 6, No.1. Pags: 46-51
4. LEE A. FLEISCHER, STEVEN M. FRANK, DANIEL I. SESSLER
Thermoregulation and heart rate variability. Clinical Science. 1996 ; Vol. 90. Pags: 97-103
5 H. Hermann, J. F. Cier
Tratado de Fisiologia. Tomo I1 Toray-Masson. Barcelona 1972
6. Arthur C. Guyton. Tratado de Fisiologia Medica. Novena Edicion. 1997 Interamericana Mc. Graw-Hill 7. Phillip Bard Fisiologia Medica. Primera Edicion. 1966 La Prensa Medica Mexicana &Norman Burke Taylor. Bases fisiologicas de la Práctica Médica. Editorial Médica Panamericana. Onceava Edición. 1983
9
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL,
CAPITULO I1
DESARROLLO DEL SISTEMA
10
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
INTRODUCCION (DISEÑO) Para el presente proyecto se consideró el diseño de un sistema de medición de la temperatura corporal con una resolución del orden de centésimas de grado , con opción para tener control sobre la frecuencia de muestreo y sobre el tiempo de funcionamiento del sistema. Esto permitiría evaluar el comportamiento de la temperatura a lo largo de un tiempo determinado en intervalos de tiempo entre medición y medición, según lo requieran los estudios particulares. Como primer punto, se vio la necesidad de utilizar un convertidor analógico digital de 12 bits debido a que con un convertidor de 8 bits se tenía una resolución escasa a fin de alcanzar una resolución del orden de centésimas de grado, puesto que al dividir el rango dinámico de voltaje entre el numero de niveles del convertidor de 8 bits, se tiene: 5V / 256 niveles = 1 1.95 mV / nivel Ahora bien, en cuanto a la temperatura, de acuerdo al voltaje en el sensor (véase mas adelante El sensor de Temperatura), se tiene:
____________ 1 "C ___________ X
100 mV 11.95 mV
X = (11.9 mV)(l"C) / (100 mV) = 0.195 "C teniéndose de esta manera, solamente una resolución de casi 2 décimas de grado. Por eso fbe considerado un convertidor de 12 bits, que permite alcanzar la resoluch pretend a
y el A/D comercial de 12 bits disponible en el mercado fue el ADC1205. De esta forma se tiene: 5 V / 4096 = 1.2207 mV
(resolución para cada nivel de voltaje).
X = (1.2207 mV)(l"C) / 100 mV = 0.012207" C lo cual cumple con la resolución deseada. Para la selección de la frecuencia de muestreo y el tiempo de adquisición por medio de un teclado alfanumérico, se vio la necesidad de contar con un controlador de teclado a fin de detectar el momento en el que se presiona una tecla y obtener su código correspondiente para poder procesarlo, y se consideró que el INTEL 8279 era adecuado para este objetivo. El teclado que se eligió fue de membrana de 16 teclas (10 números y 6 letras), siendo suficiente para seleccionar los dígitos que se requieran por medio de las teclas de numero , y confirmar la elección, continuar, o reiniciar, por medio de las teclas alfabéticas.
11
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
Para poder presentar tanto los valores de la medición de la temperatura corporal como los mensajes de indicaciones al usuario y despliegue de las teclas seleccionadas , en la parte de exhibición o despliegue de los datos se decidió que una pantalla de cristal liquido era conveniente, siendo considerada como adecuada, de entre las que hay disponibles en el mercado, un con 16 caracteres por 2 líneas, que es la AND491. En cuanto al Microcontrolador utilizado, se consideró que la familia INTEL 8051, específicamente el 803 1 , por su arquitectura, cubría óptimamente las características que se deseaban para el desarrollo del sistema, puesto que uno de los puntos principales dentro del funcionamiento del sistema era la activación o selección del convertidor analógico digital en forma periódica y controlada, siendo esto muy fácil de lograr por medio de los Timer I Counter de 16 bits, programables (con 4 modos de operación) que tiene el 8031, además de la interrupción asociada a dicho Timer. El diseño del sistema digital es mostrado en la figura 1, que muestra en forma general con bloques a los elementos que conforman el sistema.
I
8279
A
SENSOR --e-
AID
\J
-
~
-I
PC
<
8031 A
V
Fig. 1. Diagrama a bloques del sistema
12
3,
<
MEMORIA
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
En el diagrama se puede observar que el Microcontrolador 803 1 es el elemento central dentro del funcionamiento del sistema y tiene control sobre las demás partes (o bloques), como son la parte de MEDICION (sensor de temperatura y convertidor analógico digital), SELECCIÓN (teclado y controlador de teclado) , DESPLIEGUE (pantalla de cristal liquido) y ALMACENAMIENTO (memoria). Además puede apreciarse en el diagrama, en el bloque de MEDICION, que la medición de la temperatura se realiza a través del sensor de temperatura, el cual debe estar polarizado para poder operar ( presentando un cambio de voltaje proporcional a la variación de la temperatura). El voltaje de salida del sensor es utilizado como entrada analógica del ADC, el cual presentará como salida una palabra de 12 bits, que es proporcional al voltaje en la entrada analógica. El Microcontrolador, a través del bus de datos y las líneas de control, lee y controla el ADC. A través de 2 ciclos de lectura lee el código de 12 bits generado por el convertidor, detectando en esta forma los cambios que se presenten en la temperatura. Componentes utilizados:
Microcontrolador 803 1 Convertidor A D de 12 bits (ADC1205) EPROM 2732 RAM de 32 Kb LATCH (74LS373) Contador (74LS 193) Compuertas AND (74LS08 ) Compuertas OR (74LS32) Inversor (74LS04) Cristal de 12 MHZ Decodificador (74LS 13 8) Transductor de Temperatura AD590 / LM35 Teclado de membrana Controlador de display y teclado 8279 Pantalla LCD AND 491
13
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
1. EL SENSOR DE TEMPERATURA LM35 Características.
El LM35 es un sensor de temperatura de precisión, en circuito integrado, cuya salida es
proporcional a la temperatura en grados centígrados. El LM35 tiene una ventaja sobre los sensores de temperatura calibrados en grados Kelvin, pues no se requiere sustraer un voltaje constante de la salida para obtener la escala en centígrados. El LM35 no requiere alguna calibración externa para dar una exactitud de +/- 0.25"C a temperaturas en el medio ambiente y +/- 0.75"C sobre el rango de temperatura completo (-55 a +150°C ). La baja impedancia de salida del LM35, así como su salida lineal y calibración inherente, facilitan su interconexión. Como drena solo 60 PA de la fuente, tiene muy bajo autocalentamiento. El LM35 esta diseñado para operar sobre el rango de -55 a + 150°C mientras que el LM35C lo está para un rango de -40 a +llO "C. Resumiendo, las características del sensor LM3 5 son: - Calibrado directamente en grados Celsius - Factor de escala lineal de 10.00 mV/"C - Rango de medición de -55" a +150"C - Bajo costo - Rango de voltaje de alimentación : 4 a 30 Volts - Corriente de drenaje de menos de 60 PA - Bajo autocalentamiento, menos de 0.08 "C en aire - No linealidad de +/- 0.25 "Ctípicamente - Baja impedancia de salida, O. 1 ohm para 1mA de carga El voltaje de salida que se tiene en el sensor LM35 es directamente proporcional a la escala en grados centígrados, como se aprecia en la Fig. 2.
5v
P -
Fig. 2. Voltaje de salida del LM35
14
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
El voltaje de salida del sensor de temperatura LM35 se utilizó como señal para la entrada analógica del convertidor analógico digital. Obtención de la temperatura a partir del sensor:
Para obtener la temperatura con el sensor es necesario: 1. Polarizar el sensor de temperatura LM35 con un voltaje entre un rango de 5-20 V, en este caso se polarizó con 5 V .
2. .Los cambios de voltaje debidos a variaciones en la temperatura son registrados en la entrada analógica del ADC y presentados en forma digital en su salida. 3. El Microcontrolador controla al A/D y lee el valor de voltaje detectado en el sensor a traves
del bus de datos
El diagrama del circuito utilizado para el sensor LM35 es mostrado en la Fig. 3, en donde puede observarse que se tiene un factor de amplificación igual a 10 para el voltaje de salida Vo.
vo= 100
1 -
Fig. 3.Circuito de amplificación del sensor LM35
15
SISTEMA PARA EL MONITOREO DE LA TEMPERATLJRA CORPORAL
2 . EL MICROCONTROLADOR 8031 El Microcontrolador empleado en este proyecto es el 8031, de la familia MCS-51 INTEL, está basado en los microprocesadores de 8 bits, contiene 3 puertos de entrada y salida paralelo, un puerto de control el cual a su vez contiene: un puerto serie, dos entradas para Timer / Counter de 16 bits, dos entradas para interrupciones externas, las señales de RD y WR para la obtención o almacenamiento de datos externos en RAM,la señal de PSEN para la lectura de instrucciones almacenadas en EPROM externa. Debido a estas 3 señales los microcontroladores MCS-51 pueden direccionar 64 KB de datos y 64 KB de programa separadamente, es decir, un total de 128 KB.Además cuenta con 128 bytes de RAM interna. Características especificas:
-
CPU de 8 bits como parte central - 64KB de memoria de Datos - 64KB de memoria de Programa - 128 Bytes de memoria RAM interna - 4 puertos de entraddsalida (32 líneas bidireccionales de entrada y salida) - 2 Timer / Counter de 16 bits - 4 Bancos de Registros - 5 tipos de interrupción con dos niveles de prioridad - 1 circuito de reloj
************ La familia MCS-51 INTEL es amplia y se encuentra en diversas presentaciones, la selección de uno u otro tipo dependerá principalmente de las necesidades a satisfacer. El 8051 se presenta en 3 versiones: con ROM interna (805 1), la cual es programada directamente por el fabricante, con EPROM interna (8751) que puede ser programada por el usuario, y sin memoria ROM ni EPROM interna (8031), en el cual el programa se selecciona de manera externa. Se escogió este ultimo por la versatilidad de tener el programa en memoria externa (simplificándose el proceso de programación) y para no estar restringido a la capacidad de ROM interna, permitiendo de esta manera una flexibilidad para poder agregar funciones o aplicaciones que se puedan requerir del sistema posteriormente.
16
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
Distribución del espacio de Memoria de Datos.
La distribución del espacio de memoria se realizó utilizando las líneas A12,A13,A14 del Microcontrolador, que corresponden a la parte alta del bus de direcciones, como se aprecia en la Fig. 4.
Los componentes 8279, ADC1205, AND491, RAM, fueron mapeados dentro del espacio de la memoria de datos, por medio del decodificador 74 13 8 para tener asignado un espacio para cada componente y poder seleccionar independientemente cada uno de ellos, según se requiera por medio del software.
AND491 (CS)* ADC (CS)* Y3 8279
(CS)* (CS)*
RAM
i ~
*Chip Select
~~
Fig. 4. Decodificación de direcciones. Como se puede observar en la tabla 1, el sistema tiene direcciones especificas para cada componente.
I
14
I
A13
I
A12
I
Dirección
Tabla 1 . Mapeo del espacio de memoria de datos.
17
I Comnonente seleccionado I
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
18
SISTEMA PARA EL MONITOREO DE LA TEMPERATüRA CORPORAL
3 EL CONVERTIDOR ANALOGICO DIGITAL ADCl205 El convertidor que se utilizó h e el ADC1205, que es un convertidor A/D de aproximaciones sucesivas, con una resolución de 12 bits mas signo. Características :
- Compatible con microprocesadores
-
Rango de voltaje analógico de O a 5 V.
-
Tiempo de conversión: 100 ps Resolución de 12 bits mas signo Error de linealidad 5 % LSB Entrada/salida compatible con TTWCMOS DIP de 24 pins
- Baja potencia: 25 mW max -
Utilizando el ADC1205 con un microprocesador (o microcontrolador), el inicio de una conversión analógico a digital se realiza escribiendo a una localidad de memoria externa en donde se encuentre mapeado el convertidor. Las líneas WR y CS son usadas para iniciar la conversión. Una nueva conversión puede ser reiniciada antes del fin de la secuencia previa. La línea INT del convertidor indica que se ha completado la conversión (fin de conversión). El ADC1205, con un bus de datos de 8 bits, hace disponible el resultado de la conversión en 2 bytes. El formato de salida está en complemento 2’s con signo extendido. Con CS en bajo y STATUS en alto, el byte mas significativo (DB12-DB8) será habilitado en los buffers de salida, la primera vez que RD va a bajo (pulso de lectura). Cuando RD va a bajo por segunda vez, el byte bajo (DB7-DBO) será habilitado.
Resolución
E n cuanto a la resolución y exactitud que se tiene con el convertidor de 12 bits, se observa que:
212 = 4096 (estados o niveles del convertidor) 0.5 V / 4096 = O. 12207 mV ( Resolución para cada nivel de voltaje) Esta relación es para un voltaje de referencia ( pin 5 del ADC1205 ) de 0.5 volts, teniendo por tanto, un rango dinámico de 0.5 V (escala completa), la cual cubre el rango de voltaje de salida del sensor en la medición de la temperatura corporal. Como el voltaje de que se tiene a la salida del sensor de temperatura es de 10 mV por grado centígrado, se tiene para la resolución de temperatura que:
19
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
_____________
10 m v 1 "C O. 12221 mV--------- X
X= (0.12221 mV)( 1 "C) I 10 mV= 0.012221 "C Posteriormente se observó que el sistema presentó muchas variaciones en las mediciones con un voltaje de referencia pequeño (de 0.5 V), siendo muy sensible a las variaciones externas, como es el caso de la fuente de alimentación. Por esta razón se decidió utilizar un voltaje de referencia de 5 V, que es el rango dinámico completo en el que opera el convertidor. Como el voltaje de salida del sensor es pequeño para cubrir todo el rango de 5 V, h e necesario amplificar dicho voltaje de salida por un factor de 10 (para el caso anterior no era necesario amplificarlo), teniendo de esta forma que: 5 V 14096 = 1.2207 mV
(resolución para cada nivel de voltaje).
Considerando el voltaje de salida ya amplificado, se tiene la relación:
X = (1.2207 mv)(l°C) I 100 mV = 0.012207" C Lo cual muestra una resolución del orden de las centésimas de grado.
20
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
5
2 I
P
d
21
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
4. LA ETAPA DE SELECCION Descripción del teclado El teclado utilizado es uno de membrana, y las teclas que contiene se muestran en la Fig. 5.
Fig. 5. Configuración del teclado El teclado está formado por una matriz, el cual al oprimir una tecla cierra un circuito. Para poder detectar cual tecla se oprime, se utilizó un circuito como interface de matriz del teclado con el bus de datos del microcontrolador.Dicho circuito es el 8279 de INTEL. E L CONTROLADOR DE TECLADO 8279
El 8279 es un circuito que está diseñado para servir como interface de un teclado o un display con cualquier microcontrolador de 8 bits.
La finalidad del 8279 es la de entregar al microcontrolador el código de la tecla que se ha oprimido. Esto es, cuando se oprime una tecla de la matriz, una línea de “return” y una de “scan” se unen, esta unión es detectada por el 8279 y genera un código que corresponde a la tecla oprimida y la envía al microcontrolador a través del bus de datos Comandos del 8279
El 8279 cuenta con una serie de comandos, para indicar que operación se va ejecutar. El modo de operación se programa enviando a la dirección de comandos para el 8279, un código a través del bus de datos, como se muestra en la tabla 2.
22
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
CODIGO
LSB 10 10 10 [ D ID [ K IK IK MSB
KKK ~~~
O00 O0 1
O10 o1 1
1O0 101 110 1111
1
Función Codifica scan del teclado (2teclas) Decodifica scan del teclado (2teclas) Codifica scan del teclado CN teclas) Decodifica scan del teclado (N teclas) Codifica scan sensor de la matriz Decodifica scan sensor de la matriz Codifica scan sensor del display Decodifica scan sensor del disdav
I
Tabla 2.Comandos del modo de operación para el 8279
De igual manera, mediante comandos se pueden controlar otros parámetros : La programación del reloj o la frecuencia con la que va trabajar el 8279 está determinada por el prescalar P, que divide la frecuencia del sistema por un factor determinado
Inicialización del 8279
Para poder utilizar el 8279, es necesario inicializarlo con el modo de operación elegido, en este caso, se decidió utilizar Codificación del scan por N teclas y una frecuencia de 400 KHz.. El software (en lenguaje ensamblador del 803 1) para inicializar el 8279 es el siguiente: 4
MOV MOV MOVX
DPTR,#~OO1H
A,# O01 1 1 1 1 1B @DPTR,A
;dirección de comandos para el 8279 ;programa el reloj del 8279 a ;1/30 de la frecuencia de entrada
23
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL,
MOV MOVX
A,#O000001 O B @DPTR,A
;despliegue de 3 dígitos entrada izquierda y teclado ;en modo N-Key Rollover
MOV MOVX
A,# 1 lOOOOOlB @DPTR,A
;limpia e inicializa el teclado y el display
Codificación de la Tecla
Cuando se oprime una tecla, el 8279 envía un nivel bajo a la línea INT1 del 803 1, de tal manera que el microcontrolador, cuando detecta ese cambio, ejecuta la rutina que lee el código generado al oprimir la tecla. El código que se genera al oprimir una tecla en particular, es mostrado en la tabla 3. TECLA O
CODIGO COH
5
C9H
6
CAH
A B C
D2H D3H D8H D9H
E F
DAH
D
DBH
Tabla 3. Códigos correspondientes a cada tecla
24
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
5
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
5. LA ETAPA DE DESPLIEGUE El elemento de despliegue que se utilizó para este proyecto fue el AND491 que es un display de cristal liquido de 16 caracteres por 2 líneas. En este display es donde aparece el valor de temperatura y los diferentes mensajes al usuario. Descripción del display
La configuración del AND491 se muestra en la tabla 4.
I
DE PIN 1 2 3 4
SEÑAL GND VDD
vo
I
RS
5
RIW
6
E DBO DB 1 DB2 DB3 DB4 DB5 DB6 DB7
7 8
9 10 11
12 13 14
FUNCION ov IFUENTE DE ALIMENTACION 5v I FUENTE DE ALIMENTACION CONTROL DEL TONO DEL DISPLAY H- ENTRADA DE DATO I L- ENTRADA DE COMANDO H-LECTURA DE DATO L- ESCRITURA DE DATO HABILITACION DEL DISPLAY BUS DE DATOS DATO O DATO 1 DATO 2 DATO 3 DATO 4 DATO 5 DATO 6 DATO 7
El microcontrolador inicializa y controla la pantalla a través del bus de datos y de las líneas de control. Por medio de comandos de control (véase Tabla 5), se controlan las hnciones de la pantalla, al mandar escribir un comando especifico a la localidad de memoria en donde está mapeada. De esta forma se obtiene el despliegue del valor de temperatura, los mensajes al usuario y la visualización de las teclas presionadas en el teclado.
26
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
CONTROL DEL AND491
Los comandos del display se muestran en la tabla 5 .
RS O
O
DESCRIPCION
lW lo
Limpia display y retorna cursor a su
lo
Mueve cursor en la dirección1 especificada Pone la dirección de la CG RAM,el dato se manda y se recibe Pone dirección de la DD RAM el dato se manda v se recibe Lee bandera de ocupado (BF) y la1 dirección del contador Escribe dato de la DD RAM a la C G RAM Lee dato de la DD RAM a la CG RAM
ADD BF
I
AC
I
Escritura de dato Lectura de dato
CGRAM = Genera carácter de la RAM ACG = Dirección de la CGRAM ADD = Dirección de la DDRAM y que corresponde a la dirección del cursor AC = Contador de direcciones usados para la dirección de la DD y CG RAM
VD = 1 (incremento) VD =O (Decremento) S = 1 (Despliega shift) DDRAM = Despliega Dato de la RAM
Tabla 5 . Comandos de controT del display
AND
27
w 91
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
k
28
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
6. FUNCIONAMIENTO DEL SISTEMA. Una vez que se polariza, el sistema comienza presentando en la pantalla de cristal liquido AND491 un mensaje inicial al usuario. Para dar inicio a la medición de la temperatura corporal, es necesario programar, por medio del teclado, la frecuencia de muestreo y el tiempo durante el cual va estar funcionando el sistema.
FRECUENCIA Y PERIODO DE MUESTREO. Después del mensaje inicial, se presenta en la pantalla el mensaje donde se solicita al usuario seleccionar el periodo de muestreo con el cual operará durante todo su funcionamiento, es decir, pide seleccionar el tiempo en el que va ir presentando las mediciones de temperatura en la pantalla AND491 (tiempo entre dato y dato). Por medio del teclado se selecciona este periodo de tiempo, teniendo la posibilidad de elegir un periodo de muestreo variable, como se muestra en la Tabla 6, para ir presentando los datos de las mediciones de temperatura corporal.. Para confirmar la elección se presiona la tecla F.
TECLA 1 2 3 4 5 6 7 8
9
I
I
TIEMPOENTRE DATO Y DATO 1 SEGUNDO 2 SEGUNDOS 3 SEGUNDOS 4 SEGUNDOS 5 SEGUNDOS 6 SEGUNDOS 7 SEGUNDOS 8 SEGUNDOS 9 SEGUNDOS ~~
1
TIEMPO DE FUNCIONAMIENTO. Una vez seleccionada el periodo de muestreo, aparece en la pantalla el mensaje para seleccionar el tiempo de adquisición ( funcionamiento), durante el cual va estar midiendo la temperatura el sistema, como se aprecia en la tabla 7, donde se muestran las opciones que se pueden elegir. Para confirmar, igualmente se presiona la tecla F.
29
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
TIEMPO DE FUNCIONAMIENTO SEGÚN PERIODO DE MUESTRE0
Tabla 7. Tiempos de funcionamiento de acuerdo a la frecuencia de muestreo *Este tiempo se considera mas adecuado para asegurar que el tiempo entre medición y medición permita al sensor de temperatura llegar al valor final de su respuesta ( determinado por su constante de tiempo). Una vez que se elige y se confirma tanto el periodo de muestreo como el tiempo de adquisición, el proceso de medición de la temperatura corporal dará inicio, apareciendo un mensaje en la pantalla que dice INICIA PROCESO y entonces se van presentando en pantalla las mediciones de la temperatura en grados centígrados, conforme al tiempo que se haya elegido entre medición y medición. El proceso de la medición de la temperatura durará el tiempo que se haya elegido, según la programación del tiempo de adquisición (véase Tabla 8). Cuando se cumple este tiempo, aparecerá en la pantalla el mensaje PROCESO FINALIZADO, y la pantalla se pondrá en blanco.
Se puede volver a iniciar un nuevo proceso de medición, presionando la tecla E (Escape), sin necesidad de apagar el sistema, eligiendo el periodo de muestreo y el tiempo de funcionamiento para el nuevo proceso. El sistema tendría opción para recuperar los valores de las mediciones de temperatura que se van
adquiriendo, aunque esta opción no quedó programada.
30
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
CAPITULO I11
CARACTERIZACION DEL SISTEMA
31
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
RESULTADOS. CARACTERIZACI~NESTATICA EN UN SOLO VALOR DE TEMPERATURA A fin de caracterizar el sistema (en la etapa digital), se tomó una muestra de 100 resultados de las mediciones mostradas en la pantalla del sistema, para una temperatura determinada, sumergiendo el sensor en agua a temperatura ambiente en un vaso de precipitados con un agitador (para conservar mas uniforme la temperatura del agua). Se eligió un periodo de muestreo de 3 segundos para exhibir la temperatura en la pantalla*, con un tiempo de funcionamiento de 3 minutos, obteniendo las mediciones de 100 datos, mostrados en la Tabla 8.
24.28 24.37 24.28 24.46 24.17 23.94 24.17 24.01
24.20 24.14 24.20 24.12 24.00 24.20 24.05 24.17
24.33 24.01 24.20 24.03 24.10 23.95 24.46 23.94
23.93 24.17 24.04 24.24 23.94 24.22 23.92 24.16
Tabla 8.Mediciones registradas en el sistema *Tiempo que cubre adecuadamente el tiempo de respuesta propio del sensor
32
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
En la Gráfica 1 se aprecian los resultados obtenidos en estas mediciones con el sistema,
25.2 25 24.8
5
$ n
24.6 24.4 24.2 24
3 23.8 I23.6 23.4 23.2
Gráfica 1. Mediciones desplegadas por el sistema a una misma temperatura. De acuerdo a los valores de la tabla 7, se tienen los siguientes valores: Media : 24.1542"C Desv. Estándar: 0.2036 Simultáneamente, se llevó a cabo por medio del equipo BIOPAC") , la adquisición de datos del voltaje en la entrada Vin(+) del ADC1205, durante los mismos 3 minutos, pero con una frecuencia de 100 datos por segundo, para poder hacer un análisis comparativo entre el nivel de voltaje que se tenía en la entrada y el despliegue numérico que presentaba en la pantalla. Estos datos se almacenaron en el archivo CARAC.ACQ. Analizando los datos de este archivo, se tiene para el voltaje Vin(+): Media: 2.46830V Desv. Estándar: 0.02813
("Modulo de adquisición y análisis de datos
33
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
De acuerdo al factor de sensibilidad del sensor de 10 mV / OC, y al factor de amplificación, el valor de la temperatura se obtiene multiplicando por 10 el voltaje Vin(+). Comparando los valores obtenidos de la Desviación Estándar, se aprecia que en el despliegue del sistema desarrollado se presenta una desviación que es aproximadamente 10 veces el valor de la desviación estándar de la entrada Vin(+). Con este resultado y considerando el factor de amplificación, se puede considerar que el sistema no propaga el error o incertidumbre que se tiene en la ENTRADA ( Vin(+) ) al presentarlo en la SALIDA (despliegue en la pantalla) y que su funcionamiento correspondiente a la etapa digital es adecuado, incluyendo la aproximación que se hizo por software para calcular la temperatura. Se concluye de esta manera que la etapa digital cubre satisfactoriamente los requerimientos para tener un monitor de temperatura con la resolución pretendida.
CARACTERIZACION ESTATICA EN UN RANGO DE TEMPERATURA Comparación del Sistema con el Modulo de Temperatura Nihon Kodhen(2).
Como primera caracterización, se procedió a registrar los resultados de las mediciones de la temperatura que despliega el sistema en la pantalla de cristal liquido, en comparación con las que exhibe el modulo de temperatura Nihon Kohden. Se empezó con la temperatura ambiente y se fue variando la temperatura al tomar ambos sensores y apretarlos con la mano hasta equilibrarse con la temperatura de la mano. Los resultados se muestran en la Tabla 9.
(2)
Modulo de temperatura Marca: Nihon Kohden Modelo: AW-601H Rango: O-50°C Exactitud: k 0.3 "C Sensibilidad: 1,2,5,10,20 "C/Div
Acoplador de Temperatura: Modelo: AW-650H Sensibilidad de salida: 100 mV / "C Exactitud: k 0.2 "C
* Véase Capitulo IV ( ADQTEMP.ASM: Rutinas para calcular y desplegar la temperatura ).
34
SISTEMA PARA EL MONITOREO DE LA TEMPERATLIRA CORPORAL
I
MODULO
SISTEMA
20.0 20.1 20.3 20.5 20.6 20.7 21 .o 21.1 21.4 21.5 21.6 30.4 28.4
22.88 23.20 23.20 23.84 23.71 23.92 24.14 24.38 24.44 24.55 24.48
35
SISTEMA PARA EL MONITOREO DE LA TEMPERATLIRA CORPORAL
Calculando la pendiente y la ordenada al origen (y su desviación), con estos valores, por medio del principio estadístico de mínimos cuadrados, se tiene:
m = [ N C ( X i Y i ) - C XiCYi]
+ [ NCXi2-(CXi)2]
m = 0.614
b= [CXi2CYi
-
CXiC(XiYi)]/ [NZXi2-(CXi)’]
b = 11.05 S y = [ x d ( Y i ) 2 / N-21
S m = SY
in
[ N / N c xi2- ( c xi)’]
’’*
Sm = 0.0294 Sb=Sy
[ Xi2 /
N C Xi2-
(c
Xi)2]
’’*
Sb= 0.6513 En la Gráfica 3 se muestran en los ejes X-Y la temperatura del Modulo contra la temperatura del Sistema.
. 36
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
De la Gráfica y el ajuste de minimos cuadrados se aprecia que hay una gran dispersión en los puntos, y no se puede observar que exista una relación lineal con los datos obtenidos. Además se presentó un considerable error sistematico. En base a estos resultados se puede apreciar que hay un alejamiento de lo que sería una relación lineal entre el sistema y el modulo, indicando esto que podría haber un problema en la etapa analógica del sistema, o bien que el método empleado como primera evaluación era inadecuado. Para verificar esto, se volvió a caracterizar el sistema con un método diferente.
NUEVA CARACTERIZACION En esta ocasión se introdujeron los sensores del modulo y del sistema en un vaso de precipitados conteniendo agua a temperatura ambiente. Se colocó el vaso sobre una parrilla con agitador para mantener la temperatura del agua lo mas uniforme posible. Se comenzó con la temperatura ambiente, posteriormente se encendió la parrilla para incrementar la temperatura y se apagaba para que se estabilizara en un valor mas alto, tomando como referencia al modulo Nihon Kohden; justo en ese momento se tomaron las lecturas de varias mediciones del sistema a una temperatura fija. Después se volvía a encender la parrilla para alcanzar una mayor temperatura y se volvía a
37
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL,
apagar para registrar los resultados, repitiendo el mismo procedimiento hasta alcanzar una temperatura de 40 "C. Los resultados se muestran en la Tabla 10.
MODULO NIHONKOHDEN "C
24.1 24.1 24.1 24.1 24.1 24,l 24.1 24.1 24.1 32.2 32.2 32.2 32.2 32.2 32.2 32.2 32.2 32.2 32.2 32.2 35.2 35.2 35.2 35.2 35.2 35.2 35.5 35.5 35.5 35.5 35.5 35.5 35.5
35.5 35.5
SISTEMA
DESARROLLADO "C
I
21 .O6 21.26 21.36 21.96 21.26 21.06 21.36 20.96 21.46 21.36 29.85 29.35 29.95 29.25 29.95 29.25 29.95 29.35 29.95 29.25 29.85 32.47 32.97 32.27 33.07 32.37 33.07 32.67 33.27 32.67 33.37 32.57 33.37 32.77 33.27 32.67
1
38
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
1
I
-
I
36.0 36.0 36.0 36.0 36.0 36.0 36.0 36.0 36.5 36.5 36.5
I
36.5 36.5 36.5 36.5 37.0 37.0 37.0 37.0 37.0 37.0 37.0 37.0 37.0 37.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.0 38.5 38.5 38.5 38.5 38.5 38.5 38.5
I
33.67
I
33.67 33.40 34.90 34.27 35.00 34.40 35.00 34.40 35.03 34.90 .~. 34.40 35.00 35.90 35.20 36.00 35 40 .-
I
I
33.07 33.67 33.27 33.77 33.27 33.87 33.27 33.87 33.57 33.40 33.67
~
1
~~
36.00 35.20 36.00 35.50 36.10 35.80 35.90 36.60 35.90
~
36.60
35.90 36.50
39
SISTEMA PAR4 EL MONITOREO DE LA TEMPERATURA CORPORAL
~
I
38.5 38.5 38.5 38.5 39.2 39.2 39.2 39.2 39.2 39.2 39.2 39.2 39.2 39.2 39.2 39.6 39.6 39.6 39.6 39.6 39.6 39.6 39.6 39.6 39.6 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00 40.00
35.90 36.60 ~ . - . 35.90 36.60 37.2036.60 37.30 36.60 37.40 36.70 37.40 36.70 37.40 36.70 37.40 37.63 37.50 37.00 37.63 37.00 37.63 37.00 37.63 36.90 37.63 38.05 38.03 37.40 38.03 37.53 38.03 37.40 38.03 37.53 38.03 ~
~
I
1 ~
~
~
Calculando por medio de la formula de mínimos cuadrados la pendiente, la ordenada al origen (así como sus desviaciones) se tiene:
40
SISTEMA PARA EL MONITOREODE LA TEMPERATüRA CORPORAL
m = [ N C ( X i Y i ) - C XiCYi]
[ (113) (138782.599) -
m=
f
[ NC
Xi2-(CXi)2]
(4068.6) (3793.95)
] + [ (113)(148591.22) - (16553505.96)]
m = 1.0382
b= [CXi2CYi b=
[
b=
- 3.806
-
CXiC(XiYi)]/ [ N C X i 2 - ( C X i ) 2 ]
(148591.22)(3793.95) - (4068.6)(138782.599)]
Sy=
[
Sy =
[ (14.2029) / (1 13-2) ] in
+ [ (113)(148591.22) - (16553505.96)]
¿?(Yi)2/ N-21 in
Sy = 0.3577
S m = Sy
[ N/
S m = 0.3577
[
N C X i 2 - ( C X i ) 2 ] 1/2
-
113 / ( 113)(148591.22) ( 16553505.96) ] 1/2
Sm = 0.0078
Sb=Sy
[
Xi2 / N C Xi2- ( G X i ) 2 ] 'I2
Sb = 0.283
41
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL ~~
En la Gráfica 4 se muestra el comportamiento del sistema en comparación con el modulo de temperatura y también la diferencia de ambos.
45
40
- 35 E30
pi
2
25
pi W
20
n
E I-
Serie1 Serie2
Serie3
15 10
5 O
Gráfica 4. Caracterización estática del sistema
Se puede apreciar en la Gráfica 4 que la curva del sistema sigue un patrón similar a la del modulo, solo que desplazada hacia abajo, lo cual puede verse como un error sistemático. También se puede apreciar que existen oscilaciones a través de la curva del sistema, lo cual indica que hay cierta incertidumbre en la etapa analógica que se propaga a la etapa digital. La serie 3 de la gráfica representa la diferencia entre la curva del modulo y la del sistema, apreciándose un ligero descenso en el nivel inicial y final de la temperatura durante las mediciones. Cabe hacer mención que el error que pueda presentar el sistema (en cuanto a certeza se refiere) es atribuible a la etapa analógica, pues la etapa digital se comprobó que funciona adecuadamente y presenta una relación lineal entrada-salida (véase CARACTERIZACIÓN ESTÁTICA EN UN SOLO VALOR DE TEMPERATURA).
42
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
En la Tabla 1 1 se muestra la desviación estándar de los valores de temperatura desplegados por el sistema en cada una de las temperaturas que se fueron tomando como referencia durante la caracterización (véase Tabla 10). TEMPERATURA I PROMEDIO EN EL DELMODULO ("C) SISTEMA ("C) 24.1 32.2 35.2 35.5 36.0 36.5 37.0 38.0 38.5 39.2 39.6 40.0
21.21 29.63 32.70 32.96 33.50 33.53 34.73 35.70 36.20 37.04 37.36 37.81
I
DESVIACION ESTANDAR O.1840
1
0.331 1 0.3723 0.3480 0.3204 O.1349 0.3170 0.3708 0.3660 0.3668 0.3306 0.2967
Con los valores mostrados en la Tabla 1 1 (para la desviación estándar de la temperatura del sistema ) se obtiene: Promedio: 0.31 1 Desv. Estándar: 0.0725 De esta forma se aprecia que la desviación típica en el sistema es del orden de 0.3 grados aproximadamente.
43
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
CONCLUSIONES De la NLJEVA CARACTERIZACION ( la cual fue una evaluación mas rigurosa ) y el análisis por MÍNIMOS CUADRADOS se deduce que el comportamiento del sistema es adecuado ya que se obtuvo una pendiente muy cercana a 1 con una desviación estándar pequeña (que era precisamente lo deseable). Esto indica que el valor promedio de la temperatura del sistema no se aleja del valor esperado (aunque existen oscilaciones alrededor de éste). Respecto al valor de la ordenada al origen (-3.806),se aprecia que el error sistemático existente en el sistema es mayor de 3 "C ,lo cual es considerable, sin embargo puede ser corregido por un ajuste del factor de ganancia en el circuito que amplifica el voltaje del sensor de temperatura. No obstante, la desviación estándar de la ordenada al origen (0.283) es significativa, por lo que se seguiría teniendo incertidumbre a pesar de la corrección. Por los resultados obtenidos en la caracterización se puede concluir que el funcionamiento del sistema es óptimo y cubre los requerimientos de la resolución pretendida. Sin embargo, es importante hacer notar ( de acuerdo a los resultados encontrados por mínimos cuadrados y cálculos estadísticos) que se tiene una precisión alrededor de f 0.3 "C que no cumple con lo esperado para poder realizar mediciones en centésimas de grado y que esto se debe a la etapa analógica. Esto hace referencia a que el transductor utilizado no fue el adecuado, por lo cual si se desean mediciones en centésimas es conveniente pensar en otro transductor con mejor precisión garantizable (debido a estas limitantes no se realizó la caracterizacion dinámica del transductor para evaluar su tiempo de respuesta). Sin embargo la etapa digital no presenta problemas y su funcionamiento es adecuado. Por esta razón las modificaciones para mejorar la precisión del sistema en conjunto corresponderían exclusivamente a la parte analógica.
44
SISTEMA PARA EL MONITOREO DE LA TEMPERATLJRACORPORAL
CAPITULO IV
SOFTWARE
45
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
DB O O H DB TIEMPO ADQUISIC.' DB O O H ADQUIS: DB TIEMPO: DB O O H BEGIN: DB ' INICIA ' DB O O H DB ' PROCESO ' DB OOH ENDP: DB ' PROCESO ' DB O O H DB 'FINALIZADO ' DB O O H I
SAL:
END
80
~
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
SOFTWARE EN LENGUAJE EMSAMBLADOR PARA EL 8031 9
CHK8279.ASM (PROGRAMA PARA EL 8279)
;ESTE PROGRAMA VERIFICA EL FUNCIONAMIENTO DEL CONTROLADOR DE TECLADO ;8279 ;POR MEDIO DE LA VISUALIZACION DEL CODIGO (8 BITS) DE LA TECLA OPRIMIDA A TRAVES DE LEDs CONECTADOS A UN LATCH (EL CUAL RETIENE EL DATO DEL CODIGO) ;Y PRUEBA QUE SE ENTRE A LA RUTINA DE ATENCION A LA INTERRUPCIÓN POR MEDIO ;DEL COMPLEMENTO DE UN BIT DE UN PUERTO DE ENTRADNSALIDA (Pi ..2) ;COMANDOS Y DIRECCIONES PARA EL CONTROLADOR DE TECLADO 8279 CLK EQU OOllllllB MODDK EQU OOOOOOlOB CLRDSP EQU l l O O O O O l B RDFIFO EQU O l O l O O O O B LATCH EQU OAOOOH
ORG
OOOOH
MOV MOV MOVX MOV MOVX MOV MOVX
DPTR,#óOOlH ;dirección de comandos para el 8279 A,#CLK ;programa el reloj del 8279 a @DPTR,A ;1/30 de la frecuencia de entrada A,#MODDK ;despliegue de 3 dígitos left-entry y teclado @DPTR,A ;en modo N-Key Rollover A,#CLRDSP ;limpia e inicializa el teclado y eldisplay @DPTR,A
SETB SETB CLR
EA IE.2 IT 1
REPITE:
;habilita interrupciones globalmente ;habilita la interrupción externa 1
NOP
AJMP
REPITE
ORG
0013H
AJMP
TEC
46
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
ORG TEC:PUSH PUSH MOV MOVX MOV MOVX MOV MOVX CPL POP POP RET1
4FFH DPH DPL A,#RDFIFO ;comando que indica una lectura @DPTR,A ;parael 8279 DPTR,#6000H A,@DPTR DPTR,#LATCH ;manda código de la tecla al LATCH @DPTR,A P1.2 DPL DPH
END
CHKADC.ASM ;PROGRAMA PARA VERIFICAR EL CONVERTIDOR DE 12 BITS ;ESTE PROGRAMA VERIFICA EL FUNCIONAMIENTO DEL CONVERTIDOR A D ;ACTIVANDO AL CONVERTIDOR POR MEDIO DEL TIMER O CADA 2 SEGUNDOS ; PARA QUE INICIE UNA NUEVA CONVERSION A LOS 2 SEGUNDOS, ADEMAS ;DE PRESENTAR EN LA PANTALLA DE CRISTAL LIQUIDO EL DATO CONVERTIDO ;DE 12 BITS EN BINARIO (CEROS Y UNOS), UTILIZANDO UN VOLTAJE VARIABLE ; EN LA ENTRADA ANALOGICA DEL ADC 1205 A TRAVES DE TODO EL RANGO ;DINAMICO ( 0-5 V)
RAM
EQU
OCOOOH
AJMP INICIO ORG 3FFH EXHIBE: PUSH DPH PUSH DPL PUSH P2 MOV DPTR,#CONTEX ;comandos de control del display MOV RO,#OOH MOV P2,#80H LCALL XCBDOR INC DPTR LCALL XCBDOR LCALL LIMPIA POP P2
47
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
POP DPL POP DPH RET XCBD0R:CLR A MOVC A,@A+DPTR JZ TERMIN MOVX @RO,A ACALL DELAY INC DPTR SJMP XCBDOR TERMIN: RET LIMPIA: MOV DPTR,#CLEAR LCALL XCBDOR MOV R6,#40 TI1600: LCALL DELAY DJNZ R6,TI 1600 RET DELAY : MOV R4,#20 TIEMPO: DJNZ R4,TIEMPO RET TIME: MOV R1,#02 E2: MOV R3,#90 E3: MOV R5,#99 E4: MOV R7,#50 WAIT: DJNZ R7,WAIT DJNZ R5,E4 DJNZ R3,E3 DJNZ Rl,E2 RET
BIEN: PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#BIENV LCALL DOBLEX LCALL TIME MOV RO,#OOH LCALL LIMPIA
48
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
MOV DPTR,#MEDIR MOV A,#80H LCALL COEXH LCALL TIME LCALL LIMPIA POP ACC POP DPL POP DPH RET DOBLEX: PUSH ACC MOV A,#80H ACALL COEXH INC DPTR MOV A,#OCOH ACALL COEXH POP ACC RET COEXH: MOV RO,#OOH MOV P2,#80H MOVX @RO,A ACALL DELAY INC RO ACALL XCBDOR RET
WRLCD: PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#8001H M O W @DPTR,A POP DPL POP DPH POP ACC RET
;despliega el cóQgo de la tecla presionada
LINEA1: PUSH ACC MOV A,#80H LCALL POSCUR POP ACC RET
;habilita la línea 1 del LCD
LINEA2: PUSH ACC
;habilita la línea 2 del LCD
49
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
MOV A,#OCOH LCALL POSCUR POP ACC RET POSCUR: PUSH DPH PUSH DPL MOV DPTR,#8000H MOVX @DPTR,A MOV Rl,#OFFH LAZPOS: DJNZ R1,LAZPOS POP DPL POP DPH RET
CERO: PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#8001H MOV A,#30H MOVX @DPTR,A POP DPL POP DPH POP ACC RET
UNO: PUSH ACC
PUSH DPH PUSH DPL MOV DPTR,#8001H MOV A,#31H MOVX @DPTR,A POP DPL POP DPH POP ACC RET
RAMWRM: PUSH DPH PUSH DPL MOV DPTR,#DATCONV MOVX @DPTR,A POP DPL POP DPH RET
50
SISTEMA PARA EL MONITOREO DE LA TEMPERATLJRA CORPORAL
RAMWRL: PUSH DPH PUSH DPL MOV DPTR,#DATCONV+l MOVX @DPTR,A POP DPL POP DPH RET
ORG
lFFH ;da prioridad ala interrupción del Timer O
INICIO: ; SETB PTO
MOV DPTR,#9000H ;2000H ;apunta a la dirección del ADC MOV TMOD,#00000001B ;modo Timer de 16 bits para Timer MOV R2,#30;15 ;RO MOV TLO,#O MOV THO,#-255
;divide 15 veces la frecuencia para dar 1Hz ;para periodo de 1 segundo
SETB ET0 SETB EA SETB T R O
;habilita la interrupción del timer O ;habilita interrupciones globalmente ;inicia cuenta de ciclos de instrucciones
SETB IE.0 C L R IT0
;habilita la interrupción O
LCALL EXHIBE LCALL BIEN
;inicializa control de display ;despliega mensaje de bienvenida
REPITE: NOP AJMP REPITE
ORG
0003H
LJMP INT
51
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
ORG SFFH INT: MOVX A,@DPTR
;lee el primer byte del A/D (MSB)
ACALL LINEA2 BIT1 1: JB ACC.3,UNOl I ACALL CERO ACALL DELAY SJMP BIT10 UNO11: ACALL UNO ACALL DELAY BIT10: JB ACC.2,UNOlO ACALL CERO ACALL DELAY SJMP BIT9 UN010: ACALL UNO ACALL DELAY BIT9: JB ACC.l,UN09 ACALL CERO ACALL DELAY SJMP BITS üN09: ACALL UNO ACALL DELAY BITS: JB ACC.O,UNOS ACALL CERO ACALL DELAY SJMP SALIDA UNOS: ACALL UNO ACALL DELAY SALIDA: NOP
MOVX A,@DPTR
;lee el SEGUNDO byte del A/D (LSB)
BIT7: JB ACC.7,UN07 ACALL CERO ACALL DELAY SJMP BIT6 UN07: ACALL UNO ACALL DELAY
52
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
BIT6: JB ACC.6,UN06 ACALL CERO ACALL DELAY SJMP BITS UN06: ACALL UNO ACALL DELAY BITS: JB ACC.S,UNOS ACALL CERO ACALL DELAY SJMP BIT4 UN05: ACALL UNO ACALL DELAY BIT4: JB ACC.4,UN04 ACALL CERO ACALL DELAY SJMP BIT3 UN04: ACALL UNO ACALL DELAY BIT3: JB ACC.3,UN03 ACALL CERO ACALL DELAY SJMP BIT2 UN03: ACALL UNO ACALL DELAY BIT2: JB ACC.2,UN02 ACALL CERO ACALL DELAY SJMP BIT1 UN02: ACALL UNO ACALL DELAY BIT1: JB ACC.1,UNOl ACALL CERO ACALL DELAY SJMP BITO UNO1: ACALL UNO ACALL DELAY BITO: JB ACC.O,UNOO ACALL CERO ACALL DELAY
AJMP SALIR
WOO: ACALL UNO ACALL DELAY
53
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
SALIR. CPL P1.l RETI
ORG OOOBH WMP AD
ORG 7FFH DEC R2 ;RO MOV THO,#-255
AD:
CJNE R2,#O,SIGUE ;RO FIN:
CPL P1.0 MOV Rs,#30;15 ;RO MOV DPTR,#9000H ;2000H ;activa las señales de escritura ;y selección del A/D (CS y WR) MOVX @DPTR,A
SIGUE: RETI
..........................................................................
7
CONTEX: DB 38H DB OOH DB 06H DB OEH IN1EXH:DB 80H DB OOH CLEAR: DB 01H DB OOH BIENV: DB DB DB MEDIR: DB
DB I BIENVENIDOS AL ' OOH SISTEMA MCSSl OOH DB 'TEMPERATURA (Cy OOH
54
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
ORG
RAM
TADQ: DS 2 DATC0NV:DS 2
;localidad de memoria para guardar el tiempo de adquisición ;localidad de memoria para guardar el dato convertido
SAL: END
ADQTEMP.ASM
;PROGRAMA GLOBAL DEL SISTEMA
.DEFINICIONES ?EN EQU 33H TENONE EQU 34H ONE EQU 35H DECENA EQU 36H UNIDAD EQU 37H DECIMA EQU 38H CENTMA EQU 39H DECCENT EQU 40H RTIMER EQU 41H FRECMT EQU 42H COUNT EQU 43H CONVMSBEQU 44H CONVLSB EQU 45H CONTHIGH EQU 46H CONTLOW EQU 47H CONT2 EQU 48H ;DIRECCIONES LCDCOM EQU 8000H LCDDAT EQU 8001H ADC EQU 9000H 8279COM EQU OBOOlH 8279DAT EQU OBOOOH RAM EQU OOOOH ;OC001H ;COMANDOS PARA EL CONTROLADOR DE TECLADO 8279 CLK EQU OOllllllB MODDK EQU OOOOOOlOB CLRDSP EQU l l O O O O O l B RDFIFO EQU O l O l O O O O B
55
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
ORG OOH AJMP INICIO
;RUTINAS UTILIZADAS PARA LA PANTALLA DE CRISTAL LIQUIDO ;DE 16 CARACTERES X 2 LINEAS (AND491)
..........................................................................
7
;RUTINA PARA INICIALIZAR Y CONTROLAR LA PANTALLA DE CRISTAL LIQUIDO
..........................................................................
7
ORG 3FFH EXHIBE: PUSH DPH .*** PUSH DPL .*** PUSH P2 .*** MOV DPTR,#COhEX ;comandos de control del display MOV RO,#OOH MOV P2,#80H LCALL XCBDOR INC DPTR LCALL XCBDOR LCALL LIMPIA POP P2 .*** POP DPL POP DPH RET .*** 7
7
9
7
XCBD0R:CLR A MOVC A,@A+DPTR JZ TERMIN MOVX @RO,A ACALL DELAY INC DPTR SJMP XCBDOR TERMIN: RET LIMPIA: MOV DPTR,#CLEAR LCALL XCBDOR
MOV R6,#40 TI 1600: LCALL DELAY
56
~
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
DJNZ R6,TI 1600 RET DELAY: MOV R4,#20 TIEMP: DJNZ R4,TIEMP RET TIME: MOV R1,#02 E2: MOV R3,#90 E3: MOV R5,#99 E4: MOV R7,#50 WAIT: DJNZ R7,WAIT DJNZ R5,W DJNZ =,E3 DJNZ Rl,E2 RET
DOBLEX: PUSH ACC MOV A,#80H ACALL COEXH INC DPTR MOV A,#OCOH ACALL COEXH POP ACC RET
COEXH: MOV RO,#OOH MOV P2,#80H MOVX @RO,A ACALL DELAY INC RO ACALL XCBDOR RET LINEA1: PUSH ACC MOV A,#80H LCALL POSCUR POP ACC RET
;habilita la linea 1 del LCD
LINEA2: PUSH ACC MOV A,#OCOH LCALL POSCUR POP ACC
;habilita la linea 2 del LCD
57
SISTEMA PARA EL MONiTOREO DE LA TEMPERATURA CORPORAL
RET POSCUR: PUSH DPH PUSH DPL MOV DPTR,#8000H MOVX @DPTR,A MOV Rl,#OFFH LAZPOS: DJNZ R1,LAZPOS POP DPL POP DPH RET ,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;RUTINA PARA DESPLEGAR MENSAJE DE BIENVENIDA 7
........................................................................
BIEN: PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#BIENV LCALL DOBLEX LCALL TIME MOV R07#OOH LCALL LIMPIA POP ACC POP DPL POP DPH RET
.*** .*** 3
7
.........................................................................
7
;RUTINA PARA DESPLEGAR MENSAJE DE LA FRECUENCIA DE MUESTRE0
.........................................................................
WRTEC: PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#TECLA LCALL DOBLEX LCALL TIME
MOV RO,#OOH
58
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
LCALL LIMPIA MOV DPTR,#TIMEX MOV A,#80H LCALL COEXH LCALL TIME LCALL LIMPIA POP ACC POP DPL POP DPH RET
.*** .*** , 7
......................................................................... ;RUTINA PARA DESPLEGAR MENSAJE DEL TIEMPO DE ADQUISICION
.........................................................................
7
WRTADQ: PUSH PUSH MOV
PUSH DPH DPL ACC DPTR,#TIEMPO
LCALL DOBLEX LCALL TIME MOV RO,#OOH LCALL LIMPIA MOV DPTR,#ADQUIS MOV A7#80H LCALL COEXH LCALL TIME LCALL LIMPIA POP ACC POP DPL POP DPH RET
.........................................................................
3
;RUTINA PARA DESPLEGAR INICIO DEL PROCESO DE MEDICION DE TEMPERATURA
.........................................................................
7
WRI3EGIN:PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#BEGIN
59
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
LCALL DOBLEX LCALL TIME MOV RO,#OOH LCALL LIMPIA MOV DPTR,#MEDIR MOV A,#80H LCALL COEXH LCALL TIME LCALL LIMPIA POP ACC POP DPL POP DPH RET
.*** .*** 7
7
......................................................................... ;RUTINA PARA DESPLEGAR FIN DEL PROCESO DE MEDICION DE TEMPERATURA
.........................................................................
7
WRENDP:PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#ENDP LCALL DOBLEX LCALL TIME MOV RO,#OOH LCALL LIMPIA POP ACC POP DPL POP DPH RET
.*** .*** 7
7
,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;RUTINA PARA DESPLEGAR EL CONTENIDO DEL ACUMULADOR EN LA PANTALLA
......................................................................... 9
WRLCD: PUSH ACC PUSH DPH PUSH DPL MOV DPTR,#8001H
;despliega el código de la tecla presionada
60
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
M O W @DPTR,A POP DPL POP DPH POP ACC RET
........................................................................ ;RUTINAS PARA CALCULAR Y DESPLEGAR EL VALOR DE LA TEMPERATURA
........................................................................
7
CHKCENT: MOV A,CENTMA CJNE A,#3AH,QUIT INC DECIMA MOV CENTMA,#30H QUIT: RET
CHKDEC: MOV A,DECIMA CJNE A,#3AH7QUIT1 INC ONE MOV DECIMA7#30H QUIT1: RET
CHKONE: MOV A,ONE CJNE A7#3AH,QUIT2 INC TEN MOV ONE7#30H QUIT2: RET
CHKMSB: CJNE A,#O,NUMl
MOV TEN,#30H MOV ONE,#30H MOV DECIMA,#30H MOV CENTMA,#30H LJMP SALIDA NUM1: CJNE A,#l,NUM2 MOV TEN,#30H MOV ONE,#33H MOV DECIMA,#3 1H MOV CENTMA7#32H
61
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
LJMP SALIDA NUM2: CJNE A,#2,NUM3 MOV TEN,#30H MOV ONE,#36H MOV DECIMA,#32H MOV CENTMA,#35H LJMP SALIDA NUM3: CJNE A,#3,NUM4 MOV TEN,#30H MOV ONE,#39H MOV DECIMA,#33H MOV CENTMA,#37H LJMP SALIDA NUM4: CJNE AY#4,NUM5 MOV TENy#31H MOV ONE,#32H MOV DECIMA,#35H MOV CENTMA,#3OH LJMP SALIDA NUM5: CJNE AY#5,NUM6 MOV TEN,#31H MOV ONE,#35H MOV DECIMA,#36H MOV CENTMA,#33H LJMP SALIDA NUM6: CJNE A,#6,NUM7 MOV TEN,#31H MOV ONE,#38H MOV DECIMA,#37H MOV CENTMA,#36H LJMP SALIDA NUM7: CJNE A7#7,NUM8 MOV TEN,#32H MOV ONE,#31H MOV DECIMA,#3 8H MOV CENTMA,#37H LJMP SALIDA NUM8: CJNE Ay#8,NUM9 MOV TEN,#32H MOV ONE,#35H MOV DECIMA,#30H MOV CENTMA,#32H LJMP SALIDA
62
SISTEMA PARA EL MOMTOREO DE LA TEMPERATURA CORPOML
NUM9: CJNE A,#9,NUM10 MOV TEN,#32H MOV ONE,#38H MOV DECIMA,#3 1H ;30H MOV CENTMA,#35H LJMP SALIDA NUM 1 O: CJNE A,# 10,NUM1 1 MOV TEN,#33H MOV ONE,#31H MOV DECIMA,#32H MOV CENTMA,#37H LJMP SALIDA NUMll: CJNE A,#l l,NUM12 MOV TEN,#33H MOV ONE,#34H MOV DECIMA,#34H MOV CENTMA,#30H LJMP SALIDA NUM12: CJNE A,#12,NUM13 MOV TEN,#33H MOV ONE,#37H MOV DECIMA,#35H MOV CENTMA,#33H LJMP SALIDA NUM13: CJNE A,#13,NUM14 MOV TEN,#34H MOV ONE,#30H MOV DECIMA,#36H MOV CENTMA,#36H LJMP SALIDA NUM14: CJNE A,#14,NUM15 MOV TEN,#34H MOV ONE,#33H MOV DECIMA,#38H MOV CENTMA,#30H LJMP SALIDA NUM15: MOV TEN,#34H MOV ONE,#36H MOV DECIMA,#39H MOV CENTMA,#32H SALIDA: RET
63
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL,
CHKLSB: PUSH ACC
;esta subrutina hace un ajuste para calcular el valor de ;temperatura, tomando en consideración que cada uno de los niveles ;del ADC es 1.2207 mV (5V / 4096 = 1.2207 mV) ; Como en la lectura del byte menos significativo se pueden tener hasta ;255 niveles (FFH) se tiene que: ;255 X 1.2207 mV = 0.31 12 V que equivale a 3.112 "C
CJNE A,#O,CICLO AJMP CONTINUE CICLO: MOV B,#82 DIV AB CJNE A,#O,SUMl AJMP GO SUM1: CJNE A7#1,SUM2 INC ONE LCALL CHKONE AJMP GO SUM2: CJNE A,#2,SUM3 INC ONE LCALL CHKONE INC ONE LCALL CHKONE AJMP GO
SUM3: INC ONE LCALL CHKONE INC ONE LCALL CHKONE INC ONE LCALL CHKONE MOV A,B MOV B,#9 DIV AB CJNE A,#O,SUMOl AJMP GO1 SUMO1 : CJNE A,#1,SUM02 INC DECIMA LCALL CHKDEC AJMP GO1
GO:
SUM02: CJNE A,#2,SUM03
INC DECTMA LCALL CHKDEC INC DECIMA
64
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
LCALL CHKDEC AJMP GO1 SUM03: CJNE A7#3,SUM04 INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC AJMP GO1 SUM04: CJNE A,#4,SUM05 INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC
AJMP GO1
SUMOS: CJNE A,#5,SUM06 INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC AJMP GO1 SUMO6: CJNE A7#6,SUM07 INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA
65
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
LCALL CHKDEC AJMP GO1 SUM07: CJNE A7#7,SUM08 INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC AJMP GO1
SUMOS: CJNE A,#S7SUM09 INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC AJMP GO1 SUM09: INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC
66
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC INC DECIMA LCALL CHKDEC G o l : NOP NOP ;POP ACC ;RET
MOV A,B CJNE A,#O,SUMOO1 AJMP GO2 SUMOO1: CJNE A,#l,SUM002 INC CENTMA LCALL CHKCENT AJMP GO2 SUM002: CJNE AY#2,SUM003 INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT AJMP GO2 SUM003: CJNE AY#3,SUM004 INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT AJMP GO2 SüM004: CJNE A,#4,SUM005 INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA
67
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
LCALL CHKCENT AJMP GO2 SUMOOS: CJNE A7#5,SUM006 INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT AJMP GO2
SUMOOó: CJNE A7#6,SUM007 INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT AJMP GO2 SUM007: CJNE A7#7,SUM008 INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA
68
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
LCALL CHKCENT AJMP GO2 SUM008: CJNE A,#8,SUM009 INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT AJMP GO2 SUM009: INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT INC CENTMA LCALL CHKCENT
G02: AJMP CONTINUE C0NTINUE:LCALL LINEA2 MOV A,TEN ;despliega los datos guardados
69
SISTEMA PARA EL MONITOREODE LA TEMPERATURA CORPORAL
LCALL WRLCD LCALL DELAY MOV A,ONE LCALL WRLCD LCALL DELAY MOV A,#2EH LCALL WRLCD LCALL DELAY
;punto decimal
MOV A,DECIMA LCALL WRLCD LCALL DELAY MOV A,CENTMA LCALL WRLCD LCALL DELAY MOV A,#ODFH ;símbolo de grado LCALL WRLCD LCALL DELAY MOV A,#43H ;Centígrado LCALL WRLCD LCALL DELAY RET
;RUTINA PARA DESPLEGAR LA TECLA PRESIONADA EN LA ELECCION DE LA FRECUENCIA ;DE MUESTRE0 Y EN EL TIEMPO DE ADQUISICION .***************************************$$$~~~~$$$$$$$$$$$$$$*~~$$$$$$$$ Y
CODIGO: CJNE Ró,#OCOH,COD1 AJMP TCLO COD 1 : CJNE R6,#OC1HyCOD2 AJMP TCLl COD2: CJNE R6,#OC2H,COD3 AJMP TCL2 COD3: CJNE R6,#OC3HyCOD4 AJMP TCL3 COD4: CJNE R6,#OCSH,CODS
70
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL,
AJMP TCL4 COD5: CJNE R6,#OC9H,COD6 AJMP TCL5 COD6: CJNE R6,#OCAH,COD7 AJMP TCL6 COD7: CJNE R6,#OCBH,COD8 AJMP TCL7 COD8: CJNE R6,#ODOH,COD9 AJMP TCL8 COD9: CJNE R6,#OD lH,CODA AJMP TCL9 CODA: CJNE R6,#OD2H,CODB AJMP TCLA CODB: CJNE R6,#OD3H,CODC AJMP TCLB CODC: CJNE R6,#OD8H,CODD AJMP TCLC CODD: CJNE R6,#OD9H,CODE AJMP TCLD CODE: CJNE Ró,#ODAH,CODF AJMP TCLE CODF: AJMP TCLF TCLO: MOV A,#30H ; d i g o para desplegar el O MOV FRECMT,A MOV CONTHIGH,#l MOV CONTLOW,#óO AJMP FIN TCL1: MOV A,#31H ;codigo para desplegar el 1 MOV FRECMT,A MOV RTIMEK# 15 MOV CONTHIGH,#6 MOV CONTLOW,#200
71
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
AJMP FIN ;&go TCL2: MOV A,#32H MOV FRECMT,A MOV RTIMER,#30 MOV CONTHIGH,#12 MOV CONTLOW,#200
para desplegar el 2
AJMP FIN ; d i g o para desplegar el 3 TCL3: MOV A,#33H MOV FRECMT,A MOV RTIMER,#45 MOV CONTHIGH,#18 MOV CONTLOW,#200
AJMP FIN TCL4: MOV A,#34H ;codigo para desplegar el 4 MOV FRECMT,A MOV RTIMER,#óO MOV CONTHIGH,#24 MOV CONTLOW,#200 AJMP FIN TCL5: MOV A,#35H ;codigo para desplegar el 5 MOV FRECMT,A MOV RTIMER,#75 MOV CONTHIGH,#30 MOV CONTLOW,#200 AJMP FIN TCL6: MOV A,#36H ;&go MOV FRECMT,A MOV RTIMER,#90 MOV CONTHIGH,#36 MOV CONTLOW,#200
para desplegar el 6
AJMP FIN
72
SISTEMA PARA EL MONITOREODE LA TEMPERATURA CORPORAL
TCL7: MOV A,#37H ; d i g o para desplegar el 7 MOV FFWCMT,A MOV RTIMER,# 105 MOV CONTHIGH,#42 MOV CONTLOW,#200 AJMP FIN
TCLS: MOV A,#38H ;codigo para desplegar el 8 MOV FRECMT,A MOV RTIMER,# 120 MOV CONTHIGH,#48 MOV CONTLOW,#200 AJMP FIN TCL9: MOV A,#39H yodigo para desplegar el 9 MOV FRECMT,A MOV RTIMER,# 135 MOV CONTHIGH,#54 MOV CONTLOW,#200 AJMP FIN TCLA: MOV A,#41H ;codigo para desplegar A MOV FRECMT,A MOV CONTHIGH,#l MOV CONTLOW,#óO AJMP FIN TCLB: MOV A,#42H ;codigo para desplegar B MOV FRECMT,A MOV CO"IGH,#5 MOV CONTLOW,#óO AJMP FIN TCLC: MOV A,#43H ;codigo para desplegar C MOV FRECMT,A MOV CONTHIGH,#10 MOV CONTLOW,#óO
73
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
AJMP FIN
;codigo para desplegar D TCLD: MOV A,#44H MOV FRECM",A MOV CONTHIGH,#30 MOV CONTLOW,#óO AJMP FIN TCLE: MOV A,#45H MOV FRECMT,A AJMP FIN
; d i g o para desplegar E
TCLF: MOV A,#46H MOV FRECMT,A
;coáigo para desplegar F
FIN:
RET
WRTEMP: PUSH DPH PUSH DPL PUSH ACC MOV DPTR,#MEDIR MOV A,#80H LCALL COEXH LCALL TIME LCALL LIMPIA POP ACC POP DPL POP DPH RET
,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . ;RUTINA DE INICIALIZACION DEL CONTROLADOR DE TECLADO 8279
............................................................................
TECLAD: ;PUSH DPH ;PUSH DPL MOV DPTR,#OBOOlH MOV A,#CLK M O W @DPTR,A
;sin push-pop se cicla en bienv ;8279COM
;dirección de comandos para el 8279
;programa el reloj del 8279 a ;U30 de la frecuencia de entrada
74
SISTEMAPARA EL MONITOREO DE LA TEMPERATURA CORPORAL,
MOV A,#MODDK MOVX @DPTR,A
;despliegue de 3 dígitos left-entry y teclado ;en modo N-Key Rollover
MOV A,#CLRDSP MOVX @DPTR,A ;POP DPL ;POP DPH RET
;limpia e inicializa el teclado y el display
................................................................. . * * * * * * * * * * * * INICIA CJFRpO PRINCIPAL * * ** * * * ** * * * * * ***************** . * * ** * * * * * * * * DEL PROGRAMA ,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
3
*$*
*$
*$$
$$
$**
9 7
ORG lFFH INICIO: SETB EA SETB IE.2 CLR IT1
;habilita interrupciones globalmente ;habilita la interrupción externa 1 ;interrupción disparada por nivel
LCALL TECLAD LCALL EXHIBE LCALL BIEN LCALL WRTEC
;inicialización del 8279 ;inicializa control de display ;despliega mensaje de bienvenida ;despliega 'seleccione FREC.MUESTREO'
'SEG X DATO: '
ESPTEC: JNB 20H. 1,ESPTEC ;espera hasta que una tecla sea presionada (INT 1) CLR 20H.1 MOV R6,A LCALL CODIGO LAZO1: MOV A,FRECMT LCALL LINEA2 LCALL WRLCD ESPERA: CJNE A,#46H,ESPTEC ;espera hasta que se presione la tecla F (fín) AJMP START START: LCALL WRTADQ ;despliega 'SELECCIONE TIEMPO ADQUISICION:' 'TIEMPO ' ESPTECl :JNB 20H.1,ESPTEC1 CLR 20H.1 9
75
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
MOV R6,A LCALL CODIGO MOV A,FRECMT LCALL LINEA2 LCALL WRLCD CJNE A,#46H,ESPTEC 1 AJMP STARTl
;espera hasta que se presione la tecla E (Escape)
3
STARTl: CLR IE.2 ;deshabilita INT 1 ;da prioridad ala interrupción del Timer O SETB PTO ;despliega mensaje de INICIO LCALL WRBEGIN
MOV P2,#90H MOV RO,#OOH MOV R2,RTIMER REPIT: MOV DPTR,#RAM MOV TLO,#O MOV THO,#-255 ;para periodo de 1 segundo ;modo Timer de 16 bits para Timer O MOV TMOD,#0000000 1B SETB IE.0 CLR IT0
;habilita la interrupción O
SETB ET0 SETB T R O
;habilita la interrupción del timer O ;inicia cuenta
SET:
MOV CONT2,CONTLOW
TADQ: JNB 20H.3,TADQ ;espera tiempo de adq. seleccionado en el TIMER CLR 20H.3 MOVX @RO,A ;inicia conversión TCONV: JNB 20H.0,TCONV CLR 20H.O
;espera que se genere INT O (fin de conversión)
INC DPTR DJNZ CONT2,TADQ DJNZ CO"IGH,SET CLR IE.0
;***CONTLOW
;desactiva interrupciones del TIMER O
76
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
CLR IE.1 SETB IE.2
;y EXTERNA O ;vuelve a activar INT 1 (del teclado)
LCALL WRENDP ;TERMINA LA ADQUISICION DEL NUMERO DE DATOS DETERMINADO ;POR EL USUARIO MOV DPTR,#RAM DATOS: JNB 20H. 1,DATOS ;espera hasta que se presione alguna tecla CLR 20H.1 ; ;guarda codigo de la tecla (generado por el 8279) MOV R6,A ;para verificar codigo ASCII y lo regresa en A LCALL CODIGO ;para desplegarlo en la pantalla
LCALL WRTEMP LAZ3: MOVX A,@DPTR LCALL CHKMSB
;despliega ‘TEMPERATURA’ en la linea I ;carga primer dato
INC DPTR MOVX A,@DPTR LCALL CHKLSB MOV A,FRECMT CJNE A,#45H,LAZ AJMP EXIT LAZ: INC DPTR AJMP DATOS EXIT: LJMP SAL
ORG 0003H LJMP MSB ORG OAFFH MSB: SETB 20H.0
77
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
MOVX A,@RO ANL A,#OFH MOVX @DPTR,A
;adquiere MSB del A/D
;guardaen RAM
MOV CONVMSB,A MOV TENONE,A LCALL CHKMSB
LSB: MOVX A,@RO
;adquiere LSB del A
D
MOV CONVLSB,A MOV DECCENT,CONVLSB INC DPTR ;guardaen RAM MOVX @DPTR,A LCALL CHKLSB RETI ,. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
. *************** ~ E ~ U P C I O EXTERNA N 1 *$*************** ........................................................................... 9
7
ORG 0013H LJMP TEC ORG OBFFH ;comando que indica una lectura TEC: MOV A,#RDFIFO MOVX @DPTR,A ;para el 8279 MOV DPTR,#OBOOOH ;8279DAT MOVX A,@DPTR ;lee el codigo de la tecla CPL P1.2 SETB 20H.1 RETI
78
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
ORG OOOBH LJMP
AD
ORG OCFFH
AD: ;PUSH DPH ;PUSH DPL DEC R2
MOV TLO,#O MOV TH0,#-255 CJNE R2,#OYSIGUE ;RO SETB 20H.3 CPL P1.0 MOV R2,RTIMER ;15
;RO
SIGUE: ;POP DPL ;POP DPH RET1
..........................................................................
Y
CONTEX: DB 38H DB OOH DB 06H DB OEH IN1EXH:DB 80H DB OOH CLEAR: DB 01H DB OOH BIENV: DB DB DB MEDIR: DB
DB ' BIENVENIDOS AL ' OOH 'SISTEMA TEMP-5 1 ' OOH DB 'TEMPERATURA (C):' OOH
TECLA: DB DB DB TIMEX:
DB ' SELECCIONE ' OOH ' FREC. MUESTRE0 ' OOH DB 'SEGUNDOS X DATO:' DB OOH
TIEMP0:DB ' SELECCIONE
'
79
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
APENDICE A. El Transductor de Temperatura. AD590
Para registrar la temperatura corporal se utilizó en primera instancia el transductor de temperatura AD590, cuyas principales características son:
- Corriente de salida : lpA / K - Rango de temperatura : 218 a
423K
- 2 terminales: entrada de voltaje, salida de corriente - Rango de voltaje de alimentación: 4V a 30V - Linealidad: +/- 0.3 grados Celsius
El circuito básico para el AD590 es mostrado en la Fig. 6. , en donde puede observarse que el voltaje de salida es proporcional a la temperatura en la escala Kelvin, 1OmV por cada grado Kelvin.
Vo=lO mV/K
"P L. -
Fig. 6 . Circuito básico del transductor AD590
En la tabla 12 se presenta la relación entre el voltaje y temperatura, considerando únicamente el rango de temperatura corporal. El voltaje fue amplificado de tal forma que quedara mapeado dentro de un rango de 0-5 V (que es el rango dinámico del AD).
81
SISTEMA PARA EL MONITOFEODE LA TEMPERATURA CORPORAL
Temperatura
(“K)
(“C)
I
30 31 32
33 34 35 36 37 38 39 40
I
I
3 03 3 04 305 306 307 308 309 3 10 311 312 3 13
I
I
Voltaje de Salida (mV) 303 3 04 305 3 06 307 308 3 09 3 10 311 3 12
I
Estos valores corresponden al valor esperado (teóricamente) en la salida del circuito básico del transductor, de acuerdo a las características del AD590 y al valor de R, en el rango de temperatura corporal. El diagrama del circuito completo es mostrado en la Fig. 7, donde se distingue un circuito diferenciador (restador), así como un circuito amplificador para la diferencia entre el voltaje del transductor (Vt) y el voltaje de referencia (V,f)
Fig. 7. Circuito completo utilizado para el AD590
82
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
Inicialmente, al verificar la etapa de transducción a temperatura ambiente (25"C), se observó que el voltaje del transductor disminuye de 298 mV (voltaje correspondiente a dicha temperatura) a 198 mV al no tener un circuito seguidor de voltaje a la señal del transductor. Lo mismo sucedió con el voltaje de referencia, Vref Por esta razón en la configuración de la Fig. 7, se utilizó el circuito seguidor de voltaje para las señales del transductor y de referencia. Se observó que el voltaje en la salida del transductor disminuyó 2 mV con el circuito seguidor de voltaje, sin embargo, como sucede lo mismo con el voltaje de referencia, se compensa la diferencia al restarlos con el circuito diferenciador. Realizando las mediciones de las señales de este circuito, se observó un alejamiento del valor real o esperado. Ai hacer la caracterización , se procedió a variar la temperatura desde O "C hasta la temperatura ambiente para observar el comportamiento del circuito, comparando el voltaje del transductor (Vt) con el Modulo de Temperatura Nihon Kohden, como puede apreciarse en la tabla 13.
I
Temperatura ("C)
I
273 273 273 274
O 1 2 3
I
7 9
10 11
voltaje ( m V ) I
I
12 13 14 16 17 18 19 20 21 22 23 24
83
275 276 276 276 277 278 278 278 278 279 279 280 280 280 28 1 28 1
~
1
SISTEMA PARA EL MONITOREODE LA TEMPERATüRA CORPORAL
Se observó que el voltaje que se tenía, no presentaba una relación lineal, como era de esperarse, con el valor de temperatura que se tenía en el Modulo Nihon Kohden. Se vio que el comportamiento del transductor AD590 no era optimo o adecuado, pues su voltaje de salida no seguía a las variaciones en la temperatura, si no que se estabilizaba en un nivel a pesar de ir incrementando la temperatura ( en la Tabla 11 se aprecia como el voltaje de salida tiene una respuesta demasiado lenta). La razón es que posiblemente se modificó su comportamiento con el montaje que se le hizo para colocarlo en el conducto auditivo externo (véase Fig. 8 ), ya que la superficie externa del transductor (área de contacto del transductor con el medio a sensar) se vio reducida con el montaje metálico.
Fig. 8. Montaje para al AD590
Además se observó que al utilizar la salida del circuito del transductor como entrada del convertidor analógico digital , Vin (+), éste comenzaba a calentarse mas de lo normal. Debido a estos inconvenientes que se presentaron con este transductor de temperatura, se decidió no utilizar este de temperatura.
84
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
APENDICE B. Problemas que se presentaron durante el diseño:
1. En el diseño había un problema con una compuerta OR. Esta compuerta debía activar el Chip Select (CS) de la RAM,pero nunca lo hacía como se comprobó cuando se utilizó el Analizador de estados lógicos.
Este error fue debido a una mal interpretación, puesto que se quería utilizar 2 salidas del decodificador simultáneamente (YO, Y1 ), para cubrir un mayor rango de memoria mapeada para la RAM,y estas salidas del decodificador fueron las entradas de la compuerta OR , y como solo una de las salidas del decodificador puede estar en un nivel bajo y todas las demás salidas se van a 1 (nivel alto), no era posible activar la RAM,pues siempre se estaba teniendo un O y un 1 en las entradas de la compuerta OR encargada de activar el CS de la RAM, por consiguiente la salida de la OR siempre era 1 . Por esta razón se vio que era necesario cambiar la compuerta OR por una AND y de esta forma se resolvió este problema en el primer programa de prueba (PRUEBAl..ASM) , el cual se observó no funcionaba, para poder ver si el sistema mínimo estaba bien.
PRUEBA1.ASM ;PROGRAMA DE PRUEBA PARA VERIFICAR EL FUNCIONAMIENTO DEL SISTEMA MINIM0
ORG
OOOOH
CLR
A MOV A,# O0001 1 11B MOV DPTR, # lOOOH MOVX @DFTR,A CJNE A,#0000 1 1 1 lB,ERRROR AJMP FIN
;apunta a la zona donde está la RAM ;escribe en RAM
ERRR0R:MOV P 1,# 1 1 1 1 OOOOB FIN:
MOV
P1,A
FINAL: NOP AJMP FINAL END
85
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
2. En el programa PRUEBA4.ASM había problemas con los ciclos de espera, en especifico con
los lazos anidados. Con estos ciclos de espera se pretendía activar el ADC1205 cada segundo (f =lHz), como primera opción para probar el A / D . Pero se tenía el problema de que se ciclaba indefinidamente y ya no se salía de dicho ciclo . Además no se estaba considerando el aspecto secuencia1 de las instrucciones del programa. PRUEBA4.ASM ;Programa de prueba (Microcontrolador 8031)
SELEC: CLR A MOV DPTR,#8000H M O W @DPTR,A
;selecciona zona de memoria donde esta mapeado el A/D ;activa modo de escritura
ACALL ESPERA
;llama la subrutina de espera del tiempo de conversión
MOVX A,@DPTR MOV P1,A ACALL ESCRIT ACALL DELAY
;escribe el primer byte del dato convertido ;saca por el puerto 1 el dato del primer byte
CICLIC: MOV R1,#127 CICLIC1: ACALL ESPERA DJNZ R1,CICLIC RET
;espera de 2 seg. para apreciar el cambio en la ;lectura del segundo byte del convertidor
DELAY: MOV R1,lOO DELAY1: ACALL CICLIC DJNZ R1,DELAY 1 RET ESCRIT: MOV DPTR,#1000 MOVX @DPTR,A
RET M O W A,@DPTR ;escribe el segundo byte del dato convertido ACALL ESCRIT
86
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
FINAL: NOP AJMP FINAL ESPERA: MOV R0,#127 ;ciclo de espera para que termine de convertir el A/D CICLO: DJNZ R0,CICLO RET END 3. El ADC1205 no terminaba la conversión del dato ( nunca se activaba la línea INT) en el
programa para probar la interrupción (CHKADC.ASM).
Esto se verificó cuando se hizo uso del analizador de estados lógicos y se pudo comprobar que había problemas con el convertidor, pues no realizaba ninguna conversión. Se cambió de convertidor por uno nuevo y con esto se solucionó el problema de que nunca se activaba la línea INT , y por lo tanto no se entraba a la rutina de atención a la interrupción externa cero del 803 1 ( INT O ).
CHKADC.ASM
;PROGRAMA PARA VERIFICAR EL CONVERTIDORDE 12 BITS
AJMP INICIO
ORG
lFFH
INICIO: SETB PTO MOV DPTR,#9000H
;daprioridad ala interrupción del Timer O ;apunta a la dirección del ADC
MOV TMODy#OOOOOOOIB;modo Timer de 16 bits para Timer I
MOV RO,#15 MOV Rl,#100
MOV TLO,#O
MOV THOY#-255
SETB ET0
;divide 15 veces la frecuencia para dar 1 Hz
;para periodo de 1 segundo
;habilita la interrupción del timer O
87
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
SETB EA SETB 'IR0
;habilita interrupciones globalmente ;inicia cuenta de ciclos de instrucciones
SETB IE.0 CLR IT0
;habilita la interrupción O
REPITE: NOP AJMP REPITE
ORG
0003H
LJMP INT ORG 3FFH LATCHl: PUSH DPH PUSH DPL MOV DPTR,#ODOOOH ;OAOOOH M O W @DPTR,A ;manda el dato al LATCH 1 POP DPL POP DPH RET LATCH2: PUSH DPH PUSH DPL MOV DPTR,#OEOOOH ;OCOOOH MOVX @DPTR,A ;manda el dato al LATCH 2 POP DPL POP DPH RET
INT:
ORG SFFH MOVX A,@DPTR ACALL LATCH2 MOVX A,@DPTR ACALL LATCHl
;lee el primer byte del A/D (MSB)
;lee el SEGUNDO byte del A/D (LSB)
SALIR: CPL P1.l RET1
88
SISTEMA PARA EL MONITOREO DE LA TEMPERATMU CORPORAL
ORG OOOBH LJMP AD AD:
ORG 7FFH DEC RO MOV THO,#-255 ;DJNZ RO,$ CJNE RO,#O,SIGUE
FIN: CPL P1.0 MOV R0,#15 ;R1 MOV DPTR,#9000H ;2000H ;activa las señales de escritura MOVX @DPTR,A ;y selección del A/D (CS y WR) SIGUE: RET1 END
4. No era posible programar las interrupciones y hacer que funcionaran como se deseaba, tanto la del TIMER como la EXTERNA O , por no considerar las direcciones reservadas por el vector asociado a cada interrupción (con un espacio de 8 bytes entre cada interrupción), pasando por alto este aspecto, habiendo un traslape de las instrucciones de la rutina de atención a la
interrupción con las de la otra interrupción . Esto se puede apreciar en el programa PROYECT..PRN.
AVOCET SYSTEMS 8051 CROSS-ASSEMBLER - VERSION 1.10M SOURCE FILE NAME: PROYECT.ASM
PAGE 1
;PROGRAMA DEL SISTEMA BASADO EN EL 8031 ;DEFINICIONES 2000 6000
ADC1205 8279
8000
RAM
EQU EQU EQU
2000H
6000H
8000H
89
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
A000 coo0
O000 O000 O000 790F
LATCH1 LATCH2
EQU EQU
1OlOOOOOOOOOOOOOB 1lOOOOOOOOOOOOOOB
. ***************PRINCIPAL ..................... ORG OOOOH
0002758901 0005 758A00 O008 758C01 OOOB D2A9 OOOD D2AF OOOF D28C O011 O011 O011 OOOB
MOV Rl,#15 MOV TMOD,#00000001B MOV TLO,#O MOV TH0,#-255 SETB ET0 SETB EA SETB TRO
ORG OOOBH
; dirección de la rutina de interrupción del timer
OOOB 19 TIMER: DEC R1 OOOC 758C01 MOV TH0,#-255 OOOF OOOF B90004 CJNE Rl,#O,FIN 0012 902000 AD: MOV DPTR,#2000H ;activa las señales de escritura MOVX @DPTR,A ;y selección del A/D (CS y WR) 0015 FO 0016 32 0017 0017 0017 0017 0003 0003
FIN:
RET1
ORG 0003H
;dirección de inicio de la interrupción externa O
AVOCET SYSTEMS 805 1 CROSS-ASSEMBLER - VERSION 1.10M PAGE 2
SOURCE FILE NAME: PROYECT.ASM 0003 0003 75A881 LECT: MOV IE,#10000001B ;habilita la interrupción externa O 0006 D288 SETB IT0 ;interrupción O disparada por nivel O008
O008 EO
0009 F8
OOOA EO OOOB F9
MOVX A,@DPTR MOV RO,A MOVX A,@DPTR MOV R1,A
;lee primer byte del dato convertido ;lee segundo byte del dato convertido
90
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
oooc oooc OOOC 32
RET1
O000
END
AVOCET SYSTEMS 805 1 CROSS-ASSEMBLER - VERSION l.lOM PAGE 3
SOURCE FILE NAME: PROYECT.ASM 000000000000
---- SYMBOL TABLE ---8279 6000 AD 0012 ADC1205 2000 EA OOAF
ET0 FIN IE IT0
00A9 0016 00A8 0088
LATCH1 LATCH2 LECT RAM
A000 COO0 0003 8000
THO
008C
TRO
oosc
TIMER OOOB TLO 008A TMOD 0089
5. El dato del ADC1205 no se observó al mandar escribir en el puerto 1 la palabra del dato convertido. Previamente se habían colocado LEDs en los pins correspondientes al puerto 1 para observar la palabra del byte ( tanto el MSB como el LSB ), a través de dicho puerto. 6. Como el dato no se pudo observar por el puerto 1 , y considerando que aun con ciclos de retardo las instrucciones se ejecutan tan rápidamente que no se apreciaría bien la palabra del dato, se procedió a intentar capturar el dato con un LATCH para que dicho dato quedara fijo y asi poderlo observar. Sin embargo se observó que los LEDs que se conectan al LATCH (para apreciar la palabra) no presentaron ningún cambio, independientemente del voltaje de entrada aplicado a la entrada analógica del convertidor, el cual se fue variando dentro del rango dinámico del ADC, es decir , O a 5 V. El dato en las salidas de LATCH debía ser proporcional al voltaje de entrada en el convertidor, lo cual no se pudo apreciar. Utilizando el analizador de estados se comprobó que el sistema estaba funcionando bien y el problema estaba en que los datos no eran retenidos o el ADC1205 no estaba convirtiendo bien los datos. Debido a que el convertidor ADC1205 se había reemplazado por uno nuevo, se suponía que el problema estaba mas bien en que los datos convertidos no eran retenidos.
7. El convertidor reemplazado, en cierta ocasión se calentó mas de lo normal , aparentemente sin
una causa obvia, pero como siguió generando la interrupción del fin de conversión, no presentaba
91
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
motivos para pensar que se había dañado . Mas bien, se siguió buscando la causa del problema por el cual no se podía observar el dato convertido. Finalmente, no encontrando ninguna causa que generara el problema de no retener el dato de la conversión para poder apreciarlo a través de LEDs , se empezó a ver la posibilidad que el problema estuviera en el ADC1205 a pesar de que se estuviera activando la línea INT (fin de conversión). Como no se tenía la seguridad de que efectivamente el convertidor fuera el problema, y como este tipo de convertidores son caros, se estaba en la posición de tener que tomar la decisión si se volvía a comprar otro convertidor o no, puesto que si se compraba y se llegara a ver que ese no era la causa, sería un gasto innecesario. Debido a esto, se decidió utilizar un convertidor de 8 bits, el ADC0804, el cual es barato, comercial y fácil de conseguir , siendo útil para el objetivo necesitado: poder determinar si se tenían problemas en el proceso de conversión. Se remplazó el ADC1205 por el ADC0804 y se empezaron a visualizar los datos correctamente conforme variaba el voltaje en la entrada analógica del ADC0804, viendo que efectivamente se tenía el problema en el ADC 1205. Por esta razón, se remplazó ADC1205 por uno nuevo, comprobando que efectivamente no realizaba el proceso de conversión. Con el nuevo convertidor se corrigió el problema, y se comenzó a observar el dato convertido de 12 bits en los LEDs , siendo proporcional al voltaje de la entrada analógica. 8. El calentamiento que se observó en el convertidor A / D se generaba por el voltaje de salida del
transductor de temperatura AD590, el cual estaba amplificado de tal manera que su excursión estuviera dentro del rango dinámico de la entrada analógica del convertidor (O a 5 V), pero por alguna razón se empezaba a calentar el convertidor aunque el voltaje de salida del transductor no sobrepasara los 5V, es mas, aunque estuviera en un valor intermedio dentro del rango, se calentaba el ADC 1205. Esto se pudo comprobar en el nuevo convertidor, y ya teniendo los antecedentes del calentamiento con el anterior, se tuvo el cuidado de estar revisando que no empezara a calentarse, y si esto sucedía se apagaba la fuente de alimentación. De esta forma se pudo observar que el calentamiento lo producía el acoplamiento con el transductor, pues cuando se utilizó un voltaje variable de O a 5 V directamente de la fuente en vez del transductor, nunca se presentó este problema.
92
SISTEMA PARA EL MONITOREO DE LA TEMPERATURA CORPORAL
BIBLIOGRAFIA 1. EMBEDDED CONTROL APLICATIONS
HANDBOOK INTEL 1989. 2. 80C5 1 AND DERIVATE MICROCONTROLLERS
DATABOOK PHILLIPS COMPONENTS SIGNETICS 1990 3. 8 BITS EMBEDDED CONTROLLER
HANDBOOK INTEL 1989 4. AND, LED AND LCD PRODUCTS
DISPLAY PRODUCTS CATALOG 1991 5 EIGHT-BIT 80C5 1 EMBEDDED PROCESSORS
DATABOOK ADVANCED MICRO DEVICES. 1990 6 DATA CONVERSION / ACQUISITION
DATABOOK NATIONAL. 1984
7 GENERAL PURPOSE LINEAR DEVICES DATABOOK NATIONAL. 1989 8. CHARLES M. GILMORE. MICROPROCESSORS. PRINCIPLES AND APPLICATIONS. DE. Mc. GRAW-HILL. 1989 9. D. C. BAIRD. EXPERTMENTATION. PRENTICE HALL HISPANOAMERICANA SECOND EDITION. 1991
93