INHOUDSOPGAWE:

EEG AD8232 Fase 2: 5 stappe (met foto's)
EEG AD8232 Fase 2: 5 stappe (met foto's)

Video: EEG AD8232 Fase 2: 5 stappe (met foto's)

Video: EEG AD8232 Fase 2: 5 stappe (met foto's)
Video: История спасение дикого кабанчика. Кабанчик нуждался в помощи. 2024, Desember
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

Hierdie Lazy Old Geek (L. O. G.) het dus 'n EEG gebou:

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

Dit lyk asof dit goed werk, maar een van die dinge waarvan ek nie hou nie, is om aan 'n rekenaar vasgemaak te word. Ek gebruik dit as 'n verskoning om nie te toets nie. 'N Ander bekommernis wat ek het, is dat dit lyk asof ek 'n wisselstroom -geraas in my sein kry.

Tydens 'n paar vroeëre toetse het ek 'n geheimsinnige 40Hz -styging gesien wat lyk asof dit verdwyn as ek die USB ontkoppel en dit op die battery laat loop. Sien prente.

Ek het in elk geval getoets met HC05- en HC06 -Bluetooth -modules, en ek kon dit laat werk:

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

Soos genoem, het mede -instrukteur, lingib sy EEG Monitor vrygestel:

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

Hy skryf baie beter kode as ek en het ook 'n verwerkingskode ontwikkel, so hierdie projek is gebaseer op sy EEG Monitor. Vir fase 2 wil ek 'n battery-aangedrewe EEG-monitor maak. (Sal probeer om deel te neem aan 'n wedstryd met 'n batterykrag)

Stap 1: Ontwerp 'n draadlose module

Ontwerp draadlose module
Ontwerp draadlose module
Ontwerp draadlose module
Ontwerp draadlose module
Ontwerp draadlose module
Ontwerp draadlose module

Vir die mikrobeheerder gebruik ek 'n 3.3V Micro Pro. Hierdie Arduino is 'n 3.3V -toestel, dus dit is verenigbaar met die AD8232. Die Sparkfun -weergawe gebruik 'n 3.3V MIC5219 spanningsreguleerder.

Vir 'n battery gebruik ek 'n ou herlaaibare battery wat ek toevallig het. Dit is 'n herlaaibare litiumbattery wat waarskynlik vir 'n slimfoon ontwerp is.

Soos later bespreek, het ek uitgevind dat AliExpress Micro Pro 'n XC6204 spanningsreguleerder gebruik in plaas van die MIC5219.

My ontwerp is dus 'n bietjie grenslyn. Litiumbatterye is tipies 3,5 tot 4,2V, afhangende van die lading. Die XC6204 eis 'n tipiese uitval van 200mV met 'n las tot 100mA. Die ergste scenario by volle las met 'n 3.5V -battery, sou die reguleerder ongeveer 3.3V lewer. Dit behoort goed te wees, maar wees bewus van moontlike probleme.

Ander komponente is die aangepaste AD8232 uit Fase 1 en 'n HC05 wat aangepas is vir die 3.3V Bluetooth -module soos bespreek in:

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

Vir die gemak het ek Eagle Cadsoft gebruik en 'n PCB gemaak met behulp van hierdie metode:

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

Skematiese en Eagle -lêers word aangeheg.

Ek het die kragverbruik gemeet: dit was 58mA. Op 'n keer het ek hierdie battery getoets vir 'n kapasiteit van 1750mA uur, wat 'n tydsduur van ongeveer 30 uur op 'n laai gee.

Vir die batteryaansluiting gebruik ek 'n JST2.0 2pin -aansluiting sodat dit by my Adafruit M4 Express pas. Baie van hierdie batterye het drie kontakte, maar meet net met 'n multimeter vir ongeveer 4V en soldeer die drade aan die battery. Ek het warm gom gebruik om die verbinding te seël en te ondersteun.

WAARSKUWING: By sommige JST2.0 -verbindings is die rooi en swart drade omgekeer van die Adafruit.

Ek het ook 'n JST2.0 -aansluiting by 'n litium -batterylaaier gevoeg. Sien prentjie.

Stap 2: Verpakking en skets

Verpakking en skets
Verpakking en skets
Verpakking en skets
Verpakking en skets
Verpakking en skets
Verpakking en skets

Om vir my nuttig te wees, moet my EEG draagbaar wees. Ek het 'n klein sakkie vir 'n ander projek gehad. Ek het 'n klittenband aan die agterkant vasgemaak. Ek het 'n armband vasgemaak met die ander klittenband en 'n rek, gemeet om by my arm te pas. Die EEG gaan in die sak en word aan die armband vasgemaak. Sien prente.

Om die hoofband makliker te gebruik, het ek (in plaas van soldeer) 'n 3,5 mm -audiokabelverlenger geneem, die een kant afgesny en dit aan die kopbandsensors en die oorgrond gekoppel. Dit sluit die AD8232 -module aan.

WENK: Ek het aangeneem dat die aansluiting soos standaard klankkabels sal wees met links op die punt, regs in die middel en die onderste grond. Dit is nie korrek vir die AD8232 nie, so ek moes dit herbedraad, sien prentjie.

Die oorspronklike HC05 het penne wat parallel met die PCB uitkom. Om dit platter te maak, het ek hulle reggemaak sodat hulle loodreg op die printplaat was, sien prentjie. Alhoewel die ongelyke penne nie opsetlik is nie, maak dit 'n beter elektriese verbinding.

Die volgende foto toon die saamgestelde draadlose EEG, dan hoe dit in die sak gaan, wat aan die armband sal klittenband.

'N Paar foto's toon hoe dit alles aangeheg is.

Arduino -skets is aangeheg, fix_FFT_EEG_wireless.ino

Dit is gebaseer op lingib -kode met 'n paar reëls bygevoeg vir HC05 -kommunikasie.

Stap 3: basisstasie

Basisstasie
Basisstasie
Basisstasie
Basisstasie
Basisstasie
Basisstasie

Hierdie EEG Wireless werk dus saam met een van my CP2102-HC06-adapters om real-time data op 'n rekenaar te vertoon met behulp van:

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

My gedagtes: so breingolwe verteenwoordig wat u brein doen. As ek dus kyk na wat my breingolwe op die rekenaarskerm doen, sal die proses om na die skerm te kyk en daaroor te dink my EEG beïnvloed. Ek wou dus die opsie hê om my EEG op te neem sonder om dit te hoef te sien. Ek het besluit om tydstempelde data op 'n mikro -SD -kaart op te neem, sodat ek vanlyn analise kan doen.

Die konsep is byvoorbeeld dat as ek toets hoe sommige binaurale slae my breingolwe beïnvloed, ek kan neerskryf wanneer en watter slae ek luister en later na my EEG -data kan kyk om te sien of daar effekte is tydens en daarna daardie tydperk.

Dit sal 'n basisstasie gebruik, basies 'n ander Micro Pro met 'n HC06 om data van die draadlose EEG te ontvang, 'n DS3231 RTC om die tyd op te neem en 'n microSD-kaartadapter om die tydstempelde data op 'n microSD-kaart te stoor. Dit is basies soos my IR -termometer:

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

Eintlik laat ek die opsie om 'n IR -termometer en DHT22 (temp en humiditeit) op die PCB te gebruik.

Hier is die belangrikste komponente:

3.3V Micro Pro Arduino

DS3231 RTC (gewysig)

(toekomstige toevoeging DHT22 temperatuur/RH)

HC06

(toekomstige toevoeging MLX90614 IR -tempsensor)

5V microSD -kaartadapter

Kragverbruik:

Aangesien daar baie sensors aan hierdie Micro Pro gekoppel is, gee ek 'n bietjie aandag aan die stroom.

Die spanningsreguleerder op die Micro Pro dryf al die sensors aan.

(Die Sparkfun Micro Pro het 'n MIC5219 3.3v -reguleerder wat 500mA se stroom kan lewer.)

Die AliExpress 3.3v Micro Pro wat ek gekoop het, het blykbaar 'n Torex XC6204B -reguleerder. Dit word voorgestel deur die merk wat ek skaars kan lees, maar dit lyk soos 4B2X.

Die 4B staan vir XC6204B, die 2 beteken 3.3V -uitset.

Sover ek kan weet, lewer die XC6204B 'n maksimum van 150mA (baie minder as die MIC5219 500mA). Nietemin.

Ek kan geen data vind oor die huidige trekking van die 3.3V Micro Pro nie. Daarom het ek besluit om 'n paar te meet:

3.3V Pro Micro 11.2mA

3.3V L. O. G. Binaural slaan 20mA

3.3V draadlose EEG 58mA

Die maksimum stroom van die datablad van DS3231 by 3V is 200uA of 0.2mA.

Die maksimum stroom van die DHT22 -datablad is 2.5mA.

Die HC06 is 8.5mA in die aktiewe modus (40mA in die paringsmodus)

Die MLX90614 -datablad lyk nie asof die maksimum stroom 52mA is nie.

Die byvoeging is dus ongeveer 85mA, wat nie veel minder as 150mA is nie. Maar dit behoort goed te wees.

Die microSD -kaartadapter word aangedryf deur die RAW -pen 5V.

Ek het 'n skema van die basisstasie aangeheg. Die protobord wat ek gebruik en die skets wat ek volg, bevat nie die DHT22- of IR -termometer nie.

Stap 4: Skets

Skets
Skets

Die skets ontvang basies die data wat deur die draadlose EEG HC05 gestuur is via die gebinde HC06, dit stuur die data uit die USB -poort in dieselfde formaat as die draadlose EEG, sodat dit deur EEG_Monitor_2 (verwerking) gelees en vertoon kan word.

Dit kry ook die tyd en datum van die DS3231 RTC en tydstempel die data en skryf dit na 'n microSD -kaart in CSV -formaat (komma -geskeide waardes).

PROBLEEM1: Die draadlose EEG stuur Bluetooth -data na my HC06 teen 115, 200 baud. Blykbaar kan my HC06 nie korrek kommunikeer teen die spoed nie, aangesien dit vullis sien. Ek het daarmee gespeel, en uiteindelik het ek dit reggekry deur beide die HC05 en HC06 op 19, 200 baud te stel.

PROBLEEM2: Somertyd was 'n probleem vir my. Ek het die volgende deur JChristensen raakgeloop:

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

github.com/JChristensen/Timezone

Om dit te gebruik, moet u eers die RTC op UTC (Coordinated Universal Time) stel, dit is tyd in Greenwich, Engeland. Wel, ek het nie geweet hoe om dit te doen nie, maar het hierdie artikel gevind:

www.justavapor.com/archives/2482

Herskryf dit vir bergtyd (aangeheg) UTCtoRTC.ino

Dit stel DS3231 op UTC -tyd, 6 uur later as bergtyd.

Toe neem ek die tydsone in my Sketch op. Om eerlik te wees, ek het dit nie getoets nie, net as ek aanvaar dat dit werk.

PROBLEEM3: Een van die probleme met Bluetooth (en die meeste ander seriële kommunikasie) is dat dit asynchroon is. Dit beteken dat u nie regtig weet wanneer die data begin het nie en dat u moontlik in die middel van 'n datastroom soek.

Wat ek dus gedoen het, is om elke pakkie data met 'n '$' te begin en dit in my basisstasie te soek. 'N Beter manier om dit te doen, word handdruk genoem, waar die sender 'n paar data uitstuur en dan wag dat die ontvanger 'n ontvangsbewys terugstuur. Vir hierdie doel is ek nie so bekommerd as ek af en toe 'n pakkie mis nie.

Skets is aangeheg, basiskode.ino

Stap 5: Gevolgtrekkings

Gevolgtrekkings
Gevolgtrekkings
Gevolgtrekkings
Gevolgtrekkings

Sedert ek met hierdie projek begin het, het ek ongelukkig my vermoë verloor om werklik op projekte te fokus. Ek wou 'n paar werklike toetse met hierdie EEG doen, veral met binaurale slae. Miskien eendag.

Maar ek dink ek het genoeg inligting verskaf vir ander om hierdie projek te bou.

Ek was besig om 'n 5 -band kode te ontwikkel. Die idee was om die vyf breingolfbande, delta, theta, alfa, beta en gamma te vertoon. Ek dink die basebandskets werk, ek dink nie die fix_FFT werk vir verwerking nie, maar ek het dit aangeheg vir diegene wat belangstel.

Aanbeveel: