Spisu treści:

EEG AD8232 Faza 2: 5 kroków (ze zdjęciami)
EEG AD8232 Faza 2: 5 kroków (ze zdjęciami)

Wideo: EEG AD8232 Faza 2: 5 kroków (ze zdjęciami)

Wideo: EEG AD8232 Faza 2: 5 kroków (ze zdjęciami)
Wideo: Чем не являются нейроинтерфесы – Рафаэль Григорян 2024, Listopad
Anonim
EEG AD8232 Faza 2
EEG AD8232 Faza 2
EEG AD8232 Faza 2
EEG AD8232 Faza 2
EEG AD8232 Faza 2
EEG AD8232 Faza 2

Więc ten Lazy Old Geek (L. O. G.) zbudował EEG:

www.instructables.com/id/EEG-AD8232-Phase-…

Wydaje się, że działa dobrze, ale jedną z rzeczy, których nie lubię, jest przywiązanie do komputera. Używam tego jako wymówki, aby nie przeprowadzać żadnych testów. Kolejną obawą, jaką mam, jest to, że wydaje mi się, że w moim sygnale dochodzi do szumu z linii zasilającej AC.

Podczas wcześniejszych testów zauważyłem tajemniczy skok 40 Hz, który wydaje się znikać po odłączeniu USB i uruchomieniu go na baterii. Zobacz obrazki.

W każdym razie przeprowadziłem kilka testów z modułami Bluetooth HC05 i HC06 i udało mi się je uruchomić:

www.instructables.com/id/OldMan-and-Blueto…

Jak wspomniano, inny instruktor, lingib, wypuścił swój monitor EEG:

www.instructables.com/id/Mind-Control-3-EE…

Pisze znacznie lepszy kod niż ja, a także opracował kod Processing, więc ten projekt opiera się na jego monitorze EEG. W przypadku fazy 2 chcę zrobić monitor EEG zasilany bateryjnie. (Spróbuje wziąć udział w konkursie na baterie)

Krok 1: Zaprojektuj moduł bezprzewodowy

Zaprojektuj moduł bezprzewodowy
Zaprojektuj moduł bezprzewodowy
Zaprojektuj moduł bezprzewodowy
Zaprojektuj moduł bezprzewodowy
Zaprojektuj moduł bezprzewodowy
Zaprojektuj moduł bezprzewodowy

Do mikrokontrolera użyję 3.3V Micro Pro. To Arduino jest urządzeniem 3,3 V, więc jest kompatybilne z AD8232. Wersja Sparkfun wykorzystuje regulator napięcia 3.3V MIC5219.

Jako baterię użyję starego akumulatora, który mam. Jest to akumulator litowy prawdopodobnie przeznaczony do smartfona.

Jak omówiono później, dowiedziałem się, że AliExpress Micro Pro używa regulatora napięcia XC6204 zamiast MIC5219.

Więc mój projekt jest trochę graniczny. Baterie litowe mają zwykle napięcie od 3,5 do 4,2 V w zależności od poziomu naładowania. XC6204 charakteryzuje się typowym spadkiem 200mV przy obciążeniu do 100mA. Tak więc najgorszy scenariusz przy pełnym obciążeniu z baterią 3.5V, regulator będzie na wyjściu około 3.3V. To powinno być w porządku, ale pamiętaj o możliwych problemach.

Inne komponenty to zmodyfikowany AD8232 z fazy 1 i HC05 zmodyfikowany dla modułu Bluetooth 3,3 V, jak omówiono w:

www.instructables.com/id/OldMan-and-Blueto…

Dla wygody użyłem Eagle Cadsoft i wykonałem PCB tą metodą:

www.instructables.com/id/Vinyl-Sticker-PCB…

Załączone są pliki schematów i Eagle.

Zmierzyłem pobór prądu: 58mA. Kiedyś testowałem tę baterię pod kątem pojemności 1750 mA godzin, co daje czas pracy około 30 godzin na ładowaniu.

Do złącza baterii użyłem 2-pinowego złącza JST2.0, aby pasowało do mojego Adafruit M4 Express. Wiele z tych baterii ma trzy styki, ale wystarczy zmierzyć multimetrem około 4V i przylutować przewody do akumulatora. Do uszczelnienia i podparcia połączenia użyłem gorącego kleju.

UWAGA: Niektóre złącza JST2.0 mają przewody czerwony i czarny odwrócone od Adafruit.

Dodałem też złącze JST2.0 do ładowarki akumulatorów litowych. Widzieć zdjęcie.

Krok 2: Pakowanie i szkic

Opakowanie i szkic
Opakowanie i szkic
Opakowanie i szkic
Opakowanie i szkic
Opakowanie i szkic
Opakowanie i szkic

Aby było dla mnie przydatne, moje EEG musi być przenośne. Miałem mały woreczek na kolejny projekt. Z tyłu przyszyłam rzep. Uszyłem pasek na ramię z drugim rzepem i jakąś gumką, mierzoną na ramię. EEG trafia do kieszeni i przyczepia się do opaski. Zobacz obrazki.

Aby pałąk był łatwiejszy w użyciu, (zamiast lutowania) wziąłem przedłużacz kabla audio 3,5 mm, odciąłem jeden koniec i podłączyłem go do czujników pałąka i uziemienia ucha. To podłączy się do modułu AD8232.

WSKAZÓWKA: Założyłem, że złącze będzie jak standardowe kable audio z Lewym na końcówce, Prawym na środku i na dole Uziemieniem. To nie jest poprawne dla AD8232, więc musiałem go zmienić, patrz zdjęcie.

Oryginalny HC05 ma piny wychodzące równolegle do płytki drukowanej. Aby było bardziej płaskie, wyprostowałem je tak, aby były pod kątem prostym do płytki drukowanej, patrz zdjęcie. Chociaż nierówne piny nie są zamierzone, zapewniają lepsze połączenie elektryczne.

Kolejne zdjęcie przedstawia zmontowany bezprzewodowy EEG, a następnie jak trafi do kieszeni, którą zapinamy na rzep do opaski.

Kilka zdjęć pokazuje, jak to wszystko jest dołączone.

Dołączono szkic Arduino, fix_FFT_EEG_wireless.ino

Jest to oparte na kodzie lingib z kilkoma linijkami dodanymi do komunikacji HC05.

Krok 3: Stacja bazowa

Stacja bazowa
Stacja bazowa
Stacja bazowa
Stacja bazowa
Stacja bazowa
Stacja bazowa

Tak więc ten bezprzewodowy EEG będzie działał z jednym z moich adapterów CP2102-HC06, aby wyświetlać dane w czasie rzeczywistym na komputerze przy użyciu Przetwarzania z:

www.instructables.com/id/Mind-Control-3-EE…

Moje myśli: fale mózgowe reprezentują to, co robi twój mózg. Więc jeśli patrzę na to, co moje fale mózgowe robią na ekranie komputera, proces patrzenia na ekran i myślenia o tym wpłynie na moje EEG. Chciałem więc mieć możliwość rejestrowania mojego EEG bez konieczności ich przeglądania. Postanowiłem zapisać dane ze znacznikiem czasu na karcie micro SD, aby móc przeprowadzić analizę offline.

Koncepcja polega na przykład na tym, że jeśli testuję, jak niektóre dudnienia różnicowe wpływają na moje fale mózgowe, mogę zapisać, kiedy i jakich uderzeń słucham, a później spojrzeć na moje dane EEG, aby zobaczyć, czy są jakieś efekty w trakcie i po w tym okresie.

Użyje to stacji bazowej, w zasadzie innego Micro Pro z HC06 do odbierania danych z bezprzewodowego EEG, DS3231 RTC do rejestrowania czasu i adaptera karty microSD do zapisywania danych ze znacznikiem czasu na karcie microSD. To jest w zasadzie jak mój termometr na podczerwień:

www.instructables.com/id/IR-Termometr-fo…

W rzeczywistości zostawię opcję użycia termometru na podczerwień i DHT22 (temperatura i wilgotność) na płytce drukowanej.

Oto główne elementy:

3.3V Micro Pro Arduino

DS3231 RTC (zmodyfikowany)

(przyszły dodatek DHT22 temperatura/RH)

HC06

(przyszły dodatek MLX90614 czujnik temperatury na podczerwień)

Adapter karty microSD 5V

Pobór energii:

Ponieważ do tego Micro Pro podłączonych jest wiele czujników, zwrócę trochę uwagi na prąd.

Regulator napięcia w Micro Pro zasila wszystkie czujniki.

(Sparkfun Micro Pro ma regulator MIC5219 3.3v, który może dostarczać prąd 500mA.)

AliExpress 3.3v Micro Pro, który kupiłem, najwyraźniej ma regulator Torex XC6204B. Sugeruje to oznaczenie, które ledwo mogę odczytać, ale wygląda na 4B2X.

4B oznacza XC6204B, 2 oznacza wyjście 3.3V.

O ile wiem, XC6204B generuje maksymalnie 150mA (dużo mniej niż MIC5219 500mA). Niemniej jednak.

Nie mogę znaleźć żadnych danych na temat poboru prądu w stanie bezczynności Micro Pro 3.3V. Postanowiłem więc zmierzyć niektóre:

3,3 V Pro, mikro 11,2 mA

3,3 V L. O. G. Dudnienia różnicowe 20mA

3.3V bezprzewodowy EEG 58mA

Maksymalny prąd arkusza danych DS3231 przy 3V wynosi 200uA lub 0,2mA.

Maksymalny prąd arkusza danych DHT22 wynosi 2,5mA.

HC06 ma 8,5 mA w trybie aktywnym (40 mA w trybie parowania)

Nie jestem pewien, czy arkusz danych MLX90614 wygląda na maksymalny prąd 52mA.

Więc zsumowanie ich wszystkich wynosi około 85mA, co nie jest dużo mniejsze niż 150mA. Ale powinno być w porządku.

Adapter do kart microSD jest zasilany z pinu RAW 5V.

Załączam schemat stacji bazowej. Protoboard, którego używam, i szkic do naśladowania nie zawiera termometru DHT22 ani IR.

Krok 4: Szkic

Naszkicować
Naszkicować

Zasadniczo szkic odbiera dane wysyłane przez bezprzewodowy EEG HC05 przez związany HC06, wysyła dane przez port USB w tym samym formacie co bezprzewodowy EEG, dzięki czemu można je odczytać przez EEG_Monitor_2 (przetwarzanie) i wyświetlić.

Pobiera również czas i datę z DS3231 RTC oraz oznacza dane i zapisuje je na karcie microSD w formacie CSV (wartości rozdzielane przecinkami).

PROBLEM1: Bezprzewodowe EEG wysyłało dane Bluetooth do mojego HC06 z prędkością 115, 200 bodów. Najwyraźniej mój HC06 nie może się poprawnie komunikować przy tej prędkości, ponieważ widział śmieci. Cóż, pobawiłem się tym, w końcu udało mi się uruchomić, ustawiając zarówno HC05, jak i HC06 na 19, 200 bodów.

PROBLEM2: Czas letni był dla mnie problemem. Natknąłem się na następujące przez JChristensena:

forum.arduino.cc/index.php?topic=96891.0

github.com/JChristensen/Strefa czasowa

Aby z tego skorzystać, musisz najpierw ustawić RTC na UTC (uniwersalny czas koordynowany), czyli czas w Greenwich w Anglii. Cóż, nie wiedziałem, jak to zrobić, ale znalazłem ten artykuł:

www.justavapor.com/archives/2482

Przepisałem go na czas górski (w załączeniu) UTCtoRTC.ino

To ustawia DS3231 na czas UTC, 6 godzin później niż czas górski.

Następnie włączyłem strefę czasową do mojego szkicu. Szczerze mówiąc, nie testowałem tego, więc zakładając, że to działa.

PROBLEM3: Jednym z problemów z Bluetooth (i większością innych komunikacji szeregowej) jest to, że jest asynchroniczny. Oznacza to, że tak naprawdę nie wiesz, kiedy dane się rozpoczęły i możesz szukać w środku strumienia danych.

Więc to, co zrobiłem, rozpoczęło każdy pakiet danych od „$” i szukałem tego w mojej stacji bazowej. Lepszym sposobem na to jest uzgadnianie, w którym nadawca wysyła pewne dane, a następnie czeka, aż odbiorca odeśle potwierdzenie odbioru. W tym celu nie przejmuję się tym, że co jakiś czas przegapię pakiet.

Szkic jest dołączony, basecode.ino

Krok 5: Wnioski

Wnioski
Wnioski
Wnioski
Wnioski

Niestety, odkąd zacząłem ten projekt, straciłem zdolność do skupienia się na projektach. Chciałem zrobić kilka rzeczywistych testów z tym EEG, zwłaszcza z dudnieniami różnicowymi. Może kiedyś.

Ale myślę, że dostarczyłem wystarczająco dużo informacji, aby inni mogli zbudować ten projekt.

Byłem w trakcie opracowywania kodu 5-pasmowego. Pomysł polegał na wyświetleniu pięciu pasm fal mózgowych: delta, theta, alfa, beta i gamma. Myślę, że szkic pasma podstawowego działa, nie sądzę, że fix_FFT działa w przypadku przetwarzania, ale załączyłem go dla tych, którzy mogą być zainteresowani.

Zalecana: