Sommario:

EEG AD8232 Fase 2: 5 passaggi (con immagini)
EEG AD8232 Fase 2: 5 passaggi (con immagini)

Video: EEG AD8232 Fase 2: 5 passaggi (con immagini)

Video: EEG AD8232 Fase 2: 5 passaggi (con immagini)
Video: Lauree DEI 12/10/2022 - Mattina 2024, Dicembre
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

Quindi questo Lazy Old Geek (L. O. G.) ha costruito un EEG:

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

Sembra funzionare bene, ma una delle cose che non mi piace è essere collegato a un computer. Lo uso come scusa per non fare alcun test. Un'altra preoccupazione che ho è che sembra che io riceva del rumore della linea di alimentazione CA nel mio segnale.

Durante alcuni test precedenti ho visto un misterioso picco di 40Hz che sembra scomparire quando disconnetto l'USB e lo faccio funzionare a batteria. Vedi le immagini.

Ad ogni modo, ho fatto alcuni test con i moduli Bluetooth HC05 e HC06 e sono riuscito a farli funzionare:

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

Come accennato, il collega Instructabler, lingib ha rilasciato il suo EEG Monitor:

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

Scrive codice molto migliore del mio e ha anche sviluppato un codice di elaborazione, quindi questo progetto è basato sul suo monitor EEG. Per la Fase 2, voglio realizzare un monitor EEG a batteria. (Proverà a partecipare al Battery Powered Contest)

Passaggio 1: progettare il modulo wireless

Modulo wireless di progettazione
Modulo wireless di progettazione
Modulo wireless di progettazione
Modulo wireless di progettazione
Modulo wireless di progettazione
Modulo wireless di progettazione

Per il microcontrollore userò un Micro Pro da 3,3 V. Questo Arduino è un dispositivo da 3,3 V, quindi è compatibile con AD8232. La versione Sparkfun utilizza un regolatore di tensione MIC5219 da 3,3 V.

Per una batteria, userò una vecchia batteria ricaricabile che ho. Questa è una batteria ricaricabile al litio probabilmente progettata per uno smartphone.

Come discusso in seguito, ho scoperto che AliExpress Micro Pro utilizza un regolatore di tensione XC6204 invece del MIC5219.

Quindi il mio design è un po' borderline. Le batterie al litio sono in genere da 3,5 a 4,2 V a seconda della carica. L'XC6204 dichiara un dropout tipico di 200 mV con un carico fino a 100 mA. Quindi, nel peggiore dei casi, a pieno carico con una batteria da 3,5 V, il regolatore emetterebbe circa 3,3 V. Questo dovrebbe andare bene, ma solo essere consapevoli dei possibili problemi.

Altri componenti sono l'AD8232 modificato dalla Fase 1 e un HC05 modificato per il modulo Bluetooth da 3,3 V come discusso in:

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

Per comodità ho usato Eagle Cadsoft e ho realizzato un PCB usando questo metodo:

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

I file Schematic e Eagle sono allegati.

Ho misurato il consumo di energia: era 58 mA. Un tempo, avevo testato questa batteria per una capacità di 1750 mA ore che fornisce un'autonomia di circa 30 ore con una carica.

Per il connettore della batteria, ho usato un connettore JST2.0 a 2 pin in modo che si abbinasse al mio Adafruit M4 Express. Molte di queste batterie hanno tre contatti ma basta misurare con un multimetro per circa 4V e saldare i fili alla batteria. Ho usato la colla a caldo per sigillare e supportare la connessione.

ATTENZIONE: alcuni connettori JST2.0 hanno i fili rosso e nero invertiti rispetto all'Adafruit.

Ho anche aggiunto un connettore JST2.0 a un caricabatterie al litio. Guarda l'immagine.

Passaggio 2: imballaggio e schizzo

Imballaggio e schizzo
Imballaggio e schizzo
Imballaggio e schizzo
Imballaggio e schizzo
Imballaggio e schizzo
Imballaggio e schizzo

Per essermi utile, il mio EEG deve essere portatile. Avevo una piccola borsa per un altro progetto. Ho cucito del velcro sul retro. Ho cucito un cinturino da braccio con l'altro velcro e un po' di elastico, misurato per adattarsi al mio braccio. L'EEG va in tasca e si attacca al bracciale. Vedi le immagini.

Per rendere l'archetto più facile da usare, (invece di saldarlo) ho preso una prolunga per cavo audio da 3,5 mm, ho tagliato un'estremità e l'ho collegata ai sensori dell'archetto e alla massa dell'orecchio. Questo si collegherà al modulo AD8232.

SUGGERIMENTO: ho pensato che il connettore sarebbe stato come i cavi audio standard con sinistra sulla punta, destra nel mezzo e terra in basso. Questo non è corretto per l'AD8232, quindi ho dovuto ricablarlo, vedi foto.

L'HC05 originale ha pin che escono paralleli al PCB. Per renderlo più piatto, li ho raddrizzati in modo che fossero ad angolo retto rispetto al PCB, vedi foto. Sebbene i pin irregolari non siano intenzionali, creano una connessione elettrica migliore.

L'immagine successiva mostra l'EEG wireless assemblato, quindi come andrà nella tasca, che si attaccherà al bracciale.

Un paio di immagini mostrano come è tutto collegato.

Lo schizzo Arduino è allegato, fix_FFT_EEG_wireless.ino

Questo è basato sul codice lingib con alcune righe aggiunte per le comunicazioni HC05.

Passaggio 3: stazione base

Stazione base
Stazione base
Stazione base
Stazione base
Stazione base
Stazione base

Quindi questo EEG Wireless funzionerà con uno dei miei adattatori CP2102-HC06 per visualizzare dati in tempo reale su un PC utilizzando Processing from:

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

I miei pensieri: quindi le onde cerebrali rappresentano ciò che sta facendo il tuo cervello. Quindi, se sto guardando cosa stanno facendo le mie onde cerebrali sullo schermo del computer, il processo di guardare lo schermo e pensarci influenzerà il mio EEG. Quindi volevo l'opzione di registrare il mio EEG senza doverlo vedere. Ho deciso di registrare i dati con data e ora su una scheda micro SD in modo da poter eseguire alcune analisi offline.

Il concetto è, ad esempio, che se sto testando come alcuni battiti binaurali influenzano le mie onde cerebrali, posso scrivere quando e quali battiti sto ascoltando e poi guardare i miei dati EEG per vedere se ci sono degli effetti durante e dopo quel periodo di tempo.

Questo utilizzerà una stazione base, fondamentalmente un altro Micro Pro con un HC06 per ricevere dati dall'EEG wireless, un DS3231 RTC per registrare l'ora e un adattatore per scheda microSD per salvare i dati con timestamp su una scheda microSD. Questo è fondamentalmente come il mio termometro IR:

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

In effetti lascerò la possibilità di utilizzare un termometro IR e DHT22 (temperatura e umidità) sul PCB.

Ecco i componenti principali:

3.3V Micro Pro Arduino

DS3231 RTC (modificato)

(futura aggiunta DHT22 temperatura/UR)

HC06

(futura aggiunta al sensore di temperatura IR MLX90614)

Adattatore per scheda microSD 5V

Consumo di energia:

Poiché ci sono molti sensori collegati a questo Micro Pro, presterò un po' di attenzione alla corrente.

Il regolatore di tensione sul Micro Pro sta alimentando tutti i sensori.

(Sparkfun Micro Pro ha un regolatore MIC5219 da 3,3 V in grado di fornire 500 mA di corrente.)

Il Micro Pro AliExpress 3.3v che ho acquistato ha apparentemente un regolatore Torex XC6204B. Questo è suggerito dalla marcatura che riesco a malapena a leggere ma sembra 4B2X.

Il 4B sta per XC6204B, il 2 significa uscita 3,3V.

Per quanto ne so, l'XC6204B emette un massimo di 150 mA (molto meno del MIC5219 500 mA). Tuttavia.

Non riesco a trovare alcun dato sull'assorbimento di corrente al minimo del Micro Pro da 3,3 V. Così ho deciso di misurarne alcuni:

3,3 V Pro Micro 11,2 mA

3.3V L. O. G. Binaurale batte 20mA

3.3V Wireless EEG 58mA

La corrente massima della scheda tecnica DS3231 a 3V è 200uA o 0,2mA.

La corrente massima della scheda tecnica DHT22 è 2,5 mA.

L'HC06 è 8,5 mA in modalità attiva (40 mA in modalità di associazione)

Non sono sicuro che la scheda tecnica MLX90614 sembri che la corrente massima sia 52 mA.

Quindi sommarli tutti è di circa 85 mA che non è molto meno di 150 mA. Ma dovrebbe andare bene.

L'adattatore per schede microSD è alimentato dal pin RAW 5V.

Ho allegato uno schema della stazione base. La scheda prototipi che sto usando e lo schizzo da seguire non include il DHT22 o il termometro IR.

Passaggio 4: schizzo

Schizzo
Schizzo

Fondamentalmente, lo sketch riceve i dati inviati dall'EEG wireless HC05 tramite l'HC06 associato, invia i dati dalla sua porta USB nello stesso formato dell'EEG wireless in modo che possa essere letto da EEG_Monitor_2 (elaborazione) e visualizzato.

Ottiene anche l'ora e la data dall'RTC DS3231, contrassegna i dati e li scrive su una scheda microSD in formato CSV (valori separati da virgola).

PROBLEMA 1: L'EEG wireless stava inviando dati Bluetooth al mio HC06 a 115, 200 baud. Apparentemente il mio HC06 non può comunicare correttamente a quella velocità poiché stava vedendo spazzatura. Bene, ci ho giocato un po', finalmente l'ho fatto funzionare impostando sia l'HC05 che l'HC06 a 19.200 baud.

PROBLEMA2: L'ora legale è stata un problema per me. Mi sono imbattuto in quanto segue di JChristensen:

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

github.com/JChristensen/Timezone

Per usarlo, devi prima impostare l'RTC su UTC (Coordinated Universal Time), questa è l'ora di Greenwich, in Inghilterra. Beh, non sapevo come farlo, ma ho trovato questo articolo:

www.justavapor.com/archives/2482

Riscritto per Mountain time (allegato) UTCtoRTC.ino

Questo imposta DS3231 sull'ora UTC, 6 ore dopo l'ora della montagna.

Quindi ho incorporato il fuso orario nel mio Sketch. Ad essere onesti, non l'ho testato, quindi presumo che funzioni.

PROBLEMA 3: uno dei problemi con Bluetooth (e la maggior parte delle altre comunicazioni seriali) è che è asincrono. Ciò significa che non sai davvero quando sono iniziati i dati e potresti essere nel mezzo di un flusso di dati.

Quindi quello che ho fatto è stato avviare ogni pacchetto di dati con un "$" e cercarlo nella mia stazione base. Un modo migliore per farlo è chiamato handshaking in cui il mittente invia alcuni dati e poi attende che il destinatario invii un avviso di ricevimento. Per questo scopo, non sono così preoccupato se ogni tanto mi manca un pacchetto.

Lo schizzo è allegato, basecode.ino

Passaggio 5: Conclusioni

Conclusioni
Conclusioni
Conclusioni
Conclusioni

Sfortunatamente, da quando ho iniziato questo progetto, ho perso la mia capacità di concentrarmi davvero sui progetti. Volevo fare dei test reali con questo EEG, specialmente con i battiti binaurali. Forse un giorno.

Ma penso di aver fornito abbastanza informazioni ad altri per costruire questo progetto.

Stavo sviluppando un codice a 5 bande. L'idea era di visualizzare le cinque bande di onde cerebrali, delta, theta, alfa, beta e gamma. Penso che lo schizzo della banda base funzioni, non penso che fix_FFT funzioni per Processing ma l'ho allegato per coloro che potrebbero essere interessati.

Consigliato: