Talaan ng mga Nilalaman:

EEG AD8232 Phase 2: 5 Mga Hakbang (na may Mga Larawan)
EEG AD8232 Phase 2: 5 Mga Hakbang (na may Mga Larawan)

Video: EEG AD8232 Phase 2: 5 Mga Hakbang (na may Mga Larawan)

Video: EEG AD8232 Phase 2: 5 Mga Hakbang (na may Mga Larawan)
Video: Low-cost ECG & Heart monitoring system with AD8232 using Arduino. 2024, Nobyembre
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

Kaya't ang Lazy Old Geek (L. O. G.) na ito ay nagtayo ng isang EEG:

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

Mukhang gumagana itong okay ngunit ang isa sa mga bagay na hindi ko gusto dito ay ang ma-tether sa isang computer. Ginagamit ko iyon bilang isang dahilan upang hindi gumawa ng anumang pagsubok. Ang isa pang pag-aalala ko ay na parang nakakakuha ako ng ingay ng linya ng kuryente sa aking signal.

Sa ilang mas maagang pagsubok nakita ko ang mahiwaga 40Hz spike na tila mawawala kapag idiskonekta ko ang USB at pinatakbo ito sa baterya. Tingnan ang mga larawan.

Gayunpaman, gumawa ako ng pagsubok sa mga HC05 at HC06 Bluetooth module at nagawa kong gumana ang mga ito:

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

Tulad ng nabanggit, kapwa Instructabler, lingib pinakawalan ang kanyang EEG Monitor:

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

Sumusulat siya ng mas mahusay na code kaysa sa akin at bumuo din ng isang Processing code, kaya ang proyektong ito ay batay sa kanyang EEG Monitor. Para sa Phase 2, nais kong gumawa ng isang EEG monitor na pinapatakbo ng baterya. (Susubukan na ipasok sa Contest na Pinapatakbo ng Baterya)

Hakbang 1: Disenyo ng Wireless Module

Disenyo ng Module ng Wireless
Disenyo ng Module ng Wireless
Disenyo ng Module ng Wireless
Disenyo ng Module ng Wireless
Disenyo ng Module ng Wireless
Disenyo ng Module ng Wireless

Para sa microcontroller gagamit ako ng isang 3.3V Micro Pro. Ang Arduino na ito ay isang aparato na 3.3V kaya't tugma ito sa AD8232. Ang bersyon ng Sparkfun ay gumagamit ng isang 3.3V MIC5219 boltahe regulator.

Para sa isang baterya, gagamit ako ng isang lumang rechargeable na baterya na mayroon ako. Ito ay isang lithium rechargeable na baterya na malamang na idinisenyo para sa isang smartphone.

Tulad ng tinalakay sa paglaon, nalaman kong ang AliExpress Micro Pro ay gumagamit ng isang XC6204 boltahe regulator sa halip na ang MIC5219.

Kaya ang aking disenyo ay isang maliit na borderline. Ang mga baterya ng lithium ay karaniwang 3.5 hanggang 4.2V depende sa singil. Inaangkin ng XC6204 ang isang tipikal na dropout na 200mV na may load hanggang sa 100mA. Kaya pinakamasamang sitwasyon ng kaso sa buong pagkarga na may 3.5V baterya, ang regulator ay output ay tungkol sa 3.3V. Dapat maging maayos ito, ngunit magkaroon lamang kamalayan ng mga posibleng problema.

Ang iba pang mga bahagi ay binago AD8232 mula sa Phase 1 at isang HC05 na binago para sa 3.3V Bluetooth module tulad ng tinalakay sa:

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

Para sa kaginhawaan ginamit ko ang Eagle Cadsoft at gumawa ng PCB gamit ang pamamaraang ito:

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

Ang mga file ng Schematic at Eagle ay nakakabit.

Sinukat ko ang pagkonsumo ng kuryente: ito ay 58mA. Sa isang pagkakataon, nasubukan ko ang baterya na ito para sa isang kapasidad na 1750mA na oras na nagbibigay ng oras ng pagpapatakbo ng halos 30 oras sa isang pagsingil.

Para sa konektor ng baterya, gumamit ako ng isang konektor ng JST2.0 2pin upang tumugma ito sa aking Adafruit M4 Express. Marami sa mga baterya na ito ay may tatlong mga contact ngunit sumusukat lamang sa isang multimeter para sa tungkol sa 4V at solder ang mga wire sa baterya. Gumamit ako ng mainit na pandikit upang mai-seal at suportahan ang koneksyon.

BABALA: Ang ilang mga konektor ng JST2.0 ay nakabaligtad ang mga Red at Black wires mula sa Adafruit.

Nagdagdag din ako ng isang konektor ng JST2.0 sa isang charger ng baterya ng Lithium. Tingnan ang Larawan.

Hakbang 2: Packaging at Sketch

Pagbalot at Sketch
Pagbalot at Sketch
Pagbalot at Sketch
Pagbalot at Sketch
Pagbalot at Sketch
Pagbalot at Sketch

Upang maging kapaki-pakinabang sa akin, ang aking EEG ay kailangang maging portable. Nagkaroon ako ng isang maliit na lagayan para sa isa pang proyekto. Tumahi ako ng ilang Velcro sa likuran. Tumahi ako ng strap ng braso ng braso kasama ang iba pang Velcro at ilang nababanat, sinukat upang magkasya ang aking braso. Ang EEG ay pumupunta sa bulsa at nakakabit sa armband. Tingnan ang mga larawan.

Upang gawing mas madaling gamitin ang headband, (sa halip na maghinang) Kumuha ako ng isang 3.5mm audio cable extender, putulin ang isang dulo at ikinonekta ito sa mga headband sensor at sa ground ground. Ito ay mai-plug sa module ng AD8232.

TIP: Ipinagpalagay ko na ang konektor ay magiging katulad ng mga karaniwang audio cable na may Kaliwa sa dulo, Sa kanan sa gitna at sa ilalim ng Ground. Iyon ay hindi tama para sa AD8232 kaya kinailangan ko itong rewire, tingnan ang larawan.

Ang orihinal na HC05 ay may mga pin na lalabas kahilera sa PCB. Upang gawing mas patag, inayos ko ang mga ito upang ang mga ito ay nasa tamang mga anggulo sa PCB, tingnan ang larawan. Habang ang hindi pantay na mga pin ay hindi sinadya, gumagawa ito ng isang mas mahusay na koneksyon sa kuryente.

Ipinapakita ng susunod na larawan ang naka-assemble na wireless EEG, kung paano ito papasok sa bulsa, na mag-velcro sa armband.

Ipinapakita ng isang pares ng mga larawan kung paano nakakabit ang lahat.

Nakalakip ang Arduino sketch, ayusin_FFT_EEG_wireless.ino

Ito ay batay sa lingib code na may ilang mga linya na idinagdag para sa mga HC05 na komunikasyon.

Hakbang 3: Base Station

Base Station
Base Station
Base Station
Base Station
Base Station
Base Station

Kaya ang EEG Wireless na ito ay gagana sa isa sa aking mga adaptor ng CP2102-HC06 upang maipakita ang data ng real time sa isang PC gamit ang Pagproseso mula sa:

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

Aking mga saloobin: kaya ang mga utak ng utak ay kumakatawan sa ginagawa ng iyong utak. Kaya't kung tinitingnan ko ang ginagawa ng aking mga utak sa screen ng computer, ang proseso ng pagtingin sa screen at pag-iisipan nito ay makakaapekto sa aking EEG. Kaya ginusto ko ang pagpipilian ng pagrekord ng aking EEG nang hindi kinakailangang tingnan ang mga ito. Napagpasyahan kong itala ang data na naka-stamp ng data sa isang micro SD card upang magawa ko ang ilang pagsusuri sa offline.

Ang konsepto ay, hal, na kung sinusubukan ko kung paano nakakaapekto ang ilang mga binaural beats sa aking mga utak, maaari kong isulat kung kailan at kung ano ang mga beats na pinapakinggan ko at maya-maya ay tingnan ang aking data sa EEG upang makita kung may ilang mga epekto sa panahon at pagkatapos ang tagal ng oras na iyon.

Gumagamit ito ng isang base station, karaniwang isa pang Micro Pro na may isang HC06 upang makatanggap ng data mula sa wireless EEG, isang DS3231 RTC upang maitala ang oras at isang adapter ng microSD card upang mai-save ang naitala na oras na data sa isang microSD card. Karaniwan itong tulad ng aking IR Thermometer:

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

Sa katunayan ay iiwan ko ang pagpipilian ng paggamit ng isang IR thermometer at DHT22 (temp at halumigmig) sa PCB.

Narito ang mga pangunahing bahagi:

3.3V Micro Pro Arduino

DS3231 RTC (binago)

(karagdagan sa darating na temperatura DHT22 / RH)

HC06

(karagdagan sa hinaharap MLX90614 IR Temp Sensor)

5V microSD card adapter

Konsumo sa enerhiya:

Tulad ng maraming mga sensor na nakakabit sa Micro Pro na ito, magbibigay ako ng kaunting pansin sa kasalukuyang.

Ang boltahe regulator sa Micro Pro ay nagpapagana ng lahat ng mga sensor.

(Ang Sparkfun Micro Pro ay may isang MIC5219 3.3v regulator dito na maaaring magbigay ng 500mA ng kasalukuyang.)

Ang AliExpress 3.3v Micro Pro na binili ko ay tila may isang regulator ng Torex XC6204B. Iminumungkahi ito ng pagmamarka na hindi ko halos mabasa ngunit mukhang 4B2X.

Ang 4B ay nangangahulugang XC6204B, ang 2 ay nangangahulugang output ng 3.3V.

Hangga't maaari kong sabihin, ang XC6204B ay naglalabas ng maximum na 150mA (mas mababa kaysa sa MIC5219 500mA). Gayunpaman.

Hindi ako makahanap ng anumang data sa kasalukuyang idle draw ng 3.3V Micro Pro. Kaya't nagpasya akong sukatin ang ilan:

3.3V Pro Micro 11.2mA

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

3.3V Wireless EEG 58mA

Ang DS3231 datasheet max kasalukuyang sa 3V ay 200uA o 0.2mA.

Ang kasalukuyang datasheet ng DHT22 na max ay 2.5mA.

Ang HC06 ay 8.5mA sa aktibong mode (40mA sa mode ng pagpapares)

Ang MLX90614 datasheet hindi ako sigurado na mukhang ang kasalukuyang max ay 52mA.

Kaya ang pagdaragdag ng lahat ng ito ay tungkol sa 85mA na kung saan ay hindi mas mababa sa 150mA. Pero dapat okay lang.

Ang adapter ng microSD card ay pinalakas ng RAW pin 5V.

Nag-attach ako ng isang iskema ng base station. Ang protoboard na ginagamit ko at ang sketch na susundan ay hindi kasama ang termometro ng DHT22 o IR.

Hakbang 4: Sketch

Sketch
Sketch

Talaga, natatanggap ng sketch ang data na ipinadala ng wireless EEG HC05 sa pamamagitan ng nakagapos na HC06, ipinapadala nito ang data na ito ay USB port sa parehong format tulad ng wireless EEG upang mabasa ito ng EEG_Monitor_2 (Pagproseso) at maipakita.

Nakukuha rin nito ang oras at petsa mula sa DS3231 RTC at itinatak ang oras sa data at isinulat ito sa isang microSD card sa format na CSV (pinaghiwalay na mga halaga ng kuwit).

PROBLEM1: Ang wireless EEG ay nagpapadala ng data ng Bluetooth sa aking HC06 sa 115, 200 baud. Maliwanag na ang aking HC06 ay hindi maaaring makipag-usap nang tama sa bilis na iyon habang nakikita ang basura. Sa gayon, nilalaro ko ito, sa wakas ay nagtatrabaho ito sa pamamagitan ng pagtatakda ng parehong HC05 at HC06 hanggang 19, 200 baud.

PROBLEM2: Ang problema sa pag-save ng Daylight ay naging isang problema para sa akin. Tumakbo ako sa sumusunod na ni JChristensen:

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

github.com/JChristensen/Timezone

Upang magamit ito, kailangan mo munang itakda ang RTC sa UTC (Coordinated Universal Time), oras na ito sa Greenwich, England. Sa gayon, hindi ko alam kung paano gawin iyon ngunit nahanap ko ang artikulong ito:

www.justavapor.com/archives/2482

I-Rewrote ito para sa oras ng Mountain (naka-attach) UTCtoRTC.ino

Itinatakda nito ang oras ng DS3231 hanggang UTC, 6 na oras na mas lumipas kaysa sa oras ng Mountain.

Pagkatapos ay isinama ko ang timezone sa aking Sketch. Sa totoo lang, hindi ko ito nasubok kaya't sa pag-aakala ko lamang na gumagana ito.

PROBLEM3: Isa sa mga problema sa Bluetooth (at karamihan sa iba pang mga serial na komunikasyon) ay hindi ito magkakasabay. Nangangahulugan iyon na hindi mo talaga alam kung kailan nagsimula ang data at maaaring tumingin ka sa gitna ng isang stream ng data.

Kaya't ang ginawa ko ay sinimulan ang bawat packet ng data na may isang '$' at hinanap iyon sa aking base station. Ang isang mas mahusay na paraan upang gawin ito ay tinatawag na handshaking kung saan nagpapadala ang nagpadala ng ilang data pagkatapos naghihintay para sa tagatanggap na magpadala ng isang pagkilala sa resibo. Para sa hangaring ito, hindi ako gaanong nababahala kung makaligtaan ako ng isang packet tuwing paminsan-minsan.

Nakalakip ang sketch, basecode.ino

Hakbang 5: Mga Konklusyon

Konklusyon
Konklusyon
Konklusyon
Konklusyon

Sa kasamaang palad, simula nang magsimula ako sa proyektong ito, nawalan ako ng kakayahang mag-focus talaga sa mga proyekto. Nais kong gumawa ng ilang aktwal na pagsubok sa EEG na ito, lalo na sa mga binaural beats. Siguro balang araw.

Ngunit sa palagay ko ay nagbigay ako ng sapat na impormasyon para sa iba upang mabuo ang proyektong ito.

Ako ay nasa proseso ng pagbuo ng ilang 5 band code. Ang ideya ay upang ipakita ang limang mga utak ng banda, delta, theta, alpha, beta at gamma. Sa palagay ko gumagana ang baseband sketch, hindi sa palagay ko gumagana ang fix_FFT para sa Pagproseso ngunit naidikit ko ito para sa mga maaaring maging interesado.

Inirerekumendang: