Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Proyecto Biomedica
Proyecto Biomedica
DE BARCELONA
BLUETOOTH
Marzo 2009
Barcelona
BLUETOOTH
Direccin de Proyecto:
Juan Jos Ramos Castro
Enginyeria Electrnica
Tribunal de Evaluacin:
Vocal:
Presidente:
Secretario:
Enginyeria Electrnica
Enginyeria Electrnica
AGRADECIMIENTOS
Quisiera mostrar mis agradecimientos a mi director de proyecto Juan
Ramos Castro por orientarme y estar tan involucrado con mi proyecto.
A mi familia y a Carol Blasco que no han dejado de apoyarme y
entenderme en todo momento.
RESUMEN
Este proyecto final de carrera est englobado en el marco de la
ingeniera biomdica y est orientado a la realizacin de un dispositivo porttil
para estudiar las enfermedades cardacas.
Su objetivo principal es el diseo, desarrollo e implementacin de un
sistema de pequeas dimensiones, capaz de realizar una monitorizacin y
registro Holter de la seal de ECG y de la actividad fsica de una persona.
Dicho sistema esta formado por una etapa analgica de adquisicin
encargada de capturar la seal y acondicionarla para poder pasarla al entorno
digital mediante un microprocesador PIC. El microprocesador es el ncleo
central del sistema y se encarga de controlar tanto la grabacin de las seales
en la tarjeta SD como el envo de las mismas a travs de un dispositivo
bluetooth. ste se comunica con un programa Labview el cual puede
monitorizar en tiempo real los datos recibidos o leer directamente la seal de la
tarjeta SD mediante un lector de tarjetas o similar.
NDICE
1.-INTRODUCCIN.............................................................................................................................11
1.1.-INTRODUCCIN: OBJETIVOS. ...........................................................................................................11
1.2.-EL ELECTROCARDIOGRAMA ............................................................................................................12
1.2.1.-Historia....................................................................................................................................12
1.2.2.-Descripcin .............................................................................................................................15
1.2.3.-El corazn y su actividad elctrica..........................................................................................18
1.3.-SISTEMAS DE REGISTRO HOLTER: ....................................................................................................20
1.3.1.-Historia....................................................................................................................................20
1.3.2.-Aplicaciones ............................................................................................................................21
1.3.3.-Sistemas comerciales...............................................................................................................23
1.4.-SISTEMA PROPUESTO:......................................................................................................................24
2.-PARTE HARDWARE ......................................................................................................................25
2.1.-DISEO DEL CIRCUITO .....................................................................................................................25
2.1.1.-Diagrama de Bloques ..............................................................................................................25
2.1.2.-Alimentacin de la placa .........................................................................................................26
2.1.3.-Cable y electrodos ...................................................................................................................27
2.1.4.-TriLed ......................................................................................................................................29
2.1.5.-Pulsador START/STOP ...........................................................................................................31
2.1.6.-Pulsador de Reset y Monitor de Voltaje ..................................................................................32
2.1.7.-Etapa analgica de adquisicin ..............................................................................................33
2.1.8.-Potencimetro digital .............................................................................................................35
2.1.9.-Caracterizacin terica de la etapa de adquisicin................................................................38
2.1.9.1.-Ganancia........................................................................................................................................... 38
2.1.9.2.- Ancho de Banda del circuito completo de adquisicin.................................................................... 42
2.1.10.-Acelermetro .........................................................................................................................43
2.1.11.-Microcontrolador PIC...........................................................................................................44
2.1.12.-Mdulo Bluetooth ..................................................................................................................46
2.1.13.-Tarjeta SD .............................................................................................................................48
2.2.-DISEO DE LA PLACA ......................................................................................................................50
2.3.-CAJA DE TRANSPORTE .....................................................................................................................51
3.-PARTE SOFTWARE........................................................................................................................53
3.1.-HERRAMIENTAS PARA DISEO DEL SOFTWARE ................................................................................54
3.1.1.-MPlab Mplab ICD2..............................................................................................................54
3.1.2.-Labview ...................................................................................................................................56
3.2.-PROGRAMA HOLTER MPLAB ...........................................................................................................57
3.2.1.-Diagrama de Bloques ..............................................................................................................57
3.2.2.-Firmware de control................................................................................................................58
3.2.2.1.- Main.c.............................................................................................................................................. 58
3.2.2.2.- SD.c................................................................................................................................................. 59
NDICE DE FIGURAS
FIGURA 1: ELECTRMETRO CAPILAR ..........................................................................................12
FIGURA 2: GALVANMETRO CAPILAR.........................................................................................13
FIGURA 3: GALVANMETRO DE CUERDA DE EITHOVEN........................................................14
FIGURA 4: ECGS OBTENIDOS CON GALVANMETRO CAPILAR Y DE CUERDA................14
FIGURA 5: PRIMER GALVANMETRO COMERCIAL ..................................................................14
FIGURA 6: SEAL DE ECG ................................................................................................................15
FIGURA 7: ONDAS DE LA SEAL DE ECG.....................................................................................16
FIGURA 8: INTERVALOS DE LA SEAL DE ECG..........................................................................17
FIGURA 9: EL CORAZN ...................................................................................................................18
FIGURA 10: ELEMENTOS DE DISTRIBUCIN ELCTRICA DEL CORAZN ...........................19
FIGURA 11: NORMAN JEFF HOLTER Y SU PRIMER HOLTER ....................................................20
FIGURA 12: UNO DE LOS PRIMEROS HOLTER .............................................................................21
FIGURA 13: HOLTER GENRICO .....................................................................................................22
FIGURA 14: HOLTER DE CINTA MGNETICA Y DE ALM. ELECTRNICO.............................24
FIGURA 15: DIAGRAMA DE BLOQUES DEL DISPOSITIVO ........................................................25
FIGURA 16: ESQUEMA DEL CONVERTIDOR STEP-UP ................................................................27
FIGURA 17: ELECTRODOS ................................................................................................................28
FIGURA 18: CABLE DE ECG..............................................................................................................28
FIGURA 19: ESQUEMA ELCTRICO DEL TRILED ........................................................................29
FIGURA 20: TRILED - ESQUEMA DE CONEXIN AL PIC ............................................................30
FIGURA 21: MEDIDAS DEL TRILED ................................................................................................30
FIGURA 22: PULSADOR - ESQUEMA DE CONEXIN AL PIC .....................................................31
FIGURA 23: RESET ESQUEMA DE CONEXIN AL PIC .............................................................33
FIGURA 24: ESQUEMA DE LA ETAPA DE ADQUISICIN ...........................................................34
FIGURA 25: DIAGRAMA DE BLOQUES DEL POTENCIMETRO DIGITAL ..............................35
FIGURA 26: REGISTROS INTERNOS DEL POTENCIMETRO DIGITAL ...................................36
FIGURA 27: ESQUEMA DEL AMPLIFICADOR DE GANANCIA PROGRAMABLE ....................37
FIGURA 28: SIMULACIN DE LA SEAL DE ECG........................................................................38
FIGURA 29: SEAL SALIDA AMP. INSTR.; SEAL ENTRADA; TENSIN REF........................39
FIGURA 30: SALIDA FILTRO;SALIDA AMPLIF. INSTR.;SEAL ENTRADA;TENSIN REF...39
FIGURA 31: SEAL ECG AMPLIFICADA POR 11 ..........................................................................40
FIGURA 32: SEAL ECG AMPLIFICADA POR 18 ..........................................................................40
FIGURA 33: SEAL ECG AMPLIFICADA POR 33 ..........................................................................41
FIGURA 34: SEAL ECG AMPLIFICADA POR 54 ..........................................................................41
FIGURA 35: SEAL ECG AMPLIFICADA POR 108.........................................................................42
1.Introduccin
1.1.Introduccin: Objetivos.
El objetivo de este proyecto es desarrollar una unidad para la
adquisicin, monitorizacin y registro de las seales bioelctricas procedentes
del corazn de una manera continua, para su posterior anlisis mediante PC. A
esta clase de dispositivos se les denomina Holter.
El Holter se coloca en pacientes por un periodo mnimo de 24 horas para
registrar su seal de ECG (electrocardiograma), por este motivo el dispositivo
debe tener la autonoma suficiente para realizar el registro. Por lo tanto, el bajo
consumo es otro de los factores importantes a tener en cuenta.
Para poder monitorizar la seal, es necesario iniciar una comunicacin
serie desde el PC por medio de un USB bluetooth, el cual nos permitir
interactuar con el dispositivo, ya que incorpora un mdulo de comunicaciones
bluetooth de bajo consumo.
Para registrar la seal, se utiliza una tarjeta de memoria SD de alta
capacidad, ya que necesitamos un registro continuo de como mnimo 24 horas
de duracin.
El dispositivo Holter est diseado para poder monitorizar y registrar un
total de 6 canales, 3 de ellos para ECG y otros 3 para un sensor de movimiento
o acelermetro que controla los ejes de coordenadas X, Y, Z. Mediante el
acelermetro se pueden estudiar los movimientos de la persona para que el
equipo mdico tenga ms informacin acerca de su actividad fsica en cada
muestra de la seal cardaca.
Se ha cogido como base el hardware del proyecto que llevaron a cabo
Josep Aran y Carles Herrero el ao pasado. Se ha introducido un nuevo
mdulo bluetooth y se ha diseado una librera software de funciones para el
control del Holter. Adems, se ha implementado un programa en labview para
gestionar y monitorizar los datos obtenidos.
11
1.2.-El Electrocardiograma
1.2.1.-Historia
En el siglo XIX se hizo evidente que el corazn generaba electricidad. La
actividad bioelctrica correspondiente al latido cardiaco fue descubierta por
Kolliker y Mueller en 1856 y el primer registro del ritmo elctrico en el ser
humano fue hecho por Alexander Muirhead en 1869, en el St. Bartholomew's
Hospital de Londres.
En 1872 el fsico francs Gabriel Lippmann inventa un electrmetro
capilar que le vali el Premio Nobel de Fsica en 1908. Consista en un tubo
fino de vidrio con una columna de mercurio baada con cido sulfrico. El
mercurio se mueve con las variaciones de los potenciales elctricos. La
utilizacin de este electrmetro le posibilit al fisilogo francs Etienne-Jules
Marey en 1876 registrar por primera vez la actividad elctrica de un corazn de
rana.
12
13
14
1.2.2.-Descripcin
El electrocardiograma es el grfico que se obtiene al medir la actividad
elctrica del corazn de una manera continua. Es un mtodo rpido, simple e
indoloro en el cual se amplifican los impulsos elctricos, relacionados con la
contraccin del corazn.
El electrocardiograma es el elemento principal de la electro-fsica
cardaca y tiene una funcin relevante en el diagnstico de enfermedades y
anomalas cardiovasculares, como por ejemplo:
-
Defectos congnitos
Arritmias
15
Esta seal ECG representa la corriente elctrica que circula a travs del
corazn durante el latido de ste. Cada parte de la seal est dividida en las
siguientes ondas e intervalos:
Ondas:
16
Intervalos:
Intervalo PR: Es el tiempo desde que se acaba la onda P hasta que se origina
la onda R. Corresponde a un periodo de inactividad elctrica como
consecuencia del retraso fisiolgico que sufre el estmulo elctrico. Su duracin
suele estar entre 120ms y 220ms.
17
Figura 9: El corazn
19
20
1.3.2.-Aplicaciones
El sistema holter tambin se denomina electrocardiografa ambulatoria y
es un test no invasivo ampliamente utilizado para evaluar las alteraciones
electrocardiogrficas en una gran variedad de enfermedades cardacas. Su
utilidad clnica reside en su capacidad para evaluar al paciente por prolongados
periodos de tiempo, sin alterar su actividad diaria, lo que permite el examen
dinmico del electrocardiograma en su ambiente natural, con frecuencia
afectado por estmulos fsicos.
En contraste al ECG de superficie que nos proporciona una visin
esttica de 12 derivaciones por un breve periodo de tiempo (menos de 30
segundos), los registros Holter son de larga duracin (24 horas), con slo 2 o
21
22
1.3.3.-Sistemas comerciales
Las grabadoras Holter o Unidades de Monitoreo Ambulatorio, son de
tamao pequeo, livianas alimentadas por bateras, con registros de
derivaciones bipolares, por lo general de tres derivaciones, que almacena los
datos en casete, microcassette o formato electrnico. Estos sistemas de
registro Holter pueden ser divididos en dos grupos, los cuales usan el mismo
procedimiento analtico:
23
1.4.-Sistema Propuesto:
El dispositivo holter que se ha diseado, consta de almacenamiento
electrnico y es capaz de monitorizar en tiempo real la seal de ECG desde un
ordenador. Tambin est dotado de un sensor de movimiento para controlar los
tres ejes de coordenadas X,Y,Z y as poder estudiar los movimientos de la
persona.
Se ha divido el proyecto en dos secciones diferentes, la parte hardware y
la parte software. En la primera parte se explican las principales caractersticas
de los diferentes componentes que forman el sistema. A su vez, la parte
software est dividida en dos, el programa del microcontrolador y el programa
de Labview para gestionar los datos obtenidos. En los prximos captulos se
explica con ms detalle tanto la parte hardware como la software.
24
2.ParteHardware
Los principales requisitos del sistema son que sea pequeo y que tenga
una larga autonoma, ya que est alimentado por dos pilas de 1,5V cada una.
Para ello se han utilizado componentes de bajo consumo y de pequeas
dimensiones. El tamao total del PCB es de 80cm x 55cm y permite al
dispositivo ser manejable y liviano.
A continuacin se detallan los diferentes componentes utilizados en el
diseo:
2.1.1.-Diagrama de Bloques
FUENTE
CONMUTADA
TRILED
RESET
ACELERMETRO
MICRO
CONTROLADOR
ALIMENTACIN DE
PERIFRICOS
SPI
SPI
TARJETA DE
MEMORIA SD
POTENCIOMETRO
DIGITAL
SPI
MDULO
BLUETOOTH
ETAPA ANALGICA
DE ADQUISICIN
ELECTRODOS
Figura 15: Diagrama de bloques del dispositivo
25
2.1.2.-Alimentacin de la placa
Teniendo en cuenta que el dispositivo ha de tener una larga autonoma,
se han utilizado mayoritariamente componentes de bajo consumo. Todos los
circuitos integrados de la placa han sido seleccionados para trabajar a una
tensin de alimentacin de 3,3V. Para obtener dicha tensin el sistema se
alimenta mediante dos bateras alcalinas o de Nickel-Metal Hydride (Ni-Mh) tipo
AA de 2100mAh y 1,5V. Para garantizar la tensin de trabajo de 3,3V a todo el
circuito, es necesario una fuente conmutada para elevar la tensin. Para ello se
utiliza un convertidor Step-Up de muy bajo ruido. Concretamente el modelo
26
2.1.3.-Cable y electrodos
El fenmeno de la conductividad elctrica del cuerpo humano implica la
presencia de iones portadores de carga. Para poder medir seales
bioelctricas, se requiere la interaccin con dichos iones portadores de carga y
la traduccin en corriente elctrica para su posterior procesamiento.
Precisamente los encargados de realizar esta funcin son los electrodos,
constituidos como conductores elctricos en contacto con el cuerpo. Para
mejorar el ya comentado contacto elctrico, se utilizan electrolitos o sustancias
ionizables que se sitan entre el electrodo y la piel. La interaccin del metal con
este electrolito da lugar a una variacin local de la concentracin de iones en
las inmediaciones de la superficie del electrodo. Este hecho rompe la
neutralidad de carga y hace que aparezca una diferencia de potencial entre el
27
28
2.1.4.-TriLed
El dispositivo incorpora tres seales luminosas diferentes para
establecer una buena interaccin hombre-mquina. As el usuario sabe por
medio de estas seales, el estado de funcionamiento en que se encuentra el
dispositivo:
20mA
Por ltimo comentar que la activacin de los leds se realiza por lgica
positiva, es decir, que un 1 lgico a la salida del microcontrolador provoca la
activacin de los leds.
La siguiente figura muestra las dimensiones fsicas del led tricolor:
30
2.1.5.-Pulsador START/STOP
Otro elemento con el cual podemos interactuar con el dispositivo es el
pulsador, el cual tiene tres funcionalidades:
-
31
32
33
34
2.1.8.-Potencimetro digital
La manera ms prctica de realizar el ajuste de la ganancia de la etapa
amplificadora es utilizando potencimetros digitales. Estos dispositivos
permiten, con un alto nivel de regulacin y precisin, variar de forma digital el
valor de las resistencias internas. As pues, en funcin de los parmetros de
entrada que el usuario establecer, el microcontrolador regular el valor de la
resistencia para obtener la ganancia deseada.
35
R pot =
RLH 10k
= 6 = 156, 25
26
2
G=
R
VO
= 1 + 2
Vin
R1
R (63 D )
63 D
= 1 + pot
= 1+
D
R pot D
R2=(63-D)R
R1=D
Ganancia vs. D
70
60
50
40
G
Ganancia vs. D
30
20
10
0
0
10
20
30
40
50
60
70
37
1.0mV
0.5mV
0V
0s
0.5s
V(1201) -V(1000)
1.0s
1.5s
2.0s
2.5s
3.0s
Time
2.1.9.1.-Ganancia
Para el estudio de la ganancia se ha divido el circuito en partes y se han
ido aadiendo elementos de filtrado y amplificacin. Primero se ha simulado el
amplificador de instrumentacin, para despus aadirle un filtro de segundo
orden en configuracin Sallen Key y por ltimo el amplificador de ganancia
programable. Se ha tomado como referencia del circuito una tensin de 1,65V.
En la figura se observa la seal de entrada de 1,2mV de pico a pico y
como la tensin de salida del amplificador de instrumentacin a pasado a valer
16mV de pico a pico. Esto implica que la ganancia de esta etapa es de
aproximadamente 13.
38
Figura 29: Seal de salida del amplificador de instrumentacin; Seal de entrada; Tensin de referencia
Figura 30: Seal de salida del filtro Sallen Key; Seal de salida del amplif. de instr.; Seal de entrada; Tensin de ref.
39
1) Rpot1=1k y Rpot2=9k
- Seal de entrada=1,2mV de pico a pico
- Seal de salida=14mV de pico a pico
- Ganancia = 11,6
2) Rpot1=4k Rpot2=6k
- Seal de entrada=1,2mV de pico a pico
- Seal de salida=22mV de pico a pico
- Ganancia = 18,3
40
3) Rpot1=7k Rpot2=3k
- Seal de entrada=1,2mV de pico a pico
- Seal de salida=40mV de pico a pico
- Ganancia = 33,3
4) Rpot1=8k Rpot2=2k
- Seal de entrada=1,2mV de pico a pico
- Seal de salida=65mV de pico a pico
- Ganancia = 54,16
41
5) Rpot1=9k Rpot2=1k
- Seal de entrada=1,2mV de pico a pico
- Seal de salida=130mV de pico a pico
- Ganancia = 108,3
1
115,4
10
115,2
50
111
100
100,4
125
89,6
150
74,4
200
57,1
250
41,8
500
14,7
140
120
Vout (mV)
100
80
60
40
20
0
1Hz
10Hz
50Hz
100Hz
125Hz
150Hz
200Hz
250Hz
500Hz
Frec
42
2.1.10.-Acelermetro
La incorporacin de un acelermetro como sensor de movimiento nos
permite saber la actividad fsica que realiza el paciente en cada momento y as
poder establecer relaciones con los cambios en el ECG.
La estructura interna de un acelermetro consta de una parte central
mvil de polisilicio que se desplaza longitudinalmente entre dos partes fijas
tambin de polisilicio, formando as dos condensadores diferenciales. La parte
central genera un cambio de valor en dichos condensadores al desplazarse.
43
2.1.11.-Microcontrolador PIC
El microcontrolador elegido para el dispositivo es el PIC18LF4610 de
Microchip. Se ha seleccionado dicho PIC despus de estudiar las exigencias
del diseo: nmero de entradas/salidas, velocidad de proceso, elevado nmero
de perifricos (timers, conversores, bus, memoria interna), alimentacin, bajo
consumo y facilidad de programacin e integracin al diseo.
Las caractersticas ms destacadas de este microcontrolador son las
siguientes:
-
Alimentacin a 3,3V
44 pins
36 pins entrada/salida
45
2.1.12.-Mdulo Bluetooth
Uno de los requisitos del sistema es dotar al dispositivo de tecnologa
inalmbrica para poder comunicarse con el PC. Para este propsito se
incorpora un mdulo de comunicaciones bluetooth. Concretamente la placa
OEMSPA 311 de Connectblue, que permite dotar al sistema de comunicacin
serie inalmbrico.
Tensin de alimentacin de 3V a 6V
Consumo mximo de 45mA
Rango de temperatura de -30C a +85C
Antena integrada de 2,4GHz (12.8 x 3.9 x 1.1mm)
Compatible con Bluetooth 2.0
46
Para conectar el dispositivo y poder enviar y recibir datos, antes hay que
realizar una sincronizacin desde un PC dotado con tecnologa bluetooth. En
este caso se utiliza un USB bluetooth genrico.
El mdulo tambin incorpora una placa de desarrollo para poder
configurar y testear fcilmente el dispositivo inalmbrico OEMSPA 311. La
configuracin se realiza mediante comandos AT y se conecta con el PC
mediante RS232.
47
2.1.13.-Tarjeta SD
La tarjeta de memoria SD, es un dispositivo que integra una importante
cantidad de memoria Flash y donde se van a almacenar las muestras de ECG
y aceleracin.
Las caractersticas ms destacadas de una tarjeta SD son las siguientes:
-
Bajo consumo
Rango de alimentacin 2,7V - 3,6V
Comunicacin en modo SD o modo SPI
Frecuencia de trabajo variable entre 0 y 25MHz
Velocidad de lectura/escritura mxima de 10Mbytes/s
Dimensiones reducidas (24x32x1,4mm)
Compatible con tarjeta Multi Media Card (MMC)
CSD que contiene los parmetros de las diferentes operaciones que se pueden
realizar.
Para simplificar la conexin con el microcontrolador, se utiliza la tarjeta
SD en modo SPI, ya que para la aplicacin que se pretende realizar, la
velocidad del SPI es ms que suficiente. Teniendo en cuenta el modo de
operacin, se utilizan los siguientes 9 pins para la conexin:
49
2.2.-Diseo de la Placa
Para el diseo de la placa se utiliz parte del proyecto que iniciaron el
ao pasado. El PCB est realizado con el programa de diseo electrnico
UltiBoard, mientras que los esquemticos estn hechos con Orcad.
50
2.3.-Caja de transporte
Para este prototipo se ha diseado una caja para poder transportar el
holter ms cmodamente, ya que habr que realizar medidas durante un
mnimo de 24 horas. Esto implica que la caja debe ser liviana y que casi pase
desapercibida para el paciente.
51
52
3.ParteSoftware
Para la parte software se ha realizado un programa en lenguaje de
programacin C que controla la adquisicin de datos, la escritura en la memoria
SD y el envo por bluetooth.
El firmware de control debe ser capaz de gestionar eficazmente el
funcionamiento del holter. Tiene que adquirir los datos de la seal del corazn,
convertirlos a digital y guardarlos en la memoria SD sin perder muestras
durante el proceso. Tambin debe tener la posibilidad de monitorizar la seal
en tiempo real enviando los datos por bluetooth hacia un PC.
Adems del programa realizado (main.c y SD.c), microchip proporciona
libreras para el control y la gestin de almacenamiento en tarjetas de memoria
SD (FSIO.c, FSIO.h, salloc.c, salloc.h, SD-SPI.c, SD-SPI.h, FSconfig.h,
FSDefs.h, GenericTypeDefs.h).
El compilador utilizado es el C18, ya que es el recomendado por
Microchip para trabajar con PICs de la familia 18FXXXX. El entorno de trabajo
MpLab integra perfectamente tanto el compilador como el depurador.
El microcontrolador utilizado (18F4610) dispone de entradas analgicas
y un convertidor A/D para poder pasar al dominio digital. Tambin est dotado
de comunicacin serie SPI para poder comunicarse con la tarjeta de memoria
SD y el mdulo de comunicaciones bluetooth. Adems posee un sistema de
interrupciones y timers que nos permiten controlar tanto la frecuencia de
adquisicin como los tiempos de espera.
Para poder recibir la seal en un PC, es necesario disponer de
tecnologa bluetooth (integrada en el PC o mediante USB) y sincronizar
previamente el dispositivo bluetooth con el holter. Una vez sincronizado, se
puede controlar el sistema mediante un programa realizado con Labview.
53
54
3.1.2.-Labview
Para comunicar el holter con el PC y poder as controlar las diferentes
funcionalidades del diseo, se ha creado una pequea aplicacin con el
programa LabView de National Instruments.
56
57
3.2.2.-Firmware de control
El firmware consta de dos archivos principales, main.c y SD.c (ver
anexos) ms otros archivos necesarios para la configuracin del compilador,
linker y debugger. El programa funciona con un sistema de interrupciones que
sirven para fijar la frecuencia de adquisicin (adquiere datos cada vez que hay
una interrupcin), detectar cuando se recibe alguna orden por bluetooth, o
detectar tambin cuando se pulsa el botn START/STOP.
A continuacin se analizan brevemente los dos archivos principales.
3.2.2.1.- Main.c
La rutina principal del programa se encarga de decidir qu hacer en cada
momento dependiendo del estado de un flag llamado IniAdqui:
58
3.2.2.2.- SD.c
En este archivo se encuentran las funciones de control de la tarjeta SD,
el sistema de archivos FAT y el potencimetro digital. Tambin se encarga de
generar el fichero donde se guardarn los datos y dotarlo de una cabecera con
la fecha, la hora y la ganancia de los diferentes canales. A continuacin se
puede observar un ejemplo del archivo con su cabecera:
Da:
Hora:
15/01/2009
12:30
Ganancia ECG1:
Ganancia ECG2:
Ganancia ECG3:
x117
x410
x820
Adquisicin
-
59
3.2.3.-Principales Rutinas en C
En este apartado se explicarn un poco las diferentes rutinas o
funciones que nos permiten controlar y gestionar el Holter. Primero se explican
las funciones de configuracin y control del microcontrolador, y ms adelante
se pasar a comentar las funciones de los diferentes perifricos como la tarjeta
SD, el mdulo bluetooth y el potencimetro digital.
3.2.3.1.-Microprocesador PIC
Las funciones ms importantes del programa son:
-
3.2.3.2.-Tarjeta de memoria SD
Para el control y gestin de la memoria SD, Microchip proporciona unas
libreras en C donde se encuentran todas las funciones necesarias. Dichas
librerias son FSIO.c y FSIO.h, salloc.c y salloc.h, SD-SPI.c y SD-SPI.h,
FSconfig.h,FSDefs.h,GenericTypeDefs.h.
Para permitir la generacin de buffers de hasta 512 Bytes, que es el
tamao mximo de un clster de memoria en la tarjeta SD y tambin de un
buffer en el sistema de ficheros FAT, se tiene que modificar el fichero
18F4610.lkr (Ver Anexos).
Para abrir o crear un fichero en la tarjeta SD se utiliza la funcin
FSfopen(param1,param2). La descripcin de los parmetros de la funcin es
la siguiente:
-
Esta funcin retorna los bytes que se han ledo de la tarjeta SD. Un
ejemplo sera: readSize = FSfread(readBffr, 1, 24, pointer);
62
65
3.2.3.5.-Potenciometro Digital
La configuracin del potencimetro digital se realiza a travs del bus SPI
del PIC. Con la funcin Conf_Potenciometros(Pot1,Pot2,Pot3) se
configuran los tres potencimetros. El valor con el que se configuran depender
en cada caso de la ganancia deseada, ya que puede ser independiente para
cada canal.
67
68
4.PruebasyResultados
Se han realizado diferentes pruebas para comprobar el funcionamiento
correcto del dispositivo:
- Para las primeras medidas se utiliza un generador de funciones que nos
simula la seal de ECG.
- Posteriormente, se realizan las mismas pruebas directamente sobre el
paciente en reposo.
- Luego se hace otra medida con el paciente en movimiento para comprobar la
relacin entre el movimiento y el ritmo cardaco.
- Tambin se comprueban los resultados tericos obtenidos con anterioridad en
las pruebas de ganancia y ancho de banda.
- As como la comprobacin de la sensibilidad del acelermetro.
- Y la autonoma del dispositivo tanto guardando datos en la tarjeta SD como
transmitiendo va bluetooth.
4.1.-Caracterizacin
4.1.1.-Estudio de la ganancia del circuito:
Se ha comprobado experimentalmente los resultados del anlisis de la
ganancia (pg.38). Para ello utilizamos el generador de funciones para obtener
una seal de ECG de 1mV. Variando el potencimetro digital se obtienen
ganancias totales desde 117 hasta 820, ya que el amplificador de
instrumentacin introduce una ganancia de 13 y el potencimetro una variable
de 9 a 63.
71
X117
X275
X410
X820
Frec
Vout1
Vout2
Vout3
0,1
0,2
0,3
0,4
0,5
0,6
0,7
0,8
0,9
1
2
5
11,2 16,4 19,2
20
20,8 22,4 22,4 22,4 22,4 23,2 22,4 22,4
11,2 16,4 19,2 20,8 20,8 20,8 22,4 22,4 21,6 22,4 22,4 22,8
130 190,2 222,7 232 241,4 259,8 259,8 259,8 259,8 269,1 259,8 264,4
Frec
10
20
30
50
75
100 125 150 200 250 350
22
22
22
22
22
21,6 21,6 21,6
22
22
22
Vout1
22
22
22
22
22
20,8
20
18
13,6 10,4 6,8
Vout2
Vout3 255,2 255,2 255,2 255,2 255,2 241,2 232 208,5 157,7 120,6 78,8
500
22
4,2
48,7
*Valores en mV de pico-pico
72
Ancho de Banda
300
250
V (mV)
200
Amplif. Instr.
Filtro 2orden
150
Amplif. G. Prog.
100
50
0
0,1
10
100
1000
Frec (Hz)
73
4.1.3.-Acelermetro
Para comprobar el funcionamiento del acelermetro, se han medido los
cambios de tensin que generan las salidas de los 3 ejes del sensor al mover el
holter. En la siguientes tablas podemos observar los resultados:
6
3
5
4
2
MEDIDA (V)
1,6 V
1,6 V
1,25 V
MEDIDA (g)
0
0
-1
MEDIDA (V)
1,6 V
1,6 V
1,95V
MEDIDA (g)
0
0
1
MEDIDA (V)
1,6 V
1,95 V
1,6 V
MEDIDA (g)
0
1
0
74
MEDIDA (V)
1,95 V
1,6 V
1,6 V
MEDIDA (g)
1
0
0
MEDIDA (V)
1,6 V
1,25 V
1,6 V
MEDIDA (g)
0
-1
0
MEDIDA (V)
1,25 V
1,6 V
1,6 V
MEDIDA (g)
-1
0
0
V X = Voffset + a X S X
VY = Voffset + aY SY
VZ = Voffset + a Z S Z
75
76
Figura 72: Espectrograma de la seal de aceleracin, aceleracin del eje X y ritmo cardaco
Y
Z
79
5.Conclusiones
Despus de las pruebas realizadas y los resultados conseguidos se
considera que se han alcanzado los objetivos del proyecto. Se ha conseguido
disear un dispositivo porttil de registro de ECG, ligero y compacto, con
monitorizacin Holter, capaz de adquirir datos durante 24 horas. Analizando los
resultados se pueden obtener las siguientes conclusiones:
Las pruebas realizadas en condiciones de reposo, afirman que los
resultados obtenidos son los esperados aunque debido al lento proceso de
escritura de la tarjeta SD se pueden perder algunas muestras cuando el proceso
de adquisicin es largo. Esto es debido a que el sistema de archivos FAT utiliza
tablas que se actualizan con cada muestra adquirida, y a medida que aumenta el
tamao del fichero este proceso de actualizacin se realiza ms lentamente. La
solucin pasa por bajar la frecuencia de adquisicin dependiendo del tiempo de
utilizacin del holter.
Las pruebas realizadas con el paciente en movimiento han sido
satisfactorias. Se ha podido comprobar la relacin que existe entre el movimiento y
el aumento del ritmo cardaco. En reposo las pulsaciones del paciente eran de
aproximadamente 60ppm y cuando andaba o corra se apreciaba un aumento
progresivo del ritmo cardaco para, posteriormente, volver a recuperar las 60ppm
en reposo.
Se ha comprobado que la tecnologa bluetooth empleada para la
monitorizacin es la idnea para esta clase de dispositivos, ya que la velocidad de
transmisin es rpida y no se pierden muestras en el envo.
Aunque los componentes utilizados en el diseo han sido seleccionados
para un bajo consumo, los avances de la electrnica hacen que cada da que pasa
aparezcan componentes con mayores prestaciones. As pues, una de las lneas
futuras del proyecto pasara por reducir el tamao y el consumo del dispositivo.
Uno de los componentes que ms gasto tiene, es la tarjeta SD. Existen nuevas
tarjetas de memoria mucho ms pequeas y eficaces y, a su vez, de un consumo
mucho menor.
Otra de las mejoras a incorporar sera dotar al programa labview de
opciones avanzadas para mejorar el funcionamiento, como por ejemplo, la
posibilidad de configurar el mdulo bluetooth (mediante comandos AT) de forma
inalmbrica, sin necesidad de utilizar la placa de desarrollo proporcionada por
Connectblue.
Por ltimo, se podra reducir el ruido que genera la fuente de alimentacin
conmutada, ya sea buscando otro mtodo de alimentacin del dispositivo o una
nueva etapa de adquisicin mejorada que elimine las posibles interferencias.
80
6.Bibliografa
Libros
[1] P. FARRERAS, C. ROZMAN. Medicina interna, volumen I. Mosby-Doyma
Libros. Madrid, 1995.
[2] MERCK SHARP & DOHME. Manual Merck de informacin mdica para el
hogar. OCEANO Grupo Editorial. Barcelona, 1997.
[3] V. PAUCHET, et al. Atlas de anatoma. Editorial Gustavo Gili, S. A.
Barcelona, 1965.
[4] Fernndez Prim, D. (2003): Disseny duna plataforma multifunci per al
desenvolupament de sistemes de telemesura de senyals bioelctrics.,
Universitat Politcnica de Catalunya.
[5] L. Tokheim, Roger. Principios Digitales, 3 ed. Madrid: Mc Graw Hill, 1994.
[6] Stroustrup, Bjarne. El lenguaje de programacin C++, Ed. AddisonWesley, Boston 1998
[7] Odant, Bernard. Microcontroladores 8051 y 8052. Ed. Paraninfo, Madrid
1995
[8] Martn, Angulo, Angulo. Microcontroladores PIC. Ed. Paraninfo 5 edicion,
Madrid 2001
Internet
[1] http://galeon.com/medicinadeportiva/CURSOECG.htm
[2] www.monografias.com/trabajos33/electrocardiografo/electrocardiografo.html
[3] http://es.wikipedia.org/wiki/Electrocardiograma
[4] www.ti.com
[5] www.microcontroladorchip.com
[6] www.analog.com
[7] www.microchip.com
[8] www.national.com
[9] www.maxim-ic.com
81
7.Anexos
7.1.-Firmware
7.1.1.-Fichero 18F4610.lkr
// $Id: 18f4610.lkr,v 1.3 2004/04/26 18:08:56 curtiss Exp $
// File: 18f4610.lkr
// Sample linker script for the PIC18F4610 processor
LIBPATH .
FILES c018i.o
FILES clib.lib
FILES p18f4610.lib
CODEPAGE
CODEPAGE
CODEPAGE
CODEPAGE
CODEPAGE
NAME=vectors
NAME=page
NAME=idlocs
NAME=config
NAME=devid
START=0x0
START=0x2A
START=0x200000
START=0x300000
START=0x3FFFFE
END=0x29
END=0x1FFFF
END=0x200007
END=0x30000D
END=0x3FFFFF
ACCESSBANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
DATABANK
ACCESSBANK
NAME=accessram
NAME=gpr0
NAME=gpr3
NAME=buffer
NAME=sramalloc
NAME=buffer1
NAME=buffer2
NAME=gpr11
NAME=gpr12
NAME=gpr13
NAME=gpr14
NAME=gpr15
NAME=accesssfr
START=0x0
START=0x80
START=0x300
START=0x400
START=0x600
START=0x700
START=0x900
START=0xB00
START=0xC00
START=0xD00
START=0xE00
START=0xF00
START=0xF80
END=0x7F
END=0x2FF
END=0x3FF
END=0x5FF
END=0x6FF
END=0x8FF
END=0xAFF
END=0xBFF
END=0xCFF
END=0xDFF
END=0xEFF
END=0xF7F
END=0xFFF
SECTION
SECTION
SECTION
SECTION
SECTION
NAME=myBuff
RAM=buffer
NAME=_SRAM_ALLOC_HEAP RAM=sramalloc
NAME=CONFIG
ROM=config
NAME=dataBuffer RAM=buffer1
NAME=FATBuffer RAM=buffer2
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
PROTECTED
82
7.1.2.-Fichero main.c
//##############################################################################
//NOMBRE: main.c
//PROJECTRO: Sistema de adquisicin de datos ECG
//FECHA: 00.02.2009
//AUTOR: Javier Cabo Roca
//DESCRIPCION: Permite capturar datos a travs de los canales del conversor A/D,
// monitorizarlos va bluetooth o memorizarlos en un fichero de la tarjeta SD.
//##############################################################################
#include
#include
#include
#include
#include
#include
#include
#include
#include
#include
"holter.h"
"SD.h"
"bluetooth.h"
"RCT.h"
"stdio.h"
"FSIO.h"
"GenericTypeDefs.h"
<delays.h>
<adc.h>
<spi.h>
////////////////////////////////////////////////////////////////////////////////
//NOMBRE: main
//DESCRIPCIN: Programa principal que permite fijar la configuracin inicial del sistema
////////////////////////////////////////////////////////////////////////////////
void main(void)
{
Configuracion_Micro();
// Configuracin inicial del sistema
while(1)
{
while(IniAdqui==0)
{
LED_RED=1;
PBlue=1;
configurarTimer1();
// Iniciar Timer1
while (a==0)
{
83
// Esperar confirmacin
// Timer1 OFF
}
}
while(IniAdqui==1)
{
TRISD=0x00;
LED_BLUE=1;
for(i='0';i<canals;i++)
{
switch(i)
{
case '3':
break;
case '4':
break;
case '5':
break;
case '0':
break;
case '1':
break;
case '2':
ADCON0=0x00;
ADCON1=0x09;
ADCON2=0xBE;
//Set CH0
ADCON0=0x04;
ADCON1=0x09;
ADCON2=0xBE;
//Set CH1
ADCON0=0x08;
ADCON1=0x09;
ADCON2=0xBE;
//Set CH2
ADCON0=0x0C;
ADCON1=0x09;
ADCON2=0xBE;
//Set CH3
ADCON0=0x10;
ADCON1=0x09;
ADCON2=0xBE;
//Set CH4
ADCON0=0x14;
ADCON1=0x09;
ADCON2=0xBE;
//Set CH5
break;
} //end switch
ADCON0bits.ADON = 1;
// Enable the A/D
ADCON0bits.GO = 1;
while (BusyADC());
ADC_RESULT=ADRESL;
ADRESH10=ADRESH;
ADRESH10=ADRESH10<<8;
ADC_RESULT=ADRESH10 | ADC_RESULT;
sprintf(ASCII,"%4i",ADC_RESULT);
// Enviar muestra
while(BusyUSART());
putsUSART(ASCII);
cont+=4;
if(canals=='6'){if (cont==24){putsUSART(fintrama);cont=0;}}
84
switch (grabar)
{
case 0: if (IncDadesSD==240)
{
grabar=1;
IncDadesSD=0;
LED_GREEN=0;
Size=FSfwrite((const void *)Tdades2,1,240,Archivo);
}
break;
case 1: if (IncTDades==240)
{
grabar=0;
IncTDades=0;
LED_GREEN=1;
Size=FSfwrite((const void *)Tdades,1,240,Archivo);
}
break;
}
}
if(IniAdqui==3)
{
LED_GREEN=0;
FSfclose(Archivo);
TRISB=0x07;
LED_RED=1;
while(IniAdqui==3);
}
//(Configuraci In/out)
}
}
////////////////////////////////////////////////////////////////////////////////
//NOMBRE: Configuracion_Micro
//DESCRIPCION: Funcin de configuracin de los puertos y de los registros del micro.
////////////////////////////////////////////////////////////////////////////////
void Configuracion_Micro(void)
{
unsigned int k;
// Configuracin del puerto del Micro
// ---Port A--TRISA=0x2F;
//(Configuraci In/out)
PORTA=0x00;
//(Configuraci estat inicial pins)
// ---Port B--TRISB=0x17;
PORTB=0x00;
//(Configuraci In/out)
//(Configuraci estat inicial pins)
// ---Port C--TRISC=0xD2;
PORTC=0x00;
//(Configuraci In/out)
//(Configuraci estat inicial pins)
// ---Port D--TRISD=0x10;
PORTD=0x00;
//(Configuraci In/out)
//(Configuraci estat inicial pins)
// ---Port E--TRISE=0x03;
PORTE=0x00;
//(Configuraci In/out)
//(Configuraci estat inicial pins)
85
//
//
//
//
//
//
//
//
//
Enable SPBRH
High Speed
SYNC=0+BRGH=1+BRG16=0+SPBRG
Modo Asincrono
Transmision de 8 bits
Recepcion de 8 bits
Enable transmision
Enable Serial port
Enable Recepcion
//(Configuraci In/out)
}
//Configuracin de las interrupciones de prioridad alta
#pragma code InterruptVectorHigh = 0x08
void InterruptVectorHigh (void)
{
_asm
goto InterruptHandlerHigh
//jump to interrupt routine
_endasm
}
#pragma code
#pragma interrupt InterruptHandlerHigh
////////////////////////////////////////////////////////////////////////////////
//NOMBRE: InterruptHandlerHigh
//DESCRIPCION: Funcin de atencin a las interrupciones de prioridad alta.
////////////////////////////////////////////////////////////////////////////////
void InterruptHandlerHigh (void)
{
if (INTCONbits.TMR0IF == 1)
{
Adquisicio(canals);
TMR0L = 524;
INTCONbits.TMR0IF = 0;
}
else if (PIR1bits.TMR1IF == 1)
{
z++;
PIR1bits.TMR1IF = 0;
if (z==0x0500)
{
T1CONbits.TMR1ON=0;
z=0;
PIR1bits.TMR1IF = 0;
// Timer1 OFF
86
configurarTimer0 ();
IniAdqui=2;
a=1;
// Configura timer0
}
}
else if (INTCONbits.INT0IF == 1)
{
Delay10KTCYx(69);
while(Button==0){}
INTCONbits.INT0IF = 0;
Init_System();
}
else if (PIR1bits.RCIF == 1)
{
getsUSART(opcion,1);
if (opcion[0]=='x')
{
Delay10KTCYx(99);
PBlue=0;
LED_BLUE=0;
ADCON0bits.ADON = 0;
ADCON0bits.GO = 0;
Configurar_SD();
configurarTimer0 ();
IniAdqui=2;
}
if (opcion[0]=='s')
{
Delay10KTCYx(99);
PIE1bits.RCIE=0;
LED_BLUE=0;
TRISB=0x07;
LED_RED=1;
ADCON0bits.ADON = 0;
ADCON0bits.GO = 0;
FSfclose(Archivo);
a=0;
IniAdqui=0;
}
}
// Configura timer0
// (Configuraci In/out)
// Disable the A/D
}
////////////////////////////////////////////////////////////////////////////////
//NOMBRE: configurarTimer0
//DESCRIPCION: Funcin de configuracin del Timer0.
////////////////////////////////////////////////////////////////////////////////
void configurarTimer0 (void)
{
TMR0L = 524;
T0CON = 0xC5;
}
// Configuramos el contador
// Enable set up timer0 - prescaler 1:64
////////////////////////////////////////////////////////////////////////////////
//NOMBRE: Adquisicio
//DESCRIPCION: Funcin de lectura de las entradas analgicas del micro.
////////////////////////////////////////////////////////////////////////////////
void Adquisicio (unsigned char canals)
{
unsigned char i;
if (Button==0){z++;}
else {z=0;LED_BLUE=0;}
for(i='0';i<canals;i++)
{
switch(i)
{
case '3':
ADCON0=0x00;
//Set CH0
87
break;
case '5':
break;
case '0':
break;
case '1':
break;
case '2':
ADCON0=0x04;
ADCON1=0x09;
ADCON2=0xAA;
//Set CH1
ADCON0=0x08;
ADCON1=0x09;
ADCON2=0xAA;
//Set CH2
ADCON0=0x0C;
ADCON1=0x09;
ADCON2=0xAA;
//Set CH3
ADCON0=0x10;
ADCON1=0x09;
ADCON2=0xAA;
//Set CH4
ADCON0=0x14;
ADCON1=0x09;
ADCON2=0xAA;
//Set CH5
break;
}
ADCON0bits.ADON = 1;
ADCON0bits.GO = 1;
while (BusyADC());
ADCON0bits.GO = 0;
if (z>0x200)
{
LED_BLUE=1;
switch (grabar)
{
case 0: Tdades2[IncDadesSD++]=0xFF;
Tdades2[IncDadesSD++]=0xFF;
break;
case 1: Tdades[IncTDades++]=0xFF;
Tdades[IncTDades++]=0xFF;
break;
}
}
else
{
switch (grabar)
{
case 0: Tdades2[IncDadesSD++]=ADRESH;
Tdades2[IncDadesSD++]=ADRESL;
break;
case 1: Tdades[IncTDades++]=ADRESH;
Tdades[IncTDades++]=ADRESL;
break;
}
}
}
}
////////////////////////////////////////////////////////////////////////////////
//NOMBRE: Init_System
//DESCRIPCION: Funcin de inicializacin del sistema.
////////////////////////////////////////////////////////////////////////////////
void Init_System(void)
{
// Declaracin de variables
static char Init_Blue;
static char Connect_Blue;
static char active_Blue=0;
unsigned char dato;
if (IniAdqui==0)
{
T1CONbits.TMR1ON=0;
z=0;
PIR1bits.TMR1IF = 0;
PIE1bits.TMR1IE=0;
// Timer1 OFF
88
// Inicio Guardar en SD
// Acaba Adquisicion ECG
// Reinicializacin
} //end void
7.1.3.-Fichero SD.c
//##############################################################################
//NOMBRE: SD.c
//PROYECTO: Sistema de adquisicin de datos ECG
//FECHA: 00.02.2009
//AUTOR: Javier Cabo Roca
//DESCRIPCION: Funciones de control de la tarjeta SD
//##############################################################################
#include "holter.h"
#include "SD.h"
#include "stdio.h"
// Declaracin de variables globales para el control de la SD
const char fileName[] = "proves09.TXT";
const char fileName2[] = "config.TXT";
const static char CRLF[]="\r\n";
unsigned char Pot3,Pot1,Pot2,canals;
BYTE readBffr[24];
BYTE config[24]="6 HH:MM DD/MM/AAAA 4 4 4";
char Fecha[10];
char Hora[5];
char CEcg1[];
char CEcg2[];
char CEcg3[];
FSFILE * Archivo;
////////////////////////////////////////////////////////////////////////////////
//NOMBRE: SD_Init
//DESCRIPCIN: Funcin de inicializacin de la tarjeta.
////////////////////////////////////////////////////////////////////////////////
void SD_Init(void)
{
if (FSInit()){}
else {TRISD=0x00;
LED_BLUE=1;
LED_GREEN=1;
LED_RED=1;
while(1);}
}
//(Configuracin In/out)
// Error si no hay tarjeta
////////////////////////////////////////////////////////////////////////////////
//NOM: Read_Conf_Blue
//DESCRIPCI: Funcin que nos permite recibir la configuracin desde el bluetooth.
////////////////////////////////////////////////////////////////////////////////
void Read_Conf_Blue(void)
{
int i;
const static char write[]="w";
FSFILE * pointer2;
DWORD readSize = 70;
WORD word = 0;
DWORD writeSize;// = 50;
for(i=0;i<24;i++)
{
89
// Abre config.txt
if (pointer2 == NULL)
{
TRISB=0x07;
//(Configuracin In/out)
LED_RED=1;
TRISD=0x00;
//(Configuraci In/out)
LED_BLUE=1;
while (1);
}
for(i=0;i<24;i++)
// Actualizar config interna
{
config[i]=readBffr[i];
}
writeSize = FSfwrite((const void *)readBffr, 1, 24, pointer2);
FSfclose (pointer2);
}
}
////////////////////////////////////////////////////////////////////////////////
//NOM: Read_Conf_File
//DESCRIPCI: Funcin que nos permite leer la configuracin desde la tarjeta SD.
////////////////////////////////////////////////////////////////////////////////
void Read_Conf_File(void)
{
int i;
FSFILE * pointer;
DWORD readSize = 70;
WORD word = 0;
pointer = FSfopenpgm("config.TXT","r");
if (pointer == NULL)
{
TRISB=0x07;
LED_RED=1;
TRISD=0x00;
LED_BLUE=1;
for(i=0;i<24;i++)
{
readBffr[i]=config[i];
}
FSfclose (pointer);
Delay10KTCYx(69);
}
// Abre config.txt
// (Configuraci In/out)
// (Configuraci In/out)
// Utiliza config interna
else
{
for(i=0;i<24;i++)
{
readBffr[i]=' ';
}
90
writeSize;
static char
static char
static char
static char
static char
static char
static char
static char
static char
static char
static char
static char
static char
date[]="\r\nDia: ";
hour[]="Hora: ";
Adqui[]="Adquisicion\r\n";
GECG1[]="Ganancia ECG1: ";
GECG2[]="Ganancia ECG2: ";
GECG3[]="Ganancia ECG3: ";
x9[]=" x117";
x16[]=" x205";
x21[]=" x275";
x32[]=" x410";
x64[]=" x820";
writeplus[]="w+";
write[]="w";
// Crea proves08.txt
// (Configuraci In/out)
91
// (Configuraci In/out)
// (Configuraci In/out)
////////////////////////////////////////////////////////////////////////////////
//NOM: Configurar_Blue
//DESCRIPCI: Funcin que nos permite inicializar el sistema desde el Bluetooth
////////////////////////////////////////////////////////////////////////////////
void Configurar_Blue(void)
{
Read_Conf_Blue();
Configurar_Holter();
TRISB=0x07;
LED_RED=0;
}
//(Configuraci In/out)
////////////////////////////////////////////////////////////////////////////////
//NOM: Conf_Potenciometros
//DESCRIPCI: Funcin que nos permite configurar el valor del potencimetro digital
////////////////////////////////////////////////////////////////////////////////
void Conf_Potenciometros(unsigned char Pot1, unsigned char Pot2, unsigned char Pot3)
{
RW=0;
RST=1;
OpenSPIM(SYNC_MODE_FAST);
switch(Pot1)
{
case '0':WriteSPIM(0x07); //x100
break;
case '1':WriteSPIM(0x04); //x200
break;
case '2':WriteSPIM(0x03); //x300
92
93
33Van
33Van
1M
C25
8
7
6
5
R5_ch1
22K
R4_ch1
720K
U18
AD627
U32B
OPA2336
5 +
C6_ch1
33 nF
6 -
U33A
OPA2336
6 -
3 +
2 -
+ C26
Vref
BLUE
R11
1uF
Outch1
CONECTOR
ELECTRODES
R30
1K
GREEN
R28
1K
1
2
3
R31
1K
1M
G1 D1
S2 S1
G2 D2
6
5
4
CH1lead2
U26
Triled
R32
1K
6
5
4
power
R29
1K
U25
FDC6303
R33
1 1K
2
R37
3
D1 G1
S1 S2
D2 G2
J2
CH2lead2
1
2
3
4
5
6
7
CH2lead1
RED
CH3lead2
Activ e
10
U24
FDC6303
CH1lead1
CH3lead1
CON7
Ref lead
C2_ch1
220pF
R6_ch1
22K
RG
Vs+
Out
Ref
C3_ch1
1nF
RG
InIn+
Vs-
1
2
3
4
C1_ch1
220pF
U35B
OPA2336
5 +
100nF
8
R1_ch1
10k
TRILED
33V
R10
C5_ch1
68 nF
33Van
R3_ch1
40K2
CH1lead1
TENSIN
DE
REFERENCIA
33Van
CANAL 1
CD3
100nF
KBlue
KGreen A
KRed
33Van
CD2
100nF
3
4
1
33Van
CD1
100nF
33Van
D1_ch1
33Van
MMBD1503A
2
CH1lead2
C4_ch1
2.2uF
33Van
U37A
OPA2336
3 +
2 -
R12
720k
4
6 -
5 +
6 -
Outch2
4
D2_ch2
2
3
Vref
33Van
20
19
18
17
16
15
14
13
12
11
PS
Vcc
H2
H1
H3
H0
W3
W0
L3
L0
L2
L1
W2
W1
R//W, A0 SCL, SCK
A2, /RST SDA, Din
GND
A1, Dout
RG
Vs+
Out
Ref
8
7
6
5
R5_ch3
22K
U20
AD627
Outch2
Outch1
W1
Vref
C39
100nF
33VCC
W2
SCL
SDO
SDI
5 +
6 -
3 +
2 -
33V
R23
110
C32
100nF
NC
VS
VS
NC
4
Vref
W3
NC
Xout
ST
NC
COM Y out
NC
NC
COM
COM
COM
COM
Zout
1
2
3
4
12
11
10
9
C20
100nF
C21
100nF
17
5
6
7
8
MMBD1503A
1
2
3
4
33Van
OutZ
OutA V+
InA- OutB
InA+ InBV- InB+
1
2 OutA V+
3 InA- OutB
4 InA+ InBV- InB+
U39
OPA2336
R25
110
C19
100nF
C36
100nF
S1
1
AO
SET
C1
C2
100uF 220nF
C3
220nF
R3
560K
Vin
Ilim
FB SW1
4
5
6
8
7
6
5
R24
110
8
7
6
5
OutZ
R18
1k
S G
D D
D D
U13
FDC638
33V
33Van
3
2
1
33VCC
C24
220nf
C38
100nF
J6
STRAP
Uuc2
ChY
MAX811
C31
220nF
ALIMENTACION
SW3
R22
10
C42
22pF
MRI
R35
MRO
R36
100k
33VCC
10k
MCLR
JP1
C30
10uF
2
2V5
2k2
R27
INT0
C43
22pF
33V
Y5
32kHZ
33V
C29
100nF
INT1
R4
39K
SDO_RCT
SDI_RCT
Outch3
Outch2
RST
33VCC
J5
Programador
ChZ
power
D2
1N5818
SW2
BATTERY 2x1,5V
U3
LT1073
GND
BT1
C5
100uF
L1
470uH
R2
68
C4
10nF
R1
680K
General
JP2
RW
33VCC
C22
100nF
33VCC
33
32
31
30
29
28
27
26
25
24
23
33V
C23
220nF
OPA2336
U38
U21
ADXL330
SW2
NC
RC0
OSC2/RA6
OSC1/RA7
Vss
Vdd
AN7/RE2
AN6/RE1
AN5/RE0
AN4/RA5
RA4
Y6
8MHz
1
ChX
Outch3
C6_ch3
33 nF
U35A
OPA2336
U36A
D2_ch3
OPA2336
33Van
INT0
INT1
RC7/RX
RD4
RD5
RD6
RD7
Vss
Vdd
RB0/AN12
RB1/AN10
RB2/AN8
RB3/AN9
33VCC
ACCELEROMETRO
U36B
OPA2336
R6_ch3
22K
R4_ch3
720K
C4_ch3
2.2uF
1
2
3
4
5
6
7
8
9
10
11
BLUE
GREEN
SCL_RCT
U30
FDC6303
U17
DS1844-010
U27
PIC18F4610
MCLR
RG
InIn+
Vs-
CH3lead2
3
6
5
4
33Van
16
15
14
13
1
2
3
4
Vcm
C3_ch3
1nF
Rcm2
10M
R2_ch3
10k
1
G1 D1
S2 S1
G2 D2
R39
10K
33Van
Rcm1
10M
C2_ch3
220pF
CD9
100nF
1
2
3
33V
R38
1K
C5_ch3
68 nF
R3_ch3
40K2
R1_ch3
10k
C1_ch3
220pF
CANAL 3
33Van
CD8
100nF
Vref
W3
RW
RST
R40
10
6
5
4
D D
D D
G S
U31
FDC638
33Van
CH3lead1
33Van
CD7
100nF
1
2
3
4
5
6
7
8
9
10
Outch3
33Van
33Van
C18
100nF
33V
U34A
PBlue
CONTROL DE GANANCIA
W2
MMBD1503A
D1_ch3
MMBD1503A
1
2
3
R14
R
OPA2336
2
R2_ch2
10k
1
33Van
6
5
4
3
2
1
CH2lead2
R15
R
C28
2.2uF
C6_ch2
33 nF
R13
720k
U33B
OPA2336
SCL
CERCT
PF
R4_ch2
720K
C4_ch2
2.2uF
33Van
U34B
OPA2336
5 +
MCLR
ChX
ChY
ChZ
Outch1
R6_ch2
22K
SDO
SDI
PBlue
R5_ch2
22K
U29
SD CONNECTOR
C35
100nF
44
43
42
41
40
39
38
37
36
35
34
8
7
6
5
6 -
Vcm
J4
Bluetooth
RC6/TX
SDO/RC5
SDA/SDI/RC4
RD3
RD2
RD1
RD0
SCL/SCK/RC3
RC2
RC1
NC
RG
Vs+
Out
Ref
5 +
NC
NC
RB4/AN11
RB5
RB6
RB7
RE3/MCLR
RA0/AN0
RA1/AN1
R2/AN2
RA3/AN3
RG
InIn+
VsU19
AD627
C2_ch2
220pF
1
2
3
4
C3_ch2
1nF
Vref
C1_ch2
220pF
R1_ch2
10k
C5_ch2
68 nF
33Van
JP4
U37B
OPA2336
7
8
9
10
11
12
33Van
R3_ch2
40K2
Ref lead
33Van
CD6
100nF
C37
100nF
CS
Din
Vss
Vdd
SCLK
Vss2
Dout
NC
NC
1
2
3
CANAL 2
33Van
CD5
100nF
1
2
3
4
5
6
33Van
CD4
100nF
33Van
JP3
33Van
2
CH2lead1
1
2
3
4
5
6
7
8
9
D1_ch2
MMBD1503A
33V
C27
2.2uF
33Van
RED
Active
U32A
Vref
Vref
VCC
MMBD1503A
12
13
14
15
16
17
18
19
20
21
22
OPA2336
W1
GND
D2_ch1
33Van
R2_ch1
10k
R26
2k2
1
2
3
4
5
6
7
8
9
10
Vcc2
VCC1
Vbat
NC
X1
/PF
NC
Vccif
X2
SDO
NC
SDI
/INTO
SCLK
NC
NC
/INT1
CE
GND SERMODE
20
19
18
17
16
15
14
13
12
11
PF
SDI_RCT
SDO_RCT
SCL_RCT
CERCT
U23
DS1305
94
Title
Siz e
A0
D ate:
H OL TER
D oc ument N umber
H olter _Ang+D ig_01
Monday , September 24, 200 7
Rev
01
Sheet
of
7.2.ResumenDatasheets
7.2.1.-Potencimetro Digital
95
7.2.2.-Acelermetro
96
7.2.3.-Convertidor Step-up
97
7.2.4.-Mdulo Bluetooth
98
7.2.5.-Microcontrolador PIC
99
100