Ovládanie svetiel očami: 9 krokov (s obrázkami)
Ovládanie svetiel očami: 9 krokov (s obrázkami)
Anonim
Ovládanie svetiel očami
Ovládanie svetiel očami
Ovládanie svetiel očami
Ovládanie svetiel očami

Tento semester na vysokej škole som absolvoval kurz s názvom Prístrojové vybavenie v biomedicíne, v ktorom som sa naučil základy spracovania signálu pre lekárske aplikácie. Pri záverečnom projekte triedy môj tím pracoval na technológii EOG (elektrooculografia). V zásade elektródy pripevnené k niečomu na spánkoch odosielajú rozdiel napätia (na základe korneo-sietnicového dipólu) do obvodu určeného na filtráciu a zosilnenie signálu. Signál je privádzaný do ADC (analógovo-digitálny prevodník-v mojom prípade ADC Arduino Uno) a slúži na zmenu farieb neopixelového šperku.

Tento tutoriál je pre mňa spôsob, ako zaznamenať to, čo som sa naučil, a tiež sa s bežným čitateľom podeliť o to, ako sú signály izolované z ľudského tela (preto vás upozorňujeme: je plný ďalších podrobností!). Tento obvod možno v skutočnosti použiť, s niekoľkými drobnými zmenami, na elektrické impulzy motorických sŕdc ako priebeh EKG a mnoho ďalších! Aj keď to určite nie je ani zďaleka také pokročilé a dokonalé, ako stroje, ktoré by ste našli v nemocnici, táto lampa s ovládaním polohy očí je skvelá na počiatočné porozumenie a letmý pohľad.

Poznámka: Nie som odborník na spracovanie signálu, takže ak sa vyskytnú nejaké chyby alebo ak máte návrhy na vylepšenia, dajte mi vedieť! Stále sa mám čo učiť, takže komentáre si cením. Tiež mnohé z článkov, na ktoré odkazujem v odkazoch v celom tomto návode, vyžadujú akademický prístup, ktorý mám so súhlasom svojej univerzity; vopred sa ospravedlňujem tým, ktorí nebudú mať prístup.

Krok 1: Materiály

  • protoboard
  • odpory (100, 1k, 10k, 33k, 1M + 0,5M)
  • kondenzátor (0,1uF)
  • prístrojový zosilňovač (v mojom prípade INA111, ale existuje pár, ktoré by mali fungovať relatívne dobre)
  • operačný zosilňovač (akýkoľvek - náhodou som mal LM324N)
  • neopixel (akékoľvek diela, ale použil som šperk)
  • 2 x 9V batérie
  • Zásuvky 9V batérie x2
  • tuhé gélové elektródy (výber elektród je prediskutovaný v kroku 5)
  • potenciometer
  • izolovaný drôt
  • odizolovače drôtov
  • spájkovačka + spájka
  • aligátorové spony (s pripojenými vodičmi - v prípade potreby niektoré spájkovať)
  • horúce lepidlo (na stabilizáciu drôtov, ktoré by boli ohnuté tam a späť)
  • Arduino (takmer všetky dosky fungujú, ale použil som Arduino Uno)

VEĽMI ODPORÚČAME: osciloskop, multimetr a generátor funkcií. Sondujte svoje výstupy, a nie len spoliehajte sa na moje hodnoty odporu!

Krok 2: Psychologické pozadie a potreba obvodu

Psychologické pozadie a potreba obvodu
Psychologické pozadie a potreba obvodu

Rýchle vylúčenie zodpovednosti: V žiadnom prípade nie som odborníkom v oblasti medicíny v tejto oblasti, ale to, čo som sa naučil v triede/z googlingu, som zostavil a zjednodušil nižšie. S odkazmi na ďalšie čítanie, ak by ste chceli. Tento odkaz je tiež zďaleka najlepším prehľadom predmetu, ktorý som našiel - obsahuje alternatívne techniky.

EOG (elektro-okulografia) funguje na korne-sietnicovom dipóle. Rohovka (predná časť oka) je mierne pozitívne nabitá a sietnica (zadná časť oka) je mierne negatívne nabitá. Keď na spánky priložíte elektródy a uzemníte obvod k čelu (pomôže to stabilizovať údaje a zbaviť sa rušenia 60 Hz), môžete pri horizontálnych pohyboch očí merať rozdiely napätia ~ 1–10 mV (pozri obrázok vyššie). Pri vertikálnych pohyboch očí umiestnite elektródy nad a pod oko. V tomto článku si prečítate, ako telo interaguje s elektrinou - skvelé informácie o impedancii pokožky atď. EOG sa bežne používajú na diagnostiku oftalmologických chorôb, ako je katarakta, refrakčné chyby alebo makulárna degenerácia. Existujú aj aplikácie v robotike riadenej očami, v ktorých je možné jednoduché úlohy vykonávať rýchlym pohybom očí.

Na čítanie týchto signálov, t. J. Vypočítania rozdielu napätia medzi elektródami, začleníme do nášho obvodu dôležitý čip nazývaný prístrojový zosilňovač. Tento prístrojový zosilňovač sa skladá z napäťových sledovačov, neinvertujúceho zosilňovača a diferenciálneho zosilňovača. Ak neviete veľa o operačných zosilňovačoch, prečítajte si to prosím v nárazovom kurze - v zásade odoberajú vstupné napätie, upravujú jeho mierku a pomocou napájacích koľajníc generujú výsledné napätie. Integrácia všetkých rezistorov medzi každým stupňom pomáha s chybami tolerancie: rezistory majú zvyčajne toleranciu hodnôt 5 až 10% a pravidelný obvod (nie je plne integrovaný v prístrojovom zosilňovači) by sa pri dobrej CMMR silne spoliehal na presnosť (pozri ďalší krok). Nasledovače napätia sú určené pre vysokú vstupnú impedanciu (diskutované vyššie v odseku - hlavné pre prevenciu poškodenia pacienta), neinvertujúci zosilňovač má zaistiť vysoký zisk signálu (viac o zosilnení v nasledujúcom kroku) a diferenciálny zosilňovač preberá rozdiel. medzi vstupmi (odčíta hodnoty z elektród). Tieto sú navrhnuté tak, aby rozdrvili čo najviac šumu/rušenia v bežnom režime (ďalšie informácie o spracovaní signálu nájdete v nasledujúcom kroku) pre biomedicínske signály, ktoré sú plné cudzích artefaktov.

Elektródy čelia určitej impedancii pokožky, pretože tkanivá a tuk vašej pokožky bránia priamemu meraniu napätia, čo vedie k potrebe zosilnenia signálu a filtrácie. Tu, tu a tu je niekoľko článkov, v ktorých sa vedci pokúsili kvantifikovať túto impedanciu. Táto fyziologická veličina sa bežne modeluje ako odpor 51 kOhm paralelne s kondenzátorom 47 nF, aj keď existuje veľa variácií a kombinácií. Koža na rôznych miestach môže mať rôzne impedancie, najmä ak vezmete do úvahy rôzne hrúbky a množstvo susedných svalov. Impedancia sa tiež mení s tým, ako je vaša pokožka pripravená na elektródy: Na zaistenie vynikajúcej priľnavosti a konzistencie sa spravidla odporúča dôkladné čistenie mydlom a vodou a ak skutočne túžite po dokonalosti, existujú aj špeciálne gély na elektródy. Jednou kľúčovou poznámkou je, že impedancia sa mení s frekvenciou (charakteristika kondenzátorov), takže na predpovedanie impedancie potrebujete poznať šírku pásma signálu. A áno, odhad impedancie je dôležitý pre prispôsobenie hluku - ďalšie informácie o tom nájdete v nasledujúcom kroku.

Krok 3: Spracovanie signálu: Prečo a ako?

Spracovanie signálu: Prečo a ako?
Spracovanie signálu: Prečo a ako?

Prečo by ste teda nemohli použiť rozdiel napätia 1-10 mV ako okamžitý výstup na ovládanie diód LED? Existuje veľa dôvodov na filtrovanie a zosilnenie signálov:

  • Mnoho ADC (analógovo-digitálnych prevodníkov-vezmite svoj analógový vstup a digitalizujte ich na čítanie a ukladanie údajov do počítača) jednoducho nedokáže zistiť také malé zmeny. Napríklad ADC Arduino Uno je konkrétne 10-bitový ADC s výstupom 5V, čo znamená, že mapuje vstupné napätie 0-5V (hodnoty mimo rozsahu budú „koľajnice“, čo znamená, že nižšie hodnoty budú čítané ako 0V a vyššie hodnoty budú čítané ako 5V) na celočíselné hodnoty od 0 do 1023. 10mV je v tomto rozsahu 5V tak malé, takže ak dokážete zosilniť svoj signál na plný rozsah 5V, malé zmeny budú ľahšie detegovateľné, pretože sa prejavia väčšími kvantitatívnymi zmenami (5mV zmena na 10mV oproti 2V zmena na 4V). Predstavte si to ako malý obrázok vo svojom počítači: detaily môžu byť dokonale definované vašimi pixelmi, ale tvary nebudete môcť rozlišovať, pokiaľ obrázok nerozbalíte.

    Všimnite si toho, že mať viac bitov pre váš ADC je lepšie, pretože môžete minimalizovať kvantizačný šum z premeny spojitého signálu na diskrétne digitalizované hodnoty. Ak chcete vypočítať, koľko bitov potrebujete na ~ 96% zachovanie vstupného SNR, ako zásadu použite N = SNR (v dB)/6. Tiež by ste mali mať na pamäti svoju peňaženku: ak chcete viac bitov, musíte byť ochotní vynaložiť viac peňazí

  • Hluk a rušenie (šum = náhodné artefakty, ktoré spôsobujú, že vaše signály sú zubaté, namiesto hladkých vs rušenia = neriadené, sínusové artefakty zo susedných signálov z rádiových vĺn atď.), Sužujú všetky signály merané z každodenného života.

    • Najslávnejšie je rušenie 60 Hz (50 Hz, ak ste v Európe, a žiadne v Rusku, pretože používajú striedavé napätie na rozdiel od striedavého prúdu na napájanie zo zásuvky …), ktorá sa nazýva úžitková frekvencia zo striedavých elektromagnetických polí elektrických zásuviek. Elektrické vedenia prenášajú vysoké striedavé napätie z elektrických generátorov do obytných oblastí, kde transformátory znižujú napätie na štandardných ~ 120 V v amerických elektrických zásuvkách. Striedavé napätie vedie k tomuto konštantnému kúpeli s interferenciou 60 Hz v našom okolí, ktorý interferuje so všetkými druhmi signálov a je potrebné ho odfiltrovať.
    • Rušenie 60 Hz sa bežne nazýva rušenie v bežnom režime, pretože sa prejavuje v oboch vašich vstupoch (+ a -) pre operačné zosilňovače. Operačné zosilňovače majú niečo, čo sa nazýva pomer odmietnutia spoločného režimu (CMRR) na zníženie artefaktov bežného režimu, ale (opravte ma, ak sa mýlim!) Toto je dobré hlavne pre zvuky bežného režimu (náhodný: šum namiesto neriadeného: interferencia). Aby ste sa zbavili 60 Hz, filtre bandstop je možné použiť na ich selektívne odstránenie z frekvenčného spektra, ale potom riskujete aj odstránenie skutočných údajov. V najlepšom prípade môžete použiť dolnopriepustný filter iba na udržanie rozsahu frekvencií nižších ako 60 Hz, takže všetko s vyššími frekvenciami bude odfiltrované. To je to, čo som urobil pre EOG: očakávaná šírka pásma môjho signálu bola 0-10 Hz (zanedbávajúc rýchle pohyby očí-v našej zjednodušenej verzii som sa tým nechcel zaoberať), takže som odstránil frekvencie vyššie ako 10 Hz pomocou dolnopriepustného filtra.

      • 60 Hz môže poškodiť naše signály prostredníctvom kapacitnej väzby a indukčnej väzby. Kapacitná väzba (tu odčítaná na kondenzátoroch) nastáva, keď vzduch funguje ako dielektrikum pre striedavé signály vedené medzi susednými obvodmi. Indukčná väzba pochádza z Faradayovho zákona, keď prúdite v magnetickom poli. Existuje veľa trikov na prekonanie spojenia: uzemnený štít môžete použiť napríklad ako druh Faradayovej klietky. Skrútenie/opletenie drôtov, ak je to možné, zmenšuje plochu, ktorá môže interferovať s indukčnou väzbou. Skrátenie drôtov a zníženie celkovej veľkosti vášho obvodu má tiež rovnaký účinok z rovnakého dôvodu. Spoľahnutie sa na napájanie batérií pre koľajnice operačného zosilňovača na rozdiel od zapojenia do elektrickej zásuvky tiež pomáha, pretože batérie poskytujú zdroj jednosmerného prúdu bez sínusového kmitania. Prečítajte si oveľa viac tu!
      • Nízkopriepustné filtre tiež zbavujú veľa hluku, pretože náhodný šum je reprezentovaný vysokými frekvenciami. Veľa šumu je bieleho šumu, čo znamená, že šum je prítomný pre všetky frekvencie, takže maximálne obmedzenie šírky pásma signálu pomôže obmedziť, koľko z tohto šumu je vo vašom signáli prítomných.

        Niektoré dolnopriepustné filtre sa nazývajú vyhladzovacie filtre, pretože zabraňujú aliasingu: keď sú vzorky sínusoidov vzorkované, môžu byť detekované ako iná frekvencia, než v skutočnosti sú. Vždy by ste mali pamätať na to, aby ste dodržiavali Nyquistovu vzorkovaciu vetu (vzorkovanie signálov na 2x vyššej frekvencii: pre očakávanú sínusovú vlnu 1 Hz atď. Potrebujete vzorkovaciu frekvenciu> 2 Hz). V tomto prípade EOG som sa nemusel starať o Nyquist, pretože sa očakávalo, že môj signál bude hlavne v rozsahu 10 Hz, a moje vzorky Arduino ADC na 10 kHz - viac než dostatočne rýchlo, aby som stihol všetko

    • Existujú aj malé triky, ako sa zbaviť hluku. Jednou z nich je použiť hviezdnu zem, aby všetky časti vašich obvodov mali presne rovnakú referenciu. V opačnom prípade to, čo jedna časť nazýva „zem“, sa môže líšiť od inej časti kvôli miernemu odporu v drôtoch, čo sa pridáva k nezrovnalostiam. Spájkovanie na protoboard namiesto lepenia na doštičky na chlieb tiež znižuje určitý hluk a vytvára bezpečné spojenia, ktorým môžete oproti vloženiu lisovaným spojom dôverovať.

Existuje mnoho ďalších spôsobov, ako potlačiť hluk a rušenie (pozrite sa tu a tu), ale môžete sa o tom porozprávať na hodinách alebo na Googli, kde získate ďalšie informácie: Prejdeme k skutočnému okruhu!

Krok 4: Ako funguje obvod

Ako funguje obvod
Ako funguje obvod

Nebojte sa schémy zapojenia: tu je hrubý prehľad toho, ako všetko funguje: (Niektoré vysvetlenia nájdete aj v predchádzajúcom kroku)

  • Úplne vľavo máme elektródy. Jedna je pripevnená k ľavému spánku, druhá k pravému spánku a tretia elektróda je uzemnená na čele. Toto uzemnenie stabilizuje signál, takže dochádza k menšiemu driftu, a tiež sa zbavíte časti rušenia 60 Hz.
  • Ďalej je prístrojový zosilňovač. Vráťte sa o dva kroky späť a vysvetlite, čo robí na generovanie rozdielu napätia. Rovnica na zmenu zosilnenia zosilňovača je na strane 7 údajového listu [G = 1+ (50 kOhm/Rg), kde Rg je pripojený na piny 1 a 8 zosilňovača]. Pre môj obvod som upravil na zisk 500 pomocou Rg = 100Ohm.
  • Potom, čo zosilňovač prístrojov vydá zosilnený rozdiel napätia 500x, je tu RC dolnopriepustný filter prvého rádu, ktorý pozostáva z rezistora R_filter a kondenzátora C_filter. Dolnopriepustný filter zabraňuje vyhladzovaniu (pre mňa to však nie je znepokojujúce, pretože od spoločnosti Nyquist potrebujem vzorkovať aspoň 20 Hz na očakávanú šírku pásma 10 Hz a vzorky Arduino ADC na 10 kHz-viac ako dosť) a taktiež obmedzuje hluk. pri všetkých frekvenciách, ktoré nepotrebujem. RC systém funguje, pretože kondenzátory ľahko umožňujú vysoké frekvencie, ale prekážajú nižším frekvenciám (impedancia Z = 1/(2*pi*f)) a vytvorením deliča napätia s napätím na kondenzátore vznikne filter, ktorý umožňuje iba nižšie frekvencie až [hranica pre intenzitu 3dB sa riadi vzorcom f_c = 1/(2*pi*RC)]. Upravil som hodnoty R a C svojho filtra tak, aby prerušovali signály vyššie ako ~ 10 Hz, pretože v tomto rozsahu sa očakáva biologický signál pre EOG. Pôvodne som prerušil po 20 Hz, ale po experimentovaní 10 Hz fungovalo rovnako dobre, takže som išiel s menšou šírkou pásma (menšia šírka pásma je lepšie pre prípad potreby vystrihnúť všetko nepotrebné).
  • S týmto filtrovaným signálom som meral výstup osciloskopom, aby som videl môj rozsah hodnôt z pohľadu doľava a doprava (dva extrémy môjho rozsahu). To ma dostalo asi na 2-4V (pretože zosilnenie prístrojového zosilňovača bolo 500x pre rozsah ~ 4-8mV), keď môj cieľ je 5V (plný rozsah Arduino ADC). Tento rozsah sa veľmi líšil (v závislosti od toho, ako dobre si človek vopred umyl pokožku, atď.), Takže som nechcel mať taký veľký zisk s mojím druhým neinvertujúcim zosilňovačom. Nakoniec som to upravil tak, aby mal zisk iba asi 1,3 (v obvode nastavte R1 a R2, pretože zosilnenie zosilňovača = 1+R2/R1). Budete musieť rozsahovať svoj vlastný výkon a odtiaľ sa prispôsobiť, aby ste neprekročili 5V! Nepoužívajte iba moje hodnoty odporu.
  • Tento signál je teraz možné privádzať do analógového kolíka Arduino na čítanie, ALE Arduino ADC neakceptuje negatívne vstupy! Budete musieť posunúť signál tak, aby bol rozsah 0-5V, na rozdiel od -2,5V do 2,5V. Jeden zo spôsobov, ako to napraviť, je pripojiť uzemnenie vašej dosky plošných spojov k 3,3V kolíku Arduina: váš signál sa tým zvýši o 3,3V (optimálne viac ako 2,5V, ale funguje to). Môj rozsah bol skutočne nevyspytateľný, preto som navrhol variabilné ofsetové napätie: tak som mohol otáčať potenciometrom a vycentrovať rozsah na 0-5V. Je to v podstate variabilný delič napätia pomocou výkonových líšt +/- 9V, aby som mohol pripojiť uzemnenie obvodu na ľubovoľnú hodnotu od -9 do 9V a posunúť tak svoj signál nahor alebo nadol o 9V.

Krok 5: Výber komponentov a hodnôt

Vyberanie komponentov a hodnôt
Vyberanie komponentov a hodnôt

Keď vysvetlíme obvod, ako si vyberieme, ktorý (elektróda, operačný zosilňovač) použijeme?

  • Ako senzor majú pevné gélové elektródy vysokú vstupnú impedanciu a nízku výstupnú impedanciu: čo v podstate znamená, že prúd môže ľahko prechádzať po prúde do zvyšku obvodu (nízka výstupná impedancia), ale bude problematické prechádzať proti prúdu späť do vašich chrámov. (vysoká vstupná impedancia). Tým sa zabráni tomu, aby sa používateľ zranil akýmikoľvek vysokými prúdmi alebo napätím vo zvyšku vášho obvodu; v skutočnosti má mnoho systémov niečo pre istotu takzvaný odpor ochrany pacienta pre dodatočnú ochranu.

    • Existuje mnoho rôznych typov elektród. Väčšina ľudí odporúča pevné gélové elektródy Ag/AgCl na použitie v aplikáciách EKG/EOG/atď. S ohľadom na to musíte vyhľadať zdrojový odpor týchto elektród (pre moje poznámky o impedancii pokožky sa vráťte o dva kroky späť) a zhodte ho s odporom proti šumu (šumové napätie vo V/sqrt (Hz) delené šumovým prúdom v A/sqrt (Hz) - pozrite si katalógové listy operačných zosilňovačov) vašich operačných zosilňovačov - takto si vyberiete správny prístrojový zosilňovač pre svoje zariadenie. Hovorí sa tomu párovanie šumu a vysvetlenia, prečo vyhovuje porovnanie odporu zdroja Rs s odolnosťou proti hluku Rn, nájdete online, ako tu. Pre môj INA111, ktorý som si vybral, sa Rn môže vypočítať pomocou šumového napätia a prúdového šumu v dátovom liste (snímka obrazovky vyššie).

      • Existuje PLANTY článkov hodnotiacich výkonnosť elektród a žiadna elektróda nie je najlepšia na všetky účely: skúste napríklad tu. Impedancia sa tiež mení pre rôzne šírky pásma, ako sa prejavuje v údajových listoch operačného zosilňovača (niektoré dátové listy budú mať krivky alebo tabuľky s rôznymi frekvenciami). Urobte si prieskum, ale nezabúdajte, že by ste mali mať na pamäti svoju peňaženku. Je pekné vedieť, ktoré elektródy/operačné zosilňovače sú najlepšie, ale je to k ničomu, ak si to nemôžete dovoliť. Na testovanie budete potrebovať najmenej 50 elektród, nielen tri na jednorazové použitie.

        • Aby bola optimálna zhoda šumu, nielen Rn ~ = Rs: chcete, aby napätie šumu * šumový prúd (Pn) bol čo najmenší. Toto sa považuje za dôležitejšie ako vytváranie Rn ~ = Rs, pretože v prípade potreby môžete nastaviť Rs a Rn pomocou transformátorov.

          Upozornenia s transformátormi (opravte ma, ak sa mýlia): môžu byť trochu objemné, a preto nie sú optimálne pre zariadenia, ktoré musia byť malé. Tiež akumulujú teplo, takže sú potrebné chladiče alebo vynikajúce vetranie

        • Hluk sa zhoduje iba s vašim prvým počiatočným prúdom; druhý zosilňovač neovplyvňuje toľko, takže akýkoľvek operačný zosilňovač to urobí.

Krok 6: Budovanie obvodu

Budovanie okruhu
Budovanie okruhu
Budovanie okruhu
Budovanie okruhu
Budovanie okruhu
Budovanie okruhu

Na zostavenie obvodu použite schematický diagram (druhá kópia popisuje, na čo sa každá časť odkazuje v schéme zapojenia z predchádzajúceho kroku). Ak potrebujete pomoc s identifikáciou diód LED v diagrame, použite túto kalkulačku odporu farebného kódu, ale Rg prístrojového zosilňovača je 100 Ohm, R_filter je 1,5 MOhm, C_filter je 0,1 uF, R1 neinvertujúceho zosilňovača je 10 kOhm, R2 je 33 kOhm a odpor pre potenciometer je 1 kOhm (potenciometer sa pohybuje od 0 do 20 kOhm). Ak chcete upraviť zisky, nezabudnite podľa potreby zmeniť hodnoty odporu!

Upraviť: v odsadenej uzemnenej časti je chyba. Odstráňte ľavý čierny drôt. Rezistor by mal byť spojený s červeným vodičom k napájacej lište, ako je znázornené na obrázku, ale aj k druhému kolíku, nie prvému, potenciometra. Prvý pin potenciometra by mal byť pripojený k 5V pinu Arduina. Oranžový vodič, ktorý je posunutou zemou, by mal byť pripojený k druhému kolíku, nie k prvému.

Veľa som diskutoval o ofsetovej pôde. Na diagrame môžete vidieť, že uzemnenie Arduino je zobrazené ako spojené so zemou nepájivej dosky. Je to v prípade, že nepotrebujete posunúť svoju pôdu. Ak je váš signál mimo dosahu a potrebujete posunúť uzemnenie, skúste najskôr pripojiť uzemnenie Arduino k 3,3V pinu Arduina a zobrazte svoj signál. V opačnom prípade skúste zapojiť oranžový vodič v zostave potenciometra (offsetová zem) na kolík GND Arduina.

BEZPEČNOSTNÁ POZNÁMKA: NEDÁVAJTE batérie dovnútra pri spájkovaní a NEDÁVAJTE ani nespájkujte batérie dozadu. Váš obvod začne fajčiť, kondenzátory prasknú a môže sa poškodiť aj doska na pečenie. Spravidla používajte batérie iba vtedy, ak chcete použiť obvod; v opačnom prípade ich vyberte (tiež by bolo vhodné pridať prepínač na ľahké odpojenie batérií).

Upozorňujeme, že pred spájkovaním na protoboard by ste mali obvod zostaviť kus po kuse (skontrolovať každý stupeň!) A na doske. Prvou fázou kontroly je prístrojový zosilňovač: pripevnite všetky koľajnice (spájku v držiakoch batérií), Rg atď. A na výstupnom kolíku použite osciloskop. Na začiatok použite funkčný generátor so sínusovou vlnou 1 Hz s amplitúdou 5 mV (alebo najnižšou, ktorou váš generátor pôjde). Toto je len kontrola, či prístrojový zosilňovač funguje správne a či vaše Rg poskytuje váš cieľový zisk.

Ďalej skontrolujte dolnopriepustný filter. Pridajte časť obvodu a skontrolujte priebeh vlny: mal by vyzerať úplne rovnako, ale s menším šumom (zubatý - pozrite si posledné dva obrázky vyššie). Poďme teraz sondovať váš konečný výstup osciloskopom s vašimi elektródami namiesto generátora funkcií …

Krok 7: Testovanie obvodu s človekom

Testovací obvod s človekom
Testovací obvod s človekom
Testovací obvod s človekom
Testovací obvod s človekom
Testovací obvod s človekom
Testovací obvod s človekom

Opäť vložte elektródy do ľavého a pravého spánku a k elektróde na čele pripevnite uzemňovací vodič. Až potom by ste mali pridať batérie - ak dôjde k mravčeniu, OKAMŽITE ich vyberte a znova skontrolujte pripojenia !!! Teraz skontrolujte svoj rozsah hodnôt, keď sa pozriete doľava vs. doprava, a upravte R1/R2 neinvertujúceho zosilňovača, ako bolo vysvetlené pred dvoma krokmi-nezabúdajte, že cieľ je rozsah 5 V! Poznámky k tomu, na čo si dať pozor, nájdete na obrázkoch vyššie.

Keď ste spokojní so všetkými hodnotami odporu, spájkujte všetko na protoboard. Spájkovanie nie je nevyhnutne potrebné, ale poskytuje väčšiu stabilitu oproti jednoduchým lisovaným spojom a odstraňuje neistotu, že obvod nefunguje jednoducho preto, že ste ich dostatočne tvrdo nenatlačili na dosku.

Krok 8: Kód Arduino

Všetok kód je pripojený v spodnej časti tohto kroku!

Teraz, keď máte rozsah 5V, musíte sa uistiť, že spadá do rozsahu 0-5V namiesto -1V až 4V atď. Buď uzemnite uzemňovací kolík 3.3V Arduina alebo pripojte ofsetové uzemňovacie napätie (oranžový vodič vyššie) k uzemňovacej lište a potom pripojte vodič zo zemnej lišty k kolíku GND Arduina (toto má posunúť signál nahor alebo nadol, aby ste spadali do rozsahu 0-5V). Budete sa musieť pohrať: nezabudnite rozsah svojho výstupu, kedykoľvek si nie ste istí!

Teraz ku kalibrácii: chcete, aby svetlo menilo farby pre rôzne polohy očí (pri pohľade úplne vľavo vs. nie vľavo..). Na to potrebujete hodnoty a rozsahy: spustite EOG-calibration-numbers.ino k Arduinu so všetkým, čo je správne zapojené (dokončite pripojenia k Arduinu a neopixelu podľa môjho fritu). Nie je to nevyhnutné, ale spustíte aj kód bioe.py, ktorý mám - na vašu plochu sa tak prenesie textový súbor, takže môžete zaznamenávať všetky hodnoty pri pohľade doľava alebo doprava (kód pythonu bol upravený z tohto príkladu). Urobil som to tak, že som sa pozrel na 8 úderov doľava, potom doprava, potom hore, potom dolu a zopakoval som priemerovanie neskôr (jeden záznam, ktorý som si viedol, nájdete v output_2.pdf). Ak ste spokojní, vynútene ukončite stlačením klávesov ctrl+C. Pomocou týchto hodnôt potom môžete upraviť rozsahy animácií v mojom kóde BioE101_EOG-neopixel.ino. Pre mňa som mal dúhovú animáciu, keď som sa pozeral priamo dopredu, modrá úplne vľavo, zelená mierne vľavo, fialová mierne vpravo a červená úplne vpravo.

Krok 9: Budúce kroky

Voila; niečo, čo môžete ovládať iba očami. Je veľa vecí, ktoré je potrebné optimalizovať, než sa dostane do nemocnice, ale to je na iný deň: základné pojmy sú teraz prinajmenšom jednoduchšie na pochopenie. Jedna vec, ktorú by som sa chcel vrátiť a zmeniť, je úprava zisku na 500 pre prístrojový zosilňovač: pri pohľade späť to bolo pravdepodobne príliš veľa, pretože môj signál potom už bol 2-4 V a ťažko som používal neinvertujúci zosilňovač na dokonalé prispôsobenie môjho dosahu …

Je ťažké dosiahnuť konzistenciu, pretože signál sa MNOHO mení za rôznych podmienok:

  • iná osoba
  • svetelné podmienky
  • príprava pokožky (gély, umývanie atď.)

ale aj napriek tomu som celkom spokojný s mojím konečným video dôkazom výkonu (zaznamenaným o 3:00, pretože vtedy všetko magicky začne fungovať).

Viem, že veľa z tohto tutoriálu sa môže zdať mätúce (áno, krivka učenia bola pre mňa tiež ťažká), preto mi neváhajte položiť otázky nižšie a pokúsim sa na ne odpovedať. Užite si to!

Nedotknuteľná výzva
Nedotknuteľná výzva
Nedotknuteľná výzva
Nedotknuteľná výzva

Bežec v nedotknuteľnej výzve

Odporúča: