Innehållsförteckning:

EEG AD8232 Fas 2: 5 steg (med bilder)
EEG AD8232 Fas 2: 5 steg (med bilder)

Video: EEG AD8232 Fas 2: 5 steg (med bilder)

Video: EEG AD8232 Fas 2: 5 steg (med bilder)
Video: Low-cost ECG & Heart monitoring system with AD8232 using Arduino. 2024, Juli
Anonim
EEG AD8232 Fas 2
EEG AD8232 Fas 2
EEG AD8232 Fas 2
EEG AD8232 Fas 2
EEG AD8232 Fas 2
EEG AD8232 Fas 2

Så denna Lazy Old Geek (L. O. G.) byggde ett EEG:

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

Det verkar fungera okej men en av de saker jag inte gillar med det är att vara bunden till en dator. Jag använder det som en ursäkt för att inte göra några tester. En annan oro som jag har är att det verkar som om jag får lite brus från nätströmmen i min signal.

Under några tidigare tester såg jag en mystisk 40Hz -spik som verkar försvinna när jag kopplade ur USB -enheten och körde den på batteri. Se bilder.

Hur som helst, jag testade med HC05 och HC06 Bluetooth -moduler och kunde få dem att fungera:

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

Som nämnts släppte lingib sin instruktör Lingib sin EEG -monitor:

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

Han skriver mycket bättre kod än jag och utvecklade också en Processing -kod, så detta projekt är baserat på hans EEG Monitor. För fas 2 vill jag göra en batteridriven EEG-bildskärm. (Ska försöka delta i batteridriven tävling)

Steg 1: Design trådlös modul

Design trådlös modul
Design trådlös modul
Design trådlös modul
Design trådlös modul
Design trådlös modul
Design trådlös modul

För mikrokontrollen använder jag en 3.3V Micro Pro. Denna Arduino är en 3.3V -enhet så den är kompatibel med AD8232. Sparkfun -versionen använder en 3.3V MIC5219 spänningsregulator.

För ett batteri kommer jag att använda ett gammalt laddningsbart batteri som jag råkar ha. Detta är ett uppladdningsbart litiumbatteri som förmodligen är utformat för en smartphone.

Som diskuterades senare upptäckte jag att AliExpress Micro Pro använder en XC6204 spänningsregulator istället för MIC5219.

Så min design är lite kantlinje. Litiumbatterier är vanligtvis 3,5 till 4,2V beroende på laddning. XC6204 hävdar ett typiskt bortfall på 200mV med en belastning på upp till 100mA. Så värsta fallet vid full belastning med 3,5V batteri, skulle regulatorn mata ut cirka 3,3V. Detta borde vara bra, men bara vara medveten om möjliga problem.

Andra komponenter är den modifierade AD8232 från fas 1 och en HC05 modifierad för 3.3V Bluetooth -modul som diskuteras i:

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

För enkelhets skull använde jag Eagle Cadsoft och gjorde ett PCB med denna metod:

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

Schematiska filer och Eagle -filer bifogas.

Jag mätte strömförbrukningen: den var 58mA. Vid en tidpunkt hade jag testat detta batteri för en kapacitet på 1750mA timmar vilket ger en körtid på cirka 30 timmar på en laddning.

För batterikontakten använde jag en JST2.0 2 -polig kontakt så att den skulle matcha min Adafruit M4 Express. Många av dessa batterier har tre kontakter men mäter bara med en multimeter för ca 4V och löd kablarna till batteriet. Jag använde varmt lim för att täta och stödja anslutningen.

VARNING: Vissa JST2.0 -kontakter har de röda och svarta ledningarna omvända från Adafruit.

Jag lade också till en JST2.0 -kontakt till en litiumbatteriladdare. Se bild.

Steg 2: Förpackning och skiss

Förpackning och skiss
Förpackning och skiss
Förpackning och skiss
Förpackning och skiss
Förpackning och skiss
Förpackning och skiss

För att vara användbar för mig måste min EEG vara bärbar. Jag hade en liten påse för ett annat projekt. Jag sydde lite kardborreband på baksidan. Jag sydde ett armband med det andra kardborrebandet och en del elastik, mätt för att passa min arm. EEG går in i fickan och fästs på armbandet. Se bilder.

För att göra pannbandet enklare att använda (i stället för lödning) tog jag en 3,5 mm ljudkabelförlängare, klippte av ena änden och kopplade den till pannbandssensorerna och öronjorden. Detta kommer att anslutas till AD8232 -modulen.

TIPS: Jag antog att kontakten skulle vara som vanliga ljudkablar med vänster på spetsen, höger i mitten och botten. Det är inte korrekt för AD8232 så jag var tvungen att dra om den, se bild.

Den ursprungliga HC05 har stift som kommer ut parallellt med kretskortet. För att göra det plattare rätade jag ut dem så att de var i rät vinkel mot kretskortet, se bild. Även om de ojämna stiften inte är avsiktliga, gör det en bättre elektrisk anslutning.

Nästa bild visar den monterade trådlösa EEG, sedan hur den kommer att gå in i fickan, som kommer kardborre till armbandet.

Ett par bilder visar hur allt hänger ihop.

Arduino -skiss bifogas, fix_FFT_EEG_wireless.ino

Detta är baserat på lingib -kod med några rader till för HC05 -kommunikation.

Steg 3: Basstation

Basstation
Basstation
Basstation
Basstation
Basstation
Basstation

Så denna EEG Wireless kommer att fungera med en av mina CP2102-HC06-adaptrar för att visa realtidsdata på en dator med Processing från:

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

Mina tankar: så hjärnvågor representerar vad din hjärna gör. Så om jag tittar på vad mina hjärnvågor gör på datorskärmen kommer processen att titta på skärmen och tänka på det att påverka min EEG. Så jag ville ha möjlighet att spela in min EEG utan att behöva titta på dem. Jag bestämde mig för att spela in tidsstämplade data på ett micro SD -kort så att jag kan göra lite offline -analys.

Konceptet är t.ex. att om jag testar hur några binaurala slag påverkar mina hjärnvågor kan jag skriva ner när och vilka slag jag lyssnar på och senare titta på mina EEG -data för att se om det finns några effekter under och efter den tidsperioden.

Detta kommer att använda en basstation, i grunden en annan Micro Pro med en HC06 för att ta emot data från den trådlösa EEG, en DS3231 RTC för att spela in tiden och en microSD-kortadapter för att spara tidsstämplade data till ett microSD-kort. Det här är i princip som min IR -termometer:

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

Faktum är att jag lämnar möjligheten att använda en IR -termometer och DHT22 (temp och luftfuktighet) på kretskortet.

Här är de viktigaste komponenterna:

3.3V Micro Pro Arduino

DS3231 RTC (modifierad)

(framtida tillägg DHT22 temperatur/RH)

HC06

(framtida tillägg MLX90614 IR Temp Sensor)

5V microSD -kortadapter

Energiförbrukning:

Eftersom det finns många sensorer kopplade till denna Micro Pro kommer jag att ägna lite uppmärksamhet åt strömmen.

Spänningsregulatorn på Micro Pro driver alla sensorer.

(Sparkfun Micro Pro har en MIC5219 3.3v regulator på den som kan leverera 500mA ström.)

AliExpress 3.3v Micro Pro jag köpte har tydligen en Torex XC6204B -regulator. Detta föreslås av markeringen jag knappt kan läsa men det ser ut som 4B2X.

4B står för XC6204B, 2 betyder 3.3V utgång.

Såvitt jag kan se matar XC6204B ut max 150mA (mycket mindre än MIC5219 500mA). Ändå.

Jag kan inte hitta någon data om ledig strömdragning av 3.3V Micro Pro. Så jag bestämde mig för att mäta några:

3.3V Pro Micro 11.2mA

3.3V L. O. G. Binaural slår 20mA

3.3V Trådlös EEG 58mA

DS3231 datablad maxström vid 3V är 200uA eller 0,2mA.

DHT22 datablad maxström är 2,5mA.

HC06 är 8,5mA i aktivt läge (40mA i parningsläge)

MLX90614 -databladet är jag inte säker på att ser ut som maxström är 52mA.

Så att lägga till dem alla är ungefär 85mA vilket inte är mycket mindre än 150mA. Men det borde vara okej.

MicroSD -kortadaptern drivs av RAW -stiftet 5V.

Jag har bifogat en schematisk bild över basstationen. Protoboardet jag använder och skissen att följa inkluderar inte DHT22 eller IR -termometern.

Steg 4: Skiss

Skiss
Skiss

I grund och botten tar skissen emot data som skickas av den trådlösa EEG HC05 via den bundna HC06, den skickar ut data från dess USB -port i samma format som den trådlösa EEG så att den kan läsas av EEG_Monitor_2 (Processing) och visas.

Det hämtar också tid och datum från DS3231 RTC och tiden stämplar data och skriver det till ett microSD -kort i CSV -format (kommaseparerade värden).

PROBLEM1: Den trådlösa EEG skickade Bluetooth -data till min HC06 vid 115, 200 baud. Tydligen kan min HC06 inte kommunicera korrekt med den hastigheten eftersom den såg skräp. Tja, jag lekte med det, äntligen fick det att fungera genom att ställa in både HC05 och HC06 till 19, 200 baud.

PROBLEM2: Sommartid har varit ett problem för mig. Jag stötte på följande av JChristensen:

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

github.com/JChristensen/Timezone

För att använda detta måste du först ställa in RTC till UTC (Coordinated Universal Time), det här är tid i Greenwich, England. Tja, jag visste inte hur jag skulle göra det men hittade den här artikeln:

www.justavapor.com/archives/2482

Skriv om det för bergstid (bifogad) UTCtoRTC.ino

Detta ställer in DS3231 på UTC -tid, 6 timmar senare än fjälltid.

Sedan införlivade jag tidszonen i min skiss. För att vara ärlig har jag inte testat det så bara antar att det fungerar.

PROBLEM3: Ett av problemen med Bluetooth (och de flesta andra seriekommunikationer) är att det är asynkront. Det betyder att du inte riktigt vet när data startade och du kanske letar mitt i en dataström.

Så det jag gjorde var att starta varje paket med data med ett "$" och letade efter det i min basstation. Ett bättre sätt att göra detta kallas handskakning där avsändaren skickar ut några data och sedan väntar på att mottagaren skickar tillbaka ett kvitto på mottagandet. För detta ändamål är jag inte så orolig om jag saknar ett paket då och då.

Skiss är bifogad, baskod.ino

Steg 5: Slutsatser

Slutsatser
Slutsatser
Slutsatser
Slutsatser

Tyvärr, sedan jag startade det här projektet har jag tappat min förmåga att verkligen fokusera på projekt. Jag ville göra några verkliga tester med denna EEG, särskilt med binaurala beats. Kanske någon dag.

Men jag tror att jag har lämnat tillräckligt med information för att andra ska kunna bygga detta projekt.

Jag höll på att utveckla 5 -bandskod. Tanken var att visa de fem hjärnvågsbanden, delta, theta, alfa, beta och gamma. Jag tror att basbandskissen fungerar, jag tror inte att fix_FFT fungerar för Processing men jag har bifogat den för dem som kan vara intresserade.

Rekommenderad: