Construa seu Próprio Monitor Cardíaco, um ECG simples

Este projeto vai ensinar você a criar o seu próprio dispositivo de monitoramento cardíaco, um ECG/EKG (eletrocardiógrafo) simples.

Nos Estados Unidos e no resto do mundo, milhões de pessoas perdem as suas vidas por problemas cardíacos. Estes problemas acompanham doenças como diabetes, estresse, etc. Antes de continuar a explicar a você o que eu fiz, gostaria de ALERTAR você. 500mA (mili-ampéres) em 220V irá destruir completamente o seu sistema nervoso (então alimente isso a partir de baterias!), verifique tudo duas vezes e a responsabilidade é toda sua.

OK! Eu acho que posso continuar agora. Este foi um trabalho estudantil de quando eu iniciei no campo da biomedicina. Para fazer o meu CV parecer melhor eu queria contruir alguma coisa nessa área e fiz um ECG. A primeira coisa que eu procurei fazer foi ir até o google.com e pesquisar por projetos similares. Lá eu encontrei um bom número de projetos sobre o assunto. Alguns para logar dados de pacientes com doenças cardíacas, alguns outros sistemas de monitoramento cardíaco futuristas e mais alguns feitos apenas por diversão, como o meu.

Vamos iniciar com a definição do que é um ECG e algumas coisas sobre ele (retirado de “Introduction to Medical Electronics Application”, por D. Jennings, A. Flint, BCH Turton, LDM Nokes):

“O coração humano pode ser considerado um grande músculo que bate apenas por contrações musculares. Conseqüentemente, estas contrações causam uma diferença de potencial. O estudo da medida do potencial produzido pelo músculo cardíaco é chamada de eletrocardiologia.
O campo despolarizante no coração é um vetor que altera a sua direção e magnitude através do ciclo cardíaco. A colocação de eletrodos na superfície do paciente determina a visão que será obtida desse vetor em função do tempo.

O esquema de posicionamento mais utilizada dos eletrodos é mostrada na Figura 1. Aqui, a diferença de potencial é medida entre os braços direito e esquedo, entre o braço direito e a perna esquerda e entre o braço esquerdo e a perna esquerda. Estas três medidas podem ser referenciadas como I, II e III, respectivamente. Este posicionamento foi desenvolvida por Einthiven, que determinou que conhecendo o estado das medidas dos sinais das  ligações I e II, o sinal que ia ser visualizado em III poderia ser calculado. E este é o princípio básico do posicionamento das ligações do ECG: a partir dos vários recursos disponíveis, a despolarização do coração pode ser calculada.

ECG Figura 1 Figura 1

 

Conseqüentemente, o sinal do ECG mostra ao clínico as formas de ondas elétricas associadas com as contrações dos ventrículos e artérias. Apartir de um ECG, o clínico pode determinar o tempo das contrações dos ventrículos e artérias e avaliar a magnitude relativa das polarizações e despolarizações ventriculares e arteriais. Esta informação pode permitir a identificação de pequenos bloqueios do coração. Depois de um ataque cardíaco, o ECG do paciente mostra alterações de sincronismo e forma de ondas, transmitidas através dos tecidos musculares. Estas alterações são associadas com danos cardíacos causados pelo ataques do coração”.

ECG Figura 2
Figura 2., diagrama de conexão

 

Depois desta pequena introdução sobre o ECG, vamos falar da descrição eletrônica. A maneira mais simples de explicar como isso funciona é fazer um diagrama de blocos.
O sinal que vem do corpo inicia sendo amplificado (este sinal é muito pequeno e fraco, variando entre 0,5mV e 5,0mV), filtrado (para remover o ruído), amostrado (para amostrar eu preciso de um conversor Analógico/Digital, conhecido como ADC) e então envio ao computador através de uma interdace RS232 (uma interface sem fio ou qualquer outro tipo poderia ser escolhida, mas a RS232 é simples e rápida para desenvolver).

Os primeiros dois passos são mostrado na Figura 3.

ECG Figura 3

Figura 3., Blocos ECG

Os amplificadores que nós usamos na engenharia de biomedicida, aquisição de dados ou qualquer outro lugar onde é interessante representar uma pequena flutuação de tensão sobreposto em um offset de tensão, são chamados amplificadores de Instrumentação. Estes amplificadores possuem uma grande CMMR (Commom Mode Rejection Ratio), o que significa que eles têm a habilidade de um amplificador diferencial em não passar (rejeitar) a parte do sinal que é comum nas entradas + e -. Os famosos produtores de amplificadores de instrumentação são a Texas Intruments e a Analog Devices. Eu utilizei um amplificador da segunda empresa, Analog Devices. O AD620, amplificador de intrumentação, e o OP97, amplificador operacional de alta precisão. Como eles precisam de uma fonte de tensão negativa, eu a gerei com o LTC1044 da Linear, conversor de tensão com chaveamento de capacitor, Figura 4. A tensão fornecida é 5V. O esquemático é mostrado na Figura 5, e mais detalhes sobre o seu funcionamento pode ser visto em seu datasheet.

EC Figura 4

Figura 4., LTC1044, gerador de tensão negativa

 

ECG Figura 5
Figure 5., ECG Esquemático do ECG

Os ruídos podem vir das contrações musculares, interferências da rede na faixa de 50-60Hz, ruídos do contato dos eletrodos, ruídos vindo de qualquer outro dispositivo eletrônico, etc. O filtro para a aplicação do ECG deve ser um filtro de corte (passa-alta e passa-baixa). Ele deve filtrar a faixa de 0.5Hz até 50Hz. Eu criei um filtro simples RC passa-alta e passa-baixa, conectados em série (apenas dois capacitores e resistores).

 

ECG Figura 6
Figura 6., Sinal do ECG

O ADC usado foi o interno da CPU Atmel, ATMega8. O código está aqui:

  1. .include “m8def.inc”
  2. .def temp = r16
  3. .equ CLOCK = 4000000    ; define frequency speed
  4. .equ BAUD = 9600    ; define baud rate of sending data
  5. .equ UBRRVAL = CLOCK/(BAUD*16)-1
  6. main:
  7. ldi r16, 0b00100000    ; configure the ADC
  8. out ADMUX, r16
  9. ldi r17, 0b10000111
  10. out ADCSRA, r17
  11. ; Stackpointer initialisation
  12. ldi temp, LOW(RAMEND)
  13. out SPL, temp
  14. ldi temp, HIGH(RAMEND)
  15. out SPH, temp
  16. ; Baudrate configuration
  17. ldi temp, LOW(UBRRVAL)
  18. out UBRRL, temp
  19. ldi temp, HIGH(UBRRVAL)
  20. out UBRRH, temp
  21. ; Frame-Format: 8 Bit
  22. ldi temp, (1<<
  23. out UCSRC, temp
  24. sbi UCSRB,TXEN    ; TX activate
  25. ADC:
  26. ldi r18, 0b00100000
  27. out ADMUX, r18
  28. ldi r19, 0b11000111
  29. out ADCSRA, r19
  30. loop:
  31. in r24, ADCSRA    ; check if ADC done
  32. sbrc r24, 6
  33. rjmp loop
  34. in temp, ADCH    ; fill the converted ADC value to temp
  35. rcall serout    ; send ADC value to RS232(to computer)
  36. rjmp ADC
  37. serout:
  38. sbis UCSRA,UDRE
  39. rjmp serout
  40. out UDR, temp
  41. ret

Os resultados podem ser vistos nas figuras a seguir. Eu utilizei o LabView para ver o ECG do meu coração.

 

ECG Figura 7

Figura 7. Resultado do ECG no LabView

ECG Figura 8

Figura 8. Resultado do ECG no LabView

ECG Figura 9

Figura 9. Este sou eu com os eletrodos (a imagem na camisa é o logo da Associação de Basquete da Bósnia)

ECG Figura 10

Figura 10. A placa do ECG criada por mim, frente

ECG Figura 11

Figura 11. A placa do ECG criada por mim, lado de baixo

Adaptado, com autorização do autor, por Eletronica.org.