Talaan ng mga Nilalaman:
- Hakbang 1: Mga Kagamitan
- Hakbang 2: Physiological Background at ang Kailangan para sa isang Circuit
- Hakbang 3: Pagpoproseso ng Signal: Bakit at Paano?
- Hakbang 4: Paano Gumagana ang Circuit
- Hakbang 5: Pagpipitas ng Mga Bahagi at Halaga
- Hakbang 6: Pagbuo ng Circuit
- Hakbang 7: Circuit ng Pagsubok Sa Isang Tao
- Hakbang 8: Arduino Code
- Hakbang 9: Mga Hakbang sa Hinaharap
Video: Pagkontrol ng Mga Ilaw Sa Iyong Mga Mata: 9 Mga Hakbang (na may Mga Larawan)
2024 May -akda: John Day | [email protected]. Huling binago: 2024-01-30 13:11
Ngayong semestre sa kolehiyo, kumuha ako ng klase na tinatawag na Instrumentation in Biomedicine kung saan natutunan ko ang mga pangunahing kaalaman sa pagpoproseso ng signal para sa mga medikal na aplikasyon. Para sa huling proyekto ng klase, nagtrabaho ang aking koponan sa teknolohiya ng EOG (electrooculography). Mahalaga, ang mga electrode na nakakabit sa mga templo ng isang tao ay nagpapadala ng pagkakaiba-iba ng boltahe (batay sa corneo-retinal dipole) sa isang circuit na idinisenyo upang salain at palakasin ang signal. Ang signal ay pinakain sa isang ADC (analog-to-digital converter - sa aking kaso, ang ADC ng isang Arduino Uno) at ginamit upang baguhin ang mga kulay ng isang hiyas na neopixel.
Ang tutorial na ito ay isang paraan para maitala ko kung ano ang natutunan ko, at ibahagi din sa regular na mambabasa kung paano nakahiwalay ang mga signal mula sa katawan ng tao (kaya't babalaan: puno ito ng labis na detalye!). Ang circuit na ito ay maaari talagang magamit, na may ilang mga menor de edad na pagbabago, sa mga de-kuryenteng salpok ng puso ng mga motor bilang isang form ng EKG, at marami pa! Habang ito ay tiyak na kahit saan malapit sa advanced at perpekto tulad ng mga makina na mahahanap mo sa isang ospital, ang ilaw na kontrolado ng posisyon na ito ay mahusay para sa isang paunang pag-unawa at sulyap.
Tandaan: Hindi ako dalubhasa sa pagproseso ng signal kaya kung may mga pagkakamali o kung mayroon kang mga mungkahi para sa pagpapabuti, mangyaring ipaalam sa akin! Marami pa akong dapat matutunan kaya't ang komentaryo ay pinahahalagahan. Gayundin, marami sa mga papel na tinukoy ko sa mga link sa buong tutorial na ito ay nangangailangan ng pag-access sa akademiko na ako ay may kagandahang-loob ng aking unibersidad; paumanhin nang maaga para sa mga walang access.
Hakbang 1: Mga Kagamitan
- protoboard
- resistors (100, 1k, 10k, 33k, 1M + 0.5M)
- kapasitor (0.1uF)
- instrumentation amp (INA111 sa aking kaso, ngunit mayroong isang pares na dapat gumana medyo mabuti)
- op amp (anuman - Nagkaroon ako ng isang LM324N)
- neopixel (anumang gumagana, ngunit gumamit ako ng isang hiyas)
- 9V na baterya x2
- 9V mga header ng baterya x2
- solid gel electrodes (ang pagpili ng electrode ay tinalakay sa hakbang 5)
- potensyomiter
- insulated wire
- mga striper ng kawad
- soldering iron + solder
- mga clip ng buaya (na may kalakip na mga wire - maghinang kung kinakailangan)
- mainit na pandikit (upang patatagin ang mga wire na baluktot at pabalikin)
- Arduino (medyo nakasakay sa anumang gumagana, ngunit gumamit ako ng isang Arduino Uno)
NAPAKALANGKAT NA rekomendasyon: oscilloscope, multimeter, at generator ng pag-andar. Ipaalam ang iyong mga output sa halip na umasa lamang sa aking mga halaga ng risistor!
Hakbang 2: Physiological Background at ang Kailangan para sa isang Circuit
Mabilis na pagtatanggi: Hindi talaga ako dalubhasang medikal sa larangang ito, ngunit pinagsama at pinadali ko ang natutunan sa klase / mula saGoogling sa ibaba, na may mga link para sa karagdagang pagbabasa kung nais mo. Gayundin, ang link na ito ay ang pinakamahusay na pangkalahatang-ideya ng paksa na nahanap ko - kasama ang mga kahaliling pamamaraan.
Ang EOG (electro-oculography) ay gumagana sa corneo-retinal dipole. Ang kornea (harap ng mata) ay may positibong singil at ang retina (likod ng mata) ay bahagyang negatibong nasingil. Kapag nag-apply ka ng mga electrode sa mga templo at giniling ang iyong circuit sa iyong noo (tumutulong upang patatagin ang iyong mga pagbasa at mapupuksa ang ilang 60Hz pagkagambala), maaari mong sukatin ang paligid ng ~ 1-10mV boltahe na pagkakaiba-iba para sa pahalang na paggalaw ng mata (tingnan ang larawan sa itaas). Para sa patayong paggalaw ng mata, ilagay sa halip ang mga electrode sa itaas at sa ibaba ng iyong mata. Tingnan ang artikulong ito para sa isang mahusay na basahin kung paano nakikipag-ugnay ang katawan sa elektrisidad - mahusay na impormasyon tungkol sa impedance ng balat, atbp. Ang mga EOG ay karaniwang ginagamit para sa pag-diagnose ng mga sakit na ophthalmological tulad ng cataract, mga error na repraktibo, o macular degeneration. Mayroon ding mga application sa robot na kontrolado ng mata kung saan ang mga simpleng gawain ay maaaring gampanan sa isang kisap-mata ng.. mga mata.
Upang mabasa ang mga signal na ito, ibig sabihin, kalkulahin ang pagkakaiba ng boltahe sa pagitan ng mga electrode, isinasama namin ang isang mahalagang maliit na tilad na tinatawag na isang instrumentation amplifier sa aming circuit. Ang amp ng kagamitan na ito ay binubuo ng mga tagasunod ng boltahe, isang non-inverting amp, at isang kaugalian amp. Kung hindi mo alam ang tungkol sa mga amp amp, mangyaring basahin ito para sa isang kurso sa pag-crash - mahalagang, kumukuha sila ng isang boltahe ng pag-input, sukatin ito, at ilalabas ang resulta ng boltahe gamit ang mga riles ng kuryente nito. Ang pagsasama ng lahat ng mga resistors sa pagitan ng bawat yugto ay tumutulong sa mga error sa pagpapaubaya: karaniwang resistors ay may 5-10% tolerance sa mga halaga, at ang regular na circuit (hindi ganap na isinama sa isang instrumentation amp) ay lubos na umaasa sa kawastuhan para sa mabuting CMMR (tingnan ang susunod na hakbang). Ang mga tagasunod ng boltahe ay para sa mataas na impedance ng pag-input (tinalakay sa talata sa itaas - pangunahing para mapigilan ang pinsala sa pasyente), ang non-inverting amp ay upang matiyak ang mataas na nakuha ng signal (higit pa sa amplification sa susunod na hakbang) at ang pagkakaiba amp ay tumatagal ng pagkakaiba sa pagitan ng mga input (binabawas ang mga halaga mula sa mga electrode). Ang mga ito ay idinisenyo upang durugin ang mas karaniwang mode na ingay / panghihimasok hangga't maaari (para sa higit pa sa pagpoproseso ng signal, tingnan ang susunod na hakbang) para sa mga biomedical signal, na puno ng labis na mga artifact.
Ang electrodes ay nahaharap sa ilang impedance sa balat dahil ang mga tisyu at taba ng iyong balat ay nakahahadlang sa direktang pagsukat ng mga voltages, na humahantong sa pangangailangan para sa signal amplification at filtering. Narito, narito, at narito ang ilang mga artikulo kung saan tinangka ng mga mananaliksik na bilangin ang impedance na ito. Ang dami ng physiological na ito ay karaniwang na-modelo bilang isang 51kOhm risistor na kahanay ng isang 47nF capacitor, bagaman maraming mga pagkakaiba-iba at pagsasama. Ang balat sa iba't ibang mga lokasyon ay maaaring magkaroon ng iba't ibang mga impedance, lalo na kapag isinasaalang-alang mo ang iba't ibang mga kapal at halaga ng katabing kalamnan. Nagbabago rin ang imppedance kung gaano kahusay ang iyong balat na inihanda para sa mga electrode: ang masusing paglilinis ng sabon at tubig ay pangkalahatang iminungkahi upang matiyak ang mahusay na pagdirikit at pagkakapare-pareho, at may mga specialty gel pa rin para sa mga electrode kung talagang nais mo ang pagiging perpekto. Ang isang pangunahing tala ay ang pagbabago ng impedance na may dalas (katangian ng mga capacitor) kaya kailangan mong malaman ang iyong signal bandwidth upang mahulaan ang impedance. At oo, ang pagtantya sa impedance AY mahalaga para sa pagtutugma ng ingay - tingnan ang hakbang sa paglaon para sa karagdagang impormasyon tungkol dito.
Hakbang 3: Pagpoproseso ng Signal: Bakit at Paano?
Ngayon, bakit hindi mo lamang magamit ang pagkakaiba sa boltahe ng 1-10mV bilang isang agarang output upang makontrol ang mga LED? Sa gayon, maraming mga kadahilanan para sa pag-filter at pag-amplify ng mga signal:
-
Maraming mga ADC (analog-to-digital converter - kunin ang iyong input ng analog at i-digitize ang mga ito para sa pagbabasa at pag-iimbak ng data sa computer) na hindi madaling makita ang mga maliliit na pagbabago. Halimbawa, ang ADC ng Arduino Uno ay partikular na isang 10-bit na ADC na may 5V na output, nangangahulugang mapa-0-5V ang mga voltages ng pag-input (wala sa mga halagang saklaw ang "riles," na nangangahulugang ang mga mas mababang halaga ay babasahin bilang 0V at mas mataas na mga halagang binasa bilang 5V) sa mga halaga ng integer sa pagitan ng 0 at 1023. Ang 10mV ay napakaliit sa saklaw na 5V na iyon, kaya't kung maaari mong palakasin ang iyong signal sa buong saklaw na 5V, ang mga maliliit na pagbabago ay mas madaling mahahalata dahil makikita ang mga ito ng mas malalaking mga pagbabago sa dami (5mV baguhin sa 10mV na taliwas sa 2V na pagbabago sa 4V). Isipin ito tulad ng isang maliit na larawan sa iyong computer: ang mga detalye ay maaaring sa pamamagitan ng ganap na tinukoy ng iyong mga pixel, ngunit hindi mo magagawang makilala ang mga hugis maliban kung palawakin mo ang larawan.
Tandaan na ang pagkakaroon ng maraming mga bit para sa iyong ADC ay mas mahusay dahil maaari mong i-minimize ang ingay ng dami ng dami mula sa paggawa ng iyong tuluy-tuloy na signal sa discrete, digitized na mga halaga. Upang makalkula kung gaano karaming mga piraso ang kailangan mo para sa ~ 96% pagpapanatili ng input ng SNR, gamitin ang N = SNR (sa dB) / 6 bilang isang panuntunan sa hinlalaki. Nais mo ring isipin ang iyong pitaka bagaman: kung nais mo ng higit na mga piraso, kailangan mong maging handa na magbalot ng mas maraming pera
-
Ang ingay at pagkagambala (ingay = mga random na artifact na gumagawa ng iyong signal ay jagged sa halip na makinis kumpara sa pagkagambala = nonrandom, sinusoidal artifact mula sa mga katabing signal mula sa radio waves, atbp.) Salot sa lahat ng mga signal na sinusukat mula sa pang-araw-araw na buhay.
- Ang pinakatanyag ay ang pagkagambala ng 60Hz (50Hz kung nasa Europa ka at wala sa Russia dahil ginagamit nila ang DC na taliwas sa AC para sa outlet power …), na tinatawag na frequency frequency mula sa mga AC electromagnetic na patlang ng mga outlet ng kuryente. Ang mga linya ng kuryente ay nagdadala ng mataas na boltahe ng AC mula sa mga de-koryenteng generator patungo sa mga lugar ng tirahan, kung saan ibinababa ng mga transformer ang boltahe sa pamantayan ~ 120V sa mga outlet ng kuryente ng Amerika. Ang alternating boltahe ay humahantong sa patuloy na paliguan na 60Hz na pagkagambala sa ating paligid, na nakagagambala sa lahat ng mga uri ng signal at kailangang ma-filter.
-
Ang pagkagambala ng 60Hz ay karaniwang tinatawag na karaniwang mode na pagkagambala dahil lumilitaw ito sa pareho ng iyong mga input (+ at -) sa mga op amp. Ngayon, ang mga op amp ay mayroong tinatawag na karaniwang mode rejection ratio (CMRR) upang mabawasan ang mga karaniwang artifact na mode, ngunit (iwasto ako kung mali ako!) Higit sa lahat ito ay mabuti para sa mga karaniwang ingay ng mode (random: ingay sa halip na nonrandom: panghihimasok). Upang mapupuksa ang 60Hz, ang mga filter ng bandstop ay maaaring magamit upang piliing alisin ito mula sa frequency spectrum, ngunit pagkatapos ay tatakbo ka rin sa peligro na alisin ang aktwal na data. Pinakamahusay na kaso, maaari kang gumamit ng isang mababang pass filter upang mapanatili lamang ang isang saklaw ng mga frequency na mas mababa sa 60Hz, kaya't lahat ng may mas mataas na mga frequency ay nasala. Iyon ang ginawa ko para sa EOG: ang inaasahang bandwidth ng aking signal ay 0-10Hz (napapabayaan ang mabilis na paggalaw ng mata - ayaw itong harapin sa aming pinasimple na bersyon) kaya't tinanggal ko ang mga frequency na mas malaki sa 10Hz na may mababang pass filter.
- Maaaring masira ng 60Hz ang aming mga signal sa pamamagitan ng capacitive coupling at inductive coupling. Ang kapasidad na pagkabit (basahin ang mga capacitor dito) ay nangyayari kapag ang hangin ay kumikilos bilang isang dielectric para sa mga AC signal na isasagawa sa pagitan ng mga katabing circuit. Ang inductive coupling ay nagmula sa batas ni Faraday habang nagpapatakbo ka ng kasalukuyang sa isang magnetic field. Maraming mga trick upang mapagtagumpayan ang pagkabit: maaari kang gumamit ng isang saligan na kalasag bilang isang uri ng Faraday cage, halimbawa. Ang mga twisting / tirintas na mga wire kapag posible ay bumabawas sa lugar na magagamit para sa inductive na pagkabit upang makagambala. Ang pagpapaikli ng mga wire at pagbawas ng pangkalahatang sukat ng iyong circuit ay mayroon ding parehong epekto para sa parehong dahilan. Ang pag-asa sa lakas ng baterya para sa mga op amp rails na taliwas sa pag-plug sa isang outlet ng kuryente ay tumutulong din dahil ang mga baterya ay nagbibigay ng isang mapagkukunan ng DC na walang sinusoidal oscillation. Magbasa nang higit pa dito!
-
Ang mga filter ng low pass ay nakakaalis din ng maraming ingay, dahil ang random na ingay ay kinakatawan ng mga mataas na frequency. Maraming mga ingay ay puting ingay, nangangahulugan na ang ingay ay naroroon para sa lahat ng mga frequency, kaya ang paglilimita sa iyong signal bandwidth hangga't maaari ay makakatulong sa paglilimita kung gaano karaming ingay ang nasa iyong signal.
Ang ilang mga low pass filters ay tinatawag na mga anti-aliasing filter dahil pinipigilan nila ang aliasing: kapag ang mga sinusoid ay nasa ilalim ng sample, maaari silang makita bilang isang iba't ibang dalas pagkatapos ay sila talaga. Dapat mong palaging tandaan na sundin ang teorama ng pag-sample ng Nyquist (mga sample na signal sa 2x mas mataas na dalas: kailangan ng dalas ng sampling ng> 2Hz para sa isang inaasahang 1Hz sine wave, atbp). Sa kasong EOG na ito, hindi ako nag-alala tungkol sa Nyquist dahil ang aking signal ay inaasahan na higit sa lahat sa saklaw na 10Hz, at ang aking mga sample ng Arduino ADC sa 10kHz - higit sa sapat na mabilis upang mahuli ang lahat
- Mayroon ding maliit na trick upang mapupuksa ang ingay. Ang isa ay ang paggamit ng isang star ground kaya lahat ng mga bahagi ng iyong mga circuit ay may eksaktong parehong sanggunian. Kung hindi man, ang tinatawag ng isang bahagi na "ground" ay maaaring magkakaiba sa ibang bahagi dahil sa bahagyang paglaban sa mga wire, na nagdaragdag sa hindi pagkakapare-pareho. Ang paghihinang sa protoboard sa halip na dumikit sa mga breadboard ay binabawasan din ang ilang ingay at lumilikha ng mga ligtas na koneksyon na mapagkakatiwalaan mo na taliwas sa pagpasok ng press-fit.
Mayroong maraming iba pang mga paraan upang sugpuin ang ingay at pagkagambala (tingnan dito at dito), ngunit maaari kang kumuha ng isang klase sa iyon o sa Google para sa karagdagang impormasyon: magpatuloy tayo sa aktwal na circuit!
Hakbang 4: Paano Gumagana ang Circuit
Huwag matakot ng circuit diagram: narito ang isang magaspang na pagkasira kung paano gumagana ang lahat: (sumangguni sa nakaraang hakbang para sa ilang mga paliwanag din)
- Sa dulong kaliwa mayroon kaming mga electrode. Ang isa ay nakakabit sa kaliwang templo, isa pa sa kanang templo, at ang pangatlong elektrod ay na-ground sa noo. Ang saligan na ito ay nagpapatatag ng signal kaya't may mas kaunting naaanod, at tinatanggal din nito ang ilan sa pagkagambala ng 60Hz.
- Susunod ay ang instrumentation amp. Bumalik ng dalawang hakbang para sa isang paliwanag kung ano ang ginagawa nito upang makabuo ng pagkakaiba ng boltahe. Ang equation para sa pagbabago ng nakuha ng amp ay nasa pahina 7 ng data sheet [G = 1+ (50kOhm / Rg) kung saan nakakonekta ang Rg sa mga pin ng amp at 1]. Para sa aking circuit, umayos ako sa isang nakuha na 500 sa pamamagitan ng paggamit ng Rg = 100Ohm.
- Matapos ang output ng instrumentation amp ay naglalabas ng 500x amplified boltahe pagkakaiba, mayroong isang unang-order RC low pass filter, na binubuo ng isang risistor R_filter at capacitor C_filter. Pinipigilan ng low pass filter ang anti-aliasing (walang pag-aalala para sa akin bagaman dahil sa pamamagitan ng Nyquist, kailangan kong mag-sample ng hindi bababa sa 20Hz para sa isang inaasahang 10Hz bandwidth, at ang mga sample ng Arduino ADC na 10kHz - higit sa sapat) at pinuputol din ang ingay sa lahat ng mga frequency na hindi ko kailangan. Gumagana ang system ng RC dahil pinapayagan ng mga capacitor ang mataas na frequency sa pamamagitan ng madali ngunit hadlangan ang mas mababang mga frequency (impedance Z = 1 / (2 * pi * f)), at lumilikha ng isang divider ng boltahe na may boltahe sa mga capacitor ay nagreresulta sa isang filter na nagpapahintulot lamang sa mas mababang mga frequency sa pamamagitan ng [cutoff para sa intensity ng 3dB ay pinamamahalaan ng pormula f_c = 1 / (2 * pi * RC)]. Inayos ko ang mga halaga ng R at C ng aking filter upang maputol ang mga signal na mas mataas sa ~ 10Hz sapagkat ang biological signal para sa EOGs ay inaasahan sa saklaw na iyon. Orihinal na pinutol ko pagkatapos ng 20Hz, ngunit pagkatapos ng eksperimento 10Hz nagtrabaho rin, kaya nagpunta ako sa mas maliit na bandwidth (mas maliit na bandwidth ay mas mahusay na upang putulin ang anumang hindi kinakailangan, kung sakali).
- Sa naka-filter na signal na ito, sinukat ko ang output gamit ang isang oscilloscope upang makita ang aking saklaw ng mga halaga mula sa pagtingin sa kaliwa at kanan (ang dalawang sukdulan ng aking saklaw). Naabot ako sa tungkol sa isang 2-4V (dahil ang nakuha ng amp ng instrumento ay 500x para sa saklaw ng ~ 4-8mV), kapag ang aking target ay 5V (buong saklaw ng Arduino ADC). Ang saklaw na ito ay iba-iba (batay sa kung gaano kahusay ang paghugas ng tao ng balat, atbp) kaya't hindi ko nais na magkaroon ng ganoong karaming pakinabang sa aking pangalawang non-inverting amp. Natapos ko ang pag-aayos nito upang magkaroon ng isang makakuha lamang tungkol sa 1.3 (ayusin ang R1 at R2 sa circuit dahil makakuha ng amp = 1 + R2 / R1). Kakailanganin mong saklawin ang iyong sariling output at ayusin mula doon upang hindi ka lumampas sa 5V! Huwag lamang gamitin ang aking mga halaga ng resistor.
- Ang signal na ito ay maaari nang pakainin sa Arduino analog pin para sa pagbabasa NGUNIT ang Arduino ADC ay hindi tumatanggap ng mga negatibong pag-input! Kakailanganin mong ilipat ang iyong signal pataas upang ang saklaw ay 0-5V na taliwas sa -2.5V hanggang 2.5V. Ang isang paraan upang ayusin ito ay upang ikabit ang lupa ng iyong circuit board sa 3.3V pin ng Arduino: binabago nito ang iyong signal ng 3.3V (higit sa 2.5V na optimal ngunit gumagana ito). Ang aking saklaw ay talagang wonky kaya't dinisenyo ko ang isang variable na offset boltahe: sa ganoong paraan, maaari kong paikutin ang potensyomiter upang isentro ang saklaw sa 0-5V. Mahalaga ito isang variable na divider ng boltahe gamit ang +/- 9V power rails upang maikabit ko ang circuit ground sa anumang halaga mula -9 hanggang 9V at sa gayon ay ilipat ang aking signal pataas o pababa sa 9V.
Hakbang 5: Pagpipitas ng Mga Bahagi at Halaga
Naipaliwanag ang circuit, paano natin pipiliin kung alin ang (electrode, op amp) na gagamitin?
-
Bilang isang sensor, ang solid gel electrodes ay may mataas na impedance sa pag-input at mababang impedance ng output: kung ano ang mahalagang ibig sabihin nito ay ang kasalukuyang madaling dumaan sa downstream sa natitirang circuit (mababang output impedance) ngunit nakakagambala sa pagpasa ng pabalik-balik sa iyong mga templo (mataas na impedance ng pag-input). Pinipigilan nito ang gumagamit na mapinsala ng anumang mataas na alon o voltages sa natitirang bahagi ng iyong circuit; sa katunayan, maraming mga sistema ang may tinatawag na resistor ng proteksyon ng pasyente para sa karagdagang proteksyon, kung sakali.
-
Maraming iba't ibang mga uri ng electrode ang mayroon. Karamihan sa mga tao ay nagmumungkahi ng Ag / AgCl solid gel electrodes para magamit sa mga aplikasyon ng EKG / EOG / atbp. Sa pag-iisip na ito, kailangan mong tingnan ang paglaban ng mapagkukunan ng mga electrode na ito (bumalik sa dalawang hakbang para sa aking mga tala sa impedance ng balat) at itugma ito sa paglaban sa ingay (ingay ng boltahe sa V / sqrt (Hz) na hinati ng kasalukuyang ingay sa A / sqrt (Hz) - tingnan ang mga sheet ng data ng mga op amp) ng iyong mga op amp - iyon ang paraan ng pagpili mo ng tamang amp ng kagamitan para sa iyong aparato. Ito ay tinatawag na pagtutugma ng ingay, at mga paliwanag kung bakit ang pagtutugma ng mga mapagkukunang paglaban sa mga pagtutol ng ingay na Rn ay maaaring matagpuan sa online tulad dito. Para sa aking INA111 na pinili ko, maaaring kalkulahin ang Rn gamit ang boltahe ng ingay at kasalukuyang ingay ng sheet ng data (screenshot sa itaas).
-
Mayroong PLENTY ng mga artikulo na sinusuri ang pagganap ng electrode, at walang isang elektrod ang pinakamahusay para sa lahat ng mga layunin: subukan dito, halimbawa. Nagbabago rin ang impedance para sa iba't ibang mga bandwidth tulad ng makikita sa mga sheet ng data ng op amp (ang ilang mga sheet ng data ay magkakaroon ng mga kurba o talahanayan sa iba't ibang mga frequency). Gawin ang iyong pananaliksik ngunit tandaan na panatilihin ang iyong wallet sa isip. Masarap malaman kung aling mga electrodes / op amp ang pinakamahusay, ngunit hindi ito magagamit kung hindi mo ito kayang bayaran. Kakailanganin mo ~ 50 electrodes kahit na para sa pagsubok, hindi lamang 3 para sa isang beses na paggamit.
-
Para sa pinakamainam na pagtutugma ng ingay, hindi lamang dapat ang Rn ~ = Rs: nais mo rin ang boltahe ng ingay * ang kasalukuyang ingay (Pn) na mas mababa hangga't maaari. Ito ay itinuturing na mas mahalaga kaysa sa paggawa ng Rn ~ = Rs dahil maaari mong ayusin ang Rs at Rn sa pamamagitan ng paggamit ng mga transformer kung kinakailangan.
Ang mga caveat na may mga transformer (iwasto ako kung mali): maaari silang medyo malaki at sa gayon ay hindi pinakamainam para sa mga aparato na kailangang maging maliit. Nagtatayo rin sila ng init kaya't ang paglubog ng init o mahusay na bentilasyon ay kinakailangan
- Ang tugma ng ingay lamang sa iyong unang paunang amp; ang pangalawang amp ay hindi nakakaapekto sa marami, kaya't anumang op amp ang magagawa.
-
-
-
Hakbang 6: Pagbuo ng Circuit
Gamitin ang fritzing diagram sa itaas upang mabuo ang circuit (pangalawang kopya ng balangkas kung ano ang tinutukoy ng bawat bahagi sa circuit diagram mula sa nakaraang hakbang). Kung kailangan mo ng tulong sa pagtukoy ng mga LED sa diagram, gamitin ang calculator ng code ng kulay ng resistor na ito, ngunit ang Rg ng instrumentation amp ay 100Ohm, ang R_filter ay 1.5MOhm, ang C_filter ay 0.1uF, R1 ng hindi inverting amp ay ang 10kOhm, Ang R2 ay ang 33kOhm, at ang risistor para sa potensyomiter ay ang 1kOhm (ang potentiometer ay nag-iiba mula 0 hanggang 20kOhm). Tandaan na baguhin ang iyong mga halaga ng risistor kung kinakailangan upang ayusin ang mga nakuha!
I-edit: mayroong isang error sa bahagi ng offset ground. Tanggalin ang kaliwang itim na kawad. Ang risistor ay dapat na konektado sa pulang kawad sa power rail tulad ng ipinakita ngunit din sa pangalawang pin, hindi una, ng potensyomiter. Ang unang pin ng potentiometer ay dapat na konektado sa 5V pin ng Arduino. Ang orange wire na offset ground ay dapat na konektado sa pangalawang pin, hindi ang una.
Napag-usapan ko nang husto ang offset ground. Sa diagram makikita mo na ang Arduino ground ay ipinapakita bilang konektado sa lupa ng breadboard. Nasa senaryo iyon na hindi mo kailangang ilipat ang iyong lupa. Kung ang iyong signal ay nasa labas ng saklaw at kailangan mong ilipat ang iyong lupa, subukang munang ikonekta ang Arduino ground sa 3.3V pin ng Arduino at tingnan ang iyong signal. Kung hindi man subukan ang pag-hook up ng orange wire sa potentiometer set up (offset ground) sa GND pin ng Arduino.
TANDAAN ANG KALIGTASAN: HUWAG panatilihin ang mga baterya kapag naghihinang, at HUWAG HINDI ilagay o paandarin ang mga baterya. Ang iyong circuit ay magsisimula ng paninigarilyo, ang mga capacitor ay pumutok, at ang breadboard ay maaaring mapinsala din. Bilang patakaran ng hinlalaki, gamitin lamang ang mga baterya kapag nais mong gamitin ang circuit; kung hindi man, alisin ang mga ito (pagdaragdag ng isang flip switch para sa madaling pag-disconnect ng mga baterya ay magiging isang magandang ideya din).
Tandaan na dapat mong buuin ang piraso ng circuit sa pamamagitan ng piraso (suriin ang bawat yugto!) At sa isang breadboard bago maghinang sa isang protoboard. Ang unang yugto upang suriin ang amp ng kagamitan: ilakip ang lahat ng mga riles (panghinang sa mga may hawak ng baterya), Rg, atbp at gumamit ng isang oscilloscope sa output pin. Para sa mga nagsisimula, gumamit ng isang function generator na may 1Hz sine wave na may 5mV amplitude (o ang pinakamababang pupunta ang iyong generator). Ito ay upang suriin lamang kung gumagana nang maayos ang instrumentation amp, at ang iyong Rg ay nagbibigay ng iyong nakuha na target.
Susunod, suriin ang iyong mababang pass filter. Idagdag ang bahaging iyon ng circuit at suriin ang iyong waveform: dapat itong eksaktong hitsura ngunit mas kaunting ingay (jagged - tingnan ang huling dalawang mga imahe sa itaas). Suriin natin ang iyong huling output sa isang oscilloscope gamit ang iyong mga electrode sa halip na isang function generator ngayon …
Hakbang 7: Circuit ng Pagsubok Sa Isang Tao
Muli, maglagay ng mga electrode sa iyong kaliwa at kanang mga templo, at ilakip ang isang ground wire sa isang elektrod sa iyong noo. Pagkatapos lamang nito dapat kang magdagdag ng mga baterya - kung may anumang pangingilabot, tanggalin ang AGAD at i-double ang mga koneksyon !!! Ngayon suriin ang iyong saklaw ng mga halaga kapag tumingin ka sa kaliwa kumpara sa kanan at ayusin ang R1 / R2 ng non-inverting amp, tulad ng ipinaliwanag dalawang hakbang na ang nakaraan - tandaan na ang target ay isang saklaw na 5V! Tingnan ang mga larawan sa itaas para sa mga tala kung ano ang dapat abangan.
Kapag masaya ka sa lahat ng mga halaga ng risistor, solder ang lahat sa isang protoboard. Ang paghihinang ay hindi mahigpit na kinakailangan, ngunit nagbibigay ito ng higit na katatagan sa simpleng mga kasukasuan ng pagpindot sa pindutin at inaalis ang kawalan ng katiyakan ng circuit na hindi gumana nang simple dahil hindi mo ito pinindot nang husto sa isang breadboard.
Hakbang 8: Arduino Code
Lahat ng code ay nakakabit sa ilalim ng hakbang na ito!
Ngayon na mayroon kang isang saklaw na 5V, kailangan mong tiyakin na mahuhulog ito sa loob ng 0-5V sa halip na -1V hanggang 4V, atbp. Alinmang mag-attach ng lupa sa 3.3V pin ng Arduino o ikabit ang offset ground voltage (orange wire sa itaas) sa ground rail at pagkatapos ay ikonekta ang isang kawad mula sa ground rail sa GND pin ng Arduino (ito ay upang ilipat ang signal pataas o pababa upang mahulog ka sa loob ng saklaw na 0-5V). Kailangan mong maglaro: huwag kalimutang saklawin ang iyong output tuwing hindi sigurado!
Ngayon para sa pagkakalibrate: nais mo ang ilaw upang baguhin ang mga kulay para sa iba't ibang mga posisyon sa mata (naghahanap sa kaliwang kaliwa kumpara sa hindi gaanong kaliwa..). Para doon kailangan mo ng mga halaga at saklaw: patakbuhin ang mga EOG-calibration-number.ino sa Arduino na may maayos na nakabitin ang lahat (tapusin ang mga koneksyon sa Arduino at neopixel alinsunod sa aking diagram na fritzing). Hindi masyadong kinakailangan, ngunit patakbuhin din ang bioe.py code na mayroon ako - maglalabas ito ng isang file ng teksto sa iyong desktop upang maitala mo ang lahat ng mga halaga sa pagtingin mo sa kaliwa o kanan (ang python code ay inangkop mula sa halimbawang ito). Kung paano ko ito ginawa ay tumingin sa kaliwa para sa 8 beats, pagkatapos ay pakanan, pagkatapos ay pataas, pagkatapos ay pababa at ulitin para sa pag-average sa ibang pagkakataon (tingnan ang output_2.pdf para sa isang log na iningatan ko). Pindutin ang ctrl + C upang pilitin ang pagtigil kapag nasiyahan ka. Gamit ang mga halagang iyon, maaari mong ayusin ang mga saklaw ng mga animasyon sa aking BioE101_EOG-neopixel.ino code. Para sa akin, nagkaroon ako ng isang animasyon ng bahaghari nang tumingin ako nang diretso, asul sa kaliwang kaliwa, berde para sa kaunting kaliwa, lila para sa bahagyang kanan, at pula sa dulong kanan.
Hakbang 9: Mga Hakbang sa Hinaharap
Voila; isang bagay na maaari mong makontrol sa iyong mga mata lamang. Maraming dapat i-optimize bago ito makapunta sa isang ospital, ngunit iyan ay para sa ibang araw: ang mga pangunahing konsepto ay mas madaling maunawaan ngayon. Ang isang bagay na nais kong bumalik at baguhin ay ang pag-aayos ng aking nakuha sa 500 para sa instrumentation amp: pagtingin sa likod, malamang na to0 marami dahil ang aking signal pagkatapos ay 2-4V na at nahihirapan akong gamitin ang hindi pag-invert amp upang ayusin ang aking saklaw ganap na ganap …
Mahirap na magkaroon ng pagkakapare-pareho dahil ang signal ay Napakabago ng nagbabago para sa iba't ibang mga kondisyon:
- ibang tao
- kondisyon ng ilaw
- paghahanda ng balat (gel, paghuhugas, atbp)
ngunit kahit na, lubos akong nasiyahan sa aking pangwakas na patunay ng pagganap ng video (kinuha sa 3AM dahil doon nagmumula ang lahat nang mahiwagang gumagana).
Alam ko na marami sa tutorial na ito ay maaaring tila nakalilito (oo, ang kurba sa pag-aaral ay mahirap din para sa akin) kaya't mangyaring huwag mag-atubiling magtanong sa ibaba at gagawin ko ang aking makakaya upang sagutin. Mag-enjoy!
Runner Up sa Untouchable Challenge
Inirerekumendang:
Pagkontrol ng Maramihang mga LED Sa Python at Iyong Mga Piano ng GPP ng Iyong Raspberry Pi: 4 na Hakbang (na may Mga Larawan)
Pagkontrol ng Maramihang mga LED Sa Python at Mga GPIO Pins ng Iyong Raspberry Pi: Ipinapakita ng Tagubilin na ito kung paano makontrol ang maraming mga GPIO na pin sa iyong RaspberryPi upang mapagana ang 4 na LED. Ipapakilala ka rin nito sa mga parameter at kondisyunal na pahayag sa Python. Ang aming nakaraang Instructable Gamit ang Iyong Raspberry Pi's GPIO Pins to Con
Paano Makokontrol ang Mga ilaw / ilaw sa bahay gamit ang Arduino at Amazon Alexa: 16 Hakbang (na may Mga Larawan)
Paano Makokontrol ang Mga ilaw / Home Lights Gamit ang Arduino at Amazon Alexa: Ipinaliwanag ko kung paano makontrol ang ilaw na konektado sa UNO at kontrolado ng Alexa
Magdagdag ng Mga Ilaw at Kagila-gilalas na Musika sa Iyong Jack-O-Lantern - Walang Paghinang o Programming (Maliban Nais Mong Maging): 9 Mga Hakbang (na may Mga Larawan)
Magdagdag ng Mga Ilaw at Kamangha-manghang Musika sa Iyong Jack-O-Lantern - Walang Paghinang o Programming (Maliban Nais Mong Magkaroon): Magkaroon ng pinakatakot na Jack-O-Lantern sa iyong kalye sa pamamagitan ng pagdaragdag ng mga kumikinang na ilaw at nakakatakot na musika! Ito rin ay isang mahusay na paraan upang subukan ang Arduino at mai-program na electronics dahil ang buong proyekto ay maaaring makumpleto nang walang pagsulat ng code o paghihinang - alth
3D Printed Flahing LED Name Tag - Kunin ang Iyong Pangalan sa Mga Ilaw !: 4 Mga Hakbang (na may Mga Larawan)
3D Printed Flahing LED Name Tag - Kunin ang Iyong Pangalan sa Mga Ilaw !: Ito ay isang magandang maliit na proyekto kung saan bumuo ka ng isang tag ng pangalan na napaka-flashy at nakakaakit ng mata gamit ang mga multi-color LED light. Mga tagubilin sa video: Para sa proyektong ito gagawin mo kailangan: 3D Naka-print na Bahagi https://www.thingiverse.com/thing:2687490 Maliit
Kontrolin ang mga Ilaw sa Iyong Bahay Sa Iyong Computer: 3 Hakbang (na may Mga Larawan)
Kontrolin ang Mga Ilaw sa Iyong Bahay Sa Iyong Computer: Nais mo bang kontrolin ang mga ilaw sa iyong bahay mula sa iyong computer? Ito ay talagang medyo abot-kayang gawin ito. Maaari mo ring kontrolin ang mga sistema ng pandilig, awtomatikong mga blind window, mga motorized projection screen, atbp. Kailangan mo ng dalawang piraso ng hardwar