Paso 4 Instrumentacion Medica Monica Lopez

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 9

PASO 4

Realizar un sistema de insrumentacion de imágenes medicas

Alumno.

Monica Maria Lopez Gamboa

Codigo:

1098723575

Tutor:

Diego Fernando Nava

Grupo:

299016_6

UNIVERSIDAD NACIONAL ABIERTA Y A DISTANCIA

Ingenieria Electronica

Instrumentacion Medica

27 de Noviembre de 2018
Actividades a desarrollar

Diseñar un equipo electrónico capaz de medir la frecuencia cardiaca, se debe de tener


en cuenta las siguientes recomendaciones:

Realizar el código de programación de un arduino que permita calcular las pulsaciones


por minuto del corazón, estas pulsaciones son visualizadas en un LCD. Si las pulsaciones
por minuto son mayores a 100, se enciende un led rojo y se visualiza en el LCD
“taquicardia”, si las pulsaciones son menores a 60 se enciende un led amarillo y se
visualiza en el LCD “bradicardia”, si las pulsaciones son mayores a 60 y menores a 100,
se enciende el led verde y se visualiza en el LCD “normal”.

Realizar el diseño del circuito electrónico a implementar y/o realizar la simulación,


descripción del funcionamiento del circuito.

Para la realización de este ejercicio se decidió trabajar sobre el diseño de un circuito de


adquisición de señales electro cardiacas, el cual consta de 4 etapas.

Figura 1. Diagrama de bloques para un sistema de adquisición de señales electro


cardiacas.

Este diseño, que fue realizado por estudiantes de la UIS y se encuentra en YouTube,
conta de 4 etapas, una primera amplificación de 50, luego un filtrado de 0.2Hz a 40Hz,
esto para tomar la señal lo suficientemente limpia, el filtro superior de 40Hz se debe a
que solo queremos medir ritmo cardiaco, si quisiéramos obtener el complejo QPRS
dicho filtro debería ser hasta 100Hz, y luego una amplificación final de 20, dando un
total de ganancia de 1000. En la figura 1 podemos observar.

Figura 2. Señal ECG adquirida con el sistema descrito anteriormente.

Ahora como en nuestro caso vamos a realizar una simulación en Proteus, no es posible
simular un generador de señales ECG, por lo tanto, se usara un generador de señales
triangular y se va a tener le siguiente esquema.

La señal triangular es para simular la forma de la señal ECG, luego viene una etapa de
amplificación que se hace con una configuración no inversora con ganancia de 1000,
después un saturador con un nivel de referencia de 2V para luego entrar al arduino por
el pin digital 2.
Figura 3. Diseño en Proteus.

Para la etapa de amplificación se usó una configuración no inversora básica, la cual


tiene como ecuación de ganancia G = (R5/R1)+1 , por lo cual solo es necesario
encontrar unas resistencias comerciales que cumplan nuestras especificaciones.

El saturador es un opamp sin retroalimentación negativa, por lo tanto la salida esta


regida por Vout = A(V+ - V-), donde A es la ganancia interna, que es muy alta (en
algunas referencias de 70k) por lo que si el voltaje que aplicamos en el pin V+ es
superior al del pin V-, la salida se satura y se va al voltaje de alimentación positivo que
en nuestro caso es 5V.
Figura 4. Etapa de amplificación de ganancia 1K

A grandes rasgos, el circuito está diseñado para que reciba una señal triangular del
orden de las decenas de milivoltios, la amplifique hasta niveles de voltios, no se usaron
filtros por que la señal la obtenemos de un generador de funciones, para luego pasar
por un saturador, el cual nos la convierte en una señal cuadrada de 0 a 5V para luego
entrar al pin2 del arduino.

CODIGO

El código que se implementó en arduino hace uso de una característica muy útil que
son las interrupciones, estas son útiles para hacer que las cosas sucedan
automáticamente en los programas de microcontroladores, y pueden ayudar a resolver
problemas de tiempo. Dependiendo del tipo de arduino, el pin que soporta las
interrupciones puede cambiar.

Lo que hacemos con las interrupciones es central el microcontrolador a escuchar lo que


vea por ese pin, y el detecta cada vez que aya un flanco de subida o bajada, y esto lo
hace durante un tiempo que nosotros estimemos, por ello, para este ejercicio se usó un
saturador, para que el arduino pudiera detectar más fácil los flancos de subida, el rango
de tiempo al que opera es de 15 segundos, o sea que durante este tiempo, el
microcontrolador solo se centra en escuchar al pin 2 y devuelve el número de impulsos,
que en nuestro caso seria los BPM, luego este valor se multiplica por 4 y se da el
estimado de pulsaciones por minutos. Este valor luego pasa a 3 condicionales en los
cuales se tienen los límites para taticardia, bradicardia y normal
//Codigo Arduino

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 1);

volatile int NumPulsos; //variable para la cantidad de pulsos recibidos


int PinSensor = 2; //Sensor conectado en el pin 2
int taticardia = A0;
int bradicardia = A1;
int normal = A2;

void ContarPulsos ()
{
NumPulsos++; //incrementamos la variable de pulsos
}

int ObtenerFrecuencia()
{
int frecuencia;
NumPulsos = 0; //Ponemos a 0 el número de pulsos
interrupts(); //Habilitamos las interrupciones
delay(15000); //muestra de 1 segundo
noInterrupts(); //Desabilitamos las interrupciones
frecuencia=NumPulsos; //Hz(pulsos por segundo)
return frecuencia;
}
void setup() {

pinMode(PinSensor, INPUT);

pinMode(bradicardia, OUTPUT);
pinMode(taticardia, OUTPUT);
pinMode(normal, OUTPUT);

attachInterrupt(0,ContarPulsos,RISING); //(Interrupcion 0(Pin2),funcion,Flanco de


subida)
pinMode(6, OUTPUT);
lcd.begin(16, 2);
lcd.print("iniciando");
delay(2000);
}

void loop() {

float frecuencia=ObtenerFrecuencia(); //obtenemos la Frecuencia de los pulsos en Hz


lcd.clear();
lcd.print("calculando");
frecuencia=4.0*frecuencia;

if (frecuencia >= 100) {


digitalWrite(normal, LOW);
digitalWrite(bradicardia, LOW);
digitalWrite(taticardia, HIGH);
lcd.clear();
lcd.print("taticardia");
lcd.setCursor(0, 1);
lcd.print("BPM: ");
lcd.setCursor(7, 1);
lcd.print(frecuencia);
delay(5000);
}
if (frecuencia <= 60) {
digitalWrite(normal, LOW);
digitalWrite(bradicardia, HIGH);
digitalWrite(taticardia, LOW);
lcd.clear();
lcd.print("bradicardia");
lcd.setCursor(0, 1);
lcd.print("BPM: ");
lcd.setCursor(7, 1);
lcd.print(frecuencia);
delay(5000);
}

if (frecuencia < 100 && frecuencia > 60 ) {


digitalWrite(normal, HIGH);
digitalWrite(bradicardia, LOW);
digitalWrite(taticardia, LOW);
lcd.clear();
lcd.print("normal");
lcd.setCursor(0, 1);
lcd.print("BPM: ");
lcd.setCursor(7, 1);
lcd.print(frecuencia);
delay(5000);
}

}
REFERENCIAS BIBLIOGRAFICAS
https://www.vix.com/es/imj/salud/5165/como-medir-la-frecuencia-cardiaca

También podría gustarte