Sie sind auf Seite 1von 106

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

INSTITUTO POLITCNICO NACIONAL


ESCUELA SUPERIOR DE INGENIERA
MECNICA Y ELCTRICA
UNIDAD PROFESIONAL
ADOLFO LPEZ MATEOS

SISTEMA DE ADQUISICIN Y REGISTRO DE


SEALES ELECTROCARDIOGRFICAS
(SARSE)

T E S I S
QUE PARA OBTENER EL TTULO DE:

INGENIERO EN COMUNICACIONES Y ELECTRNICA

ELOISA DAZ CRUZ


PABLO HERNNDEZ DEL VALLE
OSWALDO WEBER NICASIO

ASESORES: ING. ALEJANDRO VICENTE LUGO SILVA


M. EN C. ROBERTO GALICIA GALICIA

MXICO, D.F.

26 Noviembre de 2007

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

ii

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

iii

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Contenido
Contenido ................................................................................................................................................. ii
ndice de figuras ....................................................................................................................................... v
ndice de tablas ...................................................................................................................................... viii
Objetivo general ...................................................................................................................................... ix
Objetivos particulares ......................................................................................................................... ix
Justificacin .............................................................................................................................................. x
Alcance .................................................................................................................................................... xi
Introduccin ................................................................................................................................................ 1
Captulo 1: Ritmo y pulso cardaco. Electrocardigrafo. ........................................................................ 3
1.1 Pulso y ritmo cardaco ........................................................................................................................ 3
1.2 Tcnicas de medicin ......................................................................................................................... 4
1.3 Historia y evolucin del electrocardigrafo ......................................................................................... 5
1.4 Electrocardigrafo y electrocardiograma ............................................................................................ 7
Captulo 2: Modelo del sistema y herramientas de desarrollo ............................................................. 12
2.1 Diagrama a bloques del SARSE....................................................................................................... 12
2.2 Teora del funcionamiento de los elementos del SARSE ................................................................. 13
2.2.1 Amplificador de instrumentacin .......................................................................................... 13
2.2.1.1 Operacin bsica ................................................................................................ 15
2.2.1.2 Circuito integrado AD620 .................................................................................... 16
2.2.2 Filtro activo tipo Butterworth ................................................................................................ 18
2.2.2.1Filtros activos: caractersticas .............................................................................. 18
2.2.2.2 Filtro Butterworth pasa-bajas de -40dB/dcada ................................................. 19
2.2.3 Sujetador y recortador de nivel ............................................................................................ 20
2.2.3.1 Sujetador de nivel .............................................................................................. 20
2.2.3.2 Recortador de nivel ............................................................................................ 21
2.2.3.3 Sujetador y recortador de nivel sin distorsin ..................................................... 23
2.2.4 PIC 18F4550........................................................................................................................ 24
2.2.4.1 Caractersticas del PIC 18F4550 ....................................................................... 24
2.2.4.2 Programacin del PIC 18F4550 con MPLAB ..................................................... 25
2.2.5 Programacin de la PC: Borland Builder C++...................................................................... 25
2.2.6 Interfaz grfica ..................................................................................................................... 26
2.2.7 Lenguaje de programacin PHP .......................................................................................... 26
2.2.8 Base de datos ...................................................................................................................... 27
2.2.8.1 Sistema administrador de base de datos relacionales y software libre .............. 28
2.2.9 Apache................................................................................................................................. 29
Captulo 3: Diseo del sistema de adquisicin de datos ..................................................................... 30
3.1 Amplificador de instrumentacin ...................................................................................................... 30

iv

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

3.2 Filtro pasa bajas ............................................................................................................................... 32


3.3 Diseo del sujetador y recortador de nivel ...................................................................................... 33
3.4 Integracin del hardware ................................................................................................................. 34
3.5 Interface de comunicacin ............................................................................................................... 35
Captulo 4: Diseo del software e interfaces para la PC ...................................................................... 40
4.1 Programacin de la interface de comunicacin ................................................................................ 40
4.1.1 Firmware ............................................................................................................................. 40
4.1.2 Firmware CDC .................................................................................................................... 41
4.1.3 Driver. Vendor ID y Product ID ........................................................................................... 41
4.2 Programacin del 18F4550 .............................................................................................................. 41
4.2.1 Entorno de MPLAB ............................................................................................................. 41
4.2.2 Crear un proyecto en MPLAB .............................................................................................. 43
4.2.3 Ensamblar un proyecto en MPLAB ..................................................................................... 44
4.2.4 Entorno de Borland Builder C++ ......................................................................................... 46
4.2.4.1 Ventana principal de Borland Builder C++ .......................................................... 47
4.2.4.2 Inspector de objetos ........................................................................................... 48
4.2.4.3 Diseador de formularios y editor de cdigos ..................................................... 48
4.2.4.4 Compilacin de un programa .............................................................................. 50
4.2.4.5 Ejecucin de un programa .................................................................................. 51
4.3 Operacin de la GUI ........................................................................................................................ 51
4.4 Captura de datos del sistema .......................................................................................................... 53
4.4.1 DBEXPRESS ....................................................................................................................... 53
4.4.1.1 Componentes ..................................................................................................... 53
4.4.1.2 SQLConnection ................................................................................................. 54
4.4.1.3 SQLClientDataSet .............................................................................................. 55
4.4.1.4 SQLQuery ........................................................................................................... 55
4.5 Base de datos en MySQL ................................................................................................................. 57
4.5.1 Funciones de MySQL .......................................................................................................... 57
4.5.2 Creacin de la base de dato ............................................................................................... 60
4.5 Pgina web con HTML ..................................................................................................................... 62
4.6.1 Estructura de un documento HTML ..................................................................................... 62
4.6.2 Tabla de instrucciones en HTML ......................................................................................... 63
4.6.3 Esquema de tipos de un documento HTML ......................................................................... 66
4.7 Elaboracin de la pgina web........................................................................................................... 68
4.7.1 Elaboracin de la pgina Principal.html ........................................................................... 68
4.7.2 Elaboracin de la pgina Cabecera.html........................................................................... 68
4.7.3 Elaboracin de la pgina Menu.html ................................................................................. 69
4.8 Lectura y escritura de informacin en PHP ...................................................................................... 71
Captulo 5: Resultados experimentales ................................................................................................. 73
5.1 Circuito AD620 ................................................................................................................................. 73

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

5.2 Filtro pasa bajas .............................................................................................................................. 75


5.3 Recortador y sujetador de nivel ...................................................................................................... 76
5.4 Integracin del electrocardigrafo ................................................................................................... 79
5.5 Adquisicin de muestras aleatorias ................................................................................................ 79
5.6 Adquisicin y registro del SARSE con una seal senoidal ............................................................. 80
5.7 Adquisicin y registro del SARSE con una seal electrocardiogrfica ........................................... 82
Conclusiones ........................................................................................................................................ 84
Apndice A ............................................................................................................................................ 85
Estudio econmico ....................................................................................................................... 85
Apndice B ............................................................................................................................................ 88
Programacin del PIC................................................................................................................... 88
Alta del paciente ........................................................................................................................... 89
Alta del paciente ........................................................................................................................... 89
Consulta del paciente en la base de datos ................................................................................... 90
Pgina principal ............................................................................................................................ 91
Pgina HTML ................................................................................................................................ 92
Referencias ........................................................................................................................................... 93

vi

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

ndice de figuras
Captulo 1: Ritmo y pulso cardaco. .......................................................................................................... 3
Figura 1.1 Sitios para tomar el pulso cardiaco ....................................................................................... 4
Figura 1.2 Electrocardigrafo de Einthoven .......................................................................................... 5
Figura 1.3 Las derivaciones bipolares .................................................................................................... 8
Figura 1.4 Situacin de los electrodos precordiales ............................................................................... 9
Figura 1.5 Derivaciones precordiales ..................................................................................................... 9
Figura 1.6 Derivaciones bipolares ........................................................................................................ 10
Figura 1.7 Tringulo de Einthoven ....................................................................................................... 10
Captulo 2: Modelo del sistema y herramientas de desarrollo ............................................................ 12
Figura 2.1 Diagrama a bloques del Sistema de Adquisicin y Registro de Seales
Electrocardiogrficas (SARSE) .............................................................................................................. 13
Figura 2.2 a) Amplificador de diferencias ............................................................................................. 14
Figura 2.2 b) Expresin de las entradas en trminos de los componentes de modo comn y de modo
diferencial VCM y VDM .............................................................................................................................. 14
Figura 2.3 Resistencias de entrada en modo diferencial (a) y en modo comn (b) .............................. 14
Figura 2.4 Amplificador de instrumentacin .......................................................................................... 15
Figura 2.5 Conexin externa de

al AI ............................................................................................ 16

Figura 2.6 Circuito integrado AD620 ..................................................................................................... 17


Figura 2.7 Diagrama de conexin interna del Circuito integrado AD620 ............................................... 18
Figura 2.8 Grfica de la respuesta en frecuencia para tres tipos de filtros Butterworth pasa-bajas ..... 19
Figura 2.9 Filtro pasa-bajas con una pendiente de -40dB/dcada ...................................................... 20
Figura 2.10 (a) Sujetador de nivel ........................................................................................................ 20
Figura 2.10 (b) Respuesta del sujetador de nivel para una entrada senoidal ...................................... 20
Figura 2.11 Sujetador de nivel activo ................................................................................................... 21
Figura 2.12 a) Recortador de nivel ...................................................................................................... 22
Figura 2.12 b) Respuesta del recortador de nivel para una entrada senoidal ...................................... 22
Figura 2.13 Recortador de nivel activo ................................................................................................. 22
Figura 2.14 Sujetador y recortador de nivel sin distorsin .................................................................... 23
Figura 2.15 Seal de estrada y salida del sujetador y recortador de nivel sin distorsin ...................... 23
Figura 2.16 PIC 18F4550 ...................................................................................................................... 24
Figura 2.17 Esquema de Borland Builder C++ y una base de datos .................................................... 25
Figura 2.18 Funcionamiento de PHP ................................................................................................... 27
Captulo 3: Diseo del sistema de adquisicin de datos ..................................................................... 30

vii

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 3.1 Diagrama elctrico del amplificador de instrumentacin utilizado en la simulacin ............ 31
Figura 3.2 Respuesta en tiempo del amplificador de instrumentacin ................................................. 31
Figura 3.3 Diagrama elctrico del filtro pasa bajas de -40dB/dcada utilizado en la simulacin ......... 33
Figura 3.4 Respuesta en frecuencia del filtro pasa bajas de -40dB/dcada ........................................ 33
Figura 3.5 Diagrama elctrico del circuito sujetador y recortador de nivel sin distorsin ..................... 35
Figura 3.6 Respuesta en tiempo del circuito sujetador y recortador de nivel ....................................... 35
Figura 3.7 Diagrama elctrico del electrocardigrafo ........................................................................... 36
Figura 3.8 Respuesta en tiempo del electrocardigrafo ....................................................................... 37
Figura 3.9 Diagrama de pistas del electrocardigrafo ......................................................................... 37
Figura 3.10 Circuito del electrocardiograma ........................................................................................ 37
Figura 3.11 Diagrama esquematico de la tarjeta de adquisicin ......................................................... 38
Figura 3.12 Diagrama de pistas de la tarjeta de adquisicin ............................................................... 38
Figura 3.13 Dispositivo final ................................................................................................................ 39
Captulo 4: Diseo del software e interfaces para la PC ..................................................................... 40
Figura 4.1 Escritorio de MPLAB ........................................................................................................... 42
Figura 4.2 Barra de herramientas de MPLAB ....................................................................................... 42
Figura 4.3 Almacenado de proyecto en MPLAB ................................................................................... 43
Figura 4.4 Entorno de editor de MPLAB ............................................................................................... 43
Figura 4.5 Propiedades de un proyecto en MPLAB ............................................................................. 44
Figura 4.6 Ventana posterior al ensamblar correctamente un proyecto en MPLAB ............................. 45
Figura 4.7 Diagrama de flujo de la programacin del microcontrolador ............................................... 46
Figura 4.8 Entorno de Borland Builder C++........................................................................................... 47
Figura 4.9 Men Principal ..................................................................................................................... 47
Figura 4.10 Inspector de Objetos ......................................................................................................... 48
Figura 4.11 Diseador de Formularios ................................................................................................. 49
Figura 4.12 Editor de Cdigo ................................................................................................................ 49
Figura 4.13 Submen Project del men principal ................................................................................. 50
Figura 4.14 Ventana principal del SARSE ............................................................................................ 52
Figura 4.15 Inicio del SARSE ................................................................................................................ 52
Figura 4.16 Inicio del SARSE (toma de muestras) ................................................................................ 53
Figura 4.17 Paleta de componentes en Borland C++............................................................................ 54
Figura 4.18 Ventana de objeto de inspeccin ...................................................................................... 54
Figura 4.19 Conexin con una base de datos ...................................................................................... 55
Figura 4.20 Diagrama Diagrama de flujo para la captura de datos ...................................................... 56
Figura 4.21 Generacin de la tabla ...................................................................................................... 61
Figura 4.22 Generacin de la tabla (Continuacin) ............................................................................... 61

viii

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.23 Tablas principales ............................................................................................................. 62


Figura 4.24 Interface para Internet de PAWEEL .................................................................................. 67
Figura 4.25 Disposiciones de la pgina principal ................................................................................. 68
Figura 4.26 Imagen de la cabecera ...................................................................................................... 68
Figura 4.27 Imagen resultante de Cabecera.html ................................................................................ 69
Figura 4.28 Imagen de fondo para Menu.html ...................................................................................... 69
Figura 4.29 Imgenes de adorno para Menu.html ................................................................................ 70
Figura 4.30 Imagen resultante de Menu.html ....................................................................................... 70
Captulo 5: Resultados experimentales ................................................................................................. 73
Figura 5.1 Circuito AD620 con resistencia externa ............................................................................... 73
Figura 5.2 Seal de entrada al amplificador de instrumentacin ........................................................... 74
Figura 5.3 Seal de salida al amplificador de instrumentacin ............................................................. 74
Figura 5.4 Grfica de la respuesta en frecuencia del filtro pasa bajas .................................................. 76
Figura 5.5 Filtro pasa bajas ................................................................................................................... 76
Figura 5.6 Recortador y sujetador de nivel ............................................................................................ 77
Figura 5.7 Seal de entrada al recortador y sujetador de nivel ............................................................. 77
Figura 5.8 Seal de salida al recortador y sujetador de nivel (seal recortada) .................................... 78
Figura 5.9 Seal de salida al recortador y sujetador de nivel ................................................................ 78
Figura 5.10 Seal de salida del electrocardigrafo ............................................................................... 79
Figura 5.11 Grfica de datos aleatorios ................................................................................................ 80
Figura 5.12 Muestras tomadas de una seal senoidal .......................................................................... 81
Figura 5.13 Grfica almacenada en la base de datos ........................................................................... 82
Figura 5.14 Conexin del paciente al electrocardigrafo ...................................................................... 83
Figura 5.15 Seal electrocardiogrfica .................................................................................................. 83

ix

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

ndice de tablas
Captulo 1: Ritmo y pulso cardaco. ......................................................................................................... 3
Tabla 1.1. Valores del ritmo cardiaco normales ....................................................................................... 3
Tabla 1.2. Zonas de toma del ritmo cardiaco ........................................................................................... 5
Tabla 1.3. 1Historia del electrocardiograma y electrocardigrafo............................................................. 6
Tabla 1.4. Ondas caractersticas de la actividad cardiaca...................................................................... 11
Captulo 2: Modelo del sistema y herramientas de desarrollo ............................................................. 12
Tabla 2.1. Caractersticas del PIC 18F4550 ........................................................................................... 25
Captulo 4: Diseo del software e interfaces para la PC ..................................................................... 40
Tabla 4.1. Tabla comparativa ............................................................................................................ 40
Tabla 4.2. Funciones MySQL ................................................................................................................ 57
Tabla 4.3. Instrucciones en HTML ......................................................................................................... 63
Captulo 5: Resultados experimentales ................................................................................................. 73
Tabla 5.1 Valores de la respuesta en frecuencia del filtro ..................................................................... 75

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Objetivo general
Disear y construir un sistema de adquisicin de datos aplicado para registrar el ritmo cardiaco.

Objetivos particulares
Disear y construir el hardware de captura y registro de ritmo cardiaco.
Disear y construir el hardware y el software de transferencia de datos a una
computadora personal (PC).
Disear e implementar la interfaz grfica de usuario (GIU).
Disear e implementar la pgina web del sistema y las rutinas de comunicacin y
transporte de datos.

xi

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Justificacin
El proyecto fue elegido por el auge que ha tenido en la medicina moderna, la utilizacin de los
instrumentos electrnicos para medir las variables fisiolgicas; ritmo cardiaco, temperatura,
presin arterial etc. del ser humano; ms an para evitar la necesidad que un mdico
permanezca todo el tiempo en el hospital para verificar esas mediciones. Por eso, se decidi
disear ms que un aparato mdico, un sistema que pueda realizar mediciones y enviarlas a
travs de la red, para que el mdico pueda revisarlas desde el punto donde se encuentre a
distancia remota del paciente. Este sistema permite adems, consultar y actualizar el historial
clnico dentro de una base de datos donde podr informarse del estado de sus pacientes, sin
tener que salir de casa, a menos que sea estrictamente necesario.
Los pacientes no tendrn que preocuparse si el mdico tiene que salir o no se encuentra
en el hospital, ya que ste sistema es de fcil colocacin y los datos son manejados en tiempo
real, lo que podra definirse como una pequea videoconferencia donde el mdico estando
incluso del otro lado del mundo podr conocer el estado de su paciente y obtener grficas
digitales del ritmo cardiaco a distancia.
El sistema al ser un prototipo en proceso de experimentacin, no ser aplicado en la vida
diaria, pues debe someterse a estrictas pruebas de valoracin y acreditacin ante las
autoridades de salud del pas. An as, no se pretende sacrificar los estndares establecidos
para este tipo de sistemas, ya que lo que se busca es crear un beneficio para los pacientes y los
mdicos.
Una vez que sea acreditado y autorizado (en una etapa posterior) el sistema puede ser
confiable y se convertir en un sistema con alta demanda en nuestro pas, ya que no se tienen
registros de sistemas comerciales de ste tipo, con manufactura mexicana.

xii

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Alcance
El proyecto es tecnolgicamente posible de realizar ya que la estructura interna del
electrocardigrafo se basa en amplificadores operacionales y filtros, los cuales ayudan a tener
una respuesta confiable; adems la tarjeta de adquisicin de datos se puede construir en Mxico
y con los conocimientos adquiridos y por adquirir es factible la fabricacin del sistema.
Por otra parte los insumos son de fcil adquisicin en Mxico, tanto la tarjeta de
adquisicin de datos como los componentes internos de las tablillas a realizar.
Como cualquier proyecto que inicia existen limitantes que acotan el alcance del proyecto
y en este caso la mayora de los hospitales estn acostumbrados a trabajar con los
electrocardigrafos fijos. Otra limitacin es que el sistema maneja una comunicacin simple, es
decir, los datos slo son enviados del sistema a la red y no existe un regreso de datos como
podra ser un diagnstico del mdico que en ese momento estuviera revisando las seales en
tiempo real.

xiii

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

INTRODUCCIN
Actualmente es indispensable contar con equipos mdicos que cuenten con tecnologa capaz de
facilitar acciones en las cuales antes era necesaria la intervencin de personal mdico, tal como
enfermeras o bien el mismo mdico. Dicho equipo, adems de contar con la tecnologa
necesaria, debe ser capaz de tener un control y administracin de la informacin que procesa
con el fin de que sta se almacene para su consulta en tiempo real, o bien, en tiempo posterior a
su adquisicin.
Este trabajo se centra la implementacin de un sistema integral enfocado a la medicin
de variables fisiolgicas, las cuales son el conjunto de signos vitales. stas son la presin
arterial, la frecuencia cardiaca, la frecuencia respiratoria y la temperatura corporal. A su vez, ste
conjunto de signos vitales son manifestaciones objetivas que se pueden percibir y medir en un
organismo vivo, en una forma constante.
Con este trabajo se resolver la adquisicin y registro de datos para una variable
fisiolgica de gran importancia: el ritmo cardiaco. Dicha adquisicin de informacin se har a
travs de un sistema capaz de medir el ritmo cardiaco, para posteriormente procesar
digitalmente la informacin y generar una base de datos disponible va internet para el personal
mdico.
La variable a medir ser adquirida por medio de una unidad porttil la cual tendr como
canal de comunicacin el Bus Universal Serie (USB), de la PC. Para llevar a cabo lo anterior, es
indispensable digitalizar las seales con el propsito de almacenarlas en la unidad porttil y
transmitirlas por el canal de comunicacin especificado.
Mediante un software diseado especialmente para este sistema, se tendr acceso a la
informacin de forma visual, es decir, se tiene una interfaz grfica que permite al personal
mdico observar grficamente el comportamiento de la variable fisiolgica medida, as como los
datos personales de cada uno de sus usuarios. Posteriormente, este software es transmitido va
internet para su consulta remota.
En el captulo 1 se dar una introduccin a los aspectos tericos mdicos que se
necesitan conocer para poder entender el comportamiento de las seales a medir, as mismo,
conocer su naturaleza y sus valores posibles. Adems se explicarn algunas tcnicas de
medicin.
En el captulo 2 se describir la base del funcionamiento del electrocardigrafo. Se
tratarn cada uno de los elementos que lo conforman y se describir su comportamiento.
En el captulo 3 se realizarn los clculos requeridos para el diseo del hardware,
correspondiente al amplificador de instrumentacin, filtro pasa bajas, sujetador y recortador de
nivel. As mismo se integrar el electrocardigrafo.
En el captulo 4 se especificar el diseo del software correspondiente al SARSE, el cual
est compuesto por la programacin de la interface, una base de datos y la GUI, as mismo la
conexin entre ambas.

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

El captulo 5 es la etapa final del sistema y por tanto, en este captulo se reportan las
pruebas realizadas a cada una de las etapas que integran el sistema. Cada prueba fue realizada
bajo caractersticas especiales de cada etapa.

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

1
RITMO Y PULSO CARDIACO.
ELECTROCARDIGRAFO
En este captulo se dar una introduccin a los aspectos tericos mdicos que se necesitan
conocer, para entender el comportamiento de las seales cardiaca, conocer su naturaleza y sus
posibles valores. Adems se explicarn algunas tcnicas de medicin.
El electrocardigrafo es un sistema que registra las pequeas ondas elctricas
generadas durante la actividad cardiaca, usado hoy en da como una manera relativamente
simple de diagnosticar las condiciones de salud del corazn del paciente.

1.1

Pulso y ritmo cardaco

El ritmo cardaco se define como la expansin y contraccin de una arteria (vaso sanguneo que
lleva sangre oxigenada a los rganos o tejidos) percibida en determinada parte del cuerpo. El
ritmo cardiaco se refiere a las veces que late el corazn en un minuto. Por lo tanto el pulso y
ritmo cardiaco se deben considerar de forma conjunta, ya que una depende de la otra y
viceversa.
El ritmo cardiaco normal vara de acuerdo a diferentes factores, dentro de los cuales el
ms importante es la edad. Como muestra la tabla 1.1. En general se considera normal el ritmo
cardiaco si este se encuentra entre 60 y 100 pulsaciones por minuto. Si el ritmo cardiaco en
menor a 60 pulsaciones (latidos) por minuto, se considera bradicardia; por el contrario si las
pulsaciones son mayores a 100, se considera taquicardia.

TABLA 1.1 Valores del ritmo cardiaco normales


Etapa
Pulsaciones por minuto
Recin nacidos
100 a 160
Nios de 1 a 7 aos
70 a 120
Nios de ms de 10 aos y adultos
60 a 100
Ancianos
60 o menos
Atletas
40 a 60
Fuente: http://www.cerritos-slp.com/MEDICINA/pulso.htm

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

1.2

Tcnicas de medicin

El pulso cardiaco se puede tomar en diferentes partes del cuerpo, siendo las ms comunes las
que se muestran en la figura 1.1. Mientras que en la tabla 1.2 se observan las zonas en los
cuales se toma usualmente el ritmo cardiaco. Para medir el ritmo cardiaco, las arterias que se
encuentran en stas zonas se palpan y con ayuda de un reloj se cuentan las pulsaciones en un
minuto.
Por otra parte, existen equipos digitales que permiten hacer este tipo de mediciones, tal es
el caso de algunos baumanmetros1 que incluyen el registro del ritmo cardiaco. Pero existe un
equipo capaz no slo de obtener el pulso cardiaco, sino tambin un estudio completo de la
actividad del corazn; ste es el electrocardigrafo.

Figura 1.1 Sitios para tomar el pulso cardiaco


Fuente: http://www.cerritos-slp.com/MEDICINA/pulso.htm

Haciendo una comparacin de las tcnicas que se pueden utilizar para medir el pulso y
ritmo cardiaco, resulta ms eficiente la utilizacin del electrocardigrafo, ya que no slo
proporcionar los datos correspondientes a estas dos variables fisiolgicas, sino que tambin
1

Baumanmetros.- instrumento que permite medir la fuerza que ejerce la sangre sobre las paredes de las arterias.

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

proporcionar un estudio ms detallado que puede detectar anomalas en el funcionamiento de


la actividad del corazn.
TABLA 1.2 Zonas de toma del ritmo cardiaco
Zona
Nombre
Sien
Temporal
Cuello
Carotideo
Parte interna del brazo
Humeral
Mueca
Radial
Parte interna del pliegue del codo
Cubital
Ingle
Femoral
Dorso del pie
Pedio
Tetilla izquierda (bebs)
Apical

1.3

Historia y evolucin del electrocardigrafo

Las corrientes elctricas del corazn haban sido medidas por ms de cien aos, pero la funcin
fundamental del electrocardigrafo, tal y como lo conocemos hoy, fue desarrollada por el
cientfico holands Willem Einthoven a principios del Siglo XX.

Figura 1.2 Electrocardigrafo de Einthoven

El electrocardigrafo naci con la necesidad de conocer de forma ms detallada el


comportamiento del corazn y sus seales. A su vez se hizo necesario observar los resultados
que se obtenan, con lo cual surgi el electrocardiograma. En la tabla 1.3 se hace una resea
histrica de los acontecimientos que dieron origen al electrocardigrafo y como consecuencia, al
electrocardiograma.

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

TABLA 1.3 Historia del electrocardiograma y electrocardigrafo

Ao
1842

1843

1850

1856

1872
1876

1878

1887

1891

1895
1901

1902
1905
1912
1928

Evento
Carlo Matteucci demuestra que una corriente elctrica acompaa cada latido del
corazn (el anca de rana se utilizaba como sensor elctrico y la contraccin del msculo
del anca era utilizada como signo visual de la actividad elctrica).
El fisilogo alemn Emil Dubois Raymond describe un potencial de accin que
acompaa cada contraccin muscular. Detect la presencia de un pequeo voltaje en el
msculo relajado y not que ste disminua con la contraccin del msculo.
La actividad irregular y forzada de los ventrculos (llamada luego fibrilacin ventricular)
es descrita por Hoffa. l demostr que un solo pulso elctrico puede inducir la
fibrilacin.
Rudolph von Koelliker y Heinrich Muller confirman que una corriente elctrica acompaa
cada latido cardiaco, aplicando un galvanmetro a la base y el pex (vrtice) de un
ventrculo expuesto. Ellos aplicaron tambin una preparacin de msculo y nervio al
ventrculo y observaron que apareca una sacudida del msculo, justo antes de la
contraccin ventricular y tambin una sacudida mucho ms pequea, despus de la
sstole.
El fsico francs Gabriel Lippmann inventa un medidor de voltaje por capilaridad. Es un
tubo delgado de vidrio con una columna de mercurio bajo cido sulfrico.
Marey usa el voltmetro para registrar la actividad elctrica del corazn expuesto de una
rana.
Los fisilogos britnicos John Burden Sanderson y Frederick Page registran la corriente
elctrica cardiaca con un voltmetro capilar y muestran que se compone de dos fases
(llamadas ms adelante QRS y T).
El fisilogo britnico Augustus D. Waller publica el primer electrocardiograma humano.
Est registrado con un voltmetro de capilaridad de Thomas Goswell, un tcnico de
laboratorio.
Los fisilogos britnicos William Bayliss y Edward mejoran el voltmetro capilar.
Conectan los terminales a la mano derecha y a la piel sobre el latido de la punta y
muestran "una variacin trifsica acompaando cada latido cardiaco". Tambin
demostraron un retraso de 0.13 segundos entre la estimulacin atrial y la
despolarizacin de los ventrculos.
Einthoven, utilizando un voltmetro mejorado y una frmula de correccin desarrollada
independientemente de Burch, distingue cinco ondas que l denomina: P, Q, R, S y T.
Einthoven inventa un galvanmetro nuevo para producir electrocardiogramas que
utilizan una filamento fino de cuarzo revestido en la plata, basado en ideas de Deprez y
D' Arsonval quien utiliz un rollo de alambre.
Einthoven publica el primer electrocardiograma registrado con un galvanmetro de
filamento.
Einthoven comienza a transmitir electrocardiogramas desde el hospital, a su laboratorio,
a 1.5 Km., va cable de telfono. El 22 de marzo se obtiene el primer 'telecardiograma'.
Einthoven describe un tringulo equiltero formado por sus derivaciones estndar: I, II,
III que ms adelante sera llamado el "Tringulo de Einthoven".
Ernstine y Levine anunciaron el uso de tubos de vaco que amplificaran el
electrocardiograma, en lugar de mecanismos de ndole mecnica como el galvanmetro
de filamento.
6

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

1942

1949

1993

Emanuel Goldberger incrementa el voltaje de las derivaciones unipolares de Wilson en


un 50% y crea las derivaciones de los miembros amplificadas: aVR, aVL, aVF. Cuando
son aadidas a las tres derivaciones de Einthoven y las seis precordiales, se llega al
ECG de 12 derivaciones.
El mdico de Montana, Norman Jeff Holter, desarrolla un equipo de 37 Kg. que poda
registrar el electrocardiograma del quien lo portaba y transmita la seal. Su sistema, el
monitor Holter, fue posteriormente muy reducido en tamao combinndose con la
grabacin digital en cinta y utilizado para el registro ambulatorio de electrocardiogramas.
Robert Zalenski y sus colaboradores publican un artculo sobre el uso clnico del
electrocardiograma de 15 derivaciones, que utiliza rutinariamente las derivaciones V4R,
V8 y V9 en el diagnstico del sndrome coronario agudo. As como hizo la adicin de las
6 derivaciones precordiales en 1938, estas derivaciones adicionales incrementan la
sensibilidad del electrocardiograma en la deteccin del Infarto de miocardio.

1.4 Electrocardigrafo y electrocardiograma


El corazn de un humano acta como una bomba hidrulica de cuatro cmaras y doble funcin:
el ventrculo izquierdo bombea sangre al cuerpo y el derecho a los pulmones. El trabajo hecho
en cada contraccin est dado por
, donde DV es el volumen de sangre que entra
a la arteria y P es la presin sangunea media, durante el latido. Los valores caractersticos para
el ventrculo izquierdo son: DV = 60 cm3 y (P) = 105 mm de Hg.

donde:

La potencia de salida del ventrculo izquierdo puede calcularse a partir de la relacin.


donde:
Dt = 0,8 segundos para un ciclo.
Por lo tanto, el resultado seria 1.04 W.
El ventrculo derecho que enva sangre a los pulmones desarrolla apenas un sexto de la
presin del ventrculo izquierdo, as que su potencia de salida, es 1.04/6 = 0.173 W.
La potencia total, considerando ambos lados del corazn a una frecuencia de 80 latidos
por minuto durante, el reposo. Es entonces:

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Durante el ejercicio, el ritmo cardiaco se incrementa hasta aproximadamente 160 latidos


por minuto, los cambios de volumen de los ventrculos se hacen mayores, as como la velocidad
de la sangre.
En el domino de la frecuencia, se han obtenido resultados que muestran que la seal
electrocardiogrfica tiene un espectro en frecuencia que va de 0.05Hz a 100Hz, con una
amplitud de 0.02 m Volts a 5.0m Volts.
El electrocardigrafo es un equipo que permite obtener un registro de informacin de la
funcin del corazn. El electrocardiograma es un estudio de rutina que se realiza para observar y
registrar las seales elctricas emitidas durante la actividad cardiaca.
El electrocardiograma, comnmente conocido por la abreviatura ECG, refleja la actividad
elctrica del corazn y por tanto, brinda informacin acerca de la funcin cardiaca, adems
registra los impulsos elctricos que originan la contraccin cardiaca, por medio de las
derivaciones bipolares, como se muestra en la figura 1.3.

Figura 1.3 Las derivaciones bipolares

La actividad elctrica del corazn se puede medir desde el exterior, a travs de la piel
del individuo, mediante electrodos2 y un equipo capaz de aumentar y registrar las seales
elctricas.
Dicha actividad elctrica se observa por medio de ondas que son la representacin
grfica de dicha actividad. Existen 6 tipo principales de ondas que describen el comportamiento
de la actividad elctrica del corazn y stas se muestran en la tabla 1.4, como una breve
descripcin. Cada onda se puede acompaar de otra para describir un comportamiento en
particular del corazn. Cuando el estmulo elctrico fluye hacia un electrodo positivo (colocado
en la piel) aparece una onda positiva en el trazo.
El ECG estndar consta de 6 derivaciones precordiales y 6 derivaciones de miembro.
Por otra parte, la mayor parte de las derivaciones del ECG captan la electricidad desde un solo
Instrumento por medio del cual se transmite una corriente elctrica de un conductor a una parte del cuerpo o a otro
medio.
2

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

punto y se llaman por tanto "derivaciones unipolares". Por el contrario, tres de las derivaciones
de los miembros (concretamente I, II y III) se llaman "derivaciones bipolares", porque muestran la
diferencia de la actividad elctrica recogida simultneamente desde dos puntos diferentes.
Las derivaciones precordiales (V1, V2, V3, V4, V5 y V6) son aquellas derivaciones
unipolares que se obtienen al colocar el electrodo positivo en las reas indicadas en la pared
torcica (figura 1.4) y el negativo en la terminal central, que en este caso se consigue al poner en
conexin los tres electrodos de las extremidades: los electrodos de los brazos derecho e
izquierdo y de la pierna izquierda, (figura 1.5). As pues, una derivacin precordial mide la
diferencia de potencial entre un electrodo torcico y la terminal central.

Figura 1.4 Situacin de los electrodos precordiales

El ECG se registra con dispositivos que reproducen 1, 3, 6 o incluso las 12 derivaciones


a la vez. Los ms frecuentes son los de 3 y 6 canales.

Figura 1.5 Derivaciones precordiales

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Las ondas caractersticas que se obtiene de esta forma son las mostradas en la tabla
1.4.
Las derivaciones de miembros segn Einthoven, se obtienen colocando un electrodo en
el brazo derecho, otro en el brazo izquierdo y finalmente, otro en el pie izquierdo. Esta
disposicin de electrodos recibe el nombre de tringulo de Einthoven (figura 1.6) y corresponde
a las derivaciones bipolares de los miembros, ya que entrega la diferencia de voltaje en el plano
frontal de las extremidades.

Figura 1.6 Derivaciones bipolares

Se observa en la figura 1.7 que uno de los electrodos es negativo y el otro positivo. Se
debe colocar el electrodo positivo en el brazo izquierdo y el electrodo negativo en el brazo
derecho.

Figura 1.7 Tringulo de Einthoven

10

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Onda

TABLA 1.4 Ondas caractersticas de la actividad cardiaca


Descripcin
Forma
Representa la actividad elctrica del corazn que
produce la contraccin de las aurculas.

Primera deflexin hacia abajo (negativa) del


complejo QRS.

Deflexin positiva antecedida por una onda Q.

Deflexin negativa que va precedida de una onda R.


S
T

Re-polarizacin de los ventrculos.

QRS

Describe la despolarizacin y posterior contraccin


de los ventrculos.

11

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

2
MODELO DEL SISTEMA Y HERRAMIENTA DE
DESARROLLO
En este captulo se propondr el modelo para el SARSE, se describir la base del
funcionamiento del electrocardigrafo. Se tratarn cada uno de los elementos que lo conforman y
se describir su comportamiento.
Asimismo, se dar una explicacin breve de las herramientas de desarrollo que se
utilizarn para la construccin de la versin en prototipo del SARSE.

2.1 Diagrama a bloques del SARSE


El corazn emite seales bioelctricas de muy baja intensidad de voltaje. Todos los equipos
mdicos que se disean tienen como elemento bsico un amplificador de instrumentacin, que
cumple la funcin de amplificar seales de baja intensidad y mejorar la relacin de seal a ruido.
En este caso, como se menciona en la seccin 1.4 las seales electrocardiogrficas tiene una
amplitud de 0.05 a 5mV, amplitudes que resulta complicado medir, razn por la que el
amplificador de instrumentacin ser un elemento fundamental del SARSE.
En la misma seccin 1.4 tambin se menciona el intervalo de frecuencias en las cuales
se encuentra la seal electrocardiogrfica. Es por eso que el SARSE, debe contar con un filtro
pasa-bajas, con una frecuencia de corte de 110 Hz.
La seal obtenida a la salida del filtro es de tipo bipolar. Considerando que el convertidor
analgico-digital que se propone usar (PIC18f4550) es unipolar, la seal se recorta y sujeta a un
nivel de cd. Esto se realiza por medio de un circuito recortador y sujetador de nivel, dndole una
ganancia de 2.
Teniendo una seal apropiada para la conversin analgico-digital, el PIC 18F4550 la
transforma en datos con una resolucin de 8 bits. La unin de todos los circuitos hasta aqu
mencionados, es lo que llamaremos tarjeta de adquisicin de datos.
Por medio del bus serie universal o USB, se llevar a cabo la comunicacin entre la
tarjeta de adquisicin de datos y la computadora personal (PC).
La base de datos que se dise para el sistema estar basada en PHP (Hypertext
Preprocessor) y MySQL, las cuales conforman parte del software del sistema. Por ltimo para el
usuario se propone utilizar una interfaz grfica (GUI) y una la pgina web diseada en HTML.

12

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 2.1 Diagrama a bloques del Sistema de Adquisicin y Registro de Seales


Electrocardiogrficas (SARSE)

2.2 Teora del funcionamiento de los elementos del SARSE


De acuerdo al diagrama de bloques de la figura 2.1, se describirn primero los bloques
referentes a la tarjeta de adquisicin de datos (compuesta por el electrocardigrafo y la interfaz
de comunicacin) y por ltimo los bloques correspondientes a la base de datos, la interfaz grfica
de usuario y la pgina web.

2.2.1 Amplificador de instrumentacin


Un amplificador de instrumentacin (AI) es un amplificador de diferencias que satisface las
siguientes especificaciones:

Impedancias de entrada de modos diferencial y comn muy altas (infinitas, en forma


ideal).

Impedancia de salida muy baja (idealmente, de cero).

Ganancia exacta y estable, por lo comn en el rango de 1 a 103.

Razn de rechazo, extremadamente elevada.

El AI se usa para amplificar de manera exacta, una seal de nivel bajo en presencia de
un componente grande de modo comn (ruido). Esta es la razn por la cual, los AI se aplican
mucho en instrumentacin de pruebas y mediciones.
En este caso la seal a medir es la emitida por el corazn, la cual corresponde a una
seal bioelctrica. Por medio de un ajuste apropiado, es posible que el amplificador de la figura
13

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

2.2a) cumpla, en forma satisfactoria, con las tres ltimas especificaciones. Sin embargo, segn la
ecuacin 2.1, la primera especificacin falla debido a que sus resistencias de entrada, tanto en
modo diferencial como en modo comn son finitas. En consecuencia, se degrada la relacin de
rechazo en modo comn (CMRR). Estas desventajas se eliminan si en la etapa de entrada se
usan dos buffers de impedancia de entrada muy alta (CMOS). El resultado en un circuito clsico
que se conoce como Amplificador de Instrumentacin con triple amplificador operacional (figura
2.4).

Figura 2.2 a) Amplificador de diferencias. b) Expresin de las entradas en trminos de los


componentes de modo comn y de modo diferencial VCM y VDM

La figura 2.3 muestra las resistencias de entrada en modo diferencial y en modo comn.
De forma rpida se ve que:

Figura 2.3 Resistencias de entrada en modo diferencial (a) y en modo comn (b)

14

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

2.2.1.1 Operacin bsica3


En la figura 2.4 se muestra una versin simplificada de un amplificador de instrumentacin. Los
amplificadores operacionales TL081-1 y TL081-2 son etapas amplificadoras no inversoras que
proporcionan alta impedancia de entrada y alta ganancia de voltaje. El amplificador operacional
TL081-3 es un amplificador de ganancia unitaria. Cuando RG se conecta externamente, como se
muestra en la figura 2.5, el amplificador operacional TL081-1 recibe una seal de entrada
diferencial
en su entrada no inversora y la amplifica con una ganancia de
. El
amplificador operacional TL081-1 recibe tambin la seal de entrada TL081-1 a travs del
amplificador operacional TL081-2, Rf2 y RG.
aparece sobre la entrada inversora del
. Adems, se
amplificador operacional TL081-1 y es amplificado por una ganancia de
amplifica el voltaje en modo comn en la entrada no inversora por la ganancia en modo comn
de TL081-1. (
suele ser menor que la unidad). El voltaje de salida total del amplificador
operacional TL081-1 se expresa de la siguiente forma:

Al aplicar un anlisis semejante al amplificador operacional


expresin.

, obteniendo la siguiente

Figura 2.4 Amplificador de Instrumentacin

Entonces, voltaje de entrada diferencial al amplificador operacional TL081-3 es

Floyd , T., (1996), Dispositivos Electrnicos. Limusa.

15

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 2.5 Conexin externa de

al AI

Si

Se observa que los voltajes en modo comn ( ) son iguales, y por lo tanto se
cancelan. Al factorizar la ecuacin 2.5 se obtiene el siguiente resultado, que es la entrada
diferencial al amplificador operacional TL081-3:

Como el amplificador operacional TL081-3 tiene ganancia unitaria, la salida del


amplificador de instrumentacin es

Y la ganancia en lazo cerrado es:

2.2.1.2 Circuito Integrado AD620


El circuito integrado AD620 (figura 2.6) es un amplificador de instrumentacin de bajo costo sin
terminal de entrada de deteccin. Este circuito integrado se puede adquirir en dos
presentaciones, una es el encapsulado SOIC y otra es la tradicional DIP de 8 terminales. Este
circuito integrado slo requiere de la conexin externa de
para determinar la ganancia (G), la
cual tiene un intervalo de 1 a 10,000.
16

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

El clculo de la ganancia est determinado por:

Donde

es la resistencia que se conecta externamente.

Figura 2.6 Circuito Integrado AD620

Caractersticas del CI AD6204:

Baja potencia: mxima corriente suministrada de 1.3mA


Voltaje de salida offset: 50V
Excelente relacin de rechazo en modo comn (CMRR): 100dB
Ancho de banda : 120kHz
Intervalo de ganancia: 1 a 10,000
Intervalo de alimentacin: 2.3 V a 18 V
Mejor desempeo que 3 amplificadores operacionales interconectados externamente
Bajo ruido, ruido del voltaje de entrada: 9nV/
@ 1kHz y 0.28Vp-p de ruido (0.1 Hz
a 10Hz)
15s tiempo de resolucin a 0.001% : 15s

Dada la baja corriente suministrada, el CI AD620 es una buena opcin para aplicaciones
que utilicen bateras, o bien, para aplicaciones portables. Asimismo, el AD620 es de utilidad para
sistemas de adquisicin de datos de precisin.
Por otra parte, el bajo nivel de ruido, y la baja potencia del AD620 lo hacen muy
adecuado para aplicaciones mdicas, como el ECG.
En la figura 2.7 se observa el diagrama de conexin interno del CI AD620. Como se
observa, el diagrama es el mismo que el de la figura 2.5, pero es de mayor precisin y de fcil
implementacin, ya que reduce espacio en la tarjeta de adquisicin de datos y reduce los
problemas de ruido captado de conexin de los circuitos impresos en las pistas.
4

Hojas de especificaciones: Low Cost Low Power Instrumentation Amplifier AD620 (Analog Devices)

17

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Para ms informacin sobre el circuito integrado AD620 consultar las hojas de


especificaciones en la pgina de internet:
http://www.analog.com/en/prod/0%2C2877%2CAD620%2C00.html.

Figura 2.7 Diagrama de conexin interna del circuito integrado AD620

2.2.2 Filtro activo tipo Butterworth


2.2.2.1 Filtros activos y sus caractersticas
Un filtro es aquel dispositivo que modifica de cierto modo una seal que pasa a travs de l. Los
filtros activos son aquellos que utilizan amplificadores operacionales, lo cual significa que no
introducen prdidas y se puede tener ganancia.
En este trabajo slo se har uso de estos tipos de filtros, dado que sus caractersticas
son apropiadas para la construccin del electrocardigrafo. El tipo de filtro activo ms
conveniente para la implementacin del sistema es el de tipo Butterworth.
Los filtros activos Butterworth son necesarios cuando se desea conseguir una buena
precisin en la banda de paso, ya que no introducen distorsin en amplitud. A este tipo de filtro
tambin se le denomina filtro de mximo plano o filtro plano-plano, debido a que su respuesta en
frecuencia es mximamente plana. En la figura 2.8 se muestran las respuestas en frecuencia de
filtros Butterworth con pendiente de atenuacin de -20dB/dcada, -40 dB/dcada y -60
dB/dcada respectivamente. En este trabajo solamente se propone utilizar el filtro Butterworth
de -40 dB/dcada, ya que no se requiere que la respuesta en frecuencia tenga una pendiente tan
pronunciada.

18

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 2.8 Grfica de la respuesta en frecuencia para tres tipos de filtros Butterworth pasa-bajas

Los filtros Butterworth no estn diseados para mantener un ngulo de fase constante a
la frecuencia de corte. Un filtro Butterworth de -40 dB/dcada tiene un ngulo de fase de -90 a
y para cada incremento de -20 dB/dcada, el ngulo de fase se incrementar en -45 .

2.2.2.2 Filtro Butterworth pasa-bajas de -40dB/dcada


El circuito de la figura 2.9 muestra la implementacin de un filtro pasa-bajas diseado para
producir una atenuacin de -40dB/dcada. Se incluye (en este caso) la resistencia
para la
desviacin de CD.
El diseo del filtro pasa-bajas de la figura 2.9 se puede simplificar si se hacen las
y
iguales a . Hay slo cinco pasos en el procedimiento del diseo de este
resistencias
filtro:
1.- Seleccionar la frecuencia de corte
o bien .
2.- Escoger ; seleccionar un valor adecuado entre 100pF y 0.1F.
3.- Hacer
=2
4.- Calcular

5.- Seleccionar Rf = 2R.


19

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 2.9 Filtro pasa-bajas con una pendiente de -40dB/dcada

2.2.3 Sujetador y recortador de nivel


2.2.3.1 Sujetador de nivel
Un sujetador de nivel o cambiador de nivel es un circuito electrnico que cambia una seal
analgica a un nivel diferente de cd, en general, el circuito consta de un capacitor (C), un diodo
(D) y un resistor (R), aunque en algunas ocasiones se puede emplear una fuente independiente
de cd para introducir un deslazamiento adicional.
La magnitud de R y C debe elegirse de tal modo que la constante de tiempo
,
sea suficientemente grande para asegurar que el voltaje del capacitor no se descargue
significativamente, durante el intervalo de tiempo en que el diodo no est conduciendo. En la
figura 2.10 (a) se muestra la red bsica de un sujetador de nivel, y en la figura 2.10 (b) la
respuesta del mismo circuito para una seal de entrada senoidal. As como existen sujetadores
pasivos, tambin existen sujetadores de nivel activos, como el de la figura 2.11.

Figura 2.10(a) Sujetador de nivel

20

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 2.10 (b) Respuesta del sujetador de nivel para una entrada senoidal

En los sujetadores activos, si se supone inicialmente el valor del potencimetro tal que,
la terminal no inversora est a tierra, se tiene que durante el primer semiciclo positivo de la
entrada se produce una salida negativa en el amplificador, por lo que el diodo conduce. As, el
capacitor se carga al valor pico del semiciclo de entrada. Justo despus de este semiciclo
positivo, el diodo deja de conducir y se abre el lazo de retroalimentacin, entonces la tensin de
salida resulta igual a la suma de las tensiones de entrada del capacitor. Es as, como la seal de
salida se desplaza al valor pico de la seal de entrada. La variacin del potencimetro permite
fijar el nivel mnimo de la seal de salida.

Figura 2.11 Sujetador de nivel activo

2.2.3.2 Recortador de nivel


Los circuitos recortadores de nivel tienen la funcin de eliminar parte de una forma de onda que
se encuentre por encima o por debajo de algn nivel de referencia, sin distorsionar la parte
restante de la seal. Los circuitos recortadores se conocen a veces como limitadores; selectores
de amplitud. En la figura 2.12 se muestra un circuito recortador de nivel en paralelo.
21

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 2.12(a) Recortador de nivel

Figura 2.12 (b) Respuesta del recortador de nivel para una entrada senoidal

Existen recortadores activos, los cuales involucran un amplificador operacional. En la


figura 2.13 se muestra el diagrama elctrico de ste tipo de circuito.
En el recortador activo, cuando se fija la tensin sobre la entrada no inversora en cero
volts, si la tensin de entrada es ligeramente negativa, el diodo conduce, ya que el amplificador
lleva a la salida una tensin ligeramente positiva y la resistencia de retroalimentacin es nula. En
el caso en que la entrada es ligeramente negativa, el diodo no conduce, as el lazo de
retroalimentacin est abierto y la tensin de salida sigue al semiciclo positivo de la seal de
entrada. Si el diodo se invierte, permite recortar el semiciclo positivo y obtener el semiciclo
negativo de la entrada. La variacin del potencimetro permite ajustar el voltaje que recorta de la
seal.

Figura 2.13 Recortador de nivel activo


22

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

2.2.3.3 Circuito sujetador y recortador de nivel sin distorsin


En la figura 2.14 se observa la combinacin del circuito sujetador y recortador de nivel, utilizando
un solo amplificador operacional. En este circuito, a diferencia de los mencionados en las
secciones 2.2.3.1 y 2.2.3.2, se puede tener ganancia de voltaje, la cual est dada por la ec. 2.11.

Figura 2.14 Sujetador y recortador de nivel sin distorsin

El clculo de C y R1 est dado por la siguiente relacin:

El potencimetro permite ajustar el nivel de la seal de salida o dejarla sin cambios. En


la figura 2.15 se observa la respuesta del circuito cuando se aplica una seal bipolar.

Figura 2.15 Seales de estrada y salida del sujetador y recortador de nivel sin distorsin.
23

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

2.2.4 PIC 18F4550


El PIC 18F4550 es de alto desempeo, hace uso del USB y utiliza una tecnologa de nano
potencia. Existen tres presentaciones de este PIC, una con 28, otra con 40 y la ltima con 48
terminales. En la figura 2.16 se observa el diagrama de terminales para el PIC de 40 terminales.

Figura 2.16 PIC 18F4550


Fuente: hoja de datos del PIC18F2455/2550/4455/4550

2.2.4.1 Caractersticas del PIC 18F4550


Dentro de las caractersticas ms destacables de ste PIC, se encuentran las siguientes:

Interface de comunicacin USB 2.0.


Es de baja velocidad (1.5 Mb/s5) y el tope de velocidad (12 Mb/2).
Control de interrupciones, asncrono y mayor transferencia.
Soporta ms de 32 puntos terminales (16 bidireccionales).
Tiene un acceso a la RAM por el USB de 1K-byte.
En una tarjeta, el USB transfiere voltaje con un regulador.
3 pines de interrupcin externos.
2 Comparadores analgicos.
Convertidor analgico digital de 10 bits de resolucin y 13 canales (unipolar).
4 Timers6.
Memoria Flash 24 Kb.
Memoria RAM 2 Kb.
EEPROM de 256 bytes.
35 pines de I/O.

Mb/s significa Mega bits por segundo


Los Timer son tiempos que indican cierto tiempo para que se ejecute una instruccin o bloque de instrucciones en
un programa computacional.

24

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Programacin modular en lenguaje C.


En la tabla 2.1 se observan otras caractersticas resumidas del PIC 18F4550.
TABLA 2.1 Caractersticas del PIC 18F4550

SSP

35

13

1/1

Si

Si

Si

Timers 8/16 bits

CCP/ECCP
(PWM)

256

Comparadores

10 bits del A/D


(canales)

2048

EAUSART

I/O

16384

Maestro I2C

EEPROM
(bytes)

32K

SPI

SRAM

PIC18F4550

MSSP

# Palabras de
instruccin
simples

Dispositivo

Memoria de
datos

FLASH
(bytes)

Memoria
Programable

1/3

2.2.4.2 Programacin del PIC 18F4550 con MPLAB


Para la programacin se emplea el software de desarrollo de Microchip MPLAB, el cual es un
entorno de desarrollo integrado que permite escribir ensamblar, compilar, simular y depurar la
ejecucin de software para esta familia de microcontroladores.

2.2.5 Programacin de la PC: Borland Builder C++


Borland C++ Builder es un lenguaje de propsito general (figura 2.17) que utiliza una arquitectura
estructurada en dos niveles. En el nivel inferior se encuentra el Motor de Datos de Borland,
Borland Database Engine, ms conocido por las siglas BDE, que es un conjunto de funciones
agrupadas en bibliotecas dinmicas (DLL). Esta biblioteca no es orientada a objetos, no permite
eventos y los errores se notifican del modo tradicional: un valor de retorno de la funcin que falla.
Pero el segundo nivel de la arquitectura se encarga de corregir estos fallos: el programador de
C++ no utiliza directamente las funciones del BDE, sino por mediacin de objetos definidos en la
VCL, que es la biblioteca de componentes de C++ Builder.

Figura 2.17 Esquema de Borland Builder C++ y una base de datos

25

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Borland C++ se emplea en el sistema para todo el desarrollo de la captura de datos,


comenzando la lectura desde la interface USB hasta el almacenamiento de los registros en la
base de datos.
El manejo de este lenguaje se debe a que contiene todos los elementos necesarios para
el desarrollo del sistema, como es el la utilizacin del puerto de con comunicacin USB, la
graficacin en tiempo real y el manejo de base de datos de una manera sencilla.

2.2.6 Interface grfica


HTML (Hyper Text Markup Language) es un lenguaje que sirve para escribir hipertexto, es decir,
documentos de texto presentado de forma estructurada, con enlaces (links) que conducen a
otros documentos o a otras fuentes de informacin (por ejemplo bases de datos), que pueden
estar en una computadora propia o en computadoras remotas de la red. Todo esto se puede
presentar acompaado de grficos estticos o animados (comnmente GIFS) y sonidos
(comnmente Midi, al ser prctico en cuanto a su tamao).
Todas las codificaciones de efectos en el texto que forman el lenguaje HTML no son ms
que instrucciones para el navegador de Internet (browser), de ah el porqu no se ve lo mismo en
todos los navegadores.
Actualmente existen multitud de navegadores, aunque los ms conocidos son el Mozilla
Fire Fox y el Internet Explorer de Microsoft.
En esencia, una pgina escrita en HTML no es ms que texto normal, escrito con
cualquier editor, y al que, cuando se le quiere dar algn aspecto especial, por ejemplo el tamao
de la letra, habr que agregar al texto ciertos cdigos para indicar el efecto deseado. A estos
cdigos se les llama elementos del lenguaje.
El navegador presentar perfectamente cualquier pgina ".txt" generada por cualquier
editor, y los links entre documentos slo requieren un simple y sencillo comando. An as se
podr conseguir el tipo de letra, tamao de letra, colores de texto y fondo que se quiera,
simplemente configurando el browser.
HTML es empleado en el sistema para implementar la interfaz grfica de usuario en la
red.

2.2.7 Lenguaje de programacin PHP


PHP (Hypertext Preprocessor) es un lenguaje interpretado de alto nivel incrustado en pginas
HTML y ejecutado en el servidor.
El lenguaje PHP es un lenguaje de programacin de estilo clsico, es decir, es un
lenguaje de programacin con variables, sentencias condicionales, ciclos (bucles), funciones,
etc. No es un lenguaje como HTML, XML o WML. Es ms similar a Java Script o incluso a C,
lenguajes ya muy conocidos en la actualidad en el mbito de la programacin. En la figura 2.18
se observa grficamente su funcionamiento.

26

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 2.18 Funcionamiento de PHP

Pero a diferencia de Java Script, que se ejecuta en el navegador, PHP se ejecuta en el


servidor, con lo cual se puede acceder a los recursos que tenga el servidor, por ejemplo, una
base de datos. El programa PHP es ejecutado en el servidor y el resultado enviado al navegador.
El resultado es normalmente una pgina HTML, pero igualmente podra ser una pgina WML.
Al ser PHP un lenguaje que se ejecuta en el servidor, no es necesario que el navegador
de las dems computadoras que acceden a l lo soporten, es independiente del browser, sin
embargo, para que las pginas PHP funcionen, el servidor donde estn alojadas debe soportar
PHP.
PHP es empleado en el sistema, ya que puede trabajar directamente con la base de
datos MySQL contenida en el servidor, para poder hacer los cambios o consultas
correspondientes, adems de ser muy fcil de implementar.
Otra ventaja que ofrece PHP es la graficacin, la cual es sencilla porque puede consultar
la base de datos y realizar la grfica insertndola en forma de imagen, siendo ms til que los
applets de Java que son demasiado pesados y tardan en descargarse, por no mencionar los
plugins (aplicacin informtica que interacta con otra aplicacin para aportarle una funcin o
utilidad especfica) necesarios para su funcionamiento.

2.2.8 Base de datos


Una base de datos es un conjunto de datos estructurados. stos son desde una simple lista de
cosas hasta una gran cantidad de informacin que se maneja en una corporacin. Para agregar,
acceder y procesar los datos almacenados en una base de datos computacional, se necesita un
sistema administrador de base de datos, tal como MySQL. Adems, considerando que las
computadoras son buenas manejando grandes cantidades de datos, el administrador de base de
datos juega un papel central en la computacin, ya sea como utilidad autnoma o parte de otra
aplicacin.
El SARSE cuenta con una base de datos desarrollada en MySQL; ya que es un software
gratuito, potente y muy amigable dado que cuenta con una interface grafica para poder crear o
eliminar de manera sencilla elementos en la base de datos.
27

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Otra ventaja que nos ofrece es poder trabajar con distintos lenguajes de programacin
como PHP y Borland C++ que son los empleados en el sistema.

2.2.8.1 Sistema administrador de base de datos relacionales y software libre


Software libre significa que es posible que pueda ser usado y modificado por cualquiera, dicho
de otra forma, se puede bajar MySQL desde Internet y usar ste sin tener que pagar a una
empresa. Alguien puede estudiar el cdigo fuente y cambiarlo de acuerdo a sus necesidades.
MySQL usa el GPL (Licencia Pblica General) de la GNU (acrnimo recursivo de GNU is
Not Unix, empresa dedicada a software libre), para definir lo que se puede hacer con el software
en diferentes situaciones.
El SQL (Lenguaje de Consulta Estructurado) forma parte de MySQL y es el lenguaje
estandarizado ms comnmente usado para acceder a base de datos en la actualidad.
MySQL es muy rpido, seguro y fcil de usar. MySQL tambin ha desarrollado un
conjunto de caractersticas muy prcticas, en estrecha cooperacin con otros usuarios.
MySQL fue desarrollado para manejar grandes bases de datos mucho ms rpido que
las soluciones existentes y ha sido usado exitosamente en ambientes de produccin con altas
demandas. Aunque est bajo un desarrollo constante, MySQL siempre ofrece un conjunto de
funciones muy poderoso y eficiente. La conectividad, velocidad y seguridad, hace de MySQL una
aplicacin poderosa para acceder a bases de datos en Internet.
MySQL es un sistema Cliente/Servidor que consta de un servidor SQL multi-hilo que
soporta diferentes backends (orgenes o generaciones), programas variados cliente y de
libreras, administrador de herramientas y un programa de interface.
Es muy probable que se encuentre que diversas aplicaciones ya soportan MySQL. Los
puntos a favor de MySQL son los siguientes:
1.
2.
3.
4.

La mejor y ms usada base de datos en el mundo.


Disponible y accesible para todos.
Fcil de usar.
Se est perfeccionando constantemente mientras permanece rpida y segura.

Las caractersticas ms importantes de MySQL son:


1. Escrito en C y C++, y probado con GCC 2.7.2.1 (GNU C Compiler, compilador GNU para
C). Usa GNU autoconf (para configurar automticamente los paquetes con cdigo
fuente) para portabilidad.
2. Clientes C, C++, Eiffel, PHP, Python, JAVA, Perl, TCL.
3. Multiproceso, es decir, puede usar varias CPU si stas estn disponibles.
4. Puede trabajar en distintas plataformas y sistemas operativos distintos.
5. Sistema de contrasea y privilegios, muy flexibles y seguros.
6. Todas las palabras de paso viajan encriptadas en la red, es decir, se protege la
informacin para que no pueda ser leda sin una clave. Para encriptar informacin se

28

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

7.
8.
9.
10.
11.
12.
13.
14.
15.

16.

utilizan frmulas matemticas complejas y para desencriptar, se debe usar una clave
como parmetro para esas frmulas.
Registros de longitud fija y variable.
16 ndices por tabla, cada ndice puede estar compuesto de 1 a 15 columnas o partes de
ellas con una longitud mxima de 127 bytes.
Todas las columnas pueden tener valores por defecto.
Utilidad Isamchk (mtodo de Isamchk) para chequear o analizar, optimizar y reparar
tablas.
Todos los datos estn grabados en formato ISO8859_1.
Los clientes ocupan TCP (Protocolo de Control de Transmisin) o UNIX Socket
(conector UNIX para comunicacin con otros programas, usando descriptores de fichero
estndar de UNIX) para conectarse al servidor.
Todos los comandos tienen -help o -? para las ayudas.
Soporta diversos tipos de columnas como enteros de 1, 2, 3, 4, y 8 bytes, coma flotante,
doble precisin, carcter, fechas, enumerados, etc.
ODBC (Open Database Connectivity, es un programa de interface de aplicaciones para
acceder a datos en sistemas manejadores de bases de datos tanto relacional como no
relacional, utilizando para ello SQL) para Windows 95 (con fuentes), se puede utilizar
ACCESS (Sistema de gestin de base de datos Relacional) para conectar con el
servidor.
Todas las funciones y operadores soportan en el SELECT y WHERE como partes de
consultas. Ejemplo:
mysql> SELECT CONCAT(nombre," ",apellido) FROM nombre_tabla
ingreso >10000 AND edad >30

WHERE

17. Todas las clausulas SQL soportan GROUP BY y ORDER BY (comandos de SQL).

2.2.9 Apache
Es un servidor para red (web) gratuito, potente y que nos ofrece un servicio estable y sencillo de
mantener y configurar. Sus caractersticas son:
Caractersticas:

Es multiplataforma, aunque idealmente est preparado para funcionar en el sistema


Operativo Linux.
Muy sencillo de configurar.
Es de cdigo abierto.
Muy til para proveedores de servicios de internet que requieran miles de sitios
pequeos con pginas estticas.
Contiene amplias libreras de PHP y Perl a disposicin de los programadores.
Posee diversos mdulos que permiten incorporar nuevas funcionalidades.
Es capaz de utilizar lenguajes como PHP, TCL, Python, etc.

Ya que la pgina PHP requiere de un servidor, al igual que la base de datos, el servidor apache
es empleado en el SARSE para poder ofrecer la pgina en internet, adems de ser un software
gratuito.

29

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

3
DISEO DEL SISTEMA DE ADQUISICIN DE DATOS
En este captulo se realizarn los clculos requeridos para el diseo del hardware,
correspondiente al amplificador de instrumentacin, filtro pasa bajas y sujetador y recortador de
nivel.

3.1

Amplificador de instrumentacin

EL amplificador de instrumentacin no se disear de forma estricta, ya que en base a las


caractersticas presentadas por el circuito integrado AD620, ste presenta mayor precisin en la
medicin de seales bioelctricas. ste es el factor por el cual se consider la utilizacin de un
circuito integrado y no el diseo e integracin de un amplificador de instrumentacin con tres
amplificadores operacionales.
Como se especifica en la seccin 2.2.1.2, el circuito integrado AD620 slo necesita de la
y obtenemos
conexin de una resistencia externa, . Utilizando la frmula 2.9, despejamos
la siguiente expresin.

Conociendo que el voltaje de las seales electrocardiogrficas es de 0.02mV a 5mV y


considerando que en la etapa del sujetador y recortador de nivel activo el circuito tendr
ganancia, se debe considerar una ganancia en el amplificador de instrumentacin adecuada para
que el nivel de la seal que se suministrar al PIC 18F4550 no sobre pase el intervalo de voltajes
que ste convierte (0 a 5 V). La ganancia de 100 resulta ideal tomando en cuenta los 3 factores
anteriores.
Retomando la ecuacin 3.1, se sustituye el valor de la ganancia y se calcula

Para fines prcticos, el valor de


multivuelta) de 1k.

estar determinado por un trimpot (potencimetro

En la figura 3.1 se observa que genera el diagrama del circuito utilizado para la
simulacin. La figura 3.2 corresponde a la respuesta en tiempo de la simulacin del amplificador
de instrumentacin. En este caso al no contar el simulador con el circuito correspondiente al
AD620, la simulacin se lleva a cabo armando el amplificador de instrumentacin con los tres
30

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

amplificadores operacionales. En la simulacin se consideran los valores comerciales que se


utilizarn en la tarjeta de adquisicin de datos. Cabe destacar que la simulacin del amplificador
de instrumentacin se realiz en Multisim 7.
Se observa en la simulacin que el trimpot de 1k se encuentra a un 50%, es decir
500, lo cual se acerca al valor terico de 498.98.

Figura 3.1 Diagrama elctrico del amplificador de instrumentacin utilizado en la simulacin

Figura 3.2 Respuesta en tiempo del amplificador de instrumentacin

31

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Donde la seal en tono oscuro corresponde a la seal de entrada y la seal ms clara


corresponde a la seal de salida. Se observa claramente que la seal de entrada tiene una
amplitud de 10mVp y la seal de salida tiene una amplitud de 1 Vp, lo cual resulta correcto, de
acuerdo a los clculos realizados.

3.2

Filtro pasa bajas

En la seccin 2.2.2.2 se especifica el procedimiento para disear un filtro Butterworth de


-40dB/dcada. Tomando en cuenta que la seal electrocardiogrfica se encuentra en un
intervalo de frecuencias de 0.05 a 100 Hz, el diseo del filtro queda:
1.- La Frecuencia de corte
= 100 Hz.
2.- Se propone
0.1F
3.-

=2
= 0.2F.

4.- Se calcula R, de acuerdo a la ecuacin 3.10 (b)

5.- Rf = 2R
Rf = 22.507
Dado que no existen resistores del valor de R y Rf, se busca un valor comercial cercano.
El ms cercano a R es 12k y a Rf 22k.
Llevando a cabo la simulacin del circuito de la figura 2.9, se observa una frecuencia de
corte de aproximadamente 93 Hz, lo cual para la aplicacin que se est desarrollando (el
electrocardigrafo) no resulta correcta, por lo tanto se considera el valor de R= 10k, el cual es
el otro valor prximo al calculado, obteniendo as en la simulacin una frecuencia de corte de
111.7 Hz. Este valor resulta ms adecuado para la aplicacin, ya que si no es exactamente
100Hz, no se eliminan las ltimas 7 frecuencias, lo cual si ocurra considerando R=12k.
El hecho de dejar pasar casi 12 Hz arriba del lmite, no representa problema alguno a la
aplicacin que se est desarrollando.
En la figura 3.3 se observa el circuito utilizado para la simulacin del filtro pasa bajas de
-40dB/dcada, y la respuesta en frecuencia se observa en la figura 3.4. La simulacin se realiz
en el simulador PSpice 15.7 con los valores comerciales de resistores.
El amplificador operacional que se usa para la implementacin del filtro es el TL081, este
circuito integrado proporciona alta impedancia de salida, bajo consumo de potencia, entre otras
32

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

caractersticas que resultan importantes para la implementacin. Para mayor informacin sobre
las caractersticas de este amplificador consultar la siguiente pgina de internet:
http://focuswebapps.ti.com/general/docs/sitesearch/searchdevice.tsp?partNumber=TL081

C1
0.2u
R3
22k
V2

uA741
2
R1

R2

10k

10k

4
-

VOS1
OUT

+ 7
U1

OS2
V+
V3

112Vdc

6
5

12Vdc
V1
1Vac
0Vdc

C2
0.1u

0
0

Figura 3.3 Diagrama elctrico del filtro pasa bajas de -40dB/dcada utilizado en la simulacin

Figura 3.4 Respuesta en frecuencia del filtro pasa bajas de -40dB/dcada

En la figura 3.4 se puede observar que la frecuencia de corte, simulando el circuito en


PSpice 15.7 es de 111.756 Hz.

33

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

3.3

Diseo del sujetador y recortador de nivel

El circuito utilizado es el mostrado en la figura 2.14 de la seccin 2.2.3.3. Este circuito servir
para elevar la seal hasta un nivel positivo, ya que como se menciona en la seccin 2.2.4.1, el
PIC 18F4550 slo acepta en el A/D voltajes positivos, es decir, el A/D de este PIC es unipolar. Si
se toma en cuenta que ste circuito tendr ganancia, es probable que por los diodos que utiliza
se tenga un recorte de la seal en el semiciclo positivo. Por lo tanto, se necesita tener el control
sobre este factor, para no distorsionar la forma de onda.
El valor de la constante RC se determina por medio de ecuacin 2.12. Considerando una
frecuencia de corte de 100 Hz en esta aplicacin, se tiene:

Por lo tanto:

De acuerdo con la ecuacin 2.12, RC debe ser mayor a


, por lo tanto se propone
que RC debe ser igual a 10. As RC es 10, se propone que C= 220F y se calcula R:
Despejando R, se tiene:

El valor ms prximo comercial al calculado para

es 47k.

Como se mencion en la seccin 2.1, se pretende que este circuito tenga ganancia. sta
no debe ser muy alta, ya que se debe cuidar el intervalo de valores que utiliza el convertidor A/D
del PIC 18F4550.
Tomando en cuenta el factor anterior, se determina en darle una ganancia de 2 al
circuito de la figura 2.14. De esta forma Rf ser un potencimetro el cual ajustar dicha ganancia
permitiendo tener control sobre sta. Despejando Rf de la ecuacin 2.11, se determina el valor
de la resistencia Rf si la ganancia es de 2, se obtiene lo siguiente:

34

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

ser un potencimetro y considerando el valor


Como se mencion anteriormente,
calculado se determina que el valor a utilizar, es de 100k.
En la figura 3.5 se observa el diagrama elctrico utilizado en la simulacin y en la figura
3.6 se tiene la respuesta en el tiempo a dicho circuito. Cabe mencionar que para la simulacin se
consider una frecuencia de 100 Hz y un voltaje de entrada de 1 volt, esto slo con fines de
ilustracin, para la simulacin.
De igual forma que en el filtro pasa bajas, el circuito integrado utilizado es el TL081.

Figura 3.5 Diagrama elctrico del circuito sujetador y recortador de nivel sin distorsin

Figura 3.6 Respuesta en tiempo del circuito sujetador y recortador de nivel


35

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

La seal de entrada de la figura 3.6 est representada por la onda senoidal de tono
oscuro, mientras que la seal de salida est representada por la onda de tono claro.

3.4

Integracin del Hardware

Figura 3.7 Diagrama elctrico del electrocardigrafo

En la figura 3.7 se muestra el diagrama elctrico del electrocardigrafo correspondiente al


SARSE. Asimismo, en la figura 3.8 se muestra la simulacin de la respuesta en tiempo del
circuito. Como se observa, la seal tiene una amplitud de 1 V y es en su totalidad positiva, ya
que como se mencion el ADC del PIC 18F4550 es unipolar.

36

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 3.8 Respuesta en tiempo del electrocardigrafo


En la figura 3.9 se muestra la tablilla del circuito impreso, realizado con el programa
PCBWizard, y en la figura 3.10 se observa el circuito del electrocardigrafo montado en la placa
fenlica.

Figura 3.9 Diagrama de pistas del electrocardigrafo

Figura 3.10 Circuito del electrocardiograma


37

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

3.5

Interface de comunicacin

La comunicacin remota se llevar a cabo mediante el puerto USB del PIC18F4550. El diseo de
la tarjeta se realiz con la ayuda del programa PCBWizard. En la figura 3.11 se observa el
diagrama elctrico y en la figura 3.12 el diagrama de las pistas de la tarjeta del PIC.

Figura 3.11 Diagrama esquematico de la tarjeta interface de comunicacion

Figura 3.12 Diagrama de pistas de la tarjeta de adquisicin

38

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

En la figura 3.13 se observa la placa de la interface con los dispositivos montados.

Figura 3.13 Dispositivo final

39

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4
DISEO DEL SOFTWARE E INTERFACES PARA LA
PC
En este captulo se presenta el diseo del software correspondiente al SARSE, el cual est
compuesto por la programacin de la interface USB, una base de datos, la GUI, y la conexin
entre las dos ltimas.

4.1 Programacin de la interface de comunicacin


Se seleccion el microcontrolador PIC18F4550, el cual proporciona muchas ventajas con
respecto a otros PICs, adems, la gran ventaja del PIC18F4550 es el manejo del protocolo
USB 2.0, arriba de la versin 1.1, y un ADC de 10 bits con el cual se toman con mayor precisin
las muestras. En la tabla 4.1 se puede observar la comparacin del PIC utilizado con respecto a
otros que existen en el mercado.

Modelo
PIC18F4550
AT90S8535
AT43USB351M
AT89C5132
PIC16C745

ROM
(bytes)
32K
8K
24K
64K
8K

Tabla 4.1 Tabla comparativa


RAM(bytes) EEPROM(bytes)
2K
512
1K
2K
256

256
512
256
256
256

I/O

ADC(bits)

35
32
19
19
22

10
10
10
10
8

USB
Ver.
2.0
N.D.
2.0
1.1
1.1

Existen dos presentaciones del microcontrolador, una de ellas es la tradicional de 40


pines y la otra es de montaje superficial de 44 pines, esta ltima es ideal para la fabricacin del
dispositivo ya que cuenta con un tamao de 6x6 mm lo cual reduce el tamao del dispositivo,
pero debido a los recursos con los que se cuentan se emplea la primera versin.

4.1.1 Firmware
El firmware es el programa interno del microcontrolador el cual sirve para controlar la recepcin
de datos y la comunicacin mediante el protocolo USB. Fue escrito totalmente en lenguaje C
utilizando la librera C18 para MPLAB de Microchip.

40

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.1.2 Firmware CDC


El estndar USB contempla varias clases de dispositivos para funcionalidades encontradas
comnmente en los dispositivos. Las clases de dispositivos fueron desarrolladas para mejorar las
operaciones de los dispositivos. De esta manera los dispositivos USB se implementan a partir de
la clase a la que pertenecen.
Para el sistema en desarrollo (SARSE) se opt por utilizar la clase de dispositivo CDC
(Communication Device Class) debido a su factibilidad con la aplicacin en la PC.
La comunicacin USB se realiza mediante el firmware que proporciona Microchip para
poder establecer la conexin a travs del puerto USB. EL firmware CDC encapsula varias
funciones destinadas para realizar la comunicacin USB entre el PIC18F4550 y la PC.
Algunas de las caractersticas del firmware CDC son las siguientes:

Tasa de transferencia mxima de 80 Kbytes/s


Las bibliotecas compiladas ocupan un tamao mximo de 4 Kb.
Resuelve toda la comunicacin USB (no requiere de ningn hardware extra).
El l flujo de datos es manejado completamente por el protocolo USB.

4.1.3 Driver. Vendor ID y Product ID


El estndar USB exige que todos los dispositivos, durante la etapa de negociacin, se
identifiquen con su Vendor ID (VID) que determina el fabricante del dispositivo y un Producto ID
(PID), para determinar el modelo particular del producto que se ha conectado. Por lo tanto,
modelos diferentes de un mismo producto generalmente tienen PIDs diferentes.
La utilidad principal de estos valores no es solamente la de identificar el dispositivo, sino
la de encontrar y cargar los drivers apropiados para el mismo. Por eso, cada driver que viene con
cualquier sistema operativo viene programado con uno o ms PID y VID, para los cuales sirve
dicho driver. Esta es la forma que tiene el sistema operativo de saber si el driver seleccionado es
correcto.
En el caso de que el driver ya venga con el sistema operativo, el VID y PID bastarn
para identificar el driver que es necesario cargar y por lo tanto, cuando se conecta un dispositivo
con VID y PID conocido el sistema lo detecta automticamente, e inmediatamente estar listo
para usar. Sin embargo, en el caso de que el VID y PID no se reconozca, el sistema operativo
solicitar al usuario que suministre los drivers.

4.2 Programacin del PIC18F4550


4.2.1 Entorno de MPLAB
El escritorio de MPLAB se muestra en la figura 4.1.

41

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.1 Escritorio de MPLAB


De manera general, en la figura que a continuacin se muestra, detalla la funcin de
cada icono visible en el escritorio de MPLAB.

Figura 4.2 Barra de herramientas de MPLAB


42

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.2.2 Crear un proyecto en MPLAB


En el men File se selecciona la opcin File>New o bien, se activa el icono de Nuevo
documento en la barra de herramientas (ver Figura 4.2), y se corrobora en la siguiente ventana
activando el botn Yes. Posteriormente se asignar un nombre, una extensin y la ubicacin en
donde se desea almacenar el proyecto, y se acepta activando el botn OK (ver Figura 4.3).

Figura 4.3 Almacenado de proyecto en MPLAB


En la ventana siguiente se seleccionan las opciones para el proyecto y al finalizar se
activa el botn OK, para as acceder a la ventana en donde se programa en lenguaje
ensamblador, el cdigo para el PIC (ver figura 4.4).

Figura 4.4 Entorno de editor de MPLAB


43

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Con el cdigo ya desarrollado, se guarda el archivo con extensin .asm activando el


men File en la opcin File>Save.

4.2.3 Ensamblar un proyecto en MPLAB


El cdigo guardado debe de ser ensamblado. Esto se logra activando la opcin Project>edit
Project en el men Project, con lo cual se abre la ventana mostrada en la figura 4.5, en la cual se
selecciona el proyecto y se activa al botn de Node Propieties, el cual se muestra la parte
inferior derecha de la figura 4.5.

Figura 4.5 Propiedades de un proyecto en MPLAB

Al acceder al botn, sern mostradas a detalle las propiedades del proyecto, al activar
OK, se regresar a la pantalla de la figura 4.5 en dnde ahora se agregar el nodo, activando el
botn Add Node, de forma tal que se busque y agregue el archivo almacenado con extensin
.asm, realizado con anterioridad. Gracias a esto, aparecer el archivo con el mismo nombre
pero con extensin .asm junto al archivo con extensin .hex en la ventana de la figura 4.5. Se
pulsa finalmente OK y posteriormente en el men de Project se selecciona la opcin
Project>Build All, con lo cual el proyecto ha sido ensamblado (de no haber marcado errores),
dando como resultado la ventana mostrada en la figura 4.6.

44

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.6 Ventana posterior al ensamblar correctamente un proyecto en MPLAB

La programacin del microcontrolador se realiz en el programa MPLAB, lo cual fue


relativamente sencillo ya que slo se emplea un convertidor A/D, el cual solo recibe voltajes de 0
a 5 volts, por lo que la seal de entrada fue acondicionada para poder ser muestreada. Lo
subsecuente se visualiza en el diagrama de flujo de la figura 4.7.

45

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.7 Diagrama de flujo de la programacin del microcontrolador

4.2.4 Entorno de Borland Builder C++


El entorno de desarrollo se divide, bsicamente, en tres partes. Una serie de ventanas, que
pueden estar visibles u ocultas, constituyen la base de C++ Builder. El aspecto de la aplicacin al
inicio de una sesin de trabajo es el mostrado en la figura 4.8.

46

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.8 Entorno de Borland Builder C++

En la parte superior se encuentra la ventana principal que contiene: el men principal, la


barra de herramientas (a la izquierda) y la paleta de componentes (a la derecha). Debajo de la
ventana principal y a la izquierda se encuentra el inspector de objetos y a la derecha de ste,
est el rea de trabajo de C++ Builder, que inicialmente muestra el diseador de formularios, y
tras ste aparece el editor de cdigo.
4.2.4.1 Ventana principal de Borland Builder C++
En la ventana principal se ubican el men principal (figura 4.9), la barra de herramientas y la
paleta de componentes.

4.9 Men Principal

47

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

- Men principal. Permite el acceso a todas las operaciones y posibilita la configuracin del
programa.
- Barra de herramientas. Permite un acceso rpido a las operaciones que se realizan ms
frecuentemente.
- Paleta de componentes. Agrupa a los componentes que pueden incluirse en las aplicaciones.
4.2.4.2 Inspector de objetos
El inspector de objetos (figura 3.27), se emplea para cambiar las propiedades de los objetos que
forman la aplicacin y seleccionar los eventos a los que debe responder dicha aplicacin.

4.10 Inspector de Objetos

4.2.4.3 Diseador de formularios y editor de cdigos


El diseador de formularios es una ventana cuadriculada (figura 4.11), sobre el que se disponen
los componentes para disear las ventanas que formarn la aplicacin.

48

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.11 Diseador de Formularios

Por su parte, el editor de cdigo (figura 4.12) es un editor de texto multiventana para ver
y editar el cdigo de la aplicacin. Est perfectamente integrado con el inspector de objetos y el
diseador de formularios.

4.12 Editor de Cdigo

49

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.2.4.4 Compilacin de un programa


En la compilacin se trata de la obtencin del programa ejecutable (extensin .EXE). Las
operaciones asociadas a este objetivo se encuentran en el men que se despliega al seleccionar
la opcin Project del men principal (figura 4.13).

4.13 Submen Project del men principal

Compile Unit. Compila el mdulo fuente activo (extensin .CPP) generando un fichero objeto
(extensin .OBJ).
Make. Genera el fichero ejecutable a partir de los ficheros objeto asociados al proyecto,
recompilando nicamente los mdulos fuente que se hayan modificado desde la ltima vez
que se compilaron.
Build. Genera el fichero ejecutable a partir de los ficheros objetos asociados al proyecto,
recompilando todos los mdulos fuente, aunque no se hayan modificado desde la ltima vez
que se compilaron.
Si durante la compilacin se detectaran errores, se mostrarn en el editor de cdigo y se
puede acceder directamente a las lneas de cdigo en las que se han detectado para facilitar su
correccin.

50

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.2.4.5 Ejecucin de un programa


Basta con presionar sobre el botn correspondiente de la barra de herramientas o seleccionar la
opcin Run>Run.
C++ Builder proporciona facilidades para la depuracin de programas, seleccionables al
desplegar el men Run:

Step Over F8. Ejecuta instruccin a instruccin el programa, pero ejecuta las llamadas a
funciones como una instruccin ms, sin mostrar la ejecucin de las instrucciones de las
funciones.

Trace Into F7. Ejecuta instruccin a instruccin el programa, incluidas las instrucciones de
las funciones llamadas.

Run to Cursor F4. Ejecuta desde el principio del programa, hasta la lnea en la que est
situada el cursor.

Para que la depuracin sea ms completa y verstil se incorporan las siguientes


opciones en el mismo men:

Evaluate/Modify Ctrl+F7. Evaluar expresiones que involucren a las variables y modificar los
valores de las variables.

Add Watch Ctrl+F5. Visualizar el contenido de una variable permanentemente.

Add Breakpoint. Aade un punto de ruptura en la lnea en la que est situado el cursor, de
modo que cuando se ejecute el programa se detendr su ejecucin al llegar al siguiente
punto de ruptura.

4.3 Operacin de la GUI


La GUI consta de una ventana simple (figura 4.14) en la cual se requiere introducir los datos del
mdico para poder acceder al sistema.
Al ingresar al sistema aparece un men con la lista de pacientes del mdico, as como la
grfica de las mediciones realizadas. El sistema debe estar conectado al paciente, as como a la
PC en cualquier puerto USB.
En la ventana de la figura 4.15 slo es necesario introducir el ID del paciente en el lugar
indicado y dar clic en INICIAR SISTEMA. Al concluir la graficacin en la ventana (figura 4.16),
los datos se guardan en la base de datos para poder ser consultados en la red.
Al concluir con las mediciones es necesario dar clic en el botn DETENER SISTEMA.

51

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.14 Ventana principal del SARSE

Figura 4.15 Inicio del SARSE


52

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.16 Inicio del SARSE (toma de muestras)

4.4 Captura de datos del sistema


4.4.1 DBEXPRESS
Una de las opciones de conectividad de datos en Borland C++ es DBExpress. En resumen,
DBExpress es un ligero mecanismo de alto rendimiento para acceder a los datos de servidores
SQL. DBExpress proporciona conectividad a las bases de datos para plataformas Windows, NET
y Linux.
Le permite acceder a diferentes tipos de bases de datos como son: mySQL, Interbase,
Oracle, MS SQL Server, Informix.
DBExpress es extensible, es decir, es posible que los desarrolladores puedan crear sus
propios controladores (drivers), para que DBExpress trabaje con diversas bases de datos.
Un driver de DBExpress debe aplicar una serie de interfaces para obtener y ejecutar
consultas SQL o realizar un procedimiento de almacenamiento.

4.4.1.1 Componentes
Al comenzar un proyecto nuevo en Borland C++, se encuentra en la paleta de componentes
(figura 4.17) una pestaa llamada DBExpress. DBExpress contiene siete componentes
(nombrados de izquierda a derecha): SQLConnection, SQLDataSet, SQLQuery,
SQLStoredProcedure, SQLTable, SQLMonitor y SQLClientDataSet.
53

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.17 Paleta de componentes en Borland C++

De acuerdo a las necesidades del sistema se emplean slo tres componentes de la


paleta DBExpress los cuales se explican brevemente a continuacin.

4.4.1.2 SQLConnection
SQLConnection es el que realiza la conexin entre los drivers de DBExpress y los componentes
de la base de datos. Consta de varias propiedades (figura 4.18), probablemente la ms utilizada
es la ConnectionName (figura 4.19), que pueden ser asignados a uno de los valores en el men
desplegable.

Figura 4.18 Ventana de objeto de inspeccin

54

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.19 Conexin con una base de datos

4.4.1.3 SQLClientDataSet
SQLClientDataSet en resumen sirve para realizar las consultas a la base de datos. Una ventaja
que ofrece es que acepta todos los comandos que maneja MySQL (base empleada en el
sistema), por lo que no es necesario aprender otra serie de comandos.
Es unidireccional, lo que es una desventaja en el sentido de que no se puede utilizar
para actualizar la base de datos. Para realizar los cambios en la base, se necesita emplear un
componente extra que es SQLQuery.

4.4.1.4 SQLQuery
Es el complemento o una versin ms prctica de SQLClientDataSet ya que permite
realizar los cambios a la base de datos, tales como insertar una nueva tabla, modificar campos,
borrar datos, etc. Pero no permite su visualizacin en el programa, slo mediante la consulta por
medio de SQLClientDataSet.
Despus de establecer la conexin se procede a capturar los datos por medio del puerto
USB, para ello se requiere que est instalado el driver de la interfaz y que sta se encuentre
conectada siempre que se requieran realizar las mediciones.
El procedimiento para la captura de datos se muestra en la figura 4.20.

55

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.20 Diagrama de flujo para la captura de datos

56

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

La cadena A se almacena directamente en la base de datos, para poder ser empleada


por la pgina web.
Se observa que el timer utilizado es de 5ms, esto se debe a que utilizando el teorema
de muestreo, el cual indica que una seal puede ser reconstruida a partir de sus muestras sin
ninguna prdida de informacin, siempre y cuando la seal no tenga componentes ms altas que
una frecuencia fc y sea muestreada a una velocidad de al menos 2fc muestras por segundo (a
esta frecuencia se le denomina frecuencia de Nyquist).
Considerando que normalmente en un minuto se presentan de 60 a 100 pulsaciones y
en casos extremos, y que el filtro pasa bajas corta a una frecuencia de aproximadamente 100
Hz, se considera adecuado un ancho de banda de trabajo entre 0.05 y 100Hz, por lo tanto fc
ser igual a 100Hz. Aplicando el teorema de muestreo, se tiene que la frecuencia de muestreo
ser de 200Hz, por lo tanto el timer debe ser de 5ms.

4.5 Base de datos en MySQL


4.5.1 Funciones de MySQL
Las funciones que se muestran en la tabla 4.2 permiten acceder a servidores de bases de datos
MySQL.

Funcin

mysql_affected_rows

mysql_change_user

mysql_close

mysql_connect

mysql_create_db

Tabla 4.2 Funciones MySQL


Aplicacin
int mysql_affected_rows(int [link_identifier] );
Devuelve el nmero de filas afectadas en la ltima sentencia INSERT,
UPDATE o DELETE sobre el servidor asociado con el identificador de
enlace especificado. Si el identificador de enlace no ha sido especificado, se
asume por defecto el ltimo enlace.
Este comando no es efectivo para las sentencias SELECT, sino slo para
las sentencias que modifican registros.
Cambia el usuario conectado en la conexin actual activa, o si se
especifica, en la conexin determinada por el identificador de enlace. Si se
especifica la base de datos, sta ser la base por defecto despus del
cambio de usuario. Si la nueva combinacin de usuario/ password no est
autorizada, el usuario actualmente conectado permanece activo.
int mysql_close(int [link_identifier] );
Cierra el enlace con la base MySQL que est asociada con el identificador
de enlace especificado. Si no se especifica el identificador de enlace, se
asume por defecto el ltimo enlace.
int mysql_connect(string [hostname] , string [username] , string [password] );
Establece una conexin a un servidor MySQL. Todos los argumentos son
opcionales, y si no hay, se asumen los valores por defecto (localhost,
usuario propietario del proceso del servidor, password vaca).
int mysql_create_db(string database name, int [link_identifier] );
Intenta crear una base nueva en el servidor asociado al identificador de
enlace.
57

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

mysql_data_seek

mysql_db_query

mysql_drop_db
mysql_errno
mysql_error

mysql_fetch_array

mysql_fetch_field

mysql_fetch_lengths

int mysql_data_seek(int result_identifier, int row_number);


Mueve el puntero de fila interno, a la fila especificada para el identificador
de resultado. La prxima llamada a mysql_fetch_row() devolver esa fila.
int mysql_db_query(string database, string query, int link_identifier);
Selecciona una base y ejecuta una sentencia en ella. Si el identificador de
enlace no ha sido especificado, la funcin intenta encontrar un enlace
abierto al servidor MySQL y si no lo encuentra, intentar crear uno como si
fuera llamado mysql_connect() sin argumentos.
int mysql_drop_db(string database_name, int [link_identifier] );
Intenta suprimir una base de datos completa del servidor asociado al
identificador de enlace.
int mysql_errno();
Devuelve el nmero del mensaje de error de la ltima operacin MySQL.
string mysql_error();
Devuelve el texto del mensaje de error de la ltima operacin MySQL.
array mysql_fetch_array(int result);
Extrae la fila de resultado como una matriz asociativa.
Devuelve una matriz que corresponde a la sentencia extrada, o falso si no
quedan ms filas.
Es una versin extendida de mysql_fetch_row(). Adems de guardar los
datos en el ndice numrico de la matriz, guarda tambin los datos en los
ndices asociativos, usando el nombre de campo como clave.
Si dos o ms columnas del resultado tienen el mismo nombre de campo, la
ltima columna toma la prioridad. Para acceder a la(s) otra(s) columna(s)
con el mismo nombre, se debe especificar el ndice numrico o definir un
alias para la columna.
object mysql_fetch_field(int result, int [field_offset] );
Extrae la informacin de una columna y la devuelve como un objeto que
contiene la informacin del campo.
Puede usarse para obtener informacin sobre campos en un resultado. Si
no se especifica el salto, se extrae el siguiente campo que todava no ha
sido extrado.
Las propiedades del objeto son:
name - nombre de la columna 557 MySQL
table - name de la tabla a la que pertenece la columna
max_length - longitud mxima de la columna
not_null - 1 si la columna no puede contener un valor nulo
primary_key - 1 si la columna es clave primaria
unique_key - 1 si la columna es clave nica
multiple_key - 1 si la columna es clave no nica
numeric - 1 si la columna es numrica
blob - 1 si la columna es un BLOB
type - el tipo de la columna
unsigned - 1 si la columna es unsigned
zerofill - 1 si la columna es zero-filled
int mysql_fetch_lengths(int result);>
Devuelve la longitud de cada salida en un resultado.
int mysql_fetch_object(int result);
58

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

mysql_fetch_object

mysql_fetch_row

mysql_field_name

mysql_field_seek

mysql_field_table

mysql_field_type

mysql_field_flags

mysql_field_len

mysql_free_result

mysql_insert_id

mysql_list_fields
mysql_list_dbs

Extrae una fila de resultado como un objeto. Devuelve un objeto con las
propiedades que corresponden a la ltima fila extrada de ser verdadero, o
falso si no quedan ms filas.
array mysql_fetch_row(int result);
Selecciona una fila de datos del resultado asociado al identificador de
resultado especificado. La fila es devuelta como una matriz. Cada columna
del resultado es guardada en un offset de la matriz, empezando por el offset
0.
string mysql_field_name(string result, int i);
Devuelve el nombre del campo especificado. Los argumentos de la funcin
son el identificador de resultado y el ndice del campo.
int mysql_field_seek(int result, int field_offset);
Asigna el puntero del resultado al offset del campo especificado.
Busca el offset del campo especificado. Si la prxima llamada a
mysql_fetch_field() no incluye un offset de campo, se devolver ese campo.
string mysql_field_table(int result, int field_offset);
Devuelve el nombre de la tabla donde est el campo especificado.
string mysql_field_type(string result, int field_offset);
Es similar a la funcin mysql_field_name(). Los argumentos son idnticos,
pero se devuelve el tipo de campo. El tipo ser "int", "real", "string", "blob", u
otros detallados en la documentacin de MySQL.
string mysql_field_flags(string result, int field_offset);
Devuelve las banderas (flags) del campo especificado. Cada flag es
devuelto como una palabra y estn separados un nico espacio, se puede
dividir el resultado devuelto utilizando explode().
Las siguientes flags pueden ser devueltas dependiendo de la versin
MySQL con la que se cuente: "not_null", "primary_key", "unique_key",
"multiple_key", "blob", "unsigned", "zerofill", "binary", "enum",
"auto_increment", "timestamp".
int mysql_field_len(string result, int field_offset);
Devuelve la longitud del campo especificado.
int mysql_free_result(int result);
Slo debe ser llamada cuando se necesite usar demasiada memoria
durante la ejecucin de un script.
Toda la memoria del resultado especificado en el parmetro del identificador
de resultado, ser automticamente liberada.
Devuelve el identificador generado en la ltima llamada a INSERT.
int mysql_insert_id (int [identificador_de_enlace])
mysql_insert_id() devuelve el identificador generado para un campo de tipo
AUTO_INCREMENTED. Se devolver el identificador generado por el
ltimo INSERT para el identificador_de_enlace. Si no se especifica el
identificador_de_enlace, se asume por defecto el ltimo enlace abierto.
int mysql_list_fields(string database, string tablename);
Lista los campos del resultado de MySQL.
int mysql_listdbs(void);
Lista las bases de datos disponibles en el servidor MySQL.
int mysql_list_tables(string database, , int [link_identifier]);
59

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

mysql_list_tables

mysql_num_fields
mysql_num_rows

mysql_pconnect

mysql_query

mysql_result

mysql_select_db

mysql_tablename

Lista las tablas en una base de datos MySQL.


Toma el nombre de la base de datos y devuelve un puntero de resultado
como la funcin mysql_db_query(). La funcin mysql_tablename() debe ser
usada para extraer los nombres de las tablas del puntero.
int mysql_num_fields(int result);
Devuelve el nmero de campos de un identificador de resultado.
int mysql_num_rows(string result);
Devuelve el nmero de filas de un identificador de resultado.
int mysql_pconnect(string [hostname] , string [username] , string [password]
);
Establece una conexin a un servidor MySQL. Todos los argumentos son
opcionales, y si no existen, se asumen los valores por defecto (localhost,
nombre del usuario propietario del proceso, password vaca).
El hostname puede incluir un nmero de puerto.
Enva una sentencia SQL a MySQL.
int mysql_query (string sentencia[,int identificador_de_enlace])
mysql_query() enva una sentencia a la base activa en el servidor asociado
al identificador de enlace. Si no es especificado un identificador_de_enlace,
se asumir el ltimo enlace abierto. Si no hay ningn enlace abierto, la
funcin intenta establecer un enlace como si se llamara a la funcin
mysql_connect() sin argumentos, y lo utiliza.
mysql_query() devuelve TRUE (no-cero) o FALSE para indicar si la
sentencia se ha ejecutado correctamente o no. Un valor TRUE significa que
la sentencia era correcta y pudo ser ejecutada en el servidor. No indica
nada sobre el nmero de fila devueltas. Es perfectamente posible que la
sentencia se ejecute correctamente pero que no devuelve ninguna fila.
La sentencia no puede terminar en punto y coma.
int mysql_result(int result, int row, mixed field);
Devuelve el contenido de una celda de un resultado MySQL.
int mysql_select_db(string database_name, int [link_identifier] );
Establece la base activa que estar asociada con el identificador de enlace
especificado. Si no se especifica un identificador de enlace, se asume el
ltimo enlace abierto. Si no hay ningn enlace abierto, la funcin intentar
establecer un enlace como si se llamara a mysql_connect().
Toda llamada posterior a mysql_query() utilizara la base activada.
string mysql_tablename(int result, int i);
Toma un puntero de resultado devuelto por mysql_list_tables(), as como un
ndice (integer) y devuelve el nombre de una tabla. Se puede usar la funcin
mysql_num_rows() para determinar el nombre de tablas en el puntero de
resultado.

4.5.2 Creacin de la base de datos


La base de datos utilizada para el sistema est desarrollada en MySQL, ya que es un software
gratuito, de fcil manejo y amplia compatibilidad con distintos software de programacin.
60

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

La generacin de la tabla se realiza mediante los siguientes pasos:


Click derecho en cualquier zona del area Schemata (figura 4.21) y seleccionar la opcin
Create New Table

Figura 4.21 Generacin de la tabla

Se abrir una nueva ventana (figura 4.22) donde se seleccionar el nombre de la tabla,
as como los nombres de las columnas y el tipo de variables que manejarn estas
(VARCHAR, INTEGER, TEXT, etc.).

Figura 4.22 Generacin de la tabla (Continuacin)


61

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Dar clic en aplicar cambios y se generar la tabla


La base de datos utilizada se basa en tres tablas principales, doctores, pacientes y registros
con distintos campos dentro de ellas como se muestra en la figura 4.23

Figura 4.23 Tablas principales

Las tablas mostradas en la figura 4.23 se ligan mediante un campo que cae en cascada,
esto es, la tabla doctores se liga directamente con la de pacientes y sta se liga con la de
registros. La tabla doctores puede acceder a la de registros slo pasando a travs de la de
pacientes.
Slo la tabla de doctores, para mayor seguridad, ser manipulada mediante el editor de
MySQL, ya que si se aadieran ms datos a estos campos por medio de la red, se saturara el
sistema con datos indeseables. Las dems tablas se encuentran vacas y sern llenadas a
travs de la pgina de internet o por la GUI (Interfaz Grafica de Usuario).

4.6 Pgina web con HTML


4.6.1 Estructura de un documento HTML
Los documentos escritos en HTML estn estructurados en dos partes principalmente: HEAD
(cabecera) y BODY (cuerpo). Por ejemplo, si se escribe:
<HTML>
<HEAD>
<TITLE> Aqu se escribe el ttulo del documento </TITLE>
</HEAD>
<!-- Esto es un comentario-->
<BODY>
<H1> Ejemplo de la estructura de un documento HTML </H1>
Sistema de Adquisicin y Registro de Seales Electrocardiogrficas
</BODY>
</HTML>
62

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Los elementos <HTML> y </HTML> no son obligatorios, slo sirven como identificacin
del tipo de contenido del fichero, para ciertos programas que hacen cambios masivos en muchas
pginas a la vez.
La cabecera o HEAD es la primera de las dos partes en que se estructura un documento
HTML, en sta reside informacin acerca del documento, y generalmente no se ve cuando se
navega por l. De igual forma, contiene el elemento <TITLE> que es una breve descripcin que
identifica el documento. Es lo que en el browser guarda en el "Bookmarks" (enlaces a pginas de
Internet, almacenados en favoritos en el navegador por su inters)
El BODY (cuerpo) es la segunda y ltima de las dos partes en que se estructura un
documento HTML. Es obligatoria, ya que es aqu donde reside el verdadero contenido de la
pgina, y por tanto, al contrario de la cabecera, s se ve cuando navegamos por ella.
Para escribir comentarios en la pgina (que slo se ven en el texto fuente, pero no en el
browser) se utilizar el elemento <!-- -->

4.6.2 Tabla de instrucciones en HTML


Una pgina escrita en HTML no es ms que texto normal, escrito con cualquier editor, y al que,
cuando se le quiere dar algn aspecto especial, como por ejemplo el tamao de la letra, habr
que acompaarlo de ciertos cdigos para indicar el efecto deseado. A estos cdigos se les llama
elementos del lenguaje.

Instruccin

Tamao de letra

Tabla 4.3 Instrucciones en HTML


Descripcin
Donde x es un nmero que puede variar entre 1 y 6,
siendo 1 el tamao mayor.
<H5> Texto de prueba (H5)</H5>
<Hx> </Hx>
<H6> Texto de prueba (H6)</H6>
Dar como resultado:

Texto de prueba (H5)


Texto de prueba (H6)

<FONT >
Se vara con el atributo VALOR (nmero entre 1 y 7).
El valor por defecto del texto es 3. Una gran ventaja
de esta notacin respecto a la anterior, es que no se
produce un salto de prrafo despus de cada
cambio.
<FONT SIZE=6>A</font><FONT SIZE=7>A</font><FONT
SIZE=6>A</font>

Dar como resultado:

AAA
63

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Tipo de letra

Es un atributo del elemento <FONT> que permite elegir tipos de letra


entre los varios de que dispone por defecto Windows. Se trata del
atributo FACE.
<FONT FACE="courier new">Texto prueba</FONT>

Dar como resultado:


Texto de prueba

Texto en color

Se controla utilizando el elemento <FONT> con el atributo


COLOR=xxx, donde xxx es el nombre en ingls del color que se
desea. Hay que tener presente que algunos no se vern o en su
defecto se vern mal si la mquina no soporta 256 colores.
<B><FONT COLOR="red">Texto</FONT>

Dar como resultado:


Texto

<P> </P> (por Paragraph)

Texto en color rojo


Texto 1
Texto 1 <P>
Texto 2

Dar como resultado


Texto 1 Texto 1
Salto de prrafo

Alineacin

Centrado de
prrafo o
imagen

Texto 2
<BR> (por BReak)

Texto 1
Texto 1 <BR>
Texto 2

Dar como resultado


Texto 1 Texto 1
Texto 2
(Sin la lnea vaca)
El elemento <DIV> lo permite con ALIGN=LEFT ALIGN=RIGHT y
ALIGN=CENTER.
<DIV ALIGN=LEFT>
texto1
</DIV>
<DIV ALIGN=RIGHT>
texto2
< /DIV>
Dar como resultado:
texto1
texto2
<CENTER> y </CENTER> lo permite de la siguiente forma:
<CENTER>texto centrado texto centrado</CENTER>
Dar como resultado:
texto centrado texto centrado

Lista Ordenada

Se refiere a numerados, no ordenados por algn criterio y se denota


por <OL> </OL>.
<OL>
<LI>Primera lnea
<LI>Segunda lnea
</OL>
64

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Lista
Desordenada

Insertar
imgenes

Dar como resultado:


1. Primera lnea
2. Segunda lnea
Se refiere a no numerados y se denota por <UL> </UL>.
<UL>
<LI>Primera lnea
<LI>Segunda lnea
</UL>
Dar como resultado:
Primera lnea
Segunda lnea
Se utiliza el elemento <IMG>, y ste puede ir acompaado de los
atributos tales como: SRC, ALT, ISMAP, ALIGN, WIDTH, HEIGTH,
BORDER, VSPACE, HSPACE; para dar diversos efectos. Las
imgenes pueden estar en formato GIF o JPG (formatos interpretados
directamente por el visualizador).
<IMG SRC="imagen.gif">texto
Dar como resultado:
texto
Otro ejemplo aplicando un atributo es:
<IMG SRC="imagen.gif" ALIGN=MIDDLE>texto
Dar como resultado:
texto

Frames

Los frames (en ingls frame = cuadro, bastidor o marco) es un


elemento que permite dividir la pantalla en varias reas
independientes unas de las otras, y por tanto con contenidos
distintos, aunque puedan estar relacionados. Su sintaxis es:
<HTML>
<FRAMESET>
<FRAME SRC="pagina1.html">
<FRAME SRC="pagina2.html">
</FRAMESET>
</HTML>
Aplicndolo a un ejemplo, si escribimos:
<FRAMESET COLS=20%,*>
<FRAME SRC="a.htm" NAME="A">
<FRAMESET ROWS=40%,*>
<FRAME SRC="b.html" NAME="B">
<FRAME SRC="c.html" NAME="C">
</FRAMESET>
</FRAMESET>
Dar como resultado:

65

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Para hacer referencia a los frames se utiliza:


<A HREF="Documento.html" TARGET="VENTANA">
En donde Documento.html es la pgina a ser invocada para
presentarse en el frame destino, al que se le asign el nombre
(NAME) VENTANA empleando el atributo TARGET. Por ejemplo:
<A HREF="indice.html" TARGET="A">Ver</A>
En este caso se invoca la pgina ndice.html para ser mostrada en el
frame con nombre A, presionando el texto Ver.
Texto en negrita:
<B>Texto en negrita</B>

Texto realzado:
<STRONG>Texto realzado</STRONG>

Texto en itlica:
<I>Texto en itlica</I>

Texto con nfasis:


Efectos varios

<EM>Texto con nfasis</EM>


Texto ejemplo de cdigo:
<CODE>Texto ejemplo de cdigo</CODE>
Texto teletipo:
<TT>Texto teletipo</TT>

Texto subrayado:
<U>Texto subrayado</U>

Texto tachado:
<STRIKE>Texto tachado</STRIKE>

Texto de direccin:
<ADDRESS>Texto de direccin</ADDRESS>

4.6.3 Esquema de tipos de un documento HTML


Cuando un browser recibe un fichero, antes de mostrarlo necesita saber el tipo de contenido que
ste tiene, a fin de procesarlo adecuadamente.
La extensin de un fichero son las tres o cuatro letras (depende del sistema operativo
con el que se trabaje) que estn despus del nombre del fichero y separadas del mismo por un
punto.
Por ejemplo, si la pgina se llama sarse.htm, las tres letras que hay despus del punto
(htm) son la extensin del fichero. Las que estn antes del punto, son el nombre del fichero.
Hay que tener presente que las extensiones de 4 o ms letras son propias de sistemas
operativos como Unix, Macintosh o Windows y las de 3 o menos del DOS (Disk Operating
System).
66

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

En el entorno www (World Wide Web) se utilizan los tipos MIME (Multipurpose Internet
Mail Extension) para definir el tipo de un fichero transferido. El browser determina desde el MIME
cmo se trata cada fichero.
Los visualizadores tienen una configuracin de los mapas de tipos aceptables, e
instrucciones de cmo proceder en cada caso. Algunos tipos son tratados directamente por el
propio visualizador, mientras que para otros necesitan de una herramienta auxiliar adecuada,
que hay que indicarle al browser, para que sea llamada en el momento preciso.
Este entorno cuenta con tres documentos HTML para su visualizacin como se muestra
en la figura 4.24. El primer documento se ocupa para la creacin y presentacin de los frames y
es llamado Principal.html, el segundo documento es el frame superior llamado Cabecera.html
y por ltimo, el tercer documento es el frame izquierdo llamado Menu.html. A continuacin se
explica a detalle cada uno.

Figura 4.24 Interface para Internet de PAWEEL


Cabe resaltar que no se tiene un documento HTML del frame del lado derecho, ya que
se sustituye por uno en PHP gracias a la utilizacin de una contrasea de acceso.

67

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.7 Elaboracin de la pgina web


4.7.1 Elaboracin de la pgina Principal.html
En este documento se fragmenta la pantalla en tres frames con las disposiciones mostradas en
la figura 4.25.
En donde A corresponde al documento Cabecera.html, B corresponde al documento
Menu.html y C corresponde al documento Index.php. Es decir, en la parte de cdigo
correspondiente al frame llamado A (del documento Principal.html), se invocar el documento
Cabecera.html, en la parte de cdigo correspondiente al frame llamado B (del documento
Principal.html), se invocar el documento Menu.html, y en la parte de cdigo correspondiente al
frame llamado C, se invocar el documento index.php. En forma html esto se expresa como
sigue:
<frame name="Cabecera" src="Cabecera.html" scrolling=no>
<frame name="Menu" src="Menu.html" scrolling=yes>
<frame name="Campo" src="index.php" scrolling=yes>
Ntese que los nombres asignados para cada frame son parecidos a las pginas que se
invocarn en cada uno, para tener un cierto orden. Posteriormente el nombre ser ocupado para
realizar enlaces (o links) en los frames. Con scrolling se determina la existencia de la barra
deslizadora lateral.

Figura 4.25 Disposiciones de la pgina principal

4.7.2 Elaboracin de la pgina Cabecera.html


En este documento se codifica un fondo negro y se inserta una sola imagen que abarca la mayor
parte de la seccin A mostrada en la figura 4.26.

Figura 4.26 Imagen de la cabecera


68

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Nota: Imagen elaborada con Macromedia Fireworks y almacenada como cabecera.jpg

<body bgcolor=Black>
<center><img src="cabecera.jpg" width=1250 height=150></center>
</body>
Con bgcolor se define el color de fondo de la pgina, en este caso el color de fondo
ser negro. Con center se centra la imagen, con img src se invoca la imagen cabecera (figura
4.27) (especificando la extensin de la misma) y width (ancho) & height (alto), indican las
dimensiones de la misma. Dando como resultado la siguiente figura (ver anexo para cdigo
completo):

Figura 4.27 Imagen resultante de Cabecera.html

4.7.3 Elaboracin de la pgina Menu.html


En este documento se codific el fondo con una imagen, texto, imgenes como adorno y un
enlace a la pgina principal (figura 4.28) til para tener un retorno posterior al acceso.
El cdigo para el fondo con una imagen es:
<body background="fondomenu.gif">

Figura 4.28 Imagen de fondo para Menu.html

Nota: Imagen almacenada como fondomenu.gif


El cdigo para los adornos qued definido como sigue:
<center><img src="1.gif" width=230 height=24></center>

69

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 4.29 Imgenes de adorno para Menu.html

Nota: Imgenes almacenadas como 1.gif, 2.gif y 3.gif respectivamente


El cdigo para el enlace Principal es el siguiente:
<a href="index.php" target="Campo"><font size=3 color=Black>Principal</font></a>
En donde a href invoca la pagina index.php para ser mostrada en el frame Campo
elaborado en la pgina Principal. Esta invocacin se ejecuta al hacer clic sobre la palabra
Principal.
Al insertar todas estas partes en la estructura de un documento HTML tenemos como
resultado lo mostrado en la figura 4.30 (ver anexo para cdigo completo).

Figura 4.30 Imagen resultante de Menu.html

70

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

4.8 Lectura y escritura de informacin en PHP


Se tienen dos formas de lectura de informacin, y una forma de escritura. Esto se ocupa
dependiendo de lo que se necesite ejecutar, haciendo el llamado de alguna instruccin que a
continuacin se describe.

fopen
fopen abre un archivo o una URL
Descripcin
int fopen (string filename, string mode [, int use_include_path])
En donde filename puede ser:
Si filename comienza con "http://" (no es sensible a maysculas), se abre una conexin
HTTP 1.0 hacia el servidor especificado, y se devuelve un apuntador de archivo al comienzo
del texto de respuesta.
HTTP, al no maneja redirecciones se debe incluir una barra final cuando se trate de
directorios.
Si filename comienza con "ftp://" (no es sensible a maysculas), se abre una conexin ftp
hacia el servidor especificado y se devuelve un apuntador al archivo requerido. Si el servidor
no soporta ftp en modo pasivo, no funcionar. Se pueden abrir archivo va ftp para leer o para
escribir (pero no ambas cosas simultneamente).
Si filename no comienza con ninguna de las opciones anteriores, el archivo se abre del
sistema de archivos, y se devuelve un apuntador al archivo abierto, si al abrir el archivo falla, la
funcin devuelve false.
mode puede ser cualquiera de lo siguiente:
1. ' r' - Abre para slo lectura; sita el apuntador del archivo al comienzo del mismo.
2. ' r+' - Abre para lectura y escritura; sita el apuntador del archivo al comienzo del archivo.
3. ' w' - Abre para slo escritura; sita el apuntador del archivo al comienzo del archivo y
trunca el archivo con longitud cero. Si el archivo no existe, trata de crearlo.
4. 'w+' - Abre el archivo para lectura y escritura; sita el apuntador del archivo al comienzo
del archivo y trunca el archivo con longitud cero. Si el archivo no existe, trata de crearlo.
5. 'a' - Abre slo para escribir (aadir); sita el apuntador del archivo al final del mismo. Si el
archivo no existe, trata de crearlo.
6. 'a+' - Abre para lectura y escritura (aadiendo); sita el apuntador del archivo al final del
mismo. Si el archivo no existe, trata de crearlo.
Adems, mode puede contener la letra 'b'. Esto es til para sistemas que diferencian entre
archivos binarios y de texto (esto en Unix es intil). Si no se necesita, ser ignorado. Puede
usarse el tercer parmetro opcional y fijarlo a "1".
fwrite
fwrite Escribe archivos en modo binario
71

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Descripcin
int fwrite (int fp, string string [, int length])
fwrite() escribe el contenido de string al fichero apuntado por fp. Si se da el argumento
length, la escritura acaba antes de que length bytes sean escritos o se alcance el final de string,
lo que suceda primero.
fread
fread -- Lee archivos en modo binario
Descripcin
string fread (int fp, int length)
fread() lee hasta length bytes del apuntador de fichero referenciado por fp. La lectura
acaba cuando length bytes se han ledo o se alcanza EOF (abreviatura de end-of-file, fin de
fichero en ingls), lo que ocurra primero.

72

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

5
RESULTADOS EXPERIMENTALES
Es la etapa final del sistema y por tanto, en este captulo se reportan las pruebas realizadas a
cada una de las etapas que integran el sistema. Cada prueba fue realizada bajo caractersticas
especiales de cada etapa.

5.1 Circuito AD620


Retomando lo explicado en la seccin 3.1, la seal de salida del AD620 debe ser 100 veces la
seal de entrada. Tomando esto como punto de partida, se lleva a cabo la prueba fsica del
circuito A620, con una seal de entrada de 10mV a una frecuencia que oscile entre 0.05Hz y
100Hz. Se eligi la amplitud de la seal de 10mV, ya que se consider un caso extremo, en el
cual el voltaje de la seal sobrepase el intervalo de voltajes caractersticos de la misma, ya que
hay que recordar que el rango de voltajes que maneja el ADC del PIC 18F4550 es de 0 a 5 V
(voltajes positivos).
En la figura 5.1 se observa el circuito del AD620, cabe sealar que la seal de entrada
es senoidal y proporcionada por el generador de funciones.

Figura 5.1 Circuito AD620 con resistencia externa


En la figura 5.2 se muestra la seal de entrada y en la figura 5.3 la seal de salida del
circuito AD620. En la figura 5.3 destaca que la seal de salida no se ve con ruido, como la seal
de entrada, esto resulta una gran ventaja y destaca una de las caractersticas ms importantes,
por la cual se eligi usar un circuito integrado y no construir el amplificador de instrumentacin
con tres amplificadores operacionales, esta caracterstica es bajo ruido.

73

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Escala
V/div =10mV/Div
Time/Div=5ms/Div
Vp=10mVolt
Frecuencia = 76.92 Hz

Figura 5.2 Seal de entrada al amplificador de instrumentacin

Escala
V/div =1V/Div
Time/Div=5ms/Div.
Vp=1Volt
Frecuencia = 76.92 Hz

Figura 5.3 Seal de salida al amplificador de instrumentacin

74

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

5.2 Filtro pasa-bajas


El filtro pasa-bajas se arm de acuerdo a los valores obtenidos en la seccin 3.2. De acuerdo a
lo anterior para comprobar el funcionamiento correcto, el circuito del filtro se hizo un barrido de
frecuencias, desde 1Hz hasta 20K Hz y teniendo como seal de entrada una seal senoidal,
proporcionada por el generador de funciones de amplitud igual a 1 Vp .Los resultados se
muestran en la tabla 5.1
TABLA 5.1 Valores de la respuesta en frecuencia del filtro
Frecuencia
Voltaje de salida
Ganancia en
Ganancia
(Hz)
(Vo)
voltaje (V)
(dB)
1
1
1
0
2
1
1
0
3
1
1
0
4
1
1
0
5
1
1
0
6
1
1
0
8
1
1
0
10
1
1
0
20
1
1
0
50
1
1
0
80
1
1
0
100
1
1
0
105
0.8
0.8
1.93
110
0.7
0.7
3.09
115
0.6
0.6
4.43
120
0.55
0.55
5.19
130
0.4
0.4
7.95
140
0.32
0.32
9.98
150
0.15
0.15
16.47
200
0.1
0.1
20
300
0.05
0.05
26.02
400
0.05
0.05
26.02
500
0.02
0.02
33.97
1 000
---------------------2 000
----------------------

Graficando los valores obtenidos, se tiene la grfica mostrada en la figura 5.4

75

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Se observa que los ltimos dos valores de la tabla no tiene valores, la razn de esto, es
que cuando se proporcionaron frecuencias de 1k y 2k Hz el voltaje de salida fue prcticamente
ruido, es por tal motivo que dichos valores no se consideran para la graficacin.
En la figura 5.5 se observa el circuito montado en la placa fenlica.

Figura 5.4 Grfica de la respuesta en frecuencia del filtro pasa bajas

Figura 5.5 Filtro pasa bajas

5.3 Recortador y sujetador de nivel


El recortador y sujetador de nivel fue diseado en la seccin 3.3 y se puede observar en la figura
5.6. Las especificaciones que se tomaron para comprobar el funcionamiento del sistema fueron
las siguientes: amplitud de la seal de entrada de 1 Vp y frecuencia de 100Hz. Los valores se
eligieron de acuerdo a lo que ser la seal de entrada del recortador y sujetador una vez que el
sistema est integrado.

76

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

En la figura 5.7 se observa la seal de entrada y en la figura 5.8 la seal de salida


recortada. En la figura 5.9 se observa la seal de salida del recortador y sujetador de nivel, tal
cual va a ir al PIC 18F4550. Se ve claramente que la seal ya no tiene ningn valor negativo y
adems de que el circuito proporciona una ganancia de 2.

Figura 5.6 Recortador y sujetador de nivel

Escala
V/div =1V/Div
Time/Div=10ms/Div
Vp=1Volt
Frecuencia = 100 Hz

Figura 5.7 Seal de entrada al recortador y sujetador de nivel

77

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Escala
V/div =1V/Div
Time/Div=10ms/Div
Vpp=1.2mVolt
Frecuencia = 100 Hz

Figura 5.8 Seal de salida al recortador y sujetador de nivel (seal recortada)

Escala
V/div =1V/Div
Time/Div=10ms/Div
Vp=1Volt
Frecuencia = 100 Hz

Figura 5.9 Seal de salida al recortador y sujetador de nivel

78

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Los dos trimpots que se observan en el diagrama del circuito recortador y sujetador de
nivel, son fijados en el valor que permite tener una seal totalmente positiva y de ganancia 2.
Esto se hace con el fin de que en pruebas posteriores el sistema este calibrado y listo para su
uso.

5.4 Integracin del electrocardigrafo


En esta etapa del sistema, se integran los tres circuitos mencionados en la seccin 5.1, 5.2 y 5.3.
Esta integracin da lugar al electrocardigrafo, cumpliendo con los requerimientos necesarios
para llevar a cabo las mediciones.
En la prueba se proporcion una seal senoidal con una amplitud de 10mVp y una
frecuencia de 80 Hz (la cual se encuentra en el intervalo de frecuencias de las seales
electrocardiogrficas). Las seales de salida al electrocardigrafo se muestran en la figura 5.10.

Escala
V/div =1V/Div
Time/Div=10ms/Div
Vp=2.6Volt
Frecuencia = 76.92 Hz

Figura 5.10 Seal de salida del electrocardigrafo

5.5 Adquisicin de muestras aleatorias


En una primera prueba se proporcion como seal de entrada el voltaje proporcionado por un
potencimetro de 1 k, esto con el fin de no tener valores negativos y de probar por separado la
interface de comunicacin con el software del sistema.

79

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 5.11 Grfica de datos aleatorios


Siguiendo las instrucciones establecidas en la seccin 4.3, se procede a tomar las
muestras. Cuando en la pantalla negra mostrada en la figura 4.15 se tengan todas las muestras,
se procede a detener el sistema y se hace la consulta en la base de datos. En esta prueba se
obtuvo lo mostrado en la figura 5.11.
Esta prueba resulta de gran importancia para el funcionamiento correcto del sistema, ya
que de integrar todos los bloques y elementos sin antes probarlos por separado, puede provocar
fallas en el sistema, que pueden ser desde resultados no esperados hasta daos fsicos a dichos
componentes, adems de que no se sabra exactamente en donde est el error.

5.6 Adquisicin y registro del SARSE con una seal


senoidal
Sabiendo que la interfaz y el software del sistema funcionan correctamente, se realiza otra
prueba, pero esta vez teniendo como seal de entrada la salida del electrocardigrafo (seccin
5.4). La seal de entrada es la que se observa en la figura 5.10 y la seal de salida, se observa
en la pantalla negra de la figura 4.5 se muestra en la figura 5.12.

80

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 5.12 Muestras tomadas de una seal senoidal

Terminada la toma de muestras, se procede a consultar la base de datos. En esta se


observa la grfica de los datos tomados (figura 5.13).

81

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 5.13 Grfica almacenada en la base de datos


La seal no presenta ningn recorte y su valor es positivo en su totalidad. Asimismo se
observa que el tiempo de toma de muestras permite que se tomen las necesarias, para que se
observe una grfica completa, con respecto a la informacin. Retomando la tabla 1.3 se observa
que cada seal emitida por el corazn tiene una forma caracterstica y, alguna alteracin en la
forma de stas, puede representar problemas de salud, es por tal, que se considera de suma
importancia el tiempo en el cual son tomadas las muestras.
Por otra parte, es muy importante tener en cuenta los factores que intervienen para que
la seal obtenida tenga ruido. Los factores son muchos, dentro de los ms importantes y
comunes se tiene los siguientes: puntas para electrocardigrafo, factores del medio ambiente,
causas propias del sistema, entre otros factores.

5.7 Adquisicin y registro del SARSE con una seal


electrocardiogrfica
La integracin final del sistema representa unir el bloque de hardware, compuesto por el
electrocardigrafo y la interface de comunicacin, y el bloque de software, compuesto por la
base de datos, la adquisicin de datos y la GUI.
La prueba ya no se hace con una seal senoidal, esta ltima prueba tiene como seal de
entrada las seales emitidas por el corazn.

82

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Figura 5.14 Conexin del paciente al electrocardigrafo

Recordando que se conecta electrodo en el brazo derecho, otro en el brazo izquierdo y,


finalmente, otro en el pie izquierdo, el procedimiento de conexin del paciente, es el mostrado en
la figura 5.14. Las puntas utilizadas en esta prueba fueron construidas y adaptadas para sta
aplicacin. Los electrodos utilizados son especiales para adultos.
En la figura 5.15 se observa la seal obtenida de la prueba, la cual se llama
electrocardiograma.

Figura 5.15 Seal electrocardiogrfica

83

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

CONCLUSIONES
Finalmente los objetivos, general y particulares de este proyecto fueron alcanzados, ya que:
-

La solucin brindada en este trabajo va enfocada a aquellos hospitales o consultorios


particulares, que requieren de un sistema capaz de estar registrando las seales
emitidas por el corazn de los pacientes. Cabe resaltar que el proyecto adems de estar
diseado para el uso en hospitales y consultorios, cuenta con su respectiva base de
datos y su servidor propio, lo cual proporciona mayor seguridad en el manejo de
informacin.

La operacin del sistema no est limitada al mdico, ya que una enfermera o enfermero
se pueden capacitar para su uso.

Con respecto al software, la realizacin del sistema fue complicada, ya que se


necesitaron tres programas distintos para realizarlo y poder manejar una comunicacin
entre ellos. Una ventaja con la que se cont para disminuir la complejidad de la
implementacin, fue la utilizacin del programa Borland C++, el cual brinda el manejo de
la interfaz (USB), la interfaz grfica de usuario (GUI) y el manejo de la base de datos
(MySQL). Esto simplific en gran medida el desarrollo del sistema, ya que la mayora de
los programas desarrolladores, no cuentan con al menos una de las necesidades de
nuestro sistema.

Teniendo los primeros pasos solucionados, la creacin de la base de datos result


sencilla, adems de la utilizacin del lenguaje PHP para poder realizar las consultas a la
misma y nos permite la graficacin de una manera sencilla y confiable.

Se utiliz el programa Apache Server 2.0.59 ya que es software libre y de muy sencillo
manejo lo que proporciona que la pgina del sistema sea visible desde cualquier punto
del mundo.

Una mejora que se realizar al sistema, es obtener un dominio, ya que el acceso a la


pgina por el momento se realiza por medio de una direccin IP, pero al obtener una IP
dinmica se tiene que cambiar el acceso cada vez que el servidor se apague.

A continuacin se mencionan actualizaciones a futuro para el SARSE.


o Encriptacin de la informacin, para proporcionar seguridad al usuario, con
respecto a sus datos personales, as como estudios realizados.
o Indicacin de la escala para la toma de muestras, para tener una mejor
visualizacin de las seales registradas.
o Indicar la cantidad de muestras que se van a tomar.
o Impresin del electrocardiograma.
o Visualizacin de escalas en las grficas.

84

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

APNDICE A
Estudio econmico
Existen tres parmetros involucrados en el clculo del costo total de un proyecto de desarrollo de
software:
Costos de hardware y software.
Costos de viajes y capacitacin.
Los costos de esfuerzo (los costos de pago a los ingenieros de software).
En este caso los costos de viajes y capacitacin no se tomarn en cuenta, ya que por
tratarse de un proyecto desarrollado por alumnos, no se requiri capacitacin ni viajes largos.
Retomando el primer punto costos de hardware y software, para el clculo del costo
del software se tomaron los siguientes datos:
Sueldo promedio de un programador: $ 20 000 mensuales
Tiempo de programacin (meses) = 7 meses
Precio del equipo utilizado para programar: $ 10,000
Considerando una jornada de trabajo de 8 horas diarias de lunes a viernes, en un mes
se trabajan 160 horas. Dividiendo el sueldo mensual del programador entre ste nmero de
horas, se tiene:

Es decir, el pago por hora es de $ 125.00


Las horas en las que se realiz la programacin con 3 programadores fueron 350 hrs,
esto tomando en cuenta los 7 meses en los cuales se llev a cabo la programacin, ya que se
trabajaron en promedio 2.5 hrs. diarias.

Por lo tanto, multiplicando el nmero de horas trabajadas por el pago por hora de
programacin se tiene lo siguiente:

85

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Al ste resultado se le suma el costo del equipo utilizado para programar, as como el
15% del resultado obtenido. Este 15% representa la depreciacin del equipo.

En la tabla A se muestran los costos unitarios y por cantidad de cada uno de los
elementos de hardware que constituyen el SARSE. Al final de la tabla se muestra el costo total
del hardware. Cabe aclarar que los costos unitarios incluyen IVA.
Tabla A. Costos de material
Material
Costo por unidad ($)
Resistencias de precisin
2
Resistencia
0.30
Capacitor cermico
0.50
Capacitor de polister
2
Trimpots multivuelta
12
C.I. AD620 (Amplificador de
Instrumentacin)
85.50
C.I. TL081
9.0
PIC 18F4550
138
Tablilla
5
Cloruro frrico
20
Carcasa
80
Cable para micrfono
6.5 el metro
Conector AG macho
7
Conector AG hembra
6
Tubo de soldadura 60/40 20grs
8.60
Cinta de aislar
7.50
Alambre
2 por rollo
Electrodos
2
Broches
0.50
Batera
40
Porta bateras
3

Cantidad
5
7
6
1
3

Sub total ($)


10
2.10
3
2
36

1
2
1
2
1
1
3mts
3
3
1
1
5
50
15
2
2
TOTAL

85.50
18
138
10
20
80
19.5
21
18
8.60
7.50
10
100
7.5
80
6
$ 682.70

Sumando el costo del software y del hardware, se tiene lo siguiente:

86

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

Al resultado anterior se le agrega el 20% por concepto de utilidades.

Por lo tanto, se tiene que el costo total del SARSE es:

Redondeando el dato anterior


Costo total del SARSE = $ 75 000.00

87

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

88

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

89

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

90

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

91

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

92

Sistema de Adquisicin y Registro de Seales Electrocardiogrficas (SARSE)

REFERENCIAS
Ledesma, M., (2005), Fundamentos de enfermera. Limusa.
Lindner, U. y D. Dubn, (1996) Introduccin a la electrocardiografa. Mtodo
autodidacta de interpretacin del ECG. Primera reimpresin, Springer-Verlag.
Surez, L., (1998), Examen clnico cardiovascular sntomas y signos.
Panamericana.
Pasquiali, G., (1995), Electrocardiografa razonada: teora y prctica. El manual
moderno.
Geddes, L. y L. Baker, (1996), Principles of applied biomedical instrumentation.
Tercera edicin, Wiley.
Gutirrez, D., (2006) Equipo biomdico con telemetra diseado para las reas
rurales en Cientfica. Volmen 10, Ao 4. Octubre-Diciembre 2006, pp. 185-190.
Coughlin, R y F. Driscoll, (1999), Amplificadores operacionales y circuitos
integrados lineales. Tercera edicin, Prentice Hall.
Floyd, T.,(1996) Dispositivos electrnicos. Primera edicin, Limusa Noriega.
Malik, N., (1998), Circuitos electrnicos anlisis, diseo y simulacin. Primera
reimpresin 1998. Prentice Hall.
Hojas de especificaciones de:
AD620
TL081
18F4550
Documentos en formato PDF:
MySQL Press MySQL Administrators Guide and Language Reference 2nd Edition
Apr 2006
Santana, P. Taller de PHP, UNIVERSIDAD DE COLIMA, Facultad de
Telemtica
Gua para escribir documentos HTML, Versin 1.6 (beta), 1996 - 2003.
Rodrguez, J., (2000), Tutorial de PHP y MySQL

93