Está en la página 1de 19

Universidad Nacional de Crdoba

Facultad de Ciencias Exactas Fsicas y Naturales

ELECTRONICA DIGITAL II
Trabajo Prctico Final
Electrocardigrafo y termmetro digital

Docente:
Ing. Martn Del Barco

Integrantes:
Pojmaevich, Diego Mauro
Rivoire, Amalia
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Objetivos
Disear e implementar un trabajo final integrador con un microcontrolador PIC,
que cuente con al menos tres interrupciones, dentro de las cuales debe encontrarse la
interrupcin por puerto serie.

Descripcin del trabajo


Se decidi disear un dispositivo que nos permita procesar, por un lado, la seal
proveniente de un electrocardigrafo, y por otro, la seal proveniente de un sensor de
temperatura. El dispositivo deba ser capaz de graficar ambas seales, y mostrar de
forma numrica la temperatura censada, como las pulsaciones por minuto
respectivamente. La visualizacin de estos nmeros debi ser tanto en la interfaz de
LabVIEW como tambin fsicamente en un display.

1
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Desarrollo
Desarrollo del software

Para el desarrollo del programa en lenguaje ensamblador se traz el


correspondiente diagrama de flujo presente a continuacin.

Programa principal y de rutina de servicio de interrupciones

2
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Subrutinas de interrupcin por RB, RB0, ADC y recepcin por puerto serie

3
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Conversor BINARIO BCD ASCII

4
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Comandos y men principal para pantalla LCD

Comandos de 2da lnea pantalla LCD Datos obtenidos por puerto serie

5
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Textos a mostrar por pantalla

2
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Delay

3
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Desarrollo del hardware

El diseo del circuito implementado se divide en tres bloques:

Circuito del microcontrolador PIC16F887


Circuito de adquisicin de seal para el electrocardigrafo
Circuito del sensor de temperatura

Circuito del microcontrolador

Fig. N1: Circuito esquemtico del microcontrolador PIC

Consiste de un circuito de reloj externo formado por el cristal y los dos


capacitores de 22pF, conectados a los pines de CLKIN (13) y CLKOUT (14) del PIC.

Por otro lado, se utiliz un circuito de reset formado por un botn, una resistencia
de 10k y el capacitor electroltico formando un circuito RC conectado al pin

(activo por bajo). En una primera etapa el capacitor comienza descargado, por lo que se
coloca un 0 lgico en el pin de reset, activando el reseteo del PIC. Una vez cargado el

4
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

capacitor, se coloca un 1 lgico en el pin de reset. Mediante el botn se puede proceder


a la descarga del capacitor cortocircuitndolo a masa, y lograr el reseteo del PIC.

Adems se colocaron dos botones adicionales, uno en el pin RB4 (37) y otro en
el pin RB5 (38), los cuales son utilizados a modo de teclado para seleccionar el modo
medicin de temperatura o el modo pulsaciones respectivamente. Para una mejor
visualizacin del estado en cual se encuentra operando el dispositivo se determin
utilizar un led testigo de color rojo para el modo temperatura y uno verde para el modo
pulsaciones, los cuales se encuentran en los pines RB2 (35) y RB3 (36) respectivamente.
Tambin se coloc un botn de inicio del sistema en el pin RB0 (33).

Para visualizar el men de seleccin y poder mostrar de manera dinmica tanto


la medicin de la temperatura como las pulsaciones, se decidi utilizar una pantalla LCD
de 2x16 de conexin paralela, la cual fue debidamente conectada al puerto D (pines
dato) y al puerto C (pines RS y E).

Por ltimo, se decidi utilizar el ADC del PIC para digitalizar las seales analgicas
utilizado los pines AN0 (2) y AN3 (5), y el puerto serie para enviar la seal digitalizada
mediante el pin TX (25) a una computadora para luego procesarla y devolver la
informacin deseada, la cual es recibida por el pin RX (26).

5
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Circuito de adquisicin de seal para ECG

Fig. N2: Circuito esquemtico de adquisicin de seal de ECG

Amplificador de instrumentacin: Se utilizaron tres amplificadores operacionales TL072


en la configuracin mostrada para captar las pequeas seales provenientes de los
electrodos.

Etapa de filtrado: Se utiliz un filtro pasa banda de (0.5Hz a 150Hz) mediante dos filtros
RC en cascada (pasa bajo y pasa alto).

Amplificacin: Se utiliz un amplificador operacional en modo no inversor con una


ganancia aproximada de 110, obteniendo una seal de 4Vpp.

Control de offset: Para que la seal pueda ser procesada por el ADC del PIC se
implement un amplificador operacional en configuracin sumador no inversor, para
elevar la seal y lograr una excursin positiva de la misma.
6
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Circuito del sensor de temperatura

Fig. N3: Circuito esquemtico del sensor de temperatura

El LM35 es un sensor de temperatura integrado de precisin cuyos rangos de


operacin oscilan desde los -55C hasta los 150C, teniendo en cuenta que este tipo de
sensores ofrecen una precisin de +/- 1.4C a temperatura ambiente. Adems de ello,
son de tipo lineal; es decir, no es necesario realizar conversiones debido a que otros
sensores estn basados en grados Kelvin, adems cada grado Celsius equivale a 10 mV.

Este sensor le enviar su seal analgica al conversor A/D del microcontrolador


PIC, el cual la digitalizar y la transmitir a la computadora a travs del puerto serie, para
luego ser visualizada mediante una interfaz diseada con LabView.

7
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Circuito topolgico implementado

Fig. N4: Foto del circuito de adquisicin de seal de ECG implementado

Fig. N5: Foto del circuito implementado del PIC (arriba) y el sensor de temperatura (abajo)

8
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Interfaz de usuario

Para la interfaz de usuario con la PC se dise un programa con el software


LabVIEW como se describe a continuacin.

Configuracin del puerto serie

Se configur el VISA Serial a 9600


baudios, y se agreg un indicador para la
seleccin del puerto COM.
Luego se descartan eventos
errneos y se habilitan las notificaciones
para eventos del tipo serial. Adems
mediante una funcin y una compuerta
NOT, verificamos si el puerto se
encuentra habilitado y lo mostramos
mediante un indicador LED.
En el siguiente bloque, ya dentro de la estructura Case principal, se espera 1ms
a la ocurrencia de algn evento, y luego se pasa al bloque Read donde se lee la
informacin recibida de a 8 bytes, y se las retorna en forma de string (cable rosa).

Inicializacin de variables

Las variables en verde corresponden a las


de tipo booleanas y sern representadas con su
correspondiente led indicador en el panal frontal.
Las variables azules corresponden a
variables numricas de tipo entero, y son
representadas con su indicador correspondiente
en el panel frontal.
Por ultimo las variables vector
frecuencia y vector temperatura, son del tipo
matriz, los cuales poseen dimensin 1 y cuyos
elementos son inicializados en 0.

Programa principal

El programa principal consiste de una estructura case en la cual si el puerto se


encuentra habilitado (TRUE) se procede a procesar la informacin proveniente del
puerto serie, y si no est habilitado (FALSE), se precede a cerrar el puerto.
Dentro del caso TRUE encontramos una estructura while principal, que establece
que mientras nos encontremos en este estado de la estructura case, lo que se encuentre
dentro del while se ejecutar indefinidamente hasta que el botn STOP sea presionado
o en su defecto, el puerto se deshabilite.

9
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Procesamiento de seal ECG

El string de bytes ledo es primero convertido en un vector de bytes, luego se le


aplica un cambio de escala de 0-255 a 0-5V, adecuando los datos a los voltajes de
referencia del PIC y la resolucin de dato digitalizado (8 bits). Este cambio de escala se
logra de la siguiente forma:
5
() =
255
Luego se le aplica un offset negativo para acomodar la seal y poder graficarla
de la misma manera en la que puede ser visualizada a la salida de la etapa amplificadora.
Una vez hecho esto, se le aplico un filtro digital Butterworth de 4to orden del tipo pasa
bajo con frecuencia de corte 150Hz y una frecuencia de muestreo de 1000Hz, con el
objetivo de mejorar ms la visualizacin de la seal. A la salida del filtro se la grfica y se
muestra por el panel frontal, y a su vez se la procesa para poder obtener la cantidad de
pulsaciones por minuto.

Para el clculo de las pulsaciones, se aplic un bloque de deteccin de disparo,


para detectar los picos R de la seal. Este bloque se configuro por flanco de bajada y con
un rango de deteccin de 0,25-1,25V. Cada vez que el bloque detecta un pulso lo indica
mediantes un TRUE a su salida, el cual acciona una estructura case, en la cual se
incrementa una variable Pulsos a modo de contador, y adems un indicador led se
enciende por cada pulsacin para mejor visualizacin.
Por otro lado, el clculo de la frecuencia cardiaca se realiza tomando la cantidad
de pulsos contados cada 5 segundos, y multiplicndolos por 12 para obtener la cantidad
de pulsos por minuto. Luego, el valor de frecuencia se guarda en Vector Frecuencia
para luego poder ser convertido en forma de string y posteriormente enviado por el
puerto serie de nuevo al PIC.

10
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Procesamiento de seal de temperatura

El string de bytes ledo es


primero convertido en un vector
de bytes, luego se le aplica un
cambio de escala al igual que para
el caso anterior. En este caso la
eleccin del multiplicador.se
realizo a prueba y error,
comparando la temperatura
mostrada con la medida
mediante una termocupla
externa.
Luego del cambio de escala, se aplic un filtro digital Butterworth de 2do orden
del tipo pasa bajo con frecuencia de corte 0,125Hz y una frecuencia de muestreo de
100Hz, con el objetivo de lograr una seal prcticamente continua al eliminar cualquier
componente frecuencial por encima de la frecuencia de corte. A la salida del filtro, los
datos se convirtieron a valores enteros para poder ser graficados

Por otro lado, para poder mostrar la temperatura medida por el panel frontal, y
luego enviarla por puerto serie para mostrarla en la pantalla LCD, se implement una
estructura case la cual se activa cada 5 segundos. Dentro de esta estructura
encontramos una estructura secuencial, donde primero se guarda en un vector el valor
obtenido de la medicin y a su vez se muestra en el panel frontal mediante un indicador,
y luego se convierte este valor en un string para ser enviado por puerto serie.

Escritura del puerto serie y fin del programa

Finalmente, la salida de datos por el puerto


serie se realiza mediante el bloque de escritura, el
cual recibe el dato en forma de string y lo transmite
hacia el PIC. Al igual que en la configuracin del
inicio, se utilizan los bloques de descarte de errores
y se deshabilitan las notificaciones de eventos
serial, para luego cerrar el puerto y si es necesario
mostrar los errores.

11
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Estructura final del programa

Fig. N6: Bloque de procesado del ECG del programa en LabVIEW

Fig. N7: Bloque de procesado de temperatura del programa en LabVIEW

12
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Fig. N8: Interfaz de usuario final del programa en LabVIEW

13
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981
Universidad Nacional de Crdoba Facultad de Ciencias Exactas Fsicas y Naturales
Electrnica Digital II - Trabajo Prctico Final

Conclusiones
A partir del trabajo realizado logramos integrar todos los conocimientos
aprendidos durante la materia y llevarlos a la prctica por lo cual debimos comprender
el manejo de interrupciones, tales como RB0, cambio de nivel (RB4-RB7), conversin por
ADC e interrupcin por recepcin por puerto serie en un mismo programa y a su vez el
manejo de hardware como teclado y la pantalla LCD. Adems se logr trabajar de una
manera ptima en cuanto al ahorro de memoria.

Por ltimo, el trabajo nos result una experiencia muy enriquecedora debido a
que logramos obtener la seal del electrocardiograma que esperbamos luego de
sucesivas etapas de filtrado y amplificacin como as tambin nos interiorizamos con el
sensado de temperatura, en este caso, con el sensor LM35.

14
Diego Mauro Pojmaevich Mat: 37317027
Amalia Rivoire Mat: 38278981

También podría gustarte