Table des matières:

EEG AD8232 Phase 2: 5 étapes (avec photos)
EEG AD8232 Phase 2: 5 étapes (avec photos)

Vidéo: EEG AD8232 Phase 2: 5 étapes (avec photos)

Vidéo: EEG AD8232 Phase 2: 5 étapes (avec photos)
Vidéo: Low-cost ECG & Heart monitoring system with AD8232 using Arduino. 2024, Décembre
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

Donc, ce Lazy Old Geek (L. O. G.) a construit un EEG:

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

Cela semble fonctionner correctement, mais l'une des choses que je n'aime pas à ce sujet est d'être connecté à un ordinateur. J'utilise ça comme excuse pour ne pas faire de test. Une autre préoccupation que j'ai est qu'il semble que je reçois du bruit de ligne électrique dans mon signal.

Lors de certains tests antérieurs, j'ai vu une mystérieuse pointe de 40 Hz qui semble disparaître lorsque je déconnecte l'USB et que je l'exécute sur batterie. Voir les images.

Quoi qu'il en soit, j'ai fait quelques tests avec les modules Bluetooth HC05 et HC06 et j'ai pu les faire fonctionner:

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

Comme mentionné, collègue Instructabler, lingib a publié son moniteur EEG:

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

Il écrit un code bien meilleur que moi et a également développé un code de traitement, ce projet est donc basé sur son moniteur EEG. Pour la phase 2, je veux faire un moniteur EEG alimenté par batterie. (J'essaierai de participer au concours alimenté par batterie)

Étape 1: Concevoir un module sans fil

Module sans fil de conception
Module sans fil de conception
Module sans fil de conception
Module sans fil de conception
Module sans fil de conception
Module sans fil de conception

Pour le microcontrôleur, j'utiliserai un Micro Pro 3.3V. Cet Arduino est un appareil 3.3V, il est donc compatible avec l'AD8232. La version Sparkfun utilise un régulateur de tension 3,3V MIC5219.

Pour une batterie, j'utiliserai une vieille batterie rechargeable que j'ai. Il s'agit d'une batterie au lithium rechargeable probablement conçue pour un smartphone.

Comme discuté plus tard, j'ai découvert que l'AliExpress Micro Pro utilise un régulateur de tension XC6204 au lieu du MIC5219.

Donc mon design est un peu limite. Les batteries au lithium sont généralement de 3,5 à 4,2 V selon la charge. Le XC6204 revendique une chute typique de 200mV avec une charge jusqu'à 100mA. Donc, dans le pire des cas à pleine charge avec une batterie de 3,5 V, le régulateur produirait environ 3,3 V. Cela devrait être bien, mais soyez juste conscient des problèmes possibles.

Les autres composants sont l'AD8232 modifié de la phase 1 et un module HC05 modifié pour le module Bluetooth 3,3 V, comme indiqué dans:

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

Pour plus de commodité, j'ai utilisé Eagle Cadsoft et réalisé un PCB en utilisant cette méthode:

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

Les fichiers schématiques et Eagle sont joints.

J'ai mesuré la consommation électrique: elle était de 58mA. À un moment donné, j'avais testé cette batterie pour une capacité de 1750 mA heures, ce qui donne une autonomie d'environ 30 heures sur une charge.

Pour le connecteur de la batterie, j'ai utilisé un connecteur JST2.0 à 2 broches afin qu'il corresponde à mon Adafruit M4 Express. Beaucoup de ces batteries ont trois contacts mais il suffit de mesurer avec un multimètre environ 4V et de souder les fils à la batterie. J'ai utilisé de la colle chaude pour sceller et soutenir la connexion.

AVERTISSEMENT: Certains connecteurs JST2.0 ont les fils rouge et noir inversés par rapport à l'Adafruit.

J'ai également ajouté un connecteur JST2.0 à un chargeur de batterie au lithium. Voir l'image.

Étape 2: Emballage et croquis

Emballage et croquis
Emballage et croquis
Emballage et croquis
Emballage et croquis
Emballage et croquis
Emballage et croquis

Pour m'être utile, mon EEG doit être portable. J'avais une petite pochette pour un autre projet. J'ai cousu du velcro dans le dos. J'ai cousu une sangle de brassard avec l'autre velcro et un élastique, mesuré pour s'adapter à mon bras. L'EEG va dans la poche et s'attache au brassard. Voir les images.

Pour faciliter l'utilisation du serre-tête (au lieu de souder), j'ai pris une rallonge de câble audio de 3,5 mm, j'ai coupé une extrémité et je l'ai connectée aux capteurs du serre-tête et à la masse de l'oreille. Cela se branchera sur le module AD8232.

ASTUCE: j'ai supposé que le connecteur serait comme des câbles audio standard avec la gauche sur la pointe, la droite au milieu et la terre en bas. Ce n'est pas correct pour l'AD8232 donc j'ai dû le recâbler, voir photo.

Le HC05 d'origine a des broches qui sortent parallèlement au PCB. Pour le rendre plus plat, je les ai redressés pour qu'ils soient perpendiculaires au PCB, voir photo. Bien que les broches inégales ne soient pas intentionnelles, elles permettent une meilleure connexion électrique.

L'image suivante montre l'EEG sans fil assemblé, puis comment il ira dans la poche, qui sera velcro sur le brassard.

Quelques images montrent comment tout cela est attaché.

Le croquis Arduino est joint, fix_FFT_EEG_wireless.ino

Ceci est basé sur le code lingib avec quelques lignes ajoutées pour les communications HC05.

Étape 3: Station de base

Station de base
Station de base
Station de base
Station de base
Station de base
Station de base

Ainsi, cet EEG Wireless fonctionnera avec l'un de mes adaptateurs CP2102-HC06 pour afficher des données en temps réel sur un PC en utilisant Processing from:

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

Mes pensées: les ondes cérébrales représentent donc ce que fait votre cerveau. Donc, si je regarde ce que font mes ondes cérébrales sur l'écran de l'ordinateur, le processus consistant à regarder l'écran et à y penser va affecter mon EEG. Je voulais donc avoir la possibilité d'enregistrer mes EEG sans avoir à les visualiser. J'ai décidé d'enregistrer les données horodatées sur une carte micro SD afin de pouvoir effectuer des analyses hors ligne.

Le concept est, par exemple, que si je teste comment certains battements binauraux affectent mes ondes cérébrales, je peux écrire quand et quels battements j'écoute et plus tard regarder mes données EEG pour voir s'il y a des effets pendant et après cette période.

Cela utilisera une station de base, essentiellement un autre Micro Pro avec un HC06 pour recevoir des données de l'EEG sans fil, un DS3231 RTC pour enregistrer l'heure et un adaptateur de carte microSD pour enregistrer les données horodatées sur une carte microSD. C'est essentiellement comme mon thermomètre IR:

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

En fait, je laisserai la possibilité d'utiliser un thermomètre IR et du DHT22 (température et humidité) sur le PCB.

Voici les principaux composants:

3.3V Micro Pro Arduino

DS3231 RTC (modifié)

(futur ajout DHT22 température/HR)

HC06

(futur ajout capteur de température IR MLX90614)

Adaptateur de carte microSD 5V

Consommation d'énergie:

Comme il y a beaucoup de capteurs attachés à ce Micro Pro, je vais faire un peu attention au courant.

Le régulateur de tension du Micro Pro alimente tous les capteurs.

(Le Sparkfun Micro Pro est doté d'un régulateur MIC5219 3.3v qui peut fournir 500mA de courant.)

L'AliExpress 3.3v Micro Pro que j'ai acheté a apparemment un régulateur Torex XC6204B. Ceci est suggéré par le marquage que je peux à peine lire mais cela ressemble à 4B2X.

Le 4B signifie XC6204B, le 2 signifie une sortie 3.3V.

Pour autant que je sache, le XC6204B délivre un maximum de 150mA (beaucoup moins que le MIC5219 500mA). Néanmoins.

Je ne trouve aucune donnée sur la consommation de courant au ralenti du Micro Pro 3,3 V. J'ai donc décidé d'en mesurer:

3.3V Pro Micro 11.2mA

3.3V L. O. G. Battements binauraux 20mA

EEG sans fil 3,3 V 58 mA

Le courant maximum de la fiche technique DS3231 à 3V est de 200uA ou 0,2mA.

Le courant maximum de la fiche technique DHT22 est de 2,5 mA.

Le HC06 est de 8.5mA en mode actif (40mA en mode appairage)

Je ne suis pas sûr que la fiche technique du MLX90614 ressemble à un courant maximal de 52 mA.

Donc, les additionner tous est d'environ 85mA, ce qui n'est pas moins de 150mA. Mais ça devrait aller.

L'adaptateur de carte microSD est alimenté par la broche RAW 5V.

J'ai joint un schéma de la station de base. Le protoboard que j'utilise et le croquis à suivre n'incluent pas le thermomètre DHT22 ou IR.

Étape 4: Esquisse

Esquisser
Esquisser

Fondamentalement, le croquis reçoit les données envoyées par l'EEG sans fil HC05 via le HC06 lié, il envoie les données sur son port USB dans le même format que l'EEG sans fil afin qu'il puisse être lu par EEG_Monitor_2 (Traitement) et affiché.

Il obtient également l'heure et la date du DS3231 RTC et horodatage les données et les écrit sur une carte microSD au format CSV (valeurs séparées par des virgules).

PROBLÈME1: L'EEG sans fil envoyait des données Bluetooth à mon HC06 à 115 200 bauds. Apparemment, mon HC06 ne peut pas communiquer correctement à cette vitesse car il voyait des ordures. Eh bien, j'ai joué avec, j'ai finalement réussi à le faire fonctionner en réglant à la fois le HC05 et le HC06 sur 19, 200 bauds.

PROBLÈME 2: L'heure d'été a été un problème pour moi. J'ai rencontré ce qui suit par JChristensen:

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

github.com/JChristensen/Timezone

Pour l'utiliser, vous devez d'abord régler le RTC sur UTC (Coordinated Universal Time), c'est l'heure de Greenwich, en Angleterre. Bon, je ne savais pas comment faire mais j'ai trouvé cet article:

www.justavapor.com/archives/2482

Réécrit pour l'heure de la montagne (ci-joint) UTCtoRTC.ino

Cela définit DS3231 à l'heure UTC, 6 heures plus tard que l'heure des Rocheuses.

Ensuite, j'ai intégré le fuseau horaire dans mon Sketch. Pour être honnête, je ne l'ai pas testé, donc je suppose que cela fonctionne.

PROBLÈME3: L'un des problèmes avec Bluetooth (et la plupart des autres communications série) est qu'il est asynchrone. Cela signifie que vous ne savez pas vraiment quand les données ont commencé et que vous regardez peut-être au milieu d'un flux de données.

Donc, ce que j'ai fait, c'est de démarrer chaque paquet de données avec un « $ » et de le rechercher dans ma station de base. Une meilleure façon de procéder s'appelle l'établissement de liaison où l'expéditeur envoie des données puis attend que le destinataire renvoie un accusé de réception. À cette fin, je ne suis pas si inquiet si je manque un paquet de temps en temps.

Le croquis est joint, basecode.ino

Étape 5: Conclusions

Conclusion
Conclusion
Conclusion
Conclusion

Malheureusement, depuis que j'ai commencé ce projet, j'ai perdu ma capacité à vraiment me concentrer sur les projets. Je voulais faire des tests réels avec cet EEG, en particulier avec des battements binauraux. Peut-être un jour.

Mais je pense avoir fourni suffisamment d'informations pour que d'autres puissent construire ce projet.

J'étais en train de développer un code à 5 bandes. L'idée était d'afficher les cinq bandes d'ondes cérébrales, delta, thêta, alpha, bêta et gamma. Je pense que le croquis de bande de base fonctionne, je ne pense pas que le fix_FFT fonctionne pour le traitement mais je l'ai joint pour ceux qui pourraient être intéressés.

Conseillé: