Kanał - ATNEL tech-forum
Wszystkie działy
Najnowsze wątki



Teraz jest 19 kwi 2024, o 16:26


Strefa czasowa: UTC + 1





Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 
Autor Wiadomość
 Tytuł: Pulsoxymetr
PostNapisane: 14 gru 2014, o 01:58 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Dzień dobry wszystkim użytkownikom! Jestem nowy na tym forum, więc pozdrawiam wszystkich!
Trafiłem tu po obejrzeniu całego kursu o ADC pana Mirka. Ostatnio zachwycałem się stylem programowania w książce Java. Podstawy. a teraz z przyjemnością czyta oglądam filmiki w/w Pana. Może zaciekawi Pana Mirka fakt, że Politechnika Poznańska ma 40 książek jego autorstwa i wszystkie możliwe do wypożyczenia, są wypożyczone. Ja po pierwszym odcinku o ADC zakupiłem Pana książkę.

Na zajęcia projektowe na uczelni wybrałem sobie temat pulsoxymetru, przy okazji postaram się zrobić dodatkowo działające urządzenie. Nie wszystko od razu wychodzi, ale nawet jak będzie wyświetlał przebieg pulsu, będę zadowolony.
Zacznę więc od schematu:
Obrazek

INVCC to 5V, układ zasilany jest z USB, aby uzyskać stabilne napięcie używam stabilizatora 3.3V.
Na podstawie kursu i początkowych rozdziałów z książki dodałem kondensatory filtrujące napięcie i sygnał.
Fotodiodę podłączyłem zaporowo wg. schematu znalezionego na forum - bo po prostu nie wiem, nigdy nie używałem fotodiody. Na woltomierzu też działała. Nie wiem jakie są stany napięcia na fotodiodzie tak podłączonej:
- gdy fotodioda nie jest oświetlona stan na ADC dąży do 0?
- jeżeli oświetlam fotodiodę, to czy działa ona tak samo jak gdy podłączę do niej voltomierz?
- czy odczytuję napięcie generowane przez fotodiodę, czy jakieś napięcie przewodzenia z podłączenia jej zaporowo do VCC?
Sygnał z fotodiody podłączam przez dzielnik napięcia do nóżki:
- mierząc fotodiodę w normalnym świetle generuje ona jakieś 0.4V
- gdy świecę na nią diodą o długości fali 850nm z bliskiej odległości generuje ona trochę mniej niż 0.7V
- gdy położę na niej palec to też było 0.4V (przepraszam, że nie pamiętam dokładnie, może bez palca była większa wartość)
- gdy świecę diodą przez palec napięcie wynosi ~ 0.47V
Ponieważ pulsoxymetr działa na zasadzie porównywania poziomu absorpcji zakresu fal ok. 850 (chciałem kupić 940 ale wyszło inaczej)
do absorpcji fal o długości 660nm. powinienem uzyskać co najmniej 100 jednostek różnicy odczytywanej przez adc, aby wyprowadzać z niej stosunek krwi natlenowanej do nienatlenowanej.
Jako że napięcie odniesienia wynosi 2,56V wydaje mi się, że powinienem podzielić maksymalne napięcie, tak, aby po wzmocnieniu sygnału w atmedze x10 uzyskać maksymalne wartości i to mi zwiększy rozdzielczość. Czy wzmocnienie "kradnie" mi bity z przetwornika?
Ostatnio zakupiłem wzmacniacze operacyjne, ale nie wiem czy muszę go tutaj używać.

Innym podejściem (który zrodził się w mojej główce, która niewiele wie i dlatego ma taki pomysł) jest użycie potencjometru pomiędzy atmegą a fotodiodą, która by ucinała te 0.4V szumu świata i zmieniała wartości 0.4V - 0.47V na 0V-0.07V.
A może trzeba użyć jakiegoś pomiaru różnicowego, o którym niewiele wiem?

Ostatni problem dotyczy komunikacji.
Wymyśliłem sobie, że skoro mam napięcie ograniczone do 3.3V to nie mogę rozkręcić atmegi32 do 12MHz i użyć biblioteki v-usb do komunikacji z komputerkiem, więc użyję przejściówki usb-rs232 i będę przez nią gadał z komputerem i zasilał urządzenie. Czy w tym rozwiązaniu jest coś nie tak?
Oraz jak można mieć zasilanie 3.3V i mieć kwarc 12MHz? Nie mogę znaleźć w nocie atmegi32 zależności napięcia do maksymalnej częstotliwości, która to strona?

Diody to power ledy jedzące 300mA. Wydaje mi się, że 500mA wystarczy do zasilania płytki, jeżeli działa 1 dioda na raz.

Na tym kończą się moje pytania. Mam nadzieję, że mnie tu nie zjecie za to co tu wypisałem.

//Poprawiony



Ostatnio edytowano 14 gru 2014, o 11:32 przez Rzeczek, łącznie edytowano 3 razy

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 14 gru 2014, o 12:25 
Offline
Nowy

Dołączył(a): 16 lis 2014
Posty: 10
Lokalizacja: mit
Pomógł: 0

http://www.fuw.edu.pl/~kostecki/pracown ... odioda.pdf

Rzeczek napisał(a):
12MHz? Nie mogę znaleźć w nocie atmegi32 zależności napięcia do maksymalnej częstotliwości, która to strona?


ostatnie strony to ch-ka.

_________________
derek mit



Ostatnio edytowano 14 gru 2014, o 13:03 przez derek, łącznie edytowano 1 raz

Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 14 gru 2014, o 12:50 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 283
Lokalizacja: Warszawa
Pomógł: 17

Hej,
Przede wszystkim najpierw proponuję Ci zbudować układ typowo analogowy i poznać wyniki i wartości z jakimi próbujesz się zmierzyć.
Zapewne znasz ten wykres:
Obrazek
Ja w swoim pulsometrze eksperymentowałem z różnymi diodami i wyszło na to, że najlepsze wyniki uzyskałem na zwykłej czerwonej diodzie...
Wiedz, że sygnał z fotodiody musisz wzmocnić i odfiltrować. Zacznij małymi krokami, bo temat nie jest aż tak prosty jak Ci się wydaje. No i zasilanie bateryjne, bo z zasilacza sieciowego nie pozbędziesz się 50Hz... Poznałem temat na własnej skórze i zjadło mi to troszkę czasu :)
Do Atmegi musisz dobudować układ wzmacniająco-filtrujący, bo nic z tego nie wyjdzie.
W sieci jest sporo ciekawych rozwiązań i przykładów, np. tu:
http://embedded-lab.com/blog/?p=5508

_________________
Pozdrawiam
Grzegorz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 14 gru 2014, o 20:08 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 11 sty 2013
Posty: 1760
Pomógł: 196

Witam
A ja "doczepię" się Twojego schematu: potencjometr przy fotodiodzie; wskazane było by szeregowo do potencjometru dołożyć jakiś mały rezystor, który przy skrajnym położeniu w.w ( prędzej czy później na pewno tak przekręcisz ;) ) nie dopuści do włączenia diody na sztywno do zasilania. A potencjometrem na wejściu nie przeniesiesz zakresu napięć wejściowych.
Na wejściu stabilizatora też bym dał jakiegoś elektrolita.



Pozdr.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 15 gru 2014, o 13:21 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Dziękuję wam za rady. Skorzystałem z linka kolegi buz11 i wyszło mi coś takiego:
Obrazek

Wzmocnienie Non-inverting Amplifier

"The final stage of the instrumentation constitutes a simple non-inverting buffer to lower the output impedance. This is helpful if an ADC channel of a microcontroller is used to read the amplified PPG signal."
Nie rozumiem co to znaczy.

Jeżeli ktoś mógł by mi powiedzieć jak mam poprawić schemat w prawym dolnym rogu dla fotodiody był bym bardzo zadowolony.
W schemacie z linka fototranzystor(?) był tak podłączony, ja mam fotodiodę stąd wątpliwości. Czy w ogóle mam go przez jakiś rezystor podciągać do masy.
Obrazek

Pozdrawiam :)

Ps. Atmegi32 nie można zasilać z 3.3V a Atmegi32L nie można rozkręcić do 12MHz, więc chyba problem się rozwiązał. Chyba mam następujące opcje:
- wyrzucić kwarc, zastosować wewnętrzne RC, kupić atmegę32L i mieć zasilanie 3.3V stabilne z usb, komunikację po RS-232 a nie po USB;
- zasilać układ z USB i nie przejmować się zakłóceniami z zasilania;
- użyć zasilacza od noki 5V, która da mi lepsze zasilanie niż USB(?);
- użyć zasilacza 9V prądu zmiennego (mam kilka), wstawić prostownik i stabilizator 5V;

Kicajek - kondensatory w uF będą elektrolityczne, biblioteka rcl->CPOL-EU. Z jakiegoś powodu nie wstawiłem takiego do schematu, potem poprawię.

Zapytałem prowadzącego laboratoria na uczelni i powiedział mi wiele, ale niewiele zrozumiałem.

Active LPF - cały ten człon jest układem całkującym - filtrem dolnoprzepustowym.
R5 = R6 + R7 - musi tak być bo jest to związanie z jakimiś właściwościami wzmacniacza operacyjnego, czy z układem całkującym - na schemacie się nie zgadza.
Mam tu wzmocnienie 3dB, nie wiem czy mówił o jednym wzmacniaczu, czy o wszystkich razem.
Należy wprowadzić synchroniczne włączanie i wyłączanie diody i fotodiody fizyczną linią, jeszcze nie wiem jak wrzucić tranzystor do fotodiody, by ją włączał.
Napięcie z fotodiody mogę mierzyć tylko na oporniku (to bodajże amperomierz).
Ale sygnał z V_sensor -> V_out chyba mogę sobie normalnie mierzyć.
Potencjometr R4 mogę zastąpić opornikiem, tylko muszę znaleźć odpowiednią wartość by zgadzał się ze wzmacniaczem, czy coś takiego i chyba nie jest to dzielnik napięcia.
Najlepiej nie bawić się w takie rzeczy i zastosować monolityczny układ scalony z nadajnikiem, odbiornikiem i modulatorem.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 15 gru 2014, o 19:13 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 283
Lokalizacja: Warszawa
Pomógł: 17

Cytuj:
W Active LPF i second active LPF też następuje wzmocnienie sygnału?

Każdy z tych członów ma wzmocnienie równe 680k/6,8k +1 czyli 101.

Cytuj:
"The final stage of the instrumentation constitutes a simple non-inverting buffer to lower the output impedance. This is helpful if an ADC channel of a microcontroller is used to read the amplified PPG signal."
Nie rozumiem co to znaczy.


Ostatni człon to wtórnik napięciowy, dzięki któremu masz niską rezystancję na wyjściu, co jest zalecane do dalszej obróbki przez przetwornik ADC w mikrokontrolerze.

Nadal jednak nie rozumiem Twojego podejścia do zasilania układu. Nie musisz schodzić do 3,3V aby mieć odfiltrowane zasilanie.
Jeszcze raz powtórzę: zbuduj układ pomiarowy na razie bez mikrokontrolera; pobaw się w odczyt pulsu za pomocą oscyloskopu i dopiero jak uzyskasz stabilne i wyraźne oscylogramy to walcz z odczytem w procku. Działaj etapami, bo temat Cię przerośnie..
Aha, przypomniało mi się, że ja pierwsze testy czujnika optycznego zrobiłem ze zwykłego drewnianego spinacza do przypinania bielizny... :idea: Na jednej "szczęce" była dioda LED, a na drugiej fotodioda. Dzięki prostej i "taniej" konstrukcji można było testować różne diody i różne fotodiody :lol:

_________________
Pozdrawiam
Grzegorz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 15 gru 2014, o 22:17 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Buzz chciałem użyć klamerki, ale kolega mi wyskrobie klips z drewna. Gdybym miał oscyloskop, mógł bym sobie poobserwować sygnał, niestety nie mam takowego. Jest to mój pierwszy projekt z ADC, więc staram się o "jak najlepsze zasilanie" ale bez przetworniczki bo droga :P
Nie ma co się bać tematu na zapas, już jestem zadowolony z poznania wzmacniaczy operacyjnych i fotodiody. A tego 3.3V nie będzie, użyje zasilacza 9V i tyle. Będzie działać to się pomyśli innym rozwiązaniu, albo postawi na półkę :P



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 16 gru 2014, o 20:39 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 28 lis 2012
Posty: 283
Lokalizacja: Warszawa
Pomógł: 17

Wiesz, obawiam się, że bez oscyloskopu to będziesz miał ciekawy i twardy orzech do rozgryzienia...
Życzę powodzenia ;) i jestem ciekaw efektów końcowych.

_________________
Pozdrawiam
Grzegorz



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 17 gru 2014, o 10:27 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Na uczelni dwóch prowadzących zapewniło mi dostęp do oscyloskopu. Wytrawię płytkę mniej więcej z powyższego schematu i pójdę pomierzyć. Będę mógł przetestować grot minifalę na wzmacniaczach i zrobię eksperyment z atmegą w wersji smd.

Mam jeszcze trochę nauki Eagla przed sobą, żeby zaprojektować diodę i fotodiodę. Poprawiłem schemat, dodałem zasilanie z transformatora 9V.
Obrazek

Czy ktoś z was wie gdzie znajdę gniazdo zasilające DC DC 2.5/5.5 mm?
Obrazek

Pod linkiem http://forum.atnel.pl/topic4138.html ten temat był poruszony. Ale sprawdzałem linki w bibliotekach i są to gniazda mini jack :/ Gniazdo w wersji SMD.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 25 sty 2015, o 17:58 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Udało mi się zrobić płytkę, polutować i zaprogramować atmegę32a. Czy możecie mi doradzić jak nóżkę PB4 (SS) przestawić w tryb GPIO?
Obrazek
Obrazek
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 25 sty 2015, o 18:01 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2014
Posty: 1089
Pomógł: 34

Kolego bardzo fajna plytka Ci wyszla :) Jesli chodzi o przestawienie pinu ... to nie jest STM :) wiec jesli chcesz go uzywac jako IO to musisz zdefiniowac sobie uzywajac rejestru DDR czy ma byc wejscia czy wyjscia :D

np

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.


Mam nadzieje , ze o to Ci chodzilo

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 26 sty 2015, o 00:02 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Kod programu:

Źle umieszczony kod - Różowo-Zielony J.

Dioda nr 1 nie działa. Gdy podłączam woltomierz do nóżki atmegi PB4 i do masy, to zielona dioda (nr 1) się zapala.
Oczywiście nie używam jej w tym kodzie. Wydaje mi się, że trzeba nóżkę SS przestawić gdzieś w fuse bitach. Ale mogę się mylić, w każdym razie nie działa.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 26 sty 2015, o 00:05 
Offline
Użytkownik
Avatar użytkownika

Dołączył(a): 12 maja 2014
Posty: 1089
Pomógł: 34

Jest pozno i moglem przeoczyc ? Ale gdzie w kodzie zmieniasz stan LED1 ?

-----------------------------------------------------------------------------------------------------------

Kolego a mozesz to wrzucic w znaczniki syntax ? Na razie wklejam tu zeby sie dalo przeczytac

Składnia: [ Pobierz ] [ Ukryj ]
język c
Musisz się zalogować, aby zobaczyć kod źródłowy. Tylko zalogowani użytkownicy mogą widzieć kod.

_________________
sig off ;(



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 26 sty 2015, o 22:57 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

W pliku znajdują się makrodefinicje do obsługi diod. Jak widać rejestr ddr jest ustawiony dla 3 diod. Schemat mi się zmienił, ale dioda jest podłączona do nóżki PB4 (SS). Jak pisałem gdy podłączam woltomierz plusem do nóżki PB4 i minusem do masy, dioda nr 1 się zapala. Proszę mi uwierzyć, że skoro potrafię zapalić makrodefinicjami diodę nr 2 i 3, to dam sobie radę z diodą nr 1.
Przepraszam, że tak trochę kąśliwie, ale mój problem polega na czymś innym niż na tym jak zapalić diodę z poziomu programu. Chwilowo nie mam czasu na grzebanie w płytce i programie. Ale naprawdę zanim zacząłem zapalać sobie diody 660 i 940, które jak się okazało nie chciały się zapalać bo w eaglu były odwrotnie nóżki od tranzystorów npn, to poświęciłem sporo czasu by pomierzyć dlaczego nie działa dioda na nóżce PB4.



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 29 sty 2015, o 16:16 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Udało mi się uzyskać całkiem powtarzalne odczyty pulsu (czyli nie potrzeba kalibracji za każdym razem po wyjęciu i włożeniu palca).
Obrazek
Musiałem tylko u wejścia biednego klipsa na palec użyć papieru toaletowego i srebrnej taśmy, by ograniczyć wpływ światła zewnętrznego.
Na pewno muszę poprawić jeszcze schemat wzmacniacza. Przy diodzie powinienem dać opornik 10K zamiast potencjometru. Można by dodać poprawki tak jak w 2 artykule o pulsometrze z linku kolegi wyżej. Po sesji zajmę się oprogramowaniem peryferiów :)

Ps. Przepraszam za pin PB4, pierwszy raz lutowałem minifalą i pomimo, że przyglądałem się nóżkom wiele razy, ta jedna była nieprzylutowana, a jak mierzyłem miernikiem czy wszystko styka, to dociskałem nóżkę do pada.

Dzisiaj pierwszy raz pobawiłem się oscyloskopem. Jest to niesłychanie przydatne urządzenie i pozwala na szybką weryfikację błędów. Zacząłem poprawiać układ wzmacniający i teraz nie mam sygnału. Cały czas dioda się pali od połowy mocy do maksa. Ale poprzedni układ też nie był zadowalający, bo przy odpowiednim ustawieniu sygnał pulsował z dużą składową stałą. Będę musiał dobrać odpowiednie filtry i prześledzić po kolei jak idzie sygnał przez kolejne wzmocnienia. Tak samo wartość opornika 680K jest zmieniana przez zwarce 6.8K i potencjometru do masy. Co powoduje że zmieniam wzmocnienie bodajże od 0,72 do 0,85 zamiast 100.

2015-02-08 Jutro mam ostatni egzamin, więc dzisiaj skończyłem czytać Bluebooka i zrobiłem moją pierwszą komunikację po RS232 :)

2015-02-09 Czy to tak powinno być, że przy zasilaniu z USB mam szumy na poziomie 150mV i przy zasilaniu z 7805 także 150mV?



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
 Tytuł: Re: Pulsoxymetr
PostNapisane: 10 lut 2015, o 20:21 
Offline
Użytkownik

Dołączył(a): 14 gru 2014
Posty: 30
Zbananowany użytkownik

Pomógł: 0

Udało mi się zrobić schemat, który wzmacnia sygnał. Poniżej zamieszczam schemat z programu LTspice IV - freeware.
Obrazek



Góra
 Zobacz profil  
cytowanie selektywne  Cytuj  
Wyświetl posty nie starsze niż:  Sortuj wg  
Utwórz nowy wątek Odpowiedz w wątku  [ Posty: 16 ] 

Strefa czasowa: UTC + 1


Kto przegląda forum

Użytkownicy przeglądający ten dział: Brak zidentyfikowanych użytkowników i 1 gość


Nie możesz rozpoczynać nowych wątków
Nie możesz odpowiadać w wątkach
Nie możesz edytować swoich postów
Nie możesz usuwać swoich postów
Nie możesz dodawać załączników

Szukaj:
Skocz do:  
cron
Sitemap
Technologię dostarcza phpBB® Forum Software © phpBB Group phpBB3.PL
phpBB SEO