Innholdsfortegnelse:

EEG AD8232 fase 2: 5 trinn (med bilder)
EEG AD8232 fase 2: 5 trinn (med bilder)

Video: EEG AD8232 fase 2: 5 trinn (med bilder)

Video: EEG AD8232 fase 2: 5 trinn (med bilder)
Video: EEG Montages 2024, November
Anonim
EEG AD8232 fase 2
EEG AD8232 fase 2
EEG AD8232 fase 2
EEG AD8232 fase 2
EEG AD8232 fase 2
EEG AD8232 fase 2

Så denne Lazy Old Geek (L. O. G.) bygde en EEG:

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

Det ser ut til å fungere greit, men en av tingene jeg ikke liker med det er å være koblet til en datamaskin. Jeg bruker det som en unnskyldning for å ikke gjøre noen tester. En annen bekymring jeg har er at det virker som om jeg får litt støy fra strømledningen i signalet mitt.

Under noen tidligere tester så jeg mystiske 40Hz -pigg som ser ut til å forsvinne når jeg kobler fra USB -en og kjører den på batteri. Se bilder.

Uansett, jeg testet med HC05 og HC06 Bluetooth -moduler og kunne få dem til å fungere:

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

Som nevnt, lanserte andre instruktører, lingib sin EEG -monitor:

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

Han skriver mye bedre kode enn jeg og utviklet også en behandlingskode, så dette prosjektet er basert på hans EEG Monitor. For fase 2 vil jeg lage en batteridrevet EEG-skjerm. (Skal prøve å delta i batteridrevet konkurranse)

Trinn 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

For mikrokontrolleren vil jeg bruke en 3.3V Micro Pro. Denne Arduino er en 3.3V -enhet, så den er kompatibel med AD8232. Sparkfun -versjonen bruker en 3.3V MIC5219 spenningsregulator.

For et batteri bruker jeg et gammelt oppladbart batteri jeg tilfeldigvis har. Dette er et oppladbart litiumbatteri sannsynligvis designet for en smarttelefon.

Som diskutert senere fant jeg ut at AliExpress Micro Pro bruker en XC6204 spenningsregulator i stedet for MIC5219.

Så designet mitt er litt grenseoverskridende. Litiumbatterier er vanligvis 3,5 til 4,2V avhengig av ladningen. XC6204 krever et typisk frafall på 200mV med en belastning på opptil 100mA. Så i verste fall scenario ved full belastning med 3,5V batteri, ville regulatoren gi en utgang på omtrent 3,3V. Dette burde være greit, men bare vær oppmerksom på mulige problemer.

Andre komponenter er den modifiserte AD8232 fra fase 1 og en HC05 modifisert for 3.3V Bluetooth -modul som beskrevet i:

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

For enkelhets skyld brukte jeg Eagle Cadsoft og laget en PCB med denne metoden:

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

Skjematiske og Eagle -filer er vedlagt.

Jeg målte strømforbruket: det var 58mA. På en gang hadde jeg testet dette batteriet for en kapasitet på 1750mA timer, noe som gir en kjøretid på omtrent 30 timer på en lading.

For batterikontakten brukte jeg en JST2.0 2 -pinners kontakt slik at den passet med min Adafruit M4 Express. Mange av disse batteriene har tre kontakter, men måler bare med et multimeter for ca 4V og lodder ledningene til batteriet. Jeg brukte varmt lim for å forsegle og støtte tilkoblingen.

ADVARSEL: Noen JST2.0 -kontakter har de røde og svarte ledningene reversert fra Adafruit.

Jeg har også lagt til en JST2.0 -kontakt til en litiumbatterilader. Se Bilde.

Trinn 2: Emballasje og skisse

Emballasje og skisse
Emballasje og skisse
Emballasje og skisse
Emballasje og skisse
Emballasje og skisse
Emballasje og skisse

For å være nyttig for meg må min EEG være bærbar. Jeg hadde en liten pose til et annet prosjekt. Jeg sydde litt borrelås på baksiden. Jeg sydde en armbåndsrem med den andre borrelåsen og litt elastikk, målt for å passe armen min. EEG går inn i lommen og festes til armbåndet. Se bilder.

For å gjøre pannebåndet enklere å bruke (i stedet for lodding) tok jeg en 3,5 mm lydkabelforlenger, kuttet av den ene enden og koblet den til pannebåndssensorene og øret. Dette kobles til AD8232 -modulen.

TIPS: Jeg antok at kontakten ville være som standard lydkabler med Venstre på spissen, Høyre i midten og bunnen. Det er ikke riktig for AD8232, så jeg måtte koble den til igjen, se bildet.

Den originale HC05 har pinner som kommer ut parallelt med PCB. For å gjøre det flatere, rettet jeg dem så de var i rett vinkel mot kretskortet, se bildet. Selv om de ujevne pinnene ikke er tilsiktet, gir det en bedre elektrisk tilkobling.

Det neste bildet viser den monterte trådløse EEG, deretter hvordan den vil gå inn i lommen, som vil borrelås til armbåndet.

Et par bilder viser hvordan alt henger sammen.

Arduino -skisse er vedlagt, fix_FFT_EEG_wireless.ino

Dette er basert på lingib -kode med noen få linjer lagt til for HC05 -kommunikasjon.

Trinn 3: Basestasjon

Basestasjon
Basestasjon
Basestasjon
Basestasjon
Basestasjon
Basestasjon

Så denne EEG Wireless vil fungere med en av mine CP2102-HC06-adaptere for å vise sanntidsdata på en PC ved hjelp av Processing from:

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

Mine tanker: så hjernebølger representerer det hjernen din gjør. Så hvis jeg ser på hva hjernebølgene mine gjør på dataskjermen, vil prosessen med å se på skjermen og tenke på det påvirke EEG. Så jeg ønsket muligheten til å ta opp EEG uten å måtte se dem. Jeg bestemte meg for å registrere tidsstemplede data på et mikro -SD -kort, slik at jeg kan gjøre offline analyse.

Konseptet er for eksempel at hvis jeg tester hvordan noen binaurale slag påvirker hjernebølgene mine, kan jeg skrive ned når og hvilke slag jeg lytter til og senere se på EEG -dataene mine for å se om det er noen effekter under og etter den tidsperioden.

Dette vil bruke en basestasjon, i utgangspunktet en annen Micro Pro med HC06 for å motta data fra den trådløse EEG, en DS3231 RTC for å registrere tiden og et microSD-kortkort for å lagre tidsstemplede data til et microSD-kort. Dette er i utgangspunktet som mitt IR -termometer:

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

Faktisk vil jeg forlate muligheten til å bruke et IR -termometer og DHT22 (temp og fuktighet) på PCB.

Her er hovedkomponentene:

3.3V Micro Pro Arduino

DS3231 RTC (modifisert)

(fremtidig tillegg DHT22 temperatur/RF)

HC06

(fremtidig tillegg MLX90614 IR Temp Sensor)

5V microSD -kortadapter

Strømforbruk:

Siden det er mange sensorer knyttet til denne Micro Pro, kommer jeg til å være litt oppmerksom på strømmen.

Spenningsregulatoren på Micro Pro driver alle sensorene.

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

AliExpress 3.3v Micro Pro jeg kjøpte har tilsynelatende en Torex XC6204B -regulator. Dette antydes av merkingen jeg knapt kan lese, men det ser ut som 4B2X.

4B står for XC6204B, 2 betyr 3.3V utgang.

Så langt jeg kan se, gir XC6204B maks 150mA (mye mindre enn MIC5219 500mA). Likevel.

Jeg kan ikke finne noen data om inaktiv strømtrekking av 3.3V Micro Pro. Så jeg bestemte meg for å måle noen:

3.3V Pro Micro 11.2mA

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

3.3V Trådløs EEG 58mA

DS3231 databladets maksimale strøm ved 3V er 200uA eller 0,2mA.

Maksimal strøm for databladet DHT22 er 2,5mA.

HC06 er 8,5mA i aktiv modus (40mA i sammenkoblingsmodus)

Databladet MLX90614 Jeg er ikke sikker på at maks strøm er 52mA.

Så å legge dem sammen er omtrent 85mA som ikke er mye mindre enn 150mA. Men det skal være greit.

MicroSD -kortadapteren drives av RAW pin 5V.

Jeg har lagt ved en skjematisk oversikt over basestasjonen. Protoboardet jeg bruker og skissen som skal følges inkluderer ikke DHT22 eller IR -termometeret.

Trinn 4: Skisse

Skisse
Skisse

I utgangspunktet mottar skissen dataene som sendes av den trådløse EEG HC05 via den bundne HC06, den sender dataene ut fra USB -porten i samme format som den trådløse EEG, slik at den kan leses av EEG_Monitor_2 (Processing) og vises.

Det henter også tid og dato fra DS3231 RTC og tidstempler dataene og skriver dem til et microSD -kort i CSV -format (kommaadskilte verdier).

PROBLEM1: Den trådløse EEG sendte Bluetooth -data til HC06 på 115 200 baud. Tilsynelatende kan ikke HC06 kommunisere riktig med den hastigheten da den så søppel. Vel, jeg lekte med det, og fikk det til å fungere ved å sette både HC05 og HC06 til 19, 200 baud.

PROBLEM2: Sommertid har vært et problem for meg. Jeg løp over følgende av JChristensen:

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

github.com/JChristensen/Timezone

For å bruke dette må du først sette RTC til UTC (Coordinated Universal Time), dette er tid i Greenwich, England. Vel, jeg visste ikke hvordan jeg skulle gjøre det, men fant denne artikkelen:

www.justavapor.com/archives/2482

Omskrive den for fjelltid (vedlagt) UTCtoRTC.ino

Dette setter DS3231 til UTC -tid, 6 timer senere enn fjelltiden.

Så innlemmet jeg tidssonen i min skisse. For å være ærlig, har jeg ikke testet det, så bare antar at det fungerer.

PROBLEM3: Et av problemene med Bluetooth (og de fleste andre serielle kommunikasjoner) er at det er asynkront. Det betyr at du ikke egentlig vet når dataene startet, og at du kanskje ser midt i en datastrøm.

Så det jeg gjorde var å starte hver pakke med data med et "$" og se etter det i basestasjonen min. En bedre måte å gjøre dette på kalles håndtrykk der avsenderen sender ut noen data og deretter venter på at mottakeren sender en mottaksbekreftelse tilbake. For dette formålet er jeg ikke så bekymret hvis jeg savner en pakke innimellom.

Skisse er vedlagt, basecode.ino

Trinn 5: Konklusjoner

Konklusjoner
Konklusjoner
Konklusjoner
Konklusjoner

Dessverre, siden jeg startet dette prosjektet, har jeg mistet evnen til å virkelig fokusere på prosjekter. Jeg ønsket å gjøre noen faktiske tester med denne EEG, spesielt med binaural beats. Kanskje en dag.

Men jeg tror jeg har gitt nok informasjon til at andre kan bygge dette prosjektet.

Jeg var i ferd med å utvikle noen 5 båndskoder. Tanken var å vise de fem hjernebølgebåndene, delta, theta, alfa, beta og gamma. Jeg tror basebåndskissen fungerer, jeg tror ikke fix_FFT fungerer for prosessering, men jeg har lagt den ved for de som kan være interessert.

Anbefalt: