Inhaltsverzeichnis:

EEG AD8232 Phase 2: 5 Schritte (mit Bildern)
EEG AD8232 Phase 2: 5 Schritte (mit Bildern)

Video: EEG AD8232 Phase 2: 5 Schritte (mit Bildern)

Video: EEG AD8232 Phase 2: 5 Schritte (mit Bildern)
Video: Low-cost ECG & Heart monitoring system with AD8232 using Arduino. 2024, Juli
Anonim
EEG AD8232 Phase 2
EEG AD8232 Phase 2
EEG AD8232 Phase 2
EEG AD8232 Phase 2
EEG AD8232 Phase 2
EEG AD8232 Phase 2

Also hat dieser Lazy Old Geek (L. O. G.) ein EEG gebaut:

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

Es scheint gut zu funktionieren, aber eines der Dinge, die ich daran nicht mag, ist die Anbindung an einen Computer. Ich benutze das als Entschuldigung, keine Tests durchzuführen. Eine andere Sorge, die ich habe, ist, dass es so aussieht, als ob ich in meinem Signal ein Rauschen in der Wechselstromleitung bekomme.

Während einiger früherer Tests habe ich eine mysteriöse 40-Hz-Spitze gesehen, die zu verschwinden scheint, wenn ich den USB abtrenne und ihn mit Batterie betreibe. Siehe Bilder.

Wie auch immer, ich habe einige Tests mit den Bluetooth-Modulen HC05 und HC06 durchgeführt und konnte sie zum Laufen bringen:

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

Wie bereits erwähnt, veröffentlichte lingib seinen EEG-Monitor:

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

Er schreibt viel besseren Code als ich und hat auch einen Processing-Code entwickelt, daher basiert dieses Projekt auf seinem EEG-Monitor. Für Phase 2 möchte ich einen batteriebetriebenen EEG-Monitor herstellen. (Wird versuchen, am batteriebetriebenen Wettbewerb teilzunehmen)

Schritt 1: Entwerfen Sie ein drahtloses Modul

Drahtloses Modul entwerfen
Drahtloses Modul entwerfen
Drahtloses Modul entwerfen
Drahtloses Modul entwerfen
Drahtloses Modul entwerfen
Drahtloses Modul entwerfen

Für den Mikrocontroller verwende ich einen 3.3V Micro Pro. Dieses Arduino ist ein 3,3-V-Gerät und ist daher mit dem AD8232 kompatibel. Die Sparkfun-Version verwendet einen 3,3-V-MIC5219-Spannungsregler.

Als Batterie verwende ich einen alten Akku, den ich zufällig habe. Dies ist ein Lithium-Akku, der wahrscheinlich für ein Smartphone entwickelt wurde.

Wie später besprochen, habe ich herausgefunden, dass das AliExpress Micro Pro einen XC6204-Spannungsregler anstelle des MIC5219 verwendet.

Mein Design ist also ein wenig grenzwertig. Lithiumbatterien haben je nach Ladung typischerweise 3,5 bis 4,2 V. Der XC6204 behauptet einen typischen Dropout von 200mV bei einer Last von bis zu 100mA. Im schlimmsten Fall würde der Regler bei Volllast mit einer 3,5-V-Batterie also etwa 3,3 V ausgeben. Dies sollte in Ordnung sein, aber seien Sie sich nur möglicher Probleme bewusst.

Andere Komponenten sind der modifizierte AD8232 aus Phase 1 und ein HC05, der für 3,3 V Bluetooth-Modul modifiziert wurde, wie in:

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

Der Einfachheit halber habe ich Eagle Cadsoft verwendet und eine Leiterplatte mit dieser Methode erstellt:

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

Schaltplan und Eagle-Dateien sind angehängt.

Ich habe den Stromverbrauch gemessen: es waren 58mA. Ich habe diesen Akku einmal auf eine Kapazität von 1750 mA Stunden getestet, was eine Laufzeit von etwa 30 Stunden mit einer Ladung ergibt.

Für den Akkuanschluss habe ich einen JST2.0 2-Pin-Anschluss verwendet, damit er zu meinem Adafruit M4 Express passt. Viele dieser Batterien haben drei Kontakte, messen aber einfach mit einem Multimeter für ca. 4V und löten die Drähte an die Batterie. Ich benutzte Heißkleber, um die Verbindung zu versiegeln und zu unterstützen.

WARNUNG: Bei einigen JST2.0-Anschlüssen sind die roten und schwarzen Drähte von Adafruit vertauscht.

Ich habe auch einen JST2.0-Anschluss zu einem Lithium-Batterieladegerät hinzugefügt. Siehe Bild.

Schritt 2: Verpackung und Skizze

Verpackung und Skizze
Verpackung und Skizze
Verpackung und Skizze
Verpackung und Skizze
Verpackung und Skizze
Verpackung und Skizze

Um für mich nützlich zu sein, muss mein EEG tragbar sein. Ich hatte einen kleinen Beutel für ein anderes Projekt. Auf der Rückseite habe ich ein paar Klettverschlüsse genäht. Ich habe mit dem anderen Klettverschluss und etwas Gummiband ein Armband genäht, das an meinem Arm gemessen wurde. Das EEG geht in die Tasche und wird am Armband befestigt. Siehe Bilder.

Um das Kopfband einfacher zu verwenden (anstatt zu löten), habe ich eine 3,5-mm-Audiokabelverlängerung genommen, ein Ende abgeschnitten und mit den Kopfbandsensoren und der Ohrerde verbunden. Dies wird in das AD8232-Modul eingesteckt.

TIPP: Ich ging davon aus, dass der Stecker wie Standard-Audiokabel mit Links an der Spitze, Rechts in der Mitte und unten Masse wäre. Das ist für den AD8232 nicht korrekt, also musste ich ihn umverdrahten, siehe Bild.

Der ursprüngliche HC05 hat Pins, die parallel zur Platine herauskommen. Um es flacher zu machen, habe ich sie so begradigt, dass sie im rechten Winkel zur Platine standen, siehe Bild. Die unebenen Pins sind zwar nicht beabsichtigt, stellen jedoch eine bessere elektrische Verbindung her.

Das nächste Bild zeigt das zusammengebaute drahtlose EEG, wie es dann in die Tasche passt, die mit Klettverschluss am Armband befestigt wird.

Ein paar Bilder zeigen, wie alles befestigt ist.

Arduino-Skizze ist beigefügt, fix_FFT_EEG_wireless.ino

Dies basiert auf lingib-Code mit einigen hinzugefügten Zeilen für die HC05-Kommunikation.

Schritt 3: Basisstation

Basisstation
Basisstation
Basisstation
Basisstation
Basisstation
Basisstation

Dieses EEG Wireless funktioniert also mit einem meiner CP2102-HC06-Adapter, um Echtzeitdaten auf einem PC mit Verarbeitung von anzuzeigen:

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

Meine Gedanken: Gehirnwellen repräsentieren also, was Ihr Gehirn tut. Wenn ich mir also auf dem Computerbildschirm anschaue, was meine Gehirnwellen tun, wird sich der Prozess des Betrachtens des Bildschirms und des Nachdenkens auf mein EEG auswirken. Ich wollte also die Möglichkeit haben, mein EEG aufzuzeichnen, ohne es anzeigen zu müssen. Ich beschloss, Daten mit Zeitstempel auf einer Micro-SD-Karte aufzuzeichnen, damit ich eine Offline-Analyse durchführen kann.

Das Konzept ist zum Beispiel, dass ich, wenn ich teste, wie sich einige binaurale Beats auf meine Gehirnwellen auswirken, aufschreiben kann, wann und welche Beats ich höre, und später meine EEG-Daten betrachten kann, um zu sehen, ob es während und nach einigen Auswirkungen gibt diesen Zeitraum.

Dies wird eine Basisstation verwenden, im Grunde ein weiterer Micro Pro mit einem HC06, um Daten vom drahtlosen EEG zu empfangen, eine DS3231 RTC zur Aufzeichnung der Uhrzeit und einen microSD-Kartenadapter, um die mit Zeitstempel versehenen Daten auf einer microSD-Karte zu speichern. Dies ist im Grunde wie mein IR-Thermometer:

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

Tatsächlich werde ich die Option belassen, ein IR-Thermometer und DHT22 (Temperatur und Feuchtigkeit) auf der Platine zu verwenden.

Hier die wichtigsten Komponenten:

3.3V Micro Pro Arduino

DS3231 RTC (modifiziert)

(zukünftiger Zusatz DHT22 Temperatur/RH)

HC06

(zukünftige Ergänzung MLX90614 IR-Temperatursensor)

5V microSD-Kartenadapter

Energieverbrauch:

Da an diesem Micro Pro viele Sensoren angeschlossen sind, werde ich dem Strom ein wenig Aufmerksamkeit schenken.

Der Spannungsregler des Micro Pro versorgt alle Sensoren mit Strom.

(Der Sparkfun Micro Pro verfügt über einen MIC5219 3,3-V-Regler, der 500 mA Strom liefern kann.)

Das AliExpress 3.3v Micro Pro, das ich gekauft habe, hat anscheinend einen Torex XC6204B-Regler. Dies wird durch die Markierung angedeutet, die ich kaum lesen kann, aber es sieht aus wie 4B2X.

Die 4B steht für XC6204B, die 2 bedeutet 3,3V Ausgang.

Soweit ich das beurteilen kann, gibt der XC6204B maximal 150 mA aus (viel weniger als der MIC5219 500 mA). Nichtsdestotrotz.

Ich kann keine Daten zur Leerlaufstromaufnahme des 3.3V Micro Pro finden. Also beschloss ich, einige zu messen:

3.3V Pro Micro 11.2mA

3.3V L. O. G. Binaural schlägt 20mA

3.3V Funk-EEG 58mA

Der maximale Strom im DS3231-Datenblatt bei 3 V beträgt 200 uA oder 0,2 mA.

Der maximale Strom des DHT22-Datenblatts beträgt 2,5 mA.

Der HC06 hat 8,5 mA im aktiven Modus (40 mA im Pairing-Modus)

Ich bin mir nicht sicher, ob das Datenblatt des MLX90614 so aussieht, als ob der maximale Strom 52 mA beträgt.

Wenn man sie alle zusammenzählt, sind es etwa 85 mA, was nicht viel weniger als 150 mA ist. Aber es sollte in Ordnung sein.

Der microSD-Kartenadapter wird über den RAW-Pin 5V mit Strom versorgt.

Ich habe einen Schaltplan der Basisstation angehängt. Das von mir verwendete Protoboard und die folgende Skizze enthalten nicht das DHT22- oder IR-Thermometer.

Schritt 4: Skizze

Skizzieren
Skizzieren

Grundsätzlich empfängt der Sketch die vom drahtlosen EEG HC05 gesendeten Daten über den gebundenen HC06, er sendet die Daten im selben Format wie das drahtlose EEG über seinen USB-Anschluss, sodass sie von EEG_Monitor_2 (Verarbeitung) gelesen und angezeigt werden können.

Es erhält auch die Uhrzeit und das Datum von der DS3231 RTC und stempelt die Daten mit einem Zeitstempel und schreibt sie im CSV-Format (Comma Separated Values) auf eine microSD-Karte.

PROBLEM1: Das drahtlose EEG sendete Bluetooth-Daten mit 115, 200 Baud an meinen HC06. Anscheinend kann mein HC06 bei dieser Geschwindigkeit nicht richtig kommunizieren, da es Müll sah. Nun, ich habe damit herumgespielt und es endlich zum Laufen gebracht, indem ich sowohl den HC05 als auch den HC06 auf 19.200 Baud eingestellt habe.

PROBLEM2: Die Sommerzeit war für mich ein Problem. Ich bin auf Folgendes von JChristensen gestoßen:

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

github.com/JChristensen/Timezone

Um dies zu nutzen, müssen Sie zuerst die RTC auf UTC (Coordinated Universal Time) einstellen, dies ist die Zeit in Greenwich, England. Nun, ich wusste nicht, wie das geht, habe aber diesen Artikel gefunden:

www.justavapor.com/archives/2482

Umgeschrieben für Bergzeit (angehängt) UTCtoRTC.ino

Dadurch wird DS3231 auf die UTC-Zeit eingestellt, 6 Stunden später als die Bergzeit.

Dann habe ich die Zeitzone in meinen Sketch aufgenommen. Um ehrlich zu sein, habe ich es nicht getestet, also gehe nur davon aus, dass es funktioniert.

PROBLEM3: Eines der Probleme bei Bluetooth (und den meisten anderen seriellen Kommunikationen) besteht darin, dass es asynchron ist. Das bedeutet, dass Sie nicht genau wissen, wann die Daten gestartet wurden, und Sie möglicherweise mitten in einem Datenstrom suchen.

Also habe ich jedes Datenpaket mit einem „$“gestartet und in meiner Basisstation danach gesucht. Ein besserer Weg, dies zu tun, ist das sogenannte Handshaking, bei dem der Sender einige Daten sendet und dann darauf wartet, dass der Empfänger eine Empfangsbestätigung zurücksendet. Aus diesem Grund mache ich mir keine Sorgen, wenn ich ab und zu ein Paket verpasse.

Skizze ist beigefügt, basecode.ino

Schritt 5: Schlussfolgerungen

Schlussfolgerungen
Schlussfolgerungen
Schlussfolgerungen
Schlussfolgerungen

Leider habe ich seit Beginn dieses Projekts meine Fähigkeit verloren, mich wirklich auf Projekte zu konzentrieren. Ich wollte mit diesem EEG einige tatsächliche Tests durchführen, insbesondere mit binauralen Beats. Vielleicht eines Tages.

Aber ich denke, ich habe genug Informationen für andere bereitgestellt, um dieses Projekt aufzubauen.

Ich war gerade dabei, 5-Band-Code zu entwickeln. Die Idee war, die fünf Gehirnwellenbänder Delta, Theta, Alpha, Beta und Gamma anzuzeigen. Ich denke, die Basisbandskizze funktioniert, ich glaube nicht, dass die fix_FFT für die Verarbeitung funktioniert, aber ich habe sie für diejenigen angehängt, die daran interessiert sein könnten.

Empfohlen: