Elektroda.pl
Elektroda.pl
X

Search our partners

Find the latest content on electronic components. Datasheets.com
Elektroda.pl
Please add exception to AdBlock for elektroda.pl.
If you watch the ads, you support portal and users.

Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog

gzielos 11 May 2022 12:41 1374 5
Altium Designer Computer Controls
This content has been translated flag-de » flag-pl View the original version here.
  • Eksperymenty związane z EKG

    Od dawna uważałem za interesujące rozważania o własnych systemach EKG. Szczególnie interesują mnie rozwiązania niedrogie i łatwe w konfiguracji. W tym artykule przedstawiono kilka sposobów wykorzystania tej techniki. Ale najpierw coś podstawowego:

    Ze względu na bezpośredni kontakt elektrod EKG z ciałem, wszystkie elementy mogą być zasilane wyłącznie akumulatorami lub bateriami. Żadna część, tj. PC, oscyloskop, złącza USB nie mogą mieć połączenia sieciowego. Komputer może być zasilany wyłącznie baterią (laptop), wszystkie obwody nie mogą być nigdy zasilane z zasilacza. Należy zawsze brać pod uwagę, że zasilacze mogą być wadliwe i istnieje ryzyko porażenia prądem.

    Poniżej znajdziemy kilka eksperymentów, które przybliżą nas do techniki EKG. Eksperymenty te nigdy nie powinny być wykorzystywane do celów diagnostycznych, a jedynie jako ciekawe projekty hobbystyczne.

    Symulator EKG

    Zanim podłączymy się do urządzenia EKG, zostaną opisane eksperymenty, które można wykorzystać do wygenerowania "sztucznego" EKG. Może to być przydatne do testowania komponentów zewnętrznych, takich jak oscyloskop lub szeregowego przesyłania danych EKG.

    Punktem wyjścia jest mały ATTiny13, który wysyła zapisane dane EKG albo jako PWM, a tym samym wartości analogowe, albo jako wartości szeregowe do interfejsu szeregowego. Pierwszy wariant może być używany z oscylografem, drugi z programem terminala na PC i późniejszym zaprezentowaniem, np. w Excelu.

    Symulator EKG z wyjściem analogowym

    ATTiny13 z programem ,,ekg_sim_pwm01.bas" autonomicznie wysyła analogowe sygnały EKG bezpośrednio do np. oscylografu. Ponieważ nie ma tu kontaktu fizycznego, można użyć dowolny oscylograf z podłączeniem do sieci. Realizuje to następujący prosty obwód:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Symulator EKG z wyjściem analogowym

    Code: vbnet
    Log in, to see the code



    Symulator EKG z wyjściem szeregowym

    Jeśli chce się wyświetlić symulowane dane EKG na komputerze, np. za pomocą programu EXCEL, dane mogą być przesyłane przez interfejs szeregowy. W tym celu ponownie używany jest ATTiny 13 z wewnętrznie zapisanymi wartościami EKG. Tym razem jednak przesyła je jako szeregowy strumień danych. Program ,,ekg_sim_ser01" realizuje tę funkcję. Układ wygląda wtedy tak:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Symulator EKG z wyjściem szeregowym


    Aby ocenić dane szeregowe, obecne tutaj dane TTL muszą zostać najpierw przekonwertowane. Używam programu Pololu USB AVR Programmer V2.1., który oprócz interfejsu wymaganego do programowania procesorów ATMEGA/ATTiny zapewnia dodatkowy interfejs RS232 przez USB:

    https://www.amazon.de/s?k=Pololu+USB-AVR+Prog...tive=6742&linkCode=ur2&tag=mikroelektronik-21

    Umożliwia to przesyłanie danych szeregowych w formacie TTL do wirtualnego (tj. przez USB) interfejsu COM na komputerze PC. Używam programu hterm na PC. Podczas łączenia z komputerem PC programator Pololu udostępnia dwa nowe porty COM, które można znaleźć za pomocą menedżera urządzeń:

    Pololu USB AVR Programmer v2.1 Port programowania (COM17)
    Pololu USMAVR Programmer v2.1 Port szeregowy TTL (COM16)

    Ten ostatni jest kanałem komunikacyjnym do szeregowej transmisji danych. W programie hterm w obszarze wprowadzania (górna część) wprowadzane są następujące wpisy:
    Port "COM16" (u mnie, proszę sprawdzić w menedżerze urządzeń)
    Baud "9600", Data "8", Stop "1", Parity "None"
    Zaznaczenie w Ascii, Newline at "CR+LF"
    Dla Save Output wybierz opcję "RAW"
    Jeśli ATTiny13 jest zaprogramowany, wartości powinny przewijać się w dół zaraz po "Connect". Po kilku sekundach strumień danych można zatrzymać za pomocą "Disconnect" i zapisać za pomocą "Save Output". Plik dziennika można znaleźć w folderze "hterm" jako "output_2022-04-27_11-29-05.log" - tutaj tylko jako przykład. Plik ten można wczytać bezpośrednio do programu EXCEL, ale najpierw należy aktywować "wszystkie pliki", ponieważ nie jest to typowy plik programu EXCEL. Zaraz po wczytaniu można utworzyć wykres pliku poprzez: Wstaw -> Linia (ndiagramm), który wtedy wygląda mniej więcej tak:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Wykres EXCEL z symulatora


    Mniejsze obszary można również wybrać jako dane do wykresu, tak aby na przykład pojawiły się tylko dwa "bicia serca", co wtedy wygląda lepiej:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Fragment

    Code: vbnet
    Log in, to see the code



    Teraz "prawdziwe" EKG

    Podobnie jak wielu innych, autor opracował swój własny wzmacniacz EKG wiele lat temu ze sporym wysiłkiem i z mniejszym lub większym sukcesem. Teraz wszystko jest o wiele łatwiejsze. Na przykład "Sparkfun" opracował prosty moduł, który jest gotowy do użycia i umożliwia proste EKG. Istnieje możliwość dostarczenia niezbędnych kabli i samoprzylepnych elektrod. Szczegółowe instrukcje można również zobaczyć na Sparkfun. Jednak rzeczy w Sparkfun kosztują dużo (obecnie moduł 21,50 EUR, zestaw kabli 5,50 EUR, opakowanie 10 elektrod samoprzylepnych 8,95 EUR). Dostałem te same moduły z Aliexpress dużo taniej, z kompletem kabli za 3,99 EUR:
    https://de.aliexpress.com/item/33007711518.ht...etail.0.0.14036368S98Z2t&gatewayAdapt=glo2deu
    Nie jestem w stanie ocenić, czy to klony, czy resztki z produkcji dla Sparkfun - w każdym razie wszystkie działały dokładnie tak, jak twierdził Sparkfun. Kto może poczekać kilka tygodni na dostawę, może tutaj dużo zaoszczędzić.

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    SparkFun Single Lead Heart Rate Monitor - AD8232 (zdjęcie Sparkfun)


    Zanim zaczniemy od pierwszych eksperymentów, jeszcze jedna ważna uwaga. Moduły pracują z napięciem nominalnym 3,3 V, maksymalnie 3,6 V. Z własnego doświadczenia wiem, że wyższe napięcia są "zabójcze" dla modułów. Zasilacze i tak nie wchodzą w rachubę (patrz wyżej), ale akumulatory Li-Ion również mogą być niebezpieczne, ponieważ po pełnym naładowaniu dają do 4,2 V. Przydatne okazały się 2 baterie NiMh (maks. 3 V) lub 2 ogniwa alkaliczne (maks. 3 V). To wystarcza do prawie wszystkich kolejnych eksperymentów.

    Pierwszy wariant, Heart Rate Monitor - AD8232 z oscyloskopem

    Nie ma tu wiele do zrobienia, przymocowanie elektrod samoprzylepnych do ciała, włożenie wtyku do gniazda i podłączenie modułu do 3,3 V i masy poprzez 6-pinową listwę. Następnie podłączenie OUTPUT i masy do oscyloskopu. Rozmieszczenie elektrod pokazano na następnym rysunku:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Rozmieszczenie elektrod


    Słowo o oscyloskopie. Używam PicoScope 3204 z oprogramowaniem PicoScope 7 T&M Early Access. Jest to oscyloskop USB, który jest zasilany przez interfejs USB laptopa. Gwarantuje to, że nie ma ryzyka porażenia prądem, gdy laptop jest zasilany z własnej baterii. Inne oscyloskopy zasilane z sieci są niebezpieczne i nie wolno ich używać.

    Na oscyloskopie należy dokonać następujących ustawień:
    Podstawa czasu 500ms/działka
    Kanał A +- 2V napięcie przemienne (przy napięciu stałym występują ruchy krzywych w górę i w dół)

    Jeśli wszystko działa, wynik wygląda tak:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    EKG z Heart Rate Monitor - AD8232 i PicoScope3204


    W przypadku braku odpowiedniego oscyloskopu, istniała stosunkowo niedroga alternatywa, Xprotolab Plain GT-0007 firmy Gabotronics. jest to mała płytka drukowana z 2-kanałowym oscyloskopem, który przenosi oscylogramy na komputery PC i urządzenia z systemem Android za pośrednictwem połączenia USB i odpowiedniego oprogramowania. Niestety nie znalazłem ostatnio żadnego źródła dla tego urządzenia - poza japońskim https://www.elefine.jp/SHOP/XprotolabPlain.html. Jednak Gabotronics oferuje również inne oscyloskopy, niektóre nawet z wyświetlaczem.

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Xprotolab Plain (zdjęcie Gabotronics)


    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Heart Monitor i Xprotolab-Plain


    Jeśli oba komponenty zostaną pomyślnie połączone, wynik może wyglądać tak. Oprogramowanie dla komputerów PC i urządzeń z systemem Android jest trochę niedojrzałe - wymagane jest trochę manipulacji.

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    Xprotolab-Plain GT-0007 na PC


    Kolejny poziom - szeregowa transmisja zapisów EKG

    Podobnie jak w przypadku symulatora EKG, będziemy teraz przesyłać szeregowo rzeczywiste dane EKG do laptopa. Tutaj również używamy ATTiny13, aby najpierw odczytać wartości analogowe z Heart Monitor, a następnie przesłać je do komputera jako szeregowy strumień danych. Jak wyżej, warunkiem koniecznym jest programator Pololu-USB AVR V2.1 lub oczywiście podobne urządzenie, które może przesyłać dane szeregowe TTL na interfejs USB.

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    rzeczywiste EKG do interfejsu szeregowego


    Ocena jest ponownie przeprowadzana jak powyżej przy użyciu programu terminalowego, takiego jak hterm, a następnie, na przykład, w programie Excel.

    Długotrwałe zapisy EKG z OpenLog

    Obserwacja EKG jest ekscytująca, jednak obserwowanie EKG staje się naprawdę interesujące, gdy można rejestrować EKG przez dłuższy czas i analizować je później. W takim przypadku pojawiają się na przykład wahania lub zaniki tętna. Znowu uwaga, że takie obserwacje nie powinny być wykorzystywane do diagnozy. Zastosowane pochodne i proste składniki nie nadają się do tego. Po pierwsze - niektóre z dotychczas stosowanych modułów i programów umożliwiają już dłuższe zapisy, jak np. opcje przechowywania różnych oscyloskopów. Jednak jest to łatwiejsze z innym bardzo prostym komponentem, również od Sparkfun:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    OpenLog autorstwa Sparkfun (zdjęcie Sparkfun)


    Odradza się tanie chińskie Klony - autor miał złe doświadczenia z tymi identycznie wyglądającymi komponentami - były kompletnie niezaprogramowane i przez to nieodpowiednie. Jeśli ktoś wie jak zainstalować odpowiedni firmware - byłbym wdzięczny...

    Moduł OpenLog umożliwia zapisywanie tekstu w prosty sposób (nasze wartości EKG są również tekstem w najszerszym znaczeniu) przez interfejs szeregowy w formacie TTL na karcie µSD. Można dostosować OpenLog do różnych szybkości transmisji za pomocą pliku tekstowego na karcie µS-SD - prawidłowa konfiguracja jest już ustawiona na 9600 Bd w momencie dostawy i nie trzeba nic robić. Jeśli pracowano już z innymi ustawieniami, plik tekstowy ,,config.txt" o następującej zawartości "9600,26,3,0,1,1,0" jest zapisywany na karcie µSD, dzięki czemu dane mogą być teraz zapisywane w 9600 bodów. Teraz potrzebujemy komponentu, który generuje szeregowy strumień danych z sygnału analogowego Heart Monitor. Jest to również obsługiwane przez ATTiny13:

    Eksperymenty EKG z monitorem pracy serca (Heart Monitor), oscylografem i OpenLog
    EKG przez ATTiny13 do OpenLog

    Code: vbnet
    Log in, to see the code


    Jest jednak problem z OpenLog i dotychczasowymi komponentami. Podczas gdy Heart Monitor pracuje z maksymalnym napięciem 3,6 V, OpenLog wymaga co najmniej 3,3 V, czyli znacznie więcej niż 2 ogniwa NiMH lub alkaliczne. Pomagamy sobie dodatkowym ogniwem dla komponentów OpenLog i ATTiny 13. Jeżeli do powyższego układu jest doprowadzone zasilanie, zapis rozpoczyna się natychmiast i za każdym razem jako plik tekstowy z kolejną numeracją.


    Uwaga, jest to tłumaczenie artykułu zamieszczonego przez użytkownika na niemieckiej wersji elektroda: https://www.elektroda.de/rtvforum/topic3892589.html Możesz odpowiedzieć na ten wątek, wtedy Twój post zostanie przetłumaczony autorowi tematu na język niemiecki.

    Cool? Ranking DIY
    Can you write similar article? Send message to me and you will get SD card 64GB.
    About Author
    gzielos
    Level 1  
    Offline 
    gzielos wrote 1 posts with rating 7, helped 0 times. Been with us since 2022 year.
  • Altium Designer Computer Controls
  • #2
    lemgo
    Level 14  
    Daje się taki sygnał czymś transmitować na małe odległości (kilkanaście centymetrów)?
  • Altium Designer Computer Controls
  • #4
    lemgo
    Level 14  
    Tak, ale na czerwono autor zaznaczył, że wszystko może ulec uszkodzeniu.

    Podobny problem mam z amatorskim EEG. Elektrody na głowie, jest zasilanie z bateryjki, jest separacja na transoptorach, ale jak upadnie mi kawałek drutu na płytkę, i do EEG jest podłączony komputer stacjonarny z wadliwą ochroną, to jest ryzyko usmażenia sobie mózgu.

    A taki transmiter/receiver na kilkanaście centymetrów, albo kawałek światłowodu po drodze budziłby moje zaufanie.
  • #5
    linuxtorpeda
    Level 25  
    Artykuł wygląda jak reklama - dużo buzzwordów i mało technikaliów.

    lemgo wrote:
    Daje się taki sygnał czymś transmitować na małe odległości (kilkanaście centymetrów)?

    Modulator na 38 kHz + dioda podczerwona. Za odbiornik może posłużyć "oczko", powszechnie stosowane w odbiornikach TV.
  • #6
    Galareta
    Level 22  
    Wystarczy Bluetooth i uart przez niego do komputera, ciężko o lepszą izolację. Ewentualnie wi-fi.