สารบัญ:

EEG AD8232 เฟส 2: 5 ขั้นตอน (พร้อมรูปภาพ)
EEG AD8232 เฟส 2: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: EEG AD8232 เฟส 2: 5 ขั้นตอน (พร้อมรูปภาพ)

วีดีโอ: EEG AD8232 เฟส 2: 5 ขั้นตอน (พร้อมรูปภาพ)
วีดีโอ: 28 EGG HACKS THAT WILL SURPRISE YOU 2024, พฤศจิกายน
Anonim
EEG AD8232 เฟส2
EEG AD8232 เฟส2
EEG AD8232 เฟส2
EEG AD8232 เฟส2
EEG AD8232 เฟส2
EEG AD8232 เฟส2

ดังนั้น Lazy Old Geek (L. O. G.) นี้จึงสร้าง EEG:

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

ดูเหมือนว่าจะใช้งานได้ดี แต่สิ่งหนึ่งที่ฉันไม่ชอบเกี่ยวกับเรื่องนี้คือการเชื่อมต่อกับคอมพิวเตอร์ ฉันใช้สิ่งนั้นเป็นข้ออ้างที่จะไม่ทำการทดสอบใดๆ ข้อกังวลอีกประการหนึ่งที่ฉันมีคือดูเหมือนว่าฉันได้รับสัญญาณรบกวนจากสายไฟ AC ในสัญญาณของฉัน

ในระหว่างการทดสอบก่อนหน้านี้ ฉันเห็นการขัดขวาง 40Hz ลึกลับที่ดูเหมือนจะหายไปเมื่อฉันถอดสาย USB และใช้งานแบตเตอรี่ ดูภาพ

อย่างไรก็ตาม ฉันได้ทำการทดสอบกับโมดูลบลูทูธ HC05 และ HC06 และสามารถใช้งานได้:

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

ดังที่กล่าวไว้ เพื่อนผู้สอน lingib ได้ปล่อย EEG Monitor ของเขา:

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

เขาเขียนโค้ดได้ดีกว่าฉันมาก และพัฒนาโค้ดการประมวลผลด้วย ดังนั้นโปรเจ็กต์นี้จึงอิงจาก EEG Monitor ของเขา สำหรับระยะที่ 2 ฉันต้องการสร้างจอภาพ EEG ที่ใช้พลังงานจากแบตเตอรี่ (จะพยายามเข้าประกวดแบตเตอรี่)

ขั้นตอนที่ 1: ออกแบบโมดูลไร้สาย

ออกแบบโมดูลไร้สาย
ออกแบบโมดูลไร้สาย
ออกแบบโมดูลไร้สาย
ออกแบบโมดูลไร้สาย
ออกแบบโมดูลไร้สาย
ออกแบบโมดูลไร้สาย

สำหรับไมโครคอนโทรลเลอร์ ฉันจะใช้ 3.3V Micro Pro Arduino นี้เป็นอุปกรณ์ 3.3V ดังนั้นจึงเข้ากันได้กับ AD8232 รุ่น Sparkfun ใช้ตัวควบคุมแรงดันไฟฟ้า 3.3V MIC5219

สำหรับแบตเตอรี่ฉันจะใช้แบตเตอรี่แบบชาร์จไฟเก่าที่มีอยู่ นี่คือแบตเตอรี่ลิเธียมแบบชาร์จไฟได้ซึ่งออกแบบมาสำหรับสมาร์ทโฟน

ตามที่กล่าวไว้ในภายหลัง ฉันพบว่า AliExpress Micro Pro ใช้ตัวควบคุมแรงดันไฟฟ้า XC6204 แทน MIC5219

ดังนั้นการออกแบบของฉันจึงเป็นเส้นแบ่งเขตเล็กน้อย โดยทั่วไปแล้วแบตเตอรี่ลิเธียมจะมีขนาด 3.5 ถึง 4.2V ขึ้นอยู่กับการชาร์จ XC6204 อ้างว่าการดรอปเอาต์โดยทั่วไปที่ 200mV พร้อมโหลดสูงสุด 100mA กรณีที่เลวร้ายที่สุดเมื่อโหลดเต็มด้วยแบตเตอรี่ 3.5V ตัวควบคุมจะเอาต์พุตจะอยู่ที่ประมาณ 3.3V สิ่งนี้น่าจะใช้ได้ แต่ให้ระวังปัญหาที่อาจเกิดขึ้น

ส่วนประกอบอื่นๆ ได้แก่ AD8232 ที่ดัดแปลงจากเฟส 1 และ HC05 ที่ดัดแปลงสำหรับโมดูล Bluetooth 3.3V ตามที่กล่าวไว้ใน:

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

เพื่อความสะดวกฉันใช้ Eagle Cadsoft และสร้าง PCB โดยใช้วิธีนี้:

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

แนบไฟล์ Schematic และ Eagle

ฉันวัดการใช้พลังงาน: มันคือ 58mA ครั้งหนึ่ง ฉันได้ทดสอบแบตเตอรี่นี้สำหรับความจุ 1750mA ชั่วโมง ซึ่งให้เวลาทำงานประมาณ 30 ชั่วโมงต่อการชาร์จหนึ่งครั้ง

สำหรับขั้วต่อแบตเตอรี่ ฉันใช้ขั้วต่อ 2 พิน JST2.0 เพื่อให้ตรงกับ Adafruit M4 Express ของฉัน แบตเตอรี่จำนวนมากเหล่านี้มีหน้าสัมผัสสามตัว แต่เพียงแค่วัดด้วยมัลติมิเตอร์ประมาณ 4V แล้วบัดกรีสายไฟเข้ากับแบตเตอรี่ ฉันใช้กาวร้อนเพื่อปิดผนึกและรองรับการเชื่อมต่อ

คำเตือน: ตัวเชื่อมต่อ JST2.0 บางตัวมีสายสีแดงและสีดำที่กลับด้านจาก Adafruit

ฉันยังเพิ่มตัวเชื่อมต่อ JST2.0 ลงในเครื่องชาร์จแบตเตอรี่ลิเธียม ดูรูปภาพ.

ขั้นตอนที่ 2: บรรจุภัณฑ์และร่าง

บรรจุภัณฑ์และร่าง
บรรจุภัณฑ์และร่าง
บรรจุภัณฑ์และร่าง
บรรจุภัณฑ์และร่าง
บรรจุภัณฑ์และร่าง
บรรจุภัณฑ์และร่าง

เพื่อให้มีประโยชน์กับฉัน EEG ของฉันจะต้องพกพาได้ ฉันมีกระเป๋าเล็ก ๆ สำหรับโครงการอื่น ฉันเย็บเวลโครที่ด้านหลัง ฉันเย็บสายรัดแขนด้วยแถบเวลโครอีกอันและยางยืด โดยวัดให้พอดีกับแขนของฉัน EEG เข้าไปในกระเป๋าและติดกับปลอกแขน ดูภาพ

เพื่อให้สายคาดศีรษะใช้งานง่ายขึ้น (แทนการบัดกรี) ฉันใช้ตัวขยายสายสัญญาณเสียงขนาด 3.5 มม. ตัดปลายด้านหนึ่งออกแล้วเชื่อมต่อกับเซ็นเซอร์แถบคาดศีรษะและกราวด์ของหู สิ่งนี้จะเสียบเข้ากับโมดูล AD8232

เคล็ดลับ: ฉันคิดว่าตัวเชื่อมต่อจะเหมือนกับสายสัญญาณเสียงมาตรฐานที่มีปลายด้านซ้าย ด้านขวา ตรงกลางและด้านล่าง นั่นไม่ถูกต้องสำหรับ AD8232 ดังนั้นฉันจึงต้องเดินสายใหม่ดูรูป

HC05 ดั้งเดิมมีพินออกมาขนานกับ PCB เพื่อให้เรียบขึ้น ฉันยืดมันให้ตรงเพื่อให้พวกมันทำมุมฉากกับ PCB ดูรูป แม้ว่าหมุดที่ไม่สม่ำเสมอไม่ได้ตั้งใจ แต่ก็ทำให้การเชื่อมต่อทางไฟฟ้าดีขึ้น

ภาพถัดไปแสดง EEG ไร้สายที่ประกอบแล้วจะเข้าไปในกระเป๋าได้อย่างไร ซึ่งจะแนบไปกับปลอกแขน

ภาพสองสามภาพแสดงให้เห็นว่ามันแนบมาอย่างไร

แนบร่าง Arduino แล้ว fix_FFT_EEG_wireless.ino

ซึ่งอิงตามรหัส lingib ที่มีการเพิ่มสองสามบรรทัดสำหรับการสื่อสาร HC05

ขั้นตอนที่ 3: สถานีฐาน

สถานีฐาน
สถานีฐาน
สถานีฐาน
สถานีฐาน
สถานีฐาน
สถานีฐาน

ดังนั้น EEG Wireless นี้จะทำงานร่วมกับหนึ่งในอะแดปเตอร์ CP2102-HC06 ของฉันเพื่อแสดงข้อมูลแบบเรียลไทม์บนพีซีโดยใช้การประมวลผลจาก:

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

ความคิดของฉัน: คลื่นสมองแสดงถึงสิ่งที่สมองของคุณกำลังทำอยู่ ดังนั้น ถ้าฉันกำลังดูสิ่งที่คลื่นสมองกำลังทำอะไรอยู่บนหน้าจอคอมพิวเตอร์ กระบวนการดูหน้าจอและคิดเกี่ยวกับมันก็จะส่งผลต่อ EEG ของฉัน ดังนั้นฉันจึงต้องการตัวเลือกในการบันทึก EEG ของฉันโดยไม่ต้องดู ฉันตัดสินใจบันทึกข้อมูลที่ประทับเวลาลงในการ์ด micro SD เพื่อให้สามารถวิเคราะห์แบบออฟไลน์ได้

แนวคิดคือ เช่น ถ้าฉันกำลังทดสอบว่าบีตแบบ binaural ส่งผลต่อคลื่นสมองของฉันอย่างไร ฉันสามารถจดเวลาและจังหวะที่ฉันกำลังฟังอยู่และดูข้อมูล EEG ของฉันในภายหลังเพื่อดูว่ามีผลกระทบหรือไม่ระหว่างและหลัง ช่วงเวลานั้น

สิ่งนี้จะใช้สถานีฐาน โดยทั่วไปคือ Micro Pro อีกตัวที่มี HC06 เพื่อรับข้อมูลจาก EEG ไร้สาย, DS3231 RTC เพื่อบันทึกเวลา และอะแดปเตอร์การ์ด microSD เพื่อบันทึกข้อมูลที่ประทับเวลาลงในการ์ด microSD โดยพื้นฐานแล้วเหมือนกับเทอร์โมมิเตอร์ IR ของฉัน:

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

อันที่จริง ฉันจะปล่อยให้ตัวเลือกในการใช้เทอร์โมมิเตอร์อินฟราเรดและ DHT22 (อุณหภูมิและความชื้น) บน PCB

นี่คือองค์ประกอบหลัก:

3.3V Micro Pro Arduino

DS3231 RTC (แก้ไข)

(ในอนาคตเพิ่มเติม DHT22 อุณหภูมิ/RH)

HC06

(ในอนาคตเพิ่มเติม MLX90614 IR Temp Sensor)

อะแดปเตอร์การ์ด microSD 5V

การใช้พลังงาน:

เนื่องจากมีเซ็นเซอร์จำนวนมากติดอยู่กับ Micro Pro นี้ ฉันจึงจะให้ความสำคัญกับปัจจุบันเล็กน้อย

ตัวควบคุมแรงดันไฟฟ้าของ Micro Pro กำลังจ่ายไฟให้กับเซ็นเซอร์ทั้งหมด

(Sparkfun Micro Pro มีตัวควบคุม MIC5219 3.3v ที่สามารถจ่ายกระแสไฟได้ 500mA)

เห็นได้ชัดว่า AliExpress 3.3v Micro Pro ที่ฉันซื้อมีตัวควบคุม Torex XC6204B นี่แนะนำโดยเครื่องหมายฉันแทบจะไม่สามารถอ่านได้ แต่ดูเหมือนว่า 4B2X

4B ย่อมาจาก XC6204B, 2 หมายถึงเอาต์พุต 3.3V

เท่าที่ฉันสามารถบอกได้ XC6204B ให้เอาต์พุตสูงสุด 150mA (น้อยกว่า MIC5219 500mA มาก) แต่ถึงอย่างไร.

ฉันไม่พบข้อมูลใด ๆ เกี่ยวกับการดึงกระแสไฟที่ไม่ได้ใช้งานของ 3.3V Micro Pro ดังนั้นฉันจึงตัดสินใจวัดบางส่วน:

3.3V โปรไมโคร 11.2mA

3.3V แอล.โอ.จี. Binaural เต้น 20mA

3.3V ไร้สาย EEG 58mA

แผ่นข้อมูล DS3231 กระแสสูงสุดที่ 3V คือ 200uA หรือ 0.2mA

กระแสไฟสูงสุดของแผ่นข้อมูล DHT22 คือ 2.5mA

HC06 คือ 8.5mA ในโหมดแอ็คทีฟ (40mA ในโหมดจับคู่)

แผ่นข้อมูล MLX90614 ฉันไม่แน่ใจว่ากระแสสูงสุดคือ 52mA

ดังนั้นการบวกทั้งหมดจะอยู่ที่ประมาณ 85mA ซึ่งไม่ต่ำกว่า 150mA มากนัก แต่มันควรจะโอเค

อะแดปเตอร์การ์ด microSD ใช้พลังงานจากพิน RAW 5V

ฉันได้แนบแผนผังของสถานีฐาน โปรโตบอร์ดที่ฉันใช้และภาพสเก็ตช์ที่จะตามมาไม่มีเทอร์โมมิเตอร์ DHT22 หรือ IR

ขั้นตอนที่ 4: ร่าง

ร่าง
ร่าง

โดยพื้นฐานแล้ว ภาพสเก็ตช์จะได้รับข้อมูลที่ส่งโดย EEG HC05 ไร้สายผ่าน HC06 ที่ถูกผูกไว้ และจะส่งข้อมูลออกเป็นพอร์ต USB ในรูปแบบเดียวกับ EEG ไร้สาย ดังนั้น EEG_Monitor_2 (กำลังประมวลผล) จึงสามารถอ่านและแสดงผลได้

นอกจากนี้ยังรับเวลาและวันที่จาก DS3231 RTC และการประทับเวลาของข้อมูลและเขียนลงในการ์ด microSD ในรูปแบบ CSV (ค่าที่คั่นด้วยเครื่องหมายจุลภาค)

ปัญหาที่ 1: EEG ไร้สายกำลังส่งข้อมูล Bluetooth ไปยัง HC06 ของฉันที่ 115, 200 baud เห็นได้ชัดว่า HC06 ของฉันไม่สามารถสื่อสารได้อย่างถูกต้องด้วยความเร็วนั้นเนื่องจากเห็นขยะ ฉันลองเล่นดู ในที่สุดก็ใช้งานได้โดยตั้งค่าทั้ง HC05 และ HC06 เป็น 19, 200 บอด

ปัญหา 2: เวลาออมแสงเป็นปัญหาสำหรับฉัน ฉันพบสิ่งต่อไปนี้โดย JChristensen:

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

github.com/JChristensen/Timezone

ในการใช้สิ่งนี้ คุณต้องตั้งค่า RTC เป็น UTC (เวลาสากลเชิงพิกัด) ก่อน นี่คือเวลาในกรีนิช ประเทศอังกฤษ ฉันไม่รู้ว่าต้องทำอย่างไร แต่พบบทความนี้:

www.justavapor.com/archives/2482

เขียนซ้ำสำหรับเวลาภูเขา (แนบ) UTCtoRTC.ino

ซึ่งจะตั้งค่า DS3231 เป็นเวลา UTC ซึ่งช้ากว่าเวลาบนภูเขา 6 ชั่วโมง

จากนั้นฉันก็รวมเขตเวลาไว้ใน Sketch พูดตามตรงฉันยังไม่ได้ทดสอบเลยแค่คิดว่ามันใช้ได้ผล

ปัญหาที่ 3: ปัญหาอย่างหนึ่งของบลูทูธ (และการสื่อสารแบบอนุกรมอื่นๆ ส่วนใหญ่) ก็คือการทำงานแบบอะซิงโครนัส ซึ่งหมายความว่าคุณไม่รู้จริงๆ ว่าข้อมูลเริ่มต้นเมื่อใด และคุณอาจกำลังดูอยู่ตรงกลางของสตรีมข้อมูล

สิ่งที่ฉันทำคือเริ่มต้นแต่ละแพ็กเก็ตข้อมูลด้วย '$' และมองหาสิ่งนั้นในสถานีฐานของฉัน วิธีที่ดีกว่าในการทำเช่นนี้เรียกว่าการจับมือกันโดยที่ผู้ส่งส่งข้อมูลบางส่วนแล้วรอให้ผู้รับส่งการตอบรับการรับกลับ เพื่อจุดประสงค์นี้ ฉันไม่กังวลมากถ้าฉันพลาดแพ็กเก็ตเป็นบางครั้ง

แนบร่างแล้ว basecode.ino

ขั้นตอนที่ 5: บทสรุป

บทสรุป
บทสรุป
บทสรุป
บทสรุป

น่าเสียดายที่ตั้งแต่ฉันเริ่มโครงการนี้ ฉันสูญเสียความสามารถในการจดจ่อกับโครงการจริงๆ ฉันต้องการทำการทดสอบจริงกับ EEG นี้ โดยเฉพาะอย่างยิ่งกับจังหวะ binaural บางทีสักวันหนึ่ง.

แต่ฉันคิดว่าฉันได้ให้ข้อมูลเพียงพอสำหรับให้ผู้อื่นสร้างโครงการนี้

ฉันอยู่ระหว่างการพัฒนาโค้ด 5 แบนด์บางส่วน แนวคิดคือการแสดงคลื่นสมองทั้ง 5 แถบ ได้แก่ เดลต้า ทีต้า อัลฟา เบต้า และแกมมา ฉันคิดว่าสเก็ตช์เบสแบนด์ใช้งานได้ ฉันไม่คิดว่า fix_FFT ใช้งานได้สำหรับการประมวลผล แต่ฉันได้แนบมากับผู้ที่อาจสนใจ

แนะนำ: