Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tlenem
Witam wszystkich.
Chciałbym zaprezentować urządzenia, które wraz z dwójką przyjaciół wykonałem na zaliczenie przedmiotu Technika mikroprocesorowa na AGH. Jednocześnie tą jak i aplikacje moich kolegów będzie można oglądać na krakowskim Festiwalu Nauki 14 maja w godzinach 11:30 - 16:00, w głównym holu budynku A0 przy al. Mickiewicza, więc serdecznie zapraszam ;-).
:arrow: Zasada działania Zasada pomiaru saturacji bazuje na fakcie, iż utlenowana krew (a konkretnie hemoglobina) różnie absorbuje poszczególne długości fali. W skrócie, prześwietlamy palec światłem 660nm oraz 940nm, a następnie na postawie stosunku amplitud otrzymanych sygnałów wyliczamy interesujący nas parametr. Tętno wyliczane jest na podstawie odstępu czasowego między maksimami na krzywej pletyzmograficznej.
:arrow: Płytka główna Układ napędzany jest mikrokontrolerem 68HC908AB32. Przebiegi z 4-wyjściowego PWMa poprzez drobną funkcję logiczną sterują układami S&H oraz mostkiem H załączającym naprzemiennie diody. Dolne tranzystory w mostku wraz z przetwornikami C/A stanowią regulowane źródła prądowe ustalające jasność impulsów świetlnych. Sygnał pochodzący z fotodetektora jest demultipleksowany (czerwone i podczerwone impulsy trafiają do różnych torów przetwarzania), demodulowany oraz filtrowany. W kolejnym stopniu sygnał trafia na wzmacniacz o programowalnym wzmocnieniu, by wreszcie zostać spróbkowanym przez przetwornik zawarty w strukturze mikrokontrolera. Dane prezentowane są na graficznym wyświetlaczu o organizacji 192x64 pikseli. Klawiaturka została wykonana na osobnej płytce z podświetlanych guzików z naklejonym opisem. Przyciski te służą do ustawiania alarmów (spadek/wzrost tętna, spadek saturacji). Całość zasilana z zasilacza 5V. Jak widać na fotografii, drobne poprawki w schemacie ideowym zostały wprowadzane już po polutowaniu całości :P.
:arrow: Czujnik na palec Sonda na palec została wykonana z - cóż tu dużo mówić - dębowego styla od łopaty :P. Drewniany kawałek został przecięty na pół, następnie wydrążony na wiertarce stołowej. Widoczny na fotografii zawias jest uformowanym kawałkiem dużego mosiężnego zawiasu skrzydełkowego. Sprężyna pochodzi z spinki do włosów typu "paszcza z zębami" :P. Kabel to wspomnienie mojej klawiatury Logitech UltraX. W górnej części czujnika znajdują się 4 diody - 2 czerwone i 2 podczerwone połączone antyrównolegle. W spodniej natomiast znajduje się fotodioda PIN. Dodatkowo w czujniku wmontowany został kawałek gąbki, która sprawia, że zarówno na chudych jak i grubych palcach czujnik pewnie się trzyma.
:arrow: Obudowa Z racji tego, że urządzenie przeznaczone miało być na publiczny pokaz zdecydowaliśmy, że powinno wyglądać zachęcająco i odróżniać się nieco od zwyczajowo chłodnego sprzętu medycznego. Powstała ona z aluminiowej puszki. Okienko zostało wycięte dremelem zamontowanym w stojaku. Całość wymalowana na czarny półmat sprayem. Na koniec została naniesiona grafika tą samą ręką, która zdobiła stojącego na moim biurku HDDClocka ;-).
Poniżej znajduje się kilka dodatkowych zdjęć oraz filmik z działania układu (alarm był akurat nastawiony na 75 uderzeń na minutę). Na razie zamieszczam jedynie schemat ideowy (prawie finalny), gdyż reszta dokumentacji wymaga dopracowania przed publikacją. Wszystkich ciekawych zapraszam raz jeszcze na prezentację 14 maja, a już teraz do dyskusji.
Pozdrawiam :).
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Projekt bardzo ciekawy. Obawiam sie jednak, że komunikat o braku palca może nieco fałszować szybkość tętna. :sm31:
Czy możesz opisać w skrócie dlaczego trzeba stosować dwie długości fali świetlnej?
Nie wystarczy jeden kolorek?
Gratuluję udanej konstrukcji.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Projekt ciekawy i świetnie wykonany, natomiast nad komunikatem "BRAK PALCA" i ikonką dłoni bez jednego palucha to bym się zastanowił :D
Może napisz coś w stylu "załóż czujnik" itp.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Bardzo ciekawy projekt, estetycznie wykonany.
Mógłbyś tylko zamieścić zdjęcia "mechanizmu" czujnika (elementów optoelektronicznych)?
Co do komunikatu o braku palca to ja nie mam zastrzeżeń ;-)
PS. Czy nie uczy Cię może Pan dr Jacek Kołodziej?
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Komunikat o braku palca to powiedzmy studenckie, żartobliwe podejście do tematu - jak już wspomniałem, sprzęt nie trafi nigdy do szpitala :P.
Pomiar wykonywany jest natomiast dla dwóch długości fali, ponieważ uniezależnia od wynik od czynników takich jak grubość skóry, kości czy brud na paznokciu. Sygnał na wyjściu wzmacniacza wejściowego na około 2,5V składowej stałej i 20 mV składowej zmiennej. Składowa stała odpowiada tłumieniu wprowadzanemu przez kości, tkanki, krew żylną i niepulsującą krew tętniczą. Pulsująca krew tętnicza wprowadza natomiast tą malutką składową zmienną. W dawnych czasach, gdy dziedzina dopiero się rozwijała przeprowadzano pomiar dla jednej długości fali, jednak wymagało to uprzedniego - uwaga - ściśnięciu palca tak mocno, żeby udopłyneła z niego cała krew, by można oszacować jakie tłumienie wprowadzają wyłącznie wyżej opisane tkanki, a dopiero potem przeprowadzona pomiar składowej zmiennej.
Po południu wrzucę kilka dodatkowych zdjęć czujnika. A Pan dr Kołodziej jest między innymi jednym z moich prowadzących ;).
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Świetny projekt. Mam pytanie techniczne - dlaczego zastosowałeś dwa oddzielne tory przetwarzania? Nie dało się tego zrobić w jednym?
A druga uwaga nomenklaturowa - hemoglobina połączona z tlenem to hemoglobina utlenowana - nie natlenowana, ani broń Boże utleniona. Utleniona hemoglobina to methemoglobina - czyli nic dobrego :)
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Jeśli chciałbym zastosować jeden tor przetwarzania demultipleksację i filtrację musiałbym przeprowadzać już po spróbkowaniu sygnału. Zastosowany procek nie jest procesorem sygnałowym więc zastosowanie innych filtrów niż moving average staje się nieco kłopotliwe.
Aplikacja została napisana w ten sposób, że układ dostosowuje punkt pracy diod, oraz wzmocnienie w torze przetwarzania w zależności od grubości palca badanej osoby.
Przyrząd nie był kalibrowany, korzystam jedynie ze znanych empirycznych zależności. Kalibracja przyrządu wymagałaby znalezienia grupy ochotników, którzy zechcą najpierw przebadać się moim przyrządem, a następnie oddadzą krew, która zostanie przetestowana w laboratorium by już innymi metodami dokładnie określić, zawartość tlenu (sądząc po cenach takich urządzeń koszty otrzymania certyfikatu nie są małe). Przyrząd nie był również porównywany z prawdziwymi pulsoksymetrami, ponieważ nie mam dostępu do takowych urządzeń. Jednak, na grupie kilku osób, które przebadałem wynik odpowiadał typowemu dla zdrowego człowieka czyli 95% - 99%. A że moi znajomi na chorych nie wyglądali... :P. Pamiętajmy, że projekt ten ma na celu zobrazowanie jedynie idei pomiaru i nie może być stosowany w żadnej diagnostyce.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Bardzo ciekawe urządzenie ;) zawsze zastanawiałem sie jak to działa. Ja zrobiłem "bezinwazyjny miernik przepływu krwi" na OIT i też chciałem do niego dołożyć coś takiego tylko że nie bardzo wiedziałem jak to zmajstrować. Teraz znam zasadę działania to może coś wykombinuję.
Heh a co robiłeś ze Ci tak tętno skakało? :D
Dodano po 1 [minuty]:
Ciekawi mnie też ta grafika, czy to jest na pomalowanej czarnej plexi? i podświetlone od spodu?
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Procek to 8-bitowy CISC-owy mikrokontroler firmy Freescale. Program w całości został napisany w C.
Grafika może w tym świetle wygląda jak podświetlaną, aczkolwiek tak nie jest. Została naniesiona na pomalowanym już pudełku farbkami do zdobienia ceramiki.
Co do niemiarowości bicia mojego serca: specjalnie podczas nagrywania filmiku momentami wstrzymywałem oddech, żeby aktywować alarm :P. Wstrzymanie oddechu powoduje praktycznie natychmiastowy wyraźny spadek tętna.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Płytki wykonane metodą fotochemiczną. Zastosowałem laminat firmy Bungard, fabrycznie zapsikany lakierem światłoczułym. Maska została wydrukowana drukarką atramentową na specjalnie do tego przystosowanej folii. Do naświetlania użyłem solarium do twarzy. Czas naświetlania - 4 minuty. W domowych warunkach chyba nie da się uzyskać już lepszej jakości, do tego powtarzalność rezultatów jest niemalże 100% procentowa. Laminat jest co prawda droższy, ale za to płytka jest gotowa do trawienia po 5 minutach od momentu, gdy maska wyjedzie z drukarki a to też nie jest bez znaczenia.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Przyrząd ma programowe ograniczenia i mierzy tętno w granicach 35 - 240 uderzeń na minutę, oraz saturację 75% - 100%. Jednak będąc zdrowym, aby uzyskać wynik 75% musiałbym wstrzymać oddech na jakieś 8 minut. Z moimi umiejętnościami udało mi się zjechać najwyżej 2% od normalnego wyniku :P.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Jeżeli wszystko dobrze rozumiem to wyciągniecie samego pulsu z palca(ucha czy czegoś innego co prześwituje) nie jest zbytnim problemem? dioda czerwona i fotodioda + wzmocnienie i wyciągnięcie z tego zmian "przezroczystości" palca wystarczy? czy raczej musiała by być do tego podczerwona dioda?
Ps. nie interesowałem się tym zagadnieniem nigdy a teraz jak to przeczytałem to się ciekawe wydaje.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Układ do pomiaru samego tętna jest dużo mniej wymagający, ponieważ z uwagi na to, że interesuje nas wówczas tylko częstotliwość przebiegu, sygnał może być mocno przesterowany. Dodatkowo jak już wspomniałeś wystarczy zastosować jedną długość fali (przykładowo 660nm). Praktycznie wystarczy tylko prosty analogowy front-end. Pomiar saturacji wymaga natomiast by analizowany przebieg był stabilny i co najważniejsze, w liniowy sposób oddawał zmiany w czasie ilości przepływającej przez tętnice krwi.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Drogi kolego! Dr Wiśniewski Cię zaszlachtuje! HC08 to nie RISC-i, tylko CISC-i. A najłatwiej się o tym przekonać programując je w asemblerze, na co widać nie starczyło Ci odwagi (byłby to kolejny popisowy atut urządzenia). Powodzenia na prezentacji! Pamiętam, że jak ja przeprowadzałem takową kilka lat temu w Odlewniku, to były tłumy testerów i poklikiwaczy.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Już poprawione :P. W assemblerze pisałem wcześniejszy mały projekt i sądząc po tym jak mi szło ten projekt skończyłbym pewnie na wiosnę, ale roku 2020 :P.
Polish engineering student mb1988mb1988 and two friends built this homebrew pulse oximeter. It measures oxygen saturation in a patient by shining two wavelengths of light (infrared and red) through their finger, and recording the changes in light transmission over time. To power it all, they are using an 68HC908AB32 processor...
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Niestety, miałem nieprzyjemność używać pulsoksymetru. Do sprawdzania kalibracji fabrycznych czujników są "sztuczne palce" o określonej saturacji. Koszt fabrycznego czujnika FlexiWrap firmy Nonin to kilka lat temu ok 500 zł.
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
Hi guys
do you know if it's possible to find a translation from polish to english for the great post of Mb1988 "Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tlenem"?
I am working on a similar objet for an installation I've made, I am developing a new one with a homemade sensor (thanks to Vladimir, of course)
More info here: http://vimeo.com/10609154
Re: Pulsoksymetr: pomiar tętna i nasycenia krwi tętniczej tl
mb1988 wrote:
Jeśli chciałbym zastosować jeden tor przetwarzania demultipleksację i filtrację musiałbym przeprowadzać już po spróbkowaniu sygnału. Zastosowany procek nie jest procesorem sygnałowym więc zastosowanie innych filtrów niż moving average staje się nieco kłopotliwe.
Aplikacja została napisana w ten sposób, że układ dostosowuje punkt pracy diod, oraz wzmocnienie w torze przetwarzania w zależności od grubości palca badanej osoby.
Przyrząd nie był kalibrowany, korzystam jedynie ze znanych empirycznych zależności. Kalibracja przyrządu wymagałaby znalezienia grupy ochotników, którzy zechcą najpierw przebadać się moim przyrządem, a następnie oddadzą krew, która zostanie przetestowana w laboratorium by już innymi metodami dokładnie określić, zawartość tlenu (sądząc po cenach takich urządzeń koszty otrzymania certyfikatu nie są małe). Przyrząd nie był również porównywany z prawdziwymi pulsoksymetrami, ponieważ nie mam dostępu do takowych urządzeń. Jednak, na grupie kilku osób, które przebadałem wynik odpowiadał typowemu dla zdrowego człowieka czyli 95% - 99%. A że moi znajomi na chorych nie wyglądali... :P. Pamiętajmy, że projekt ten ma na celu zobrazowanie jedynie idei pomiaru i nie może być stosowany w żadnej diagnostyce.
Nie do końca rozumiem czemu nie lepiej by było zrobić filtrowania w jednym torze, po czym rozdzielić na dwa tory (bezpośrednio dwa kondensatory C16,C40 podłączyć do AD8542)?