İçindekiler:

EEG AD8232 Aşama 2: 5 Adım (Resimlerle)
EEG AD8232 Aşama 2: 5 Adım (Resimlerle)

Video: EEG AD8232 Aşama 2: 5 Adım (Resimlerle)

Video: EEG AD8232 Aşama 2: 5 Adım (Resimlerle)
Video: EEG Monitor 2024, Kasım
Anonim
EEG AD8232 Aşama 2
EEG AD8232 Aşama 2
EEG AD8232 Aşama 2
EEG AD8232 Aşama 2
EEG AD8232 Aşama 2
EEG AD8232 Aşama 2

Yani bu Tembel Yaşlı Geek (L. O. G.) bir EEG oluşturdu:

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

İyi çalışıyor gibi görünüyor ama sevmediğim şeylerden biri de bilgisayara bağlı olması. Bunu herhangi bir test yapmamak için bir bahane olarak kullanıyorum. Sahip olduğum bir diğer endişe, sinyalimde bir miktar AC güç hattı gürültüsü alıyormuşum gibi görünüyor.

Daha önceki bazı testler sırasında, USB bağlantısını kesip pille çalıştırdığımda kaybolan gizemli 40Hz artış gördüm. Resme bak.

Her neyse, HC05 ve HC06 Bluetooth modülleri ile bazı testler yaptım ve onları çalıştırabildim:

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

Belirtildiği gibi, Instructabler arkadaşı, lingib EEG Monitörünü yayınladı:

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

Benden çok daha iyi kod yazıyor ve ayrıca bir İşleme kodu geliştirdi, bu yüzden bu proje EEG Monitörüne dayanıyor. Faz 2 için pille çalışan bir EEG monitörü yapmak istiyorum. (Bataryayla Çalışan Yarışmaya katılmaya çalışacak)

Adım 1: Kablosuz Modülü Tasarlayın

Tasarım Kablosuz Modülü
Tasarım Kablosuz Modülü
Tasarım Kablosuz Modülü
Tasarım Kablosuz Modülü
Tasarım Kablosuz Modülü
Tasarım Kablosuz Modülü

Mikrodenetleyici için 3.3V Micro Pro kullanacağım. Bu Arduino 3.3V'luk bir cihazdır, bu nedenle AD8232 ile uyumludur. Sparkfun versiyonu, 3.3V MIC5219 voltaj regülatörü kullanır.

Bir pil için, sahip olduğum eski bir şarj edilebilir pil kullanacağım. Bu, muhtemelen bir akıllı telefon için tasarlanmış bir lityum şarj edilebilir pildir.

Daha sonra tartışıldığı gibi, AliExpress Micro Pro'nun MIC5219 yerine bir XC6204 voltaj regülatörü kullandığını öğrendim.

Bu yüzden tasarımım biraz sınırda. Lityum piller, şarja bağlı olarak tipik olarak 3,5 ila 4,2 V arasındadır. XC6204, 100mA'ya kadar bir yük ile tipik olarak 200mV'luk bir düşüş olduğunu iddia ediyor. 3.5V pil ile tam yükte en kötü durum senaryosu, regülatör çıkışı yaklaşık 3.3V olacaktır. Bu iyi olmalı, ancak olası sorunların farkında olun.

Diğer bileşenler, Faz 1'den değiştirilmiş AD8232 ve şurada tartışıldığı gibi 3.3V Bluetooth modülü için değiştirilmiş bir HC05'tir:

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

Kolaylık sağlamak için Eagle Cadsoft'u kullandım ve bu yöntemi kullanarak bir PCB yaptım:

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

Şematik ve Eagle dosyaları ektedir.

Güç tüketimini ölçtüm: 58mA idi. Bir keresinde, bu pili 1750mA saatlik bir kapasite için test etmiştim, bu da şarjla yaklaşık 30 saatlik bir çalışma süresi sağlıyor.

Pil konektörü için, Adafruit M4 Express'imle eşleşmesi için bir JST2.0 2pin konektör kullandım. Bu pillerin birçoğunun üç kontağı vardır, ancak sadece bir multimetre ile yaklaşık 4V ölçün ve kabloları pile lehimleyin. Bağlantıyı kapatmak ve desteklemek için sıcak tutkal kullandım.

UYARI: Bazı JST2.0 konektörlerinde Adafruit'ten ters çevrilmiş Kırmızı ve Siyah teller bulunur.

Ayrıca bir Lityum pil şarj cihazına bir JST2.0 konektörü ekledim. Resmi görmek.

Adım 2: Paketleme ve Eskiz

Paketleme ve Eskiz
Paketleme ve Eskiz
Paketleme ve Eskiz
Paketleme ve Eskiz
Paketleme ve Eskiz
Paketleme ve Eskiz

Bana faydalı olması için EEG'min taşınabilir olması gerekiyor. Başka bir proje için küçük bir çantam vardı. Arkasına biraz Velcro diktim. Diğer cırt cırtlı ve biraz da elastik olan bir kol bandı kayışı diktim, koluma uyacak şekilde ölçtüm. EEG cebe girer ve kol bandına takılır. Resme bak.

Kafa bandının kullanımını kolaylaştırmak için (lehim yapmak yerine) 3,5 mm ses kablosu uzatıcı aldım, bir ucunu kestim ve kafa bandı sensörlerine ve kulak zeminine bağladım. Bu, AD8232 modülüne takılacaktır.

İPUCU: Konektörün, Sol uçta, Sağ ortada ve altta Toprak olan standart ses kabloları gibi olacağını varsaydım. AD8232 için bu doğru değil, bu yüzden yeniden kablolamak zorunda kaldım, resme bakın.

Orijinal HC05, PCB'ye paralel olarak çıkan pinlere sahiptir. Daha düz hale getirmek için, onları PCB'ye dik açıda olacak şekilde düzelttim, resme bakın. Düzensiz pimler kasıtlı olmasa da, daha iyi bir elektrik bağlantısı sağlar.

Bir sonraki resim, monte edilmiş kablosuz EEG'yi, ardından kol bandına cırt cırtlı olacak şekilde cebe nasıl gireceğini gösterir.

Birkaç resim, hepsinin nasıl eklendiğini gösteriyor.

Arduino çizimi eklendi, fix_FFT_EEG_wireless.ino

Bu, HC05 iletişimleri için birkaç satır eklenmiş lingib koduna dayanmaktadır.

3. Adım: Baz İstasyonu

Baz istasyonu
Baz istasyonu
Baz istasyonu
Baz istasyonu
Baz istasyonu
Baz istasyonu

Bu nedenle, bu EEG Kablosuz, İşleme özelliğini kullanarak bir PC'de gerçek zamanlı verileri görüntülemek için CP2102-HC06 adaptörlerimden biriyle çalışacak:

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

Düşüncelerim: Yani beyin dalgaları beyninizin ne yaptığını temsil eder. Yani bilgisayar ekranında beyin dalgalarımın ne yaptığına bakıyorsam, ekrana bakma ve düşünme süreci EEG'mi etkileyecektir. Bu yüzden, EEG'mi görüntülemeden kaydetme seçeneğini istedim. Bazı çevrimdışı analizler yapabilmek için zaman damgalı verileri bir mikro SD karta kaydetmeye karar verdim.

Konsept, örneğin, eğer bazı çift kulaklı vuruşların beyin dalgalarımı nasıl etkilediğini test ediyorsam, ne zaman ve hangi vuruşları dinlediğimi yazabilirim ve daha sonra EEG verilerime bakıp sırasında ve sonrasında bazı etkiler olup olmadığını görmek için. o zaman dilimi.

Bu, bir baz istasyonu, temelde kablosuz EEG'den veri almak için bir HC06'ya sahip başka bir Micro Pro, zamanı kaydetmek için bir DS3231 RTC ve zaman damgalı verileri bir microSD karta kaydetmek için bir microSD kart adaptörü kullanacaktır. Bu temelde benim IR Termometrem gibidir:

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

Aslında PCB üzerinde bir IR termometre ve DHT22 (sıcaklık ve nem) kullanma seçeneğini bırakacağım.

İşte ana bileşenler:

3.3V Mikro Pro Arduino

DS3231 RTC (değiştirildi)

(gelecekte ek DHT22 sıcaklık/RH)

HC06

(gelecekte ek MLX90614 IR Sıcaklık Sensörü)

5V microSD kart adaptörü

Güç tüketimi:

Bu Micro Pro'ya bağlı çok sayıda sensör olduğundan, akıma biraz dikkat edeceğim.

Micro Pro'daki voltaj regülatörü tüm sensörlere güç sağlıyor.

(Sparkfun Micro Pro, üzerinde 500mA akım sağlayabilen bir MIC5219 3.3v regülatöre sahiptir.)

Satın aldığım AliExpress 3.3v Micro Pro, görünüşe göre bir Torex XC6204B regülatörüne sahip. Bu, zar zor okuyabildiğim işaret tarafından önerildi ancak 4B2X'e benziyor.

4B, XC6204B anlamına gelir, 2, 3.3V çıkış anlamına gelir.

Anlayabildiğim kadarıyla, XC6204B maksimum 150mA çıkış veriyor (MIC5219 500mA'dan çok daha az). Yine de.

3.3V Micro Pro'nun boşta akım çekişi hakkında herhangi bir veri bulamıyorum. Bu yüzden bazılarını ölçmeye karar verdim:

3.3V Pro Mikro 11.2mA

3.3V L. O. G. Binaural atım 20mA

3.3V Kablosuz EEG 58mA

3V'de DS3231 veri sayfası maksimum akımı 200uA veya 0.2mA'dır.

DHT22 veri sayfası maksimum akımı 2.5mA'dır.

HC06, aktif modda 8,5mA'dır (eşleştirme modunda 40mA)

MLX90614 veri sayfası, emin değilim, maksimum akım 52mA gibi görünüyor.

Yani hepsini toplamak, 150mA'dan çok daha az olmayan yaklaşık 85mA'dır. Ama iyi olmalı.

MicroSD kart adaptörü, RAW pin 5V tarafından desteklenmektedir.

Baz istasyonunun şemasını ekledim. Kullandığım protokol ve takip edeceğim çizim DHT22 veya IR termometreyi içermiyor.

Adım 4: Eskiz

Kroki
Kroki

Temel olarak taslak, kablosuz EEG HC05 tarafından bağlı HC06 aracılığıyla gönderilen verileri alır, verileri EEG_Monitor_2 (İşleme) tarafından okunabilmesi ve görüntülenebilmesi için kablosuz EEG ile aynı formatta USB portuna gönderir.

Ayrıca DS3231 RTC'den saat ve tarihi alır ve verileri zaman damgası ile bir microSD karta CSV (virgülle ayrılmış değerler) formatında yazar.

SORUN1: Kablosuz EEG, HC06'ma 115, 200 baud'da Bluetooth verisi gönderiyordu. Görünüşe göre HC06'm çöp gördüğü için bu hızda doğru şekilde iletişim kuramıyor. Onunla biraz oynadım ve sonunda hem HC05 hem de HC06'yı 19,200 baud'a ayarlayarak çalışmasını sağladım.

PROBLEM2: Yaz Saati benim için sorun oldu. JChristensen tarafından aşağıdakilerle karşılaştım:

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

github.com/JChristensen/Timezone

Bunu kullanmak için önce RTC'yi UTC'ye (Koordineli Evrensel Saat) ayarlamanız gerekir, bu zaman Greenwich, İngiltere'de. Bunu nasıl yapacağımı bilmiyordum ama şu makaleyi buldum:

www.justavapor.com/archives/2482

Dağ zamanı için yeniden yazdı (ekli) UTCtoRTC.ino

Bu, DS3231'i Dağ saatinden 6 saat sonra UTC saatine ayarlar.

Sonra saat dilimini Sketch'ime dahil ettim. Dürüst olmak gerekirse, test etmedim, sadece işe yaradığını varsaydım.

SORUN3: Bluetooth (ve diğer birçok seri iletişim) ile ilgili sorunlardan biri, asenkron olmasıdır. Bu, verilerin ne zaman başladığını gerçekten bilmediğiniz ve bir veri akışının ortasına bakıyor olabileceğiniz anlamına gelir.

Yaptığım şey, her veri paketine bir '$' ile başlamak ve bunu baz istasyonumda aramaktı. Bunu yapmanın daha iyi bir yolu, gönderenin bazı verileri gönderdiği ve ardından alıcının bir alındı bildirimi göndermesini beklediği el sıkışma olarak adlandırılır. Bu amaçla, arada bir bir paketi kaçırırsam o kadar endişelenmiyorum.

Çizim ekli, basecode.ino

Adım 5: Sonuçlar

Sonuçlar
Sonuçlar
Sonuçlar
Sonuçlar

Ne yazık ki, bu projeye başladığımdan beri projelere gerçekten odaklanma yeteneğimi kaybettim. Bu EEG ile, özellikle binaural vuruşlarla bazı gerçek testler yapmak istedim. Belki birgün.

Ancak, başkalarının bu projeyi inşa etmesi için yeterli bilgi sağladığımı düşünüyorum.

Bazı 5 bantlı kod geliştirme sürecindeydim. Fikir, beş beyin dalgası bandını, delta, teta, alfa, beta ve gamayı göstermekti. Temel bant taslağının işe yaradığını düşünüyorum, fix_FFT'nin İşleme için işe yaradığını düşünmüyorum ama ilgilenenler için ekledim.

Önerilen: