0% encontró este documento útil (0 votos)
550 vistas14 páginas

ECG con Arduino y Matlab

Este documento describe el diseño e implementación de un dispositivo ECG utilizando un filtro digital en Matlab y Arduino. Explica los materiales necesarios, las etapas de desarrollo incluyendo simulación en Proteus y programación en Arduino y Matlab. El objetivo es obtener la señal ECG, filtrarla para eliminar ruido y visualizarla.

Cargado por

swelf
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
550 vistas14 páginas

ECG con Arduino y Matlab

Este documento describe el diseño e implementación de un dispositivo ECG utilizando un filtro digital en Matlab y Arduino. Explica los materiales necesarios, las etapas de desarrollo incluyendo simulación en Proteus y programación en Arduino y Matlab. El objetivo es obtener la señal ECG, filtrarla para eliminar ruido y visualizarla.

Cargado por

swelf
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd

Diseo e implementacin de un dispositivo ECG

(ElectroCardiograma) con un filtro digital en Matlab


utilizando Arduino
TABLA DE CONTENIDO ECG

1.
2.
3.
4.
5.
6.
6.1.
6.2
6.3
7.
8.
9.

INTRODUCCIN
CMO FUNCIONA?
CMO SE OBTIENE?
QU SIGNIFICA?
ALGUNAS GENERALIDADES
DISEO E IMPLEMENTACIN
MATERIALES
ETAPAS DE DESARROLLO Y SIMULACIN
PROGRAMACIN (ARDUINO Y MATLAB)
DESCRIPCIN DEL PROYECTO
RESULTADOS OBTENIDOS
LINKS DE DESCARGA

1.

INTRODUCCIN

Imagen 1.- El fisilogo Willen Einthoven.

Un electrocardiograma (ECG) es un procedimiento de diagnstico mdico con el que se obtiene un


registro grfico de la actividad elctrica del corazn en funcin del tiempo.
La actividad elctrica son las variaciones de potencial elctrico generadas por el conjunto de
clulas cardacas y que son recibidas en la superficie corporal.
La formacin del impulso cardaco y su conduccin generan corrientes elctricas dbiles que se
diseminan por todo el cuerpo. Al colocar electrodos en diferentes sitios y conectarlos a un

instrumento de registro como el electrocardigrafo se obtiene el trazado caracterstico de las


ondas.
El electrocardiograma fue inventado por el fisilogo Willen Einthoven, quien gracias a sus aportes
recibi el premio Nobel de Medicina en 1924.

2.

CMO FUNCIONA?

Imagen 2.- Impresin clsica de un ECG

Las contracciones rtmicas del corazn estn controladas por una serie ordenada de descargas
elctricas.
Antes de cada contraccin del msculo cardaco se genera un impulso elctrico por despolarizacin
en el nodo sinoauricular que se propaga concntricamente produciendo la onda P del
electrocardiograma.
Inicialmente se despolariza la aurcula derecha y posteriormente la aurcula izquierda.
De este modo, vemos que, en un ritmo normal, el nodo sinoauricular es el marcapasos cardiaco (el
lugar donde se origina el impulso cardaco).
Despolarizacin, se refiere a la activacin elctrica del corazn, se produce por modificacin de
la polaridad de la membrana celular, al ingresar el sodio.
Vimos que la despolarizacin ventricular corresponde a la onda P. La despolarizacin ventricular,
por su parte, determina la onda QRS del ECG.
Repolarizacin, en tanto, es la recuperacin de la polaridad: la repolarizacin auricular queda
oculta en el QRS y la repolarizacin ventricular se refleja en el segmento ST y en la onda T (una
onda lenta).
Ambos fenmenos, despolarizacin y repolarizacin, ocurren durante la sstole.
3.

CMO SE OBTIENE?

Imagen 5.-Actividad elctrica del corazn.

Un electrocardiograma estndar se obtiene poniendo doce pequeos electrodos en determinados


puntos del cuerpo del paciente. Luego se enciende la maquina ECG y se realiza el registro en unos
pocos segundos.
La prueba es completamente indolora y no tiene ningn riesgo.
Los cambios en el trazado normal de un ECG pueden indicar una o ms condiciones relacionadas
con el corazn.
As, un ECG es extremadamente til para el diagnstico y control de las arritmias cardacas, de la
angina de pecho, del infarto agudo de miocardio y en general para detectar cualquier irregularidad
en la actividad elctrica del corazn.
4.

QU SIGNIFICA?

Imagen 4.- El significado de un grfico ECG.

La primera ondulacin pequea en la parte superior del trazado de un ECG se denomina "onda P".
La onda P indica que las aurculas (las dos cavidades superiores del corazn) son estimuladas en
forma elctrica (se despolarizan) para bombear la sangre hacia los ventrculos.
La siguiente parte del trazado es una seccin corta descendente conectada con una seccin alta
ascendente. La misma se denomina onda o "complejo QRS".
Esta parte indica que los ventrculos (las dos cavidades inferiores del corazn) se estn estimulado
elctricamente (despolarizando) para bombear la sangre hacia fuera.
El siguiente segmento plano corto ascendente se llama "segmento ST".
El segmento ST indica la cantidad de tiempo que transcurre desde el final de una contraccin de
los ventrculos hasta el comienzo del perodo de reposo (repolarizacin).
La siguiente curva ascendente se denomina "onda T". La onda T indica el perodo de recuperacin
o repolarizacin de los ventrculos.
5.

ALGUNAS GENERALIDADES

El corazn tiene cuatro cmaras: dos aurculas y dos ventrculos. Para que el corazn puede realizar
la contraccin se necesita una estimulacin y conduccin elctrica a travs de fibras especiales
para transmitir impulsos elctricos. El latido del corazn es totalmente involuntario, por lo tanto
el cuerpo no tiene control sobre sus latidos.
El impulso del corazn se origina en el nodo o ndulo sinusal, de ah pasa a las aurculas, luego
llega al ndulo auriculoventricular, durante este proceso se disemina en un haz de fibras y acaba
dividindose en cuatro ramas.
Un ciclo cardaco es representado por una sucesin de ondas en el trazado del ECG: la onda P, la
onda o complejo QRS y la onda T.
Estas ondas producen dos intervalos importantes: el intervalo PR y el intervalo QT, y dos segmentos:
el segmento PQ y el segmento ST.
Durante el ejercicio fsico el ciclo cardaco se acelera y por tanto el intervalo P-T se acorta.
El registro del ECG se realiza en un papel milimetrado, con lneas ms gruesas cada 5 mm. Cada
mm de trazado horizontal es equivalente a 0,04 segundos del ciclo cardaco, el espacio entre dos
lneas gruesas representa 0,2 segundos (a la velocidad habitual del papel de 25 mm/seg).
En sentido vertical (la ordenada Y) se representa el voltaje de las ondas electrocardiogrficas (en
mV), las cuales pueden ser positivas o negativas segn la lnea isoelctrica. La abscisa (X) u
ordenada horizontal representa el tiempo.

Imagen 5.-Actividad elctrica del corazn.

Resulta interesante destacar que un trazado electrocardiogrfico no es ms que un grfico de


voltaje en funcin del tiempo. De esta manera, en l se reflejan ondas que tienen una determinada
amplitud segn la situacin, y una determinada duracin. Entre las ondas muestra pausas que
tambin tienen una determinada duracin.
Es importante destacar las particularidades de los tejidos automticos (como son los tejidos del
msculo cardaco), que son capaces de realizar despolarizacin espontnea, generando los
estmulos elctricos que derivan en la despolarizacin sincronizada del corazn.

FUENTE:
http://www.profesorenlinea.cl/Ciencias/Electrocardiograma.html

6.
6.1.

DISEO E IMPLEMENTACIN DEL DISPOSITIVO

MATERIALES

CI:
1 AD620AN (Amplificador de Instrumentacin)
1 TL084 (4 / Amplificador Operacional )
RESISTENCIAS: a 1/4 de vatio
R1: 5.6K
R2,R3,R4, R17: 10K
R5: 1M
R6, R7, R13, R16: 15K
R8: 270
R9: 680
R10: 470
R11: 2.7K
R12: 4.7K
R14, R15: 27K
R18, R19, R20: 100K
CAPACITORES:
C1, C3, C5, C6: 0.1uF (104 cermico)
C2: 2.2uF / 16V (electroltico)
C4: 22uF / 16V(electroltico)
C7: 220nF (224 cermico)
C8: 100uF / 16V(electroltico)
VARIOS:
fuente simtrica de (-3.3 +3.3) V hasta (-12 +12) V
1 switch para encender y apagar la alimentacin del dispositivo
2 conectores molex de 3 pines (0.1mm)
3 metros de cable de red y tres lagartos
3electrodos
1 conector de 3 pines para la alimentacin (0.2mm)
1 placa de baquelita 10x5cm
cido para baquelitas, estao, cautin, cables, papel trasfer, etc.
HARDWARE:
Tarjeta Arduino
SOFTWARE:
Software Arduino
Matlab
Proteus 8.0 Professional
6.2

ETAPAS DE DESARROLLO Y SIMULACIN

Primera etapa de amplificacin de la seal, mediante el amplificador de instrumentacin


AD620AN

Diseo de Filtros: Filtro Pasa Bajos de 150Hz

- Filtro Pasa Altos de 0.5Hz

- Filtro Notch 60 Hz

Amplificacin de la Seal

Montaje de la seal en un nivel de directa

SIMULACIN EN PROTEUS 8.0

RESULTADOS DE LA SIMULACIN
Ruido de 60 Hz

Seal del corazn interrumpida por un ruido de 60 Hz

Seal de audio filtrada

RUTEO PARA LA PLACA

Vista inferior

Vista superior

6.3

PROGRAMACIN (ARDUINO Y MATLAB)

Programacin Arduino
int val;
void setup(){
Serial.begin(14400);
}
void loop(){
val=analogRead(A0);
Serial.println(val);
delay(20);
}
Programacin en Matlab - Graficar ECG

%el dominio analgico tenemos 2 opciones:


%la instruccin para generar un filtro del grado que el usuario desee, as
%como la manipulacin de la frecuencia de corte
%el comando para que a partir del grado, tipo y amortiguamiento, se obtenga
%los polos u ceros y ganancia que puede tener el filtro
%diseo de un filtro pasa banda de 4 Hz a 60Hz y el resultado de ingresar
%una seal y pasarla por el filtro
%DEFINIMOS CARACTERSTICAS DE LA Seal Y EN FILTRO EN TIEMPO FRECUENCIA DE
%ATENUACIN
%DEFINIMOS EL PERIODO DE LA SEAL EN UN VALOR DE 0.01SEG
pas=0.01;
t=0:pas:10;
%DEFINIMOS LA FRECUENCIA DE MUESTREO QUE ES EL INVERSO DEL PERIODO DE LA
%SEAL ADEMAS DE LA FRECUENCIA DE CORTE QUE ES EL INVERSO DE LA FRECUENCIA
%DE MUESTREO LA CUAL VA A SER UTILIZADA EN NUESTRO FILTRO Y RESULTA EL
%INVERSO DEL PERIODO DE LA SEAL
fm=1000;
fs=fm/2;
%DEFINIMOS LA BANDA DE PASO Y DE CORTE DE NUESTRO FILTRO
wp=[100 250]/fs;
ws=[10 300]/fs;
%establecemos los valores rp (valor de la tolerancia de nuestro filtro) y de
%rs (valor de la atenuacin de la banda eliminada)
rp=3;
rs=30;
%definimos la seal la cual vamos a utilizar para pasar por el filtro de
%butterworth que es la seal ECG que previamente guardamos
%senal=sin(10*pi*t)+cos(15*t+t.^2);
senal = load('v1.dat');
%graficamos la seal de muestra
%definimos el eje de tiempo
ejet=[0:pas:(length(senal)-1).*pas];
subplot(4,1,1);
plot(ejet,senal);
axis([min(ejet) max(ejet) min(senal) max(senal)]);
xlabel('t(s)');
ylabel('Input(s)')
title('Grafico de la Senal 0')
%graficamos el espectro de la amplitud de la seal de muestra
subplot(4,1,2);
dim=length(senal).*pas;
%definimos el eje de frecuencia para la grfica del espectro seal
ejefrec=[0:1/dim:(length(senal)-1)/dim];
spectr=abs(fft(senal));
%obtenemos la amplitud del espectro de la seal
spectr=spectr/max(spectr);
plot(ejefrec,spectr);
axis([0 10 0 max(spectr)]);
xlabel('frecuencia(Hz)');

title('Espectro de amplitud de la senal')


%obtenemos el orden del filtro de butterworty la frecuencia normalizada con
%la ayuda del comando buttord
[n,wn]=buttord(wp,ws,rp,rs);
%con los datos anteriores y con la ayuda del comando butter obtenemos los
%coeficientes de la funcin de trasferencia para el filtro de butterworth
[b,a]=butter(n,wn);
[h,f]=freqz(b,a,[],fm);
subplot(4,1,3);
plot(f,abs(h));
axis([0 10 0 max(spectr)]);
xlabel('freciencia(Hz)');
ylabel('I H(z)I');
title('Filtro')
%para poder observar el resultado de filtrar nuestra seal de muestra la
%convulsionamos con el filtro con la ayuda del comando filter y
%on=btenemos el resultado de la seal filtrada
ysig=filter(b,a,senal);
subplot(4,1,4);
plot(ejefrec,abs(fft(ysig)));
axis([0 10 0 500]);
xlabel('Frecuencia (Hz)');
ylabel('Senal Filtrada(Hz)');
title('Senal Filtrada');
7.

DESCRIPCIN DEL PROYECTO

Este proyecto fue probado con los elementos que se detallan en los diagramas. Consta
principalmente por un circuito ECG y una tarjeta Arduino UNO que sirvi como medio comunicacin
entre el circuito y el software que realizara la ultima etapa de filtrado mediante un filtro digital
butterworth en Matlab.
Los electrodos se deben conectar con un cable que minimice el ruido, ya que este circuito es muy
sensible al ruido elctrico de 60Hz de la red alterna. Por esta razn usamos un par de cables
enrollados (cable de red utp) y soldados a un lagarto para sujetar cada electrodo.
Las bateras que se usaron fueron bateras de life de 6.6V configuradas para obtener la fuente
simtrica que requieren los opams. Aunque el circuito esta diseado para fuentes desde 3.3V hasta
12V
Una vez alimentado el circuito conectamos la salida a un pin analgico del Arduino y sincronizamos
la velocidad de trasmisin desde el Arduino hasta el programa en Matlab. En este caso con una
mxima velocidad de trasmisin de 14400 Baudios, tambin se debe tener en cuenta el puerto que
reconoce el Arduino y hacerlo coincidir con el puerto asignado en Matlab.

En Matlab, el primer programa grfica las lecturas realizadas por el circuito de la seal ECG durante
un periodo de 10 segundos (regulables) ademas almacena la seal en el disco en forma de vector
para luego ser utilizada.
Finalmente la seal que almacenamos es leda en el segundo programa de Matlab para ser filtrada
digitalmente y obtener una seal mas limpia.
8.

RESULTADOS OBTENIDOS

Diagrama total del circuito

Seal Graficada en Matlab antes del filtro Digital

Seal final una vez pasada por el filtro Butterworth Digital

9.

LINKS DE DESCARGA

Proteus 8.0 Professional:


http://www.intercambiosvirtuales.org/software/proteus-professional-v8-0-151417-sp0-suiteprofesional-de-simulacion-de-circuitos-electronicos#more-60141
Simulacion en Proteus 8.0:
https://www.dropbox.com/s/simoy5xioaip5jj/ecg%20simulacion.rar
Archivo PDF con las pistas Ruteadas del circuito:
https://www.dropbox.com/s/0yhdfvvjnf1psr6/impresion%20placa%20ecg.pdf
Programa en Arduino:
https://www.dropbox.com/sh/71hr8xu21zevxoy/aqADOJnAFQ
Programa 1 Matlab, Grafica ECG:
https://www.dropbox.com/s/wnvhavxmoi7cimi/ecg_usb_arduino.m
Programa 2 Matlab, Filtro Digital:
https://www.dropbox.com/s/2tsrhchttgmsevo/ecg_butherworth.m

También podría gustarte