Tabla de contenido:

EEG AD8232 Fase 2: 5 pasos (con imágenes)
EEG AD8232 Fase 2: 5 pasos (con imágenes)

Video: EEG AD8232 Fase 2: 5 pasos (con imágenes)

Video: EEG AD8232 Fase 2: 5 pasos (con imágenes)
Video: Essentials of Neuroscience with MATLAB: Module 2-3 (EEG) 2024, Noviembre
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

Entonces, este Lazy Old Geek (L. O. G.) construyó un EEG:

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

Parece que funciona bien, pero una de las cosas que no me gusta es que esté conectado a una computadora. Lo uso como excusa para no hacer ninguna prueba. Otra preocupación que tengo es que parece que recibo algo de ruido de la línea de alimentación de CA en mi señal.

Durante algunas pruebas anteriores, vi un misterioso pico de 40Hz que parece desaparecer cuando desconecto el USB y lo ejecuto con la batería. Ver fotos.

De todos modos, hice algunas pruebas con los módulos Bluetooth HC05 y HC06 y pude hacer que funcionaran:

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

Como se mencionó, su compañero Instructabler, lingib lanzó su monitor EEG:

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

Escribe mucho mejor código que yo y también desarrolló un código de procesamiento, por lo que este proyecto se basa en su monitor EEG. Para la Fase 2, quiero hacer un monitor de EEG a batería. (Intentará participar en el Concurso de baterías)

Paso 1: Diseño del módulo inalámbrico

Diseño de módulo inalámbrico
Diseño de módulo inalámbrico
Diseño de módulo inalámbrico
Diseño de módulo inalámbrico
Diseño de módulo inalámbrico
Diseño de módulo inalámbrico

Para el microcontrolador usaré un Micro Pro de 3.3V. Este Arduino es un dispositivo de 3.3V por lo que es compatible con el AD8232. La versión Sparkfun utiliza un regulador de voltaje MIC5219 de 3.3V.

Para una batería, usaré una batería recargable vieja que tengo. Esta es una batería recargable de litio probablemente diseñada para un teléfono inteligente.

Como se discutirá más adelante, descubrí que AliExpress Micro Pro usa un regulador de voltaje XC6204 en lugar del MIC5219.

Así que mi diseño está un poco al límite. Las baterías de litio suelen ser de 3,5 a 4,2 V, según la carga. El XC6204 afirma una caída típica de 200 mV con una carga de hasta 100 mA. Entonces, en el peor de los casos a plena carga con una batería de 3,5 V, la salida del regulador sería de aproximadamente 3,3 V. Esto debería estar bien, pero solo tenga en cuenta los posibles problemas.

Otros componentes son el AD8232 modificado de la Fase 1 y un HC05 modificado para el módulo Bluetooth de 3.3V como se describe en:

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

Para mayor comodidad, usé Eagle Cadsoft e hice una PCB usando este método:

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

Se adjuntan archivos Schematic y Eagle.

Medí el consumo de energía: era de 58 mA. En un momento, probé esta batería para una capacidad de 1750 mA horas, lo que da un tiempo de funcionamiento de aproximadamente 30 horas con una carga.

Para el conector de la batería, utilicé un conector JST2.0 de 2 pines para que coincidiera con mi Adafruit M4 Express. Muchas de estas baterías tienen tres contactos, pero solo mida con un multímetro aproximadamente 4V y suelde los cables a la batería. Usé pegamento caliente para sellar y soportar la conexión.

ADVERTENCIA: Algunos conectores JST2.0 tienen los cables rojo y negro invertidos del Adafruit.

También agregué un conector JST2.0 a un cargador de batería de litio. Ver imagen.

Paso 2: Empaquetado y boceto

Empaquetado y boceto
Empaquetado y boceto
Empaquetado y boceto
Empaquetado y boceto
Empaquetado y boceto
Empaquetado y boceto

Para ser útil para mí, mi EEG debe ser portátil. Tenía una bolsita para otro proyecto. Cosí un velcro en la espalda. Cosí una correa para el brazo con el otro velcro y un poco de elástico, medido para que se ajustara a mi brazo. El EEG entra en el bolsillo y se fija al brazalete. Ver fotos.

Para facilitar el uso de la diadema (en lugar de soldar), tomé un extensor de cable de audio de 3,5 mm, corté un extremo y lo conecté a los sensores de la diadema y a la conexión a tierra de la oreja. Esto se conectará al módulo AD8232.

SUGERENCIA: Supuse que el conector sería como cables de audio estándar con la izquierda en la punta, la derecha en el medio y la parte inferior de tierra. Eso no es correcto para el AD8232, así que tuve que volver a cablearlo, vea la imagen.

El HC05 original tiene pines que salen paralelos a la PCB. Para hacerlo más plano, los enderecé para que estuvieran en ángulo recto con el PCB, vea la imagen. Si bien los pines desiguales no son intencionales, hacen una mejor conexión eléctrica.

La siguiente imagen muestra el EEG inalámbrico ensamblado, luego cómo entrará en el bolsillo, que se sujetará con velcro al brazalete.

Un par de imágenes muestran cómo está todo adjunto.

Se adjunta el boceto de Arduino, fix_FFT_EEG_wireless.ino

Esto se basa en el código lingib con algunas líneas agregadas para las comunicaciones HC05.

Paso 3: estación base

Estación base
Estación base
Estación base
Estación base
Estación base
Estación base

Por lo tanto, este EEG inalámbrico funcionará con uno de mis adaptadores CP2102-HC06 para mostrar datos en tiempo real en una PC usando Procesamiento de:

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

Mis pensamientos: las ondas cerebrales representan lo que está haciendo tu cerebro. Entonces, si miro lo que están haciendo mis ondas cerebrales en la pantalla de la computadora, el proceso de mirar la pantalla y pensar en ello afectará mi EEG. Así que quería la opción de grabar mi EEG sin tener que verlos. Decidí registrar los datos con marca de tiempo en una tarjeta micro SD para poder hacer algunos análisis sin conexión.

El concepto es, por ejemplo, que si estoy probando cómo algunos latidos binaurales afectan mis ondas cerebrales, puedo escribir cuándo y qué latidos estoy escuchando y luego mirar mis datos de EEG para ver si hay algunos efectos durante y después ese período de tiempo.

Esto usará una estación base, básicamente otro Micro Pro con un HC06 para recibir datos del EEG inalámbrico, un DS3231 RTC para registrar la hora y un adaptador de tarjeta microSD para guardar los datos con marca de tiempo en una tarjeta microSD. Esto es básicamente como mi Termómetro IR:

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

De hecho dejaré la opción de usar un termómetro IR y DHT22 (temperatura y humedad) en la PCB.

Estos son los componentes principales:

3.3V Micro Pro Arduino

DS3231 RTC (modificado)

(futura adición DHT22 temperatura / HR)

HC06

(futura adición Sensor de temperatura IR MLX90614)

Adaptador de tarjeta microSD de 5V

El consumo de energía:

Como hay muchos sensores conectados a este Micro Pro, voy a prestar un poco de atención a la corriente.

El regulador de voltaje del Micro Pro alimenta todos los sensores.

(El Sparkfun Micro Pro tiene un regulador MIC5219 3.3v que puede suministrar 500mA de corriente).

El AliExpress 3.3v Micro Pro que compré aparentemente tiene un regulador Torex XC6204B. Esto es sugerido por la marca que apenas puedo leer, pero parece 4B2X.

El 4B significa XC6204B, el 2 significa salida de 3.3V.

Por lo que puedo decir, el XC6204B produce un máximo de 150 mA (mucho menos que el MIC5219 500 mA). Sin embargo.

No puedo encontrar ningún dato sobre el consumo de corriente inactivo del 3.3V Micro Pro. Entonces decidí medir algunos:

3.3V Pro Micro 11.2mA

3.3V L. O. G. Latidos binaurales 20mA

EEG inalámbrico de 3.3V 58mA

La corriente máxima de la hoja de datos del DS3231 a 3V es 200uA o 0.2mA.

La corriente máxima de la hoja de datos del DHT22 es de 2,5 mA.

El HC06 es 8.5mA en modo activo (40mA en modo de emparejamiento)

No estoy seguro de que la hoja de datos MLX90614 parezca que la corriente máxima es de 52 mA.

Entonces, sumarlos todos es de aproximadamente 85 mA, que no es mucho menos de 150 mA. Pero debería estar bien.

El adaptador de tarjeta microSD está alimentado por el pin RAW 5V.

Adjunto un esquema de la estación base. El protoboard que estoy usando y el dibujo a continuación no incluye el termómetro DHT22 o IR.

Paso 4: bosquejo

Bosquejo
Bosquejo

Básicamente, el boceto recibe los datos enviados por el EEG HC05 inalámbrico a través del HC06 enlazado, envía los datos por su puerto USB en el mismo formato que el EEG inalámbrico para que EEG_Monitor_2 (Procesamiento) pueda leerlos y mostrarlos.

También obtiene la hora y la fecha del DS3231 RTC y marca la hora de los datos y los escribe en una tarjeta microSD en formato CSV (valores separados por comas).

PROBLEMA 1: El EEG inalámbrico estaba enviando datos de Bluetooth a mi HC06 a 115, 200 baudios. Aparentemente, mi HC06 no puede comunicarse correctamente a esa velocidad porque estaba viendo basura. Bueno, jugué con él, finalmente lo hice funcionar configurando tanto el HC05 como el HC06 a 19, 200 baudios.

PROBLEMA 2: El horario de verano ha sido un problema para mí. Me encontré con lo siguiente de JChristensen:

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

github.com/JChristensen/Timezone

Para usar esto, primero debe configurar el RTC en UTC (Hora universal coordinada), esta es la hora en Greenwich, Inglaterra. Bueno, no sabía cómo hacer eso, pero encontré este artículo:

www.justavapor.com/archives/2482

Reescribirlo para la hora de la montaña (adjunto) UTCtoRTC.ino

Esto configura DS3231 a la hora UTC, 6 horas más tarde que la hora de la montaña.

Luego incorporé la zona horaria en mi Sketch. Para ser honesto, no lo he probado, así que supongo que funciona.

PROBLEMA 3: Uno de los problemas con Bluetooth (y la mayoría de las demás comunicaciones en serie) es que es asíncrono. Eso significa que no sabe realmente cuándo comenzaron los datos y es posible que esté buscando en medio de un flujo de datos.

Entonces, lo que hice fue comenzar cada paquete de datos con un "$" y buscarlo en mi estación base. Una mejor manera de hacer esto se llama protocolo de enlace, donde el remitente envía algunos datos y luego espera a que el receptor envíe un acuse de recibo. Para este propósito, no me preocupa tanto si pierdo un paquete de vez en cuando.

Se adjunta el boceto, código base.ino

Paso 5: Conclusiones

Conclusiones
Conclusiones
Conclusiones
Conclusiones

Lamentablemente, desde que comencé este proyecto, he perdido la capacidad de concentrarme realmente en los proyectos. Quería hacer algunas pruebas reales con este EEG, especialmente con latidos binaurales. Tal vez algún día.

Pero creo que he proporcionado suficiente información para que otros construyan este proyecto.

Estaba en el proceso de desarrollar un código de 5 bandas. La idea era mostrar las cinco bandas de ondas cerebrales, delta, theta, alfa, beta y gamma. Creo que el boceto de la banda base funciona, no creo que fix_FFT funcione para Processing, pero lo he adjuntado para aquellos que puedan estar interesados.

Recomendado: