Professional Documents
Culture Documents
PRESENTA:
Bedolla Pallares Alejandro
Sánchez Mora Leticia
Agradezco a mi Papá Guadalupe por todo el apoyo económico y moral que me brindo
durante mis estudios.
Agradezco a mi Mamá Catalina por que durante este tiempo sus oraciones, su apoyo y
comprensión no me faltaron. Por aquellos consejos que en forma oportuna tuvo a bien
darme.
Agradezco a mis hermanos, a mi cuñada Martha, a mi novio Marcos y a mis sobrinos por
el entusiasmo que me transmitieron en las etapas difíciles de mi carrera, por que siempre
estuvieron conmigo.
5
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
ÍNDICE GENERAL
Pág.
RESUMEN DE TRABAJO.................................................................................................. 7
JUSTIFICACIÓN................................................................................................................ 9
APORTACIONES DE TESIS ........................................................................................... 11
CONTENIDO ................................................................................................................... 12
OBJETIVOS .................................................................................................................... 13
INTRODUCCIÓN ............................................................................................................. 14
LIMITACIONES. .............................................................................................................. 16
CAPITULO 1
1 GENERALIDADES ....................................................................................................... 17
1.1 PRINCIPIOS DE LA OXIMETRÍA DE PULSO ....................................................... 17
1.2 FISIOLOGIA........................................................................................................... 24
1.3 MICROCONTROLADOR MSP430 ......................................................................... 26
1.4 PROGRAMACIÓN EN C ........................................................................................ 30
1.5 LÓGICA DIFUSA: .................................................................................................. 33
1.6 EL PUERTO SERIE RS-232C ............................................................................... 38
CAPITULO 2
METODOLOGÍA .............................................................................................................. 44
CAPITULO 3
RESULTADOS ................................................................................................................ 59
CONCLUSIONES ............................................................................................................ 70
BIBLIOGRAFÍA ................................................................................................................ 71
ANEXOS.............................................................................................................................72
6
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
RESUMEN DE TRABAJO
7
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
Al comunicar la circuitería por medio del puerto serial del ordenador y hacer un
procesamiento de la señal mediante software para desplegar los datos en las pantallas de
interfaz se procede a diseñar la interfaz con la base de datos gracias a los comandos que
cuenta Matlab. De esta forma se crea una base de datos anticipadamente en Microsoft
Access que cuente con los mismos campos que desee adquirir a través de mi pantalla de
interfaz gráfico con el usuario. Así podemos tener control de la base de datos desde la
pantalla de comandos y el editor de texto de Matlab.
8
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
JUSTIFICACIÓN
Por otro lado, esta nueva tecnología no solo ha impactado en el desarrollo de equipos con
grandes estructuras o que crean una nueva línea de trabajo en la medicina, sino que
también ha proporcionado una nueva manera de tratar dispositivos bien conocidos de
monitoreo pero proveyendo al médico de más herramientas para resolver el mismo
problema; uno de estos equipos tiene que ver con el monitoreo continuo de la SpO2, mejor
conocido como oxímetro de pulso. Su utilidad radica en detectar un caso de déficit de
oxígeno en la sangre debido a que una persona no puede sobrevivir más de 2 minutos sin
el suministro de oxígeno al cerebro. Los valores típicos de SpO2 se encuentran entre 95%
y 97% con un rango de variación del 2%. Valores por debajo del 90% se asocian con
situaciones patológicas e insuficiencia respiratoria.
9
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
han aprovechado las características del MSP430, este microcontrolador maneja cinco
modos de operación, de los cuales uno es activo (AM), y 4 de bajo consumo (LPMn). La
diferencia entre cada uno de los modos es la cantidad de periféricos que quedan
apagados, y el tiempo que le lleva al microcontrolador retomar su operación normal, que
de todas formas no excede los 6 µs y la corriente que consume llega a ser de 100 nA en
modo de espera.
Otra razón por la cual se desarrolló este proyecto es porque en el mercado no se cuenta
con un tipo de dispositivo que permita dar un pre-diagnóstico en base a la curva de
pletismografía.
10
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
APORTACIONES DE TESIS
11
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
CONTENIDO
Por último los resultados obtenidos para cada una de las secciones descritas en la
metodología, lo que incluye los códigos de ejecución y las pruebas obtenidas al enlazar la
circuiteria y el software diseñado. Al final se comenta las conclusiones detalladas sobre el
trabajo desarrollado.
12
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
OBJETIVOS
Objetivo General:
Objetivos Particulares:
Diseñar una base de datos que registre los datos obtenidos por el modelo de
monitoreo de saturación de oxígeno.
13
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
INTRODUCCIÓN
La utilidad del Oxímetro de Pulso radica en las áreas de unidades de cuidados intensivos
(UCI's), en el áreas de urgencias, medicina interna, unidad de cuidados intensivos
neonatales y en las salas de cirugía dado que, como ya mencionamos, el cerebro no
puede estar más de 2 minutos sin recibir oxígeno.
14
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
SaO2 si no con la cantidad de sangre varía con el pulso. Esto es debido a que la
hemoglobina como sus derivados son compuestos con características de absorción
específicas a diferentes longitudes de onda, lo cual se emplea en su identificación y
cuantificación. Las medidas cuantitativas en espectrofotometría se basan en las leyes de
absorción.
15
Diseño y Construcción de un Sistema de Monitoreo
para Saturación de Oxígeno por Medios Digitales.
LIMITACIONES.
16
GENERALIDADES: Principios de Oximetría de Pulso
1 GENERALIDADES
17
GENERALIDADES: Principios de Oximetría de Pulso
Espectrofotometría.
Para vigilar de manera periférica el porcentaje de Hb saturada con O2, por el paso de
longitudes de onda específicas a través de la sangre (SaO2). Se basa en la ley de
Lambert-Beer-Bouguer.
Ley de Beer-Lambert.
El principio en el que se funda la determinación de la SaO2, con el oxímetro de pulso, es
la ley de Beer. Todas las técnicas de oximetría se basan en análisis espectrofotométricos
que miden las porciones de luz transmitida y absorbida por la Hb, combinado con el
principio de la pletismografía.
I
T= Ec. 1
Io
Donde:
18
GENERALIDADES: Principios de Oximetría de Pulso
A = a *b*c Ec. 3
Donde:
A = absorbancia
a = Absorción
b = Distancia a la cual la luz es transmitida a través la solución (longitud de la trayectoria)
c = Concentración del soluto
19
GENERALIDADES: Principios de Oximetría de Pulso
a = D×C ×É Ec.4
Si existen múltiples solutos, "a" es la suma de expresiones similares para cada soluto, por
ejemplo:
a = D * (C1 * É 1 + C 2 * É 2 ) Ec. 5
Hemos dicho que el oxímetro de pulso mide la luz roja e infrarroja transmitida a través del
lecho tisular, usando efectivamente el dedo como una cubeta que contiene Hb. Además
de la Hb, hay otros numerosos absorbentes de la luz a lo largo de su trayectoria, tales
como la piel, tejidos blandos y los capilares sanguíneos.
Para entender como el oxímetro de pulso resuelve este problema podemos observar la
figura 4.
20
GENERALIDADES: Principios de Oximetría de Pulso
Todos los oxímetros de pulso asumen que la única absorción pulsátil entre la fuente de
luz y el fotodetector es la de la sangre arterial. Para determinar la saturación funcional, los
oxímetros de pulso corrientes utilizan dos longitudes de onda:
600nm(rojo)
940nm( IR)
Para determinar la relativa contribución de la oxihemoglobina y de la desoxihemoglobina.
Las mediciones entregan las absorciones máximas y mínimas a 660 y a 940nm.
Obteniéndose así cuatro valores separadamente. La relación entre las absorciones
determina la SaO2 y se calcula de la siguiente forma:
21
GENERALIDADES: Principios de Oximetría de Pulso
O2 Hb
SaO2 = * 100% Ec. 7
O2 Hb + RHb
O2 Hb
O2 Hb = * 100% Ec. 8
O2 Hb + RHb + COHb + MetHb
O Hb%
CaO2 = 1.37 ∗ Hb ∗ 2 + (0.003 ∗ PaO2 ) Ec. 9
100
Donde:
Hb es la concentración total de la hemoglobina en g/dl
PaO2 es presión arterial de oxígeno en mm Hg.
El primer término en esta ecuación representa el O2 unido a la Hb, el cual bajo
condiciones normales (Hb = 15 g/dl; O2Hb% = 98) es igual a 20 ml de oxígeno por 100 ml
22
GENERALIDADES: Principios de Oximetría de Pulso
La pletismografía.
Principios Físicos: Detecta el flujo de sangre cutáneo y traduce sus pulsaciones. Consiste
en la emisión de luz infrarroja desde un diodo emisor y un fotodetector adyacente que
recibe la luz infrarroja reflejada. A medida que aumenta el flujo de sangre cutáneo
aumenta la cantidad de luz reflejada. De esta manera obtenemos una medida cualitativa
del flujo sanguíneo cutáneo. Se utiliza preferentemente en la medición de la presión
digital.
23
GENERALIDADES: Fisiología
1.2 FISIOLOGIA
Hb 4 + O 2 ⇔ Hb 4 O 2
Hb 4 O 2 + O 2 ⇔ Hb 4 O 4
Hb 4 O 4 + O 2 ⇔ Hb 4 O 6
Hb 4 O 6 + O 2 ⇔ Hb 4 O 8
24
GENERALIDADES: Fisiología
In vivo la Hb esta cerca del 97.5% saturada como O2 al final de los capilares pulmonares
(PaO2 = 97mmHg). Debido a uma ligera mezcla com sangre venosa que no pasa por los
pulmones la Hb solo se encuentra 97% saturada em la sangre arterial general. Por lo
tanto la sangre arterial contiene un total de caso 19.8ml de O2 por 100ml.
25
GENERALIDADES: Descripción del MSP 430
Los MSP son microcontroladores de 16 bits de muy bajo consumo de energía (desde
pocos µA hasta algunos mA), dependiendo del modo de bajo consumo que el diseñador
elija, además cuentan con conversores análogo a digital y comparadores para señales
analógicas. El trabajo con este microcontrolador se facilita por su capacidad de utilizar un
emulador en línea con una interfaz JTAG, esto permite descargar código a su memoria
Flash, leer y escribir el estado de la memoria RAM y sus registros, y ejecutar el código
paso a paso desde una interfaz gráfica. Otra ventaja de este microcontrolador es que
debido a su amplia utilización existen variadas herramientas de software para trabajar con
él, algunas incluso de libre distribución como el GNU C Compiler, IAR.
26
GENERALIDADES: Descripción del MSP 430
Cada bit del puerto se puede manejar en forma independiente. El control y acceso a los
puertos se realiza mediante 4 registros por cada uno de los n puertos, los que almacenan
los datos de entrada (PnIN), de salida (PnOUT), la dirección de entrada o salida (PnDIR) y
la función como puerto de entrada y salida o como el periférico correspondiente (PnSEL).
Cuando un bit se ocupa para controlar un periférico no se configura automáticamente
como de entrada o salida, sino que es trabajo del programador seleccionar el sentido
correcto.
27
GENERALIDADES: Descripción del MSP 430
El módulo de reloj.
El módulo de reloj del microcontrolador tiene tres fuentes de señal de reloj para alimentar
otras tres señales que sincronizan la CPU y los periféricos. Las fuentes de reloj son las
siguientes:
• Un reloj que puede funcionar con cristales o resonadores cerámicos de baja frecuencia o
de alta frecuencia (LFXTCLK). El modo se selecciona por software.
• Un reloj de alta frecuencia que ocupa cristales o resonadores cerámicos de alta
frecuencia (XT2CLK).
• Un oscilador interno de características RC controlado digitalmente mediante registros de
control (DCOCLK).
Con estas fuentes el módulo de reloj genera las siguientes tres señales:
• Reloj maestro (MCLK): que alimenta la CPU y el sistema y se puede generar a partir de
la señal de baja frecuencia, la de alta frecuencia o el oscilador digital; que pueden
dividirse por un factor de 1, 2, 4 u 8.
• Reloj de sub sistema (SMCLK): que alimenta a los periféricos seleccionados por
software. Se puede generar a partir de la señal de baja frecuencia, la de alta frecuencia o
el oscilador digital; que pueden dividirse por un factor de 1, 2, 4 u 8.
• Reloj auxiliar (ACLK): que alimenta a los periféricos seleccionados por software. Se
genera a partir de la señal de baja frecuencia dividida por un factor de 1, 2, 4 u 8.
Esta flexibilidad en el sistema de reloj está especialmente indicada para ahorrar energía,
ya que se puede ocupar un cristal de baja frecuencia, por ejemplo 32 KHz, para los
periféricos, mientras la CPU se opera mediante el oscilador interno a una frecuencia que
puede ir de los 800 KHz a los 8 MHz, dependiendo de la configuración y características
del dispositivo en particular. Además para contrarrestar el efecto de corrimiento de
frecuencia del oscilador interno se puede corregir periódicamente con la señal más
estable proveniente del oscilador de baja frecuencia controlado por cristal.
28
GENERALIDADES: Descripción del MSP 430
Los temporizadores.
Existen tres temporizadores disponibles en el microcontrolador MSP430F437, uno que
realiza la función de perro guardián (watchdog). Un temporizador/contador que cuenta con
3 registros de captura o comparación y otro que cuenta con 7 registros de captura o
comparación.
Para la programación de los diferentes registros con los que cuenta el MSP430 y que son
útiles para el proyecto se realizó en lenguaje C.
29
GENERALIDADES: Lenguaje C
1.4 PROGRAMACIÓN EN C
Otra ventaja importante, C tiene más de 30 años de vida y no parece que su uso se
debilite demasiado. No se trata de un lenguaje de moda, y probablemente le quede aún
mucha vida por delante. Sólo hay que pensar que sistemas operativos como Linux, Unix o
incluso Windows se escriben casi por completo en C. Por último, existen varios
compiladores de C gratuitos, o bajo la norma GNU, así como cientos de librerías de todo
propósito.
30
GENERALIDADES: Lenguaje C
Librerías:
En los compiladores de C se incluyen ciertos ficheros llamados librerías. Las librerías
contienen el código objeto de muchos programas que permiten hacer cosas comunes,
como leer el teclado, escribir en la pantalla, manejar números, realizar funciones
matemáticas, etc. Las librerías están clasificadas por el tipo de trabajos que hacen, hay
librerías de entrada y salida, matemáticas, de manejo de memoria, de manejo de textos,
etc. Hay un conjunto de librerías muy especiales, que se incluyen con todos los
compiladores de C. Son las librerías ANSI o estándar y no estándar, y dentro de estas las
hay públicas y comerciales.
31
GENERALIDADES: Lenguaje C
3. Hay que dar ciertas instrucciones al ordenador para que cargue en memoria el
programa y los datos, y para que organice la memoria de modo que se disponga
de una pila de tamaño adecuado, etc. La pila es una zona de memoria que se usa
para que el programa intercambie datos con otros programas o con otras partes
del propio programa. Existe un programa que hace todas estas cosas, se trata del
"link", o enlazador. El enlazador toma todos los ficheros objeto que componen
nuestro programa, los combina con los ficheros de librería que sea necesario y
crea un fichero ejecutable. Una vez terminada la fase de enlazado, ya podremos
ejecutar nuestro programa.
32
GENERALIDADES: Lógica Difusa
La lógica difusa se aplica a conceptos que pueden tener un valor cualquiera de veracidad
dentro de un conjunto de valores que oscilan entre dos extremos, la verdad absoluta y la
falsedad total. La lógica difusa permite tratar información imprecisa como la estatura
media o temperatura baja en términos de conjuntos borrosos que se combinan en reglas
para definir acciones como son si es muy frío, calienta mucho. De esta manera el control
basado en lógica difusa combina variables de entrada, definidas en términos de conjuntos
difusos por medio de grupos de reglas que producen uno o varios valores de salida.
Así, en la Lógica Difusa hay muchas maneras de definir la implicación. Se puede elegir
una "función (matemática) de implicación" distinta en cada caso para representar a la
implicación.
33
GENERALIDADES: Lógica Difusa
las proposiciones condicionales (nuestras reglas), y las observaciones presentes por otro
(serán las premisas de cada regla).
Una vez que dispongamos de representaciones analíticas de cada uno de los elementos
lógicos que acabamos de enumerar, estaremos en disposición de desarrollar formalmente
un controlador "heurístico" que nos permita inferir el control adecuado de un determinado
proceso en función de un conjunto de reglas "lingüísticas", definidas de antemano tras la
observación de la salida y normas de funcionamiento de éste.
Los conjuntos clásicos se definen mediante un predicado que da lugar a una clara división
del Universo de Discurso X en los valores "Verdadero" y "Falso". Sin embargo, el
razonamiento humano utiliza frecuentemente predicados que no se pueden reducir a este
tipo de división: son los denominados predicados vagos.
34
GENERALIDADES: Lógica Difusa
B = { ( x , m B( x ) ) / x S X }
m B: X® [0,1]
Para operar en la práctica con los Conjuntos Difusos se suelen emplear funciones de
pertenencia del tipo representado en la figura 9:
Se puede observar que los Conjuntos Difusos de la figura 10 se superponen, por lo que
un individuo xl podría tener distintos grados de pertenencia en dos conjuntos al mismo
tiempo: "Joven" y "Maduro". Esto indica que posee cualidades asociadas con ambos
conjuntos. El grado de pertenencia de x en A, como ya se ha señalado anteriormente, se
35
GENERALIDADES: Lógica Difusa
representa por m A(x). El conjunto difuso A es la unión de los grados de pertenencia para
todos los puntos en el universo de discurso X, que también puede expresarse como:
µ A (χ )
A=∫
χ χ
µ A (χ )
Bajo la notación de los conjuntos difusos, es un elemento del conjunto A. La
χ
µ A (χ )
operación òx representa la unión de los elementos difusos . Los universos de
χ
discurso con elementos discretos utilizan los símbolos "+" y "S " para representar la
operación unión.
Tómese un individuo x cuya edad sea de 20 años. Como se puede observar en la figura
10, pertenece al conjunto difuso "Joven" y al conjunto difuso "Maduro". Se puede observar
que posee un grado de pertenencia µ A (χ ) de 0.6 para el conjunto difuso "Joven" y un
grado de 0.4 para el conjunto difuso "Maduro"; también posee un grado de 0 para "Viejo".
De este ejemplo se puede deducir que un elemento puede pertenecer a varios conjuntos
difusos a la vez aunque con distinto grado. Así, nuestro individuo x tiene un grado de
pertenencia mayor al conjunto "Joven " que al conjunto "Maduro"(0.6 > 0.4), pero no se
puede decir, tratándose de conjuntos difusos, que x es joven o que x es maduro de
manera rotunda.
36
GENERALIDADES: Lógica Difusa
Variables Lingüísticas
Una Variable Lingüística es aquella variable cuyos valores son palabras o sentencias que
van a enmarcarse en un lenguaje predeterminado. Para estas variables lingüísticas se
utilizará un nombre y un valor lingüístico sobre un universo de discurso. Además, podrán
dar lugar a sentencias generadas por reglas sintácticas, a las que se les podrá dar un
significado mediante distintas reglas semánticas.
Los conjuntos difusos pueden utilizarse para representar expresiones tales como:
o x es PEQUEÑO.
o La velocidad es RÁPIDA.
o El ganso es CLARO.
Las expresiones anteriores pueden dar lugar a expresiones lingüísticas más complejas
como:
o x no es PEQUEÑO.
o La velocidad es RÁPIDA pero no muy RÁPIDA.
o El ganso es CLARO y muy ALEGRE.
Tratando de esta forma los distintos modificadores lingüísticos (muy, poco, rápido, lento...)
pueden ir calculándose todas las expresiones anteriores. Para nuestro caso la lógica
difusa nos permite obtener un prediagnóstico del paciente.
37
GENERALIDADES: Puerto Serie RS-232
Los datos lógicos en los ordenadores están representados por bits (binary digits). El bit es
una construcción intelectual, representada en el ordenador por un voltaje determinado.
Cuando los bits deben enviarse dentro del propio ordenador o hacia el exterior, se
transmiten a través de cables como cualquier voltaje. Los bits se agrupan en unidades
determinadas que proporcionan un esquema lógico mayor. Por ejemplo, un byte (octeto)
está formado por una serie de ocho bits. Estos ocho bits pueden ser unos o ceros
indistintamente, son 28=256 combinaciones posibles.
38
GENERALIDADES: Puerto Serie RS-232
Los tres circuitos principales utilizados para la comunicación son los siguientes:
39
GENERALIDADES: Puerto Serie RS-232
Fig. 11. Definición de los voltajes de salida y entrada que representan los
niveles lógicos en el RS-232-C.
El puerto serie RS-232C, presente en todos los ordenadores actuales, es la forma mas
comúnmente usada para realizar transmisiones de datos entre ordenadores.
Las señales con las que trabaja este puerto serie son digitales, de +12V (0 lógico) y -12V
(1 lógico), para la entrada y salida de datos, y a la inversa en las señales de control. El
estado de reposo en la entrada y salida de datos es -12V.
Cada pin puede ser de entrada o de salida, teniendo una función específica cada uno de
ellos. Las más importantes son:
40
GENERALIDADES: Puerto Serie RS-232
Pin Función
Las señales TXD, DTR y RTS son de salida, mientras que RXD, DSR, CTS y DCD son de
entrada. La masa de referencia para todas las señales es SG (Tierra de Señal).
Finalmente, existen otras señales como RI (Indicador de Llamada), y otras poco comunes
que no se explican en este documento por rebasar el alcance del mismo.
1 1 - Masa chasis -
7 5 SG Signal Ground -
22 9 RI Ring Indicator E
41
GENERALIDADES: Puerto Serie RS-232
Conector DB 9
El puerto serie en el PC
El ordenador controla el puerto serie mediante un circuito integrado específico, llamado
UART (Transmisor-Receptor-Asíncrono Universal).
Para controlar al puerto serie, la CPU emplea direcciones de puertos de E/S y líneas de
interrupción (IRQ). Mediante los puertos de E/S se pueden intercambiar datos, mientras
que las IRQ producen una interrupción para indicar a la CPU que ha ocurrido un evento
(por ejemplo, que ha llegado un dato, o que ha cambiado el estado de algunas señales de
entrada). La CPU debe responder a estas interrupciones lo mas rápido posible, para que
de tiempo a recoger el dato antes de que el siguiente lo sobrescriba.
Una vez que ha comenzado la transmisión de un dato, los bits tienen que llegar uno
detrás de otro a una velocidad constante y en determinados instantes de tiempo. Por eso
se dice que el RS-232 es asíncrono por carácter y sincrono por bit. Los pines que portan
los datos son RXD y TXD. Las demás se encargan de otros trabajos: DTR indica que el
ordenador esta encendido, DSR que el aparato conectado a dicho puerto esta encendido,
RTS que el ordenador puede recibir datos (porque no esta ocupado), CTS que el aparato
42
GENERALIDADES: Puerto Serie RS-232
conectado puede recibir datos, y DCD detecta que existe una comunicación, presencia de
datos.
Tanto el aparato a conectar como el ordenador (o el programa terminal) tienen que usar el
mismo protocolo serie para comunicarse entre si. Puesto que el estándar RS-232 no
permite indicar en que modo se esta trabajando, es el usuario quien tiene que decidirlo y
configurar ambas partes. Como ya se ha visto, los parámetros que hay que configurar
son: protocolo serie (8N1), velocidad del puerto serie, y protocolo de control de flujo. Este
ultimo puede ser por hardware (el que ya hemos visto, el handshaking RTS/CTS) o bien
por software (XON/XOFF, el cual no es muy recomendable ya que no se pueden realizar
transferencias binarias). La velocidad del puerto serie no tiene por que ser la misma que
la de transmisión de los datos, de hecho debe ser superior. Por ejemplo, para
transmisiones de 1200 baudios es recomendable usar 9600, y para 9600 baudios se
pueden usar 38400 (o 19200).
43
METODOLOGÍA:
METODOLOGÍA
1. Revisión Bibliográfica.
La recopilación de información es necesaria para obtener las bases teóricas del proyecto
y poder llevar a cabo la interfaz gráfica mediante programación.
a) Conocer la fisiología de la saturación de oxigeno del organismo para
comprender la importancia de su monitorización.
b) Conoce la programación del microcontrolador MSP430 ya que a través de
el se realizará la interfaz gráfica.
c) Poseer conocimiento acerca de la programación en la que nos basaremos
para la obtención de datos y visualización gráfica de los mismos.
44
METODOLOGÍA:
Para la configuración de los amplificadores del MSP430 se configuran como salida los bits
OA00, OA10, OA11 y con registro de Control del Amplificador OACTL0 de los bits 7 y 6 se
configura la Terminal inversora del amplificador y de los bits 4 y 5 se configura la terminal
no inversora. Finalmente con el bit OAPM se selecciona el slew rate para el opam.
Del registro USART el pin para la transferencia de datos se selecciona como el bit 4 del
puerto 2, una vez configurada la salida, se habilita el bit UTXE0 del registro ME1 para
permitir la transferencia de datos. Del registro de control UCTL0 el bit 4 (CHAR) se pone
a uno para seleccionar que nuestros datos sean de 8 bits. Se configura el ACKL como
fuente de reloj a través del bit 4 y 5 del registro UTCTL0.
Se inicia habilitando la conversión del ADC (ADC12ON). Los registros de control del son
el ADC12CTL0 y ADC12CTL1 y se describe a continuación la configuración de cada bit:
ADC12CTL0
Por medio de primer registro se habilitan el ADC (ADC12ON), el bit de muestreo múltiple y
conversión (MSC), el bit generador de referencia (REFON) y la selección de un voltaje de
referencia de 2.5V (REF2_5V).
45
METODOLOGÍA:
ADC12CTL1
Por medio de este registro se habilita la fuente de señal de muestreo (SHP) que permite
obtener la señal a partir de la toma de muestras temporizador, el bit (SHS) selecciona
esta fuente y para este proyecto en específico se selecciono el TIMER A.
ADC12MCTL0
A través de este registro se configuró el bit INCHx que nos permite seleccionar el primer
canal de entrada (A1) por lo que el voltaje de referencia se configuró con el bit SRFEx
fijándolo con los valores de VR+=Vref y VR-=AVSS. El registro ADC12CTL3 habilitó el
canal A3 quedando el mismo voltaje de referencia que el canal A1, además en este
registro el bit 7 (EOS) nos indica el fin de la secuencia de conversión. Por último se
habilita ADC12SC para iniciar la adquisición.
Para trabajar en la conversión analógica digital se configuro del control de registro del
Timer A, el bit 8 y 9 para seleccionar como fuente de reloj al ACLK y fijar la frecuencia de
muestreo en 512 muestras por segundo.
46
METODOLOGÍA:
La señal de se la SaO2 se obtuvo de dos sensores uno para adulto y uno pediátrico, para
el tratamiento de la señal primero se realizó un análisis de la conexión del sensor (Nellcor)
para saber como se realiza la polarización del led rojo e infrarrojo, para ello se utilizó un
conector DB9 hembra que es compatible con el conector del sensor.
Para lograr la polaridad de ambos LED´s se utilizo un puente H, el C.I. L298N, la interfaz
puente H es básicamente un sistema de conmutación controlado por dos señales
digitales; cuando el sistema detecta un 1 digital en una de sus dos entradas de control y
un cero en la otra, este conecta el sensor a la fuente de alimentación con determinada
polaridad, si la señal de control que estaba en 1 pasa a cero y la de cero a uno el puente
47
METODOLOGÍA:
H conecta la fuente al sensor con la polaridad invertida facilitando así la función del
sensor, en la figura 15 se presenta diagrama de la estructura interna del C.I. L298N
conectado con el Sensor.
Fig. 15. Muestra la estructura interna del puente H (L298N) conectado al sensor.
48
METODOLOGÍA:
0.1595
Ancho de Banda: B= Ec. 10
RC
fr
Donde: B =
Q
fr 60
Por lo tanto el valor de B es B= = = 30
Q 2
Asignando el valor del capacitor 100nF podemos conocer el valor de la resistencia de la
ecuación 10. Despejando tenemos
0.1595 0.1595
R= = = 53.16 KΩ
BC 30 * 100nF
49
METODOLOGÍA:
50
METODOLOGÍA:
Para poder establecer dicha comunicación entre el puerto serie de una computadora se
utilizó el circuito integrado MAX232 que es capaz de convertir los niveles de voltaje de
RS232 a TTL para realizar una transmisión de datos (desde la computadora) y de TTL a
RS232 para realizar una recepción de datos (desde el microcontrolador) y sólo se
51
METODOLOGÍA:
El circuito integrado MAX232 (IC1) (Figura 13) tiene dos terminales para conectar señales
con niveles de voltaje TTL que serán adaptadas en señales con niveles de voltaje RS232,
y otras dos terminales para conectar señales con niveles de voltaje RS232 que serán
adaptadas a señales con niveles lógicos TTL.
En el caso de la recepción de datos la señal con niveles de voltaje TTL, procedente del
MSP, entra por la terminal 11 del MAX232, en el MAX232 se adaptan los niveles de
voltaje de TTL a RS232 y la señal con niveles de voltaje RS232 sale por la terminal 14 del
MAX232, la cual se conecta a la terminal 2 del conector DB9 (Rx); en el caso de la
transmisión de datos, la señal de la terminal 3 del conector DB9 (Tx) con niveles de
52
METODOLOGÍA:
voltaje RS232 entra por la terminal 13 del MAX232, en el MAX232 se adaptan los niveles
de voltaje de RS232 a TTL y la señal con niveles de voltaje TTL sale por la terminal 12 del
MAX232, esta señal puede ser conectada a la terminal receptora de un microcontrolador
de acuerdo a la figura 18.
Para una transferencia adecuada, deben añadirse bits adicionales, para sincronización y
detección de errores. Es importante que tanto el transmisor como el receptor usen la
misma cantidad de bits, de otro modo los datos no serán debidamente interpretados.
Se debe proveer de una señal de clock, que indique la aparición de cada bit de datos. Los
bits de datos se envían a una frecuencia predeterminada y se seleccionó a 52 baudios.
Tanto el transmisor como el receptor deben estar programados para usar la misma
velocidad de transmisión.
53
METODOLOGÍA:
Desde la ventana de comando del Matlab se debe ejecutar el comando guide. Esto abre
la consola de edición de la parte grafica de la aplicación a implementar (.fig), es decir,
colocar botones, cuadros de dialogo, graficas, texto y otras opciones similares.
54
METODOLOGÍA:
En esta pantalla (Figura 19) es posible arrastrar los diferentes comandos como push
button y edit text acorde al diseño de la pantalla. Cada uno de estos elementos tiene un
conjunto de propiedades a las cuales se puede acceder con el botón derecho del mouse
donde aparece el siguiente cuadro:
Una de las opciones de mayor interés es Edit Callback. Esta abre el archivo .m asociado
(ejecutable Matlab) y posiciona en la sección del programa que corresponde a la
subrutina que se ejecutara cuando se realice una determinada acción sobre el elemento
editado.
Guide consta de dos archivos uno .m (ejecutable) y otro. fig (la parte grafica). Las dos
partes están unidas a través de las subrutinas callback. Una vez que se graba los
archivos desde la consola de emisión (si salvamos la .fig automáticamente lo hace el .m
asociado) podemos ejecutar el programa en la ventana de comando de Matlab solamente
escribiendo el nombre del archivo.
55
METODOLOGÍA:
Una de las formas en que el médico puede llevar un registro de estudios pasados de su
paciente es mediante una base de datos, esta puede ser consultada en cualquier equipo
de cómputo y estar almacenándolo.
a) Mediante los conocimientos obtenidos en programación de bases de datos,
se realizará el diseño de una base de datos que contenga la información
suficiente para el médico en Microsoft Access.
Es necesario dar de alta esta base de datos en el ordenador desde el panel de control de
Microsoft Windows, ingresando a Herramientas administrativas/ Orígenes de datos ODBC
y seleccionando el botón de agregar, se ingresa una base de dados de Microsoft Access
(.mdb) o Microsoft Access Driver.
56
METODOLOGÍA:
11. Redacción del documento probatorio del protocolo de prueba del equipo en
seres humanos.
La documentación obtenida será reportada para validar los estudios realizados durante
este proyecto, especialmente los que se han hecho en humanos y registradas en las
bases de datos.
a) Documentación del proyecto en base a resultados en humanos.
b) Revisión del escrito por el asesor del proyecto.
c) Corrección del escrito.
57
METODOLOGÍA:
58
RESULTADOS
RESULTADOS
El diagrama a bloques del oxímetro diseñado es este:
59
RESULTADOS
La creación del sistema difuso se creo en base a los siguientes diagramas de flujo.
fuzZ
z, z11, z12
no
z <= z11
si no
mz = 1 z >= z12
si
ms = 0
FIN
60
RESULTADOS
fuzT
no
t <= t11
si no
mt = 0 t >= t13
si no
si
FIN
61
RESULTADOS
Inicio
z1 = [80 88]
t11 = [84 90 95]
t12 = [93 97 99]
s1 = [98 100]
z2 = [-17 -9]
t21 = [-13 -7 -2]
t22 = [-4 0 2]
s2 = [1 3]
j = 1:100
MuA = fuzZ(u(1,j),z1(1,1),z1(1,2))
MuB = fuzT1(u(1,j),t11(1,1),t11(1,2),t11(1,3))
MuC = fuzT1(u(1,j),t12(1,1),t12(1,2),t12(1,3))
MuE = fuzS(u(1,j),s1(1,1),s1(1,2))
MuAA = fuzZ(u(2,j),z2(1,1),z2(1,2))
MuBB = fuzT1(u(2,j),t21(1,1),t21(1,2),t21(1,3))
MuCC = fuzT1(u(2,j),t22(1,1),t22(1,2),t22(1,3))
MuEE = fuzS(u(2,j),s2(1,1),s2(1,2))
62
RESULTADOS
h = 1:4
i = 1:4
In(h,i)=Mu1(h)*Mu2(i)
den=In(h,i)+den
num=In(h,i)*FAM(h,i)+num
y=num/den
63
RESULTADOS
fuzS
s, s11, s12
no
s <= s11
si no
ms = 0 s >= s12
si
ms = 1
FIN
64
RESULTADOS
65
RESULTADOS
Al diseñar las bases de datos en Access, crear el interfaz con Matlab y utilizar las
pantallas gráficas, obtenemos los siguientes datos en Access:
66
RESULTADOS
Lo cual comprueba que se tiene acceso de lectura y escritura en Access con los datos
del paciente.
67
RESULTADOS
68
RESULTADOS
Figura 29a. Señal del LED Infrarrojo Figura 29b. Señal del LED rojo.
Figura 30. Polarización LED Rojo e infrarrojo, respectivamente con el PMW del MSP
69
CONCLUSIONES
CONCLUSIONES
• Se logró la interfaz gráfica como software del proyecto donde llama a cada
sub-pantalla correspondiente a las diferentes opciones que presenta nuestra
pantalla principal. De esta forma el usuario puede disponer de los datos
cuando sea necesario con fines de diagnóstico.
70
BIBLIOGRAFÍA Y REFERENCIAS
BIBLIOGRAFÍA
1) Deitel H.M., Deitel P.J. Deitel, Como Programar en C++, 2ª Edición, Editorial Prentice
Hall, México 1990
2) Stein J.H., 1992, Enermedades Pulmonares, pp 563-573, Tomo 1, Medicina Interna, 3ª
Edición, Editorial Salvat, México
REFERENCIAS DE INTERNET
http://usuarios.vtr.net/~anestesi/clases/oximetria/oximetria.pdf
http://c.conclase.net/curso/index.php
http://72.14.253.104/search?q=cache:TzWnkkbvpCoJ:escuela.med.puc.cl/paginas/pub
licaciones/MedicinaIntensiva/Monitorizacion.html+antecedentes+de+oximetr%C3%AD
a+de+pulso&hl=es&ct=clnk&cd=2&gl=mx
http://72.14.253.104/search?q=cache:rga1IVTvRnsJ:www.socanestesia.cl/rev_anestes
ia/0312/01-
guias.asp+avances+tecnologicas+de+oximetr%C3%ADa+de+pulso&hl=es&ct=clnk&c
d=9&gl=mx
http://www.nib.fmed.edu.uy/laborde.pdf
http://www.herrera.unt.edu.ar/bioingenieria/sabi/cd_2005/pdf/035IC.pdf
http://eq3.uab.es/personal/baeza/comunicaciones/comunica.htm
http://209.85.173.104/search?q=cache:1F0RalOt0lQJ:www.prematuros.cl/webagosto0
5/enfermerianeonatal/oximetriapulso/oximetriapulso.htm+Los+coeficientes+de+extinci
%C3%B3n+de+las+cuatro+especies+de+hemoglobina.&hl=es&ct=clnk&cd=5&gl=mx
http://209.85.173.104/search?q=cache:SJQ-
dVjbxrEJ:www.docstoc.com/docs/377386/norma-
rs232+de+voltaje+de+acuerdo+a+la+norma+RS232&hl=es&ct=clnk&cd=1&gl=mx
71
ANEXOS
ANEXOS
El pseudo-código utilizado para comunicar la base de datos con las pantallas gráficas se
describe a continuación.
1. Para ingresar datos a Access desde Matlab utilizamos la siguiente serie de
comandos:
conn=database('oximetro','','');
nom=get(handles.edit37,'String');
edad=get(handles.edit38,'String');
TALLA=get(handles.edit47,'String');
PESO=get(handles.edit48,'String');
SEXO=get(handles.edit49,'String');
DOMICILIO=get(handles.edit43,'String');
TELEFONO=get(handles.edit42,'String');
CLINICOS=get(handles.edit45,'String');
GABINETE=get(handles.edit46,'String');
DIAGNOSTICO=get(handles.edit36,'String');
exdata={nom,edad,TALLA,PESO,SEXO,DOMICILIO,TELEFONO,CLINICOS,GABINETE,
DIAGNOSTICO};
colnames={'NOMBRE','EDAD','TALLA','PESO','SEXO','DOMICILIO','TELEFONO','CLINIC
OS','GABINETE','DIAGNOSTICO'};
get(conn, 'AutoCommit');
insert(conn,'oximetro',colnames,exdata);
De acuerdo a este código, lo que hacemos es adquirir cada dato escrito en los campos
diseñados (por ejemplo: nombre, edad, peso y talla) para guardarlos en un vector que
será exportado posteriormente por el comando exdata.
72
ANEXOS
setdbprefs('DataReturnFormat','CELLARRAY');
curs = fetch(curs);
AA = curs.Data;
BUSCA=get(handles.edit44,'STRING');
B=size(AA);
C=B(1,1);
TF = strcmp(AA, BUSCA);
for i=1:C
indice=TF(i,1);
if indice==1
posicion=i;
BUSCANOM=AA(posicion,1);
end
end
set(handles.edit37,'String',BUSCANOM)
73
ANEXOS
BUSCAPESO=DD(posicion,1);
set(handles.edit48,'String',BUSCAPESO)
74
ANEXOS
curs = fetch(curs);
II = curs.Data;
BUSCAGABINETE=II(posicion,1);
set(handles.edit46,'String',BUSCAGABINETE)
La forma de obtener estos datos es comparando los que están guardados con una
cadena introducida en un campo de búsqueda y desplegándolos es otro campo de la
pantalla gráfica.
75
ANEXOS
76
ANEXOS
77
ANEXOS
78
ANEXOS
79
ANEXOS
80
ANEXOS
81
ANEXOS
82
ANEXOS
83
ANEXOS
84