Жарықты көзбен басқару: 9 қадам (суреттермен)
Жарықты көзбен басқару: 9 қадам (суреттермен)
Anonim
Жарықтарды көзбен бақылау
Жарықтарды көзбен бақылау
Жарықтарды сіздің көзіңізбен басқару
Жарықтарды сіздің көзіңізбен басқару

Колледждегі осы семестрде мен «Биомедицинадағы аспаптар» деп аталатын сабаққа қатыстым, онда мен медициналық қосымшалар үшін сигналдарды өңдеу негіздерін үйрендім. Сыныптың соңғы жобасы үшін менің команда EOG (электрокулография) технологиясы бойынша жұмыс жасады. Негізінде, біреудің ғибадатханаларына бекітілген электродтар сигналды сүзуге және күшейтуге арналған тізбекке кернеу айырмашылығын жібереді (көздің қабықшасының диполына негізделген). Сигнал ADC-ке (аналогты-цифрлық түрлендіргішке-менің жағдайда, Arduino Uno-ның ADC) беріледі және неопиксельді зергерлік бұйымдардың түстерін өзгерту үшін қолданылады.

Бұл оқулық - бұл мен білгенімді жазудың әдісі, сонымен қатар тұрақты оқырманмен сигналдардың адам денесінен қалай оқшауланатынымен бөлісу әдісі (ескерту керек: ол қосымша мәліметтерге толы!). Бұл схеманы ЭКГ толқындық формасы ретінде моторлы жүректердің электрлік импульстарына аздаған өзгертулермен және тағы басқалармен қолдануға болады! Сіз ауруханада таба алатын машиналар сияқты жетілдірілген және жетілдірілген жерде болмасаңыз да, бұл көздің орналасуын бақылайтын шам бастапқы түсіну мен көру үшін өте жақсы.

Ескерту: Мен сигналдарды өңдейтін маман емеспін, сондықтан қателер болса немесе жақсартуға ұсыныстарыңыз болса, маған хабарлаңыз! Мен әлі де көп нәрсені үйренуім керек, сондықтан түсініктеме бағаланады. Сондай -ақ, мен осы оқулықтағы сілтемелерде сілтеме жасаған көптеген құжаттарға менің университетімнің рұқсатымен академиялық рұқсат қажет; кіре алмайтындар үшін алдын ала кешірім сұраймыз.

1 -қадам: материалдар

  • тақта
  • резисторлар (100, 1к, 10к, 33к, 1М + 0,5М)
  • конденсатор (0,1uF)
  • аспаптық күшейткіш (менің жағдайда INA111, бірақ салыстырмалы түрде жақсы жұмыс істейтін жұп бар)
  • op amp (кез келген - менде LM324N болды)
  • неопиксель (кез келген жұмыс, бірақ мен асыл тасты қолдандым)
  • 9В батареялары x2
  • 9В аккумуляторлық батареялар x2
  • қатты гель электродтары (электродты таңдау 5 -қадамда талқыланады)
  • потенциометр
  • оқшауланған сым
  • сым тазалағыштар
  • дәнекерлеуші + дәнекер
  • аллигатор қысқыштары (сымдар бекітілген - қажет болса, біразын дәнекерлеңіз)
  • ыстық желім (алға және артқа бүгілетін сымдарды тұрақтандыру үшін)
  • Arduino (кез -келген жұмыс тақтасы, бірақ мен Arduino Uno қолдандым)

ҰСЫНЫС: осциллограф, мультиметр және функция генераторы. Менің резисторлық мәндеріме сенудің орнына нәтижелеріңізді тексеріңіз!

2 -қадам: Физиологиялық негіз және схеманың қажеттілігі

Физиологиялық фон және тізбектің қажеттілігі
Физиологиялық фон және тізбектің қажеттілігі

Жылдам жауапкершіліктен бас тарту: Мен бұл саланың медициналық сарапшысы емеспін, бірақ мен қаласам, әрі қарай оқуға арналған сілтемелермен төмендегі Googling сабағынан білгенімді жинақтадым және жеңілдеттім. Сонымен қатар, бұл сілтеме мен тапқан тақырыпқа ең жақсы шолу болып табылады - балама әдістерді қамтиды.

EOG (электро-окулография) көздің торлы қабығының диполында жұмыс істейді. Қасаң қабық (көздің алдыңғы жағы) сәл оң зарядталған, ал сетчатка (көздің артқы жағы) сәл теріс зарядталған. Храмдарда электродтарды қолданғанда және тізбекті маңдайға қосқанда (көрсеткіштерді тұрақтандыруға және 60 Гц кедергіден құтылуға көмектеседі), көлденең көз қозғалысы үшін кернеудің ~ 1-10 мВ шамасындағы айырмашылығын өлшеуге болады (жоғарыдағы суретті қараңыз). Көздің тік қозғалысы үшін орнына электродтарды көздің астына және астына қойыңыз. Бұл мақаланы қараңыз: дененің электр энергиясымен қалай әрекеттесетіні туралы - терінің кедергісі туралы жақсы ақпарат және т. Көзбен басқарылатын робототехникада қарапайым тапсырмаларды көзді шертумен орындауға болатын қосымшалар бар.

Бұл сигналдарды оқу үшін, яғни электродтар арасындағы кернеудің айырмасын есептеу үшін, біз тізбегімізге аспаптық күшейткіш деп аталатын маңызды чипті қосамыз. Бұл аспаптық күшейткіш кернеудің ізбасарларынан, айналдырмайтын күшейткіштен және дифференциалды күшейткіштен тұрады. Егер сіз операциялық күшейткіштер туралы көп білмесеңіз, мұны апаттық курс үшін оқыңыз - олар кіріс кернеуін алады, оны масштабтайды және қорғаныс рельстерін қолдана отырып кернеуді шығарады. Барлық резисторларды әр кезеңге қосу төзімділік қателіктеріне көмектеседі: әдетте резисторлар 5-10% төзімділікке ие, ал қалыпты тізбек (аспаптық күшейткіште толық интеграцияланбаған) жақсы CMMR дәлдігіне тәуелді болады (келесі қадамды қараңыз)). Кернеудің ізбасарлары жоғары кіріс кедергісіне арналған (жоғарыда талқыланған - науқасқа зиян келтірмеу үшін маңызды), инверттелмейтін күшейткіш сигналдың жоғары пайда болуын қамтамасыз етеді (келесі қадамда күшейту туралы толығырақ) және дифференциалды күшейткіш айырмашылықты қабылдайды. кірістер арасында (мәндерді электродтардан алып тастайды). Олар бөгде артефактілерге толы биомедициналық сигналдар үшін мүмкіндігінше жалпы режимдегі шу/интерференцияны (сигналды өңдеу туралы толығырақ, келесі қадамды қараңыз) жоюға арналған.

Электродтар терінің кейбір кедергісіне ұшырайды, себебі теріңіздің тіндері мен майлары кернеулерді тікелей өлшеуге кедергі келтіреді, бұл сигналды күшейту мен сүзуді қажет етеді. Міне, мұнда және мұнда зерттеушілер бұл кедергісін сандық түрде анықтауға тырысқан мақалалар. Бұл физиологиялық шама әдетте 47nF конденсатормен параллель 51 кОм резистор ретінде модельденеді, бірақ көптеген вариациялар мен комбинациялар бар. Әр түрлі жерлердегі терінің әр түрлі импеданциясы болуы мүмкін, әсіресе көршілес бұлшықеттердің қалыңдығы мен мөлшерін ескере отырып. Импеданс терінің электродтарға қаншалықты жақсы дайындалғанына байланысты өзгереді: әдетте адгезия мен консистенцияны қамтамасыз ету үшін сабынмен және сумен мұқият тазалау ұсынылады, ал егер сіз шынымен мінсіз болғыңыз келсе электродтарға арналған арнайы гельдер бар. Бір маңызды ескерту - импеданс жиілікте өзгереді (конденсаторларға тән), сондықтан импеданс туралы болжау үшін сигналдың өткізу жолағын білу қажет. Иә, шуды сәйкестендіру үшін импедансты бағалау маңызды - бұл туралы қосымша ақпарат алу үшін келесі қадамды қараңыз.

3 -қадам: сигналды өңдеу: неге және қалай?

Сигналдарды өңдеу: неге және қалай?
Сигналдарды өңдеу: неге және қалай?

Енді неге 1-10мВ кернеу айырмашылығын жарықдиодты басқару үшін бірден шығыс ретінде пайдалана алмайсыз? Сигналдарды сүзуге және күшейтуге көптеген себептер бар:

  • Көптеген ADC (аналогты-цифрлық түрлендіргіштер-сіздің аналогтық кірісті қабылдайды және оларды компьютерде оқуға және сақтауға цифрландырады) мұндай шағын өзгерістерді анықтай алмайды. Мысалы, Arduino Uno ADC-бұл 5В шығысы бар 10 биттік ADC, ол 0-5В кіріс кернеулерін салыстырады (диапазоннан тыс мәндер «рельсті» болады), яғни төменгі мәндер 0В және одан жоғары мәндер оқылады дегенді білдіреді 5V ретінде 0 мен 1023 арасындағы бүтін мәндерге. 10мВ 5В диапазонында өте аз, сондықтан егер сіз сигналды толық 5В диапазонына дейін күшейте алсаңыз, кішігірім өзгерістер оңай анықталатын болады, себебі олар үлкен сандық өзгерістермен көрсетіледі (5мВ 10мВ -қа ауысады, керісінше 2В 4В -қа ауысады). Мұны компьютердегі кішкентай сурет сияқты елестетіп көріңіз: егжей -тегжейлер пиксельдермен жақсы анықталуы мүмкін, бірақ сіз суретті кеңейтпейінше пішіндерді ажырата алмайсыз.

    Сіздің ADC үшін көбірек биттердің болуы жақсы екенін ескеріңіз, өйткені сіз кванттау шуларын үздіксіз сигналды дискретті, цифрланған мәндерге айналдыра аласыз. SNR енгізуін ~ 96% ұстап қалу үшін қанша бит қажет екенін есептеу үшін, әдетте, N = SNR (дБ)/6 пайдаланыңыз. Сіз әмиянды есте сақтағыңыз келеді: егер сіз көбірек бит алғыңыз келсе, сіз көбірек ақша жинауға дайын болуыңыз керек

  • Шу мен кедергілер (шу = сіздің сигналдарыңызды тегіс емес кедергіге айналдыратын кездейсоқ артефактілер = кездейсоқ емес, радио толқындарының іргелес сигналдарынан синусоидальды артефактілер және т.б.) күнделікті өмірден өлшенетін барлық сигналдарды бұзады.

    • Ең танымал - бұл 60 Гц интерференция (егер сіз Еуропада болсаңыз, 50 Гц және Ресейде жоқ болсаңыз, себебі олар ток көзін айнымалы токтан айырмашылығы тұрақты токты пайдаланады …), ол электр розеткаларының айнымалы токтың электромагниттік өрісінен қызметтік жиілік деп аталады. Электр желілері айнымалы токтың жоғары кернеуін электр генераторларынан тұрғын аудандарға апарады, онда трансформаторлар американдық электр розеткаларындағы кернеуді ~ 120 В дейін төмендетеді. Айнымалы кернеу біздің айналамыздағы 60 Гц кедергісі бар тұрақты ваннаға әкеледі, ол сигналдардың барлық түріне кедергі келтіреді және оларды сүзу қажет.
    • 60 Гц кедергілер әдетте жалпы режимдік интерференция деп аталады, себебі ол екі амперде де (+ және -) жұмыс күшейткіштерінде пайда болады. Енді жұмыс күшейткіштерінде жалпы режимнің артефактілерін азайту үшін жалпы режимді қабылдамау коэффициенті (CMRR) деп аталатын нәрсе бар, бірақ (егер мен қателесем, мені түзетіңіз!) Бұл жалпы режимнің шуылдары үшін жақсы (кездейсоқ: шу емес кездейсоқ: кедергі). 60 Гц -тен құтылу үшін диапазонды сүзгілерді жиілік спектрінен іріктеп алып тастауға болады, бірақ содан кейін сіз нақты деректерді жою қаупін тудырасыз. Ең жақсы жағдайда, жиілік диапазонын 60 Гц -тен төмен ұстау үшін төмен өту сүзгісін қолдануға болады, сондықтан жиілігі жоғары барлық нәрсе сүзіледі. Мен EOG үшін дәл осылай жасадым: менің сигналымның күтілетін өткізу қабілеттілігі 0-10 Гц (көздің жылдам қозғалысын елемеу-біздің жеңілдетілген нұсқада онымен айналысқысы келмеді), сондықтан мен 10 Гц-тен жоғары жиілікті төмен өту сүзгісімен алып тастадым..

      • 60 Гц сыйымдылық пен индуктивті байланыс арқылы біздің сигналдарды бұзуы мүмкін. Сыйымдылық муфтасы (мұнда конденсаторлардан оқылады) ауа іргелес тізбектер арасында айнымалы ток сигналдары үшін диэлектрик ретінде әрекет еткенде пайда болады. Индуктивті байланыс Фарадей заңынан туындайды, себебі сіз магнит өрісінде ток жүргізесіз. Байланысты жеңудің көптеген амалдары бар: мысалы, Фарадей торы ретінде жерлендірілген қалқанды қолдануға болады. Мүмкіндігінше сымдардың бұралуы индуктивті қосылуға кедергі келтіретін аймақты азайтады. Сымдардың қысқаруы мен тізбектің жалпы көлемінің кішіреюі де дәл осы себеппен әсер етеді. Қуат көзіне қосудан айырмашылығы, амперлік рельстер үшін аккумулятор қуатына сүйену де көмектеседі, себебі батареялар синусоидальды тербеліссіз тұрақты ток көзін қамтамасыз етеді. Толығырақ мына жерден оқыңыз!
      • Төмен өту сүзгілері де көп шуды кетіреді, өйткені кездейсоқ шу жоғары жиіліктермен ұсынылған. Көптеген шу - бұл ақ шу, яғни барлық жиіліктерде шу болады, сондықтан сіздің сигналдың өткізу қабілеттілігін мүмкіндігінше шектеу сіздің шуыңызда қанша шу бар екенін шектеуге көмектеседі.

        Кейбір төмен өту сүзгілері бүркеншікке қарсы сүзгілер деп аталады, себебі олар бүркеншікке жол бермейді: синусоидалар сынамадан алынған кезде, олар басқа жиілікпен анықталуы мүмкін, олар шын мәнінде. Сіз әрқашан Nyquist іріктеу теоремасын ұстануды ұмытпауыңыз керек (үлгі жиілігі 2 есе жоғары жиілікте: күтілетін 1 Гц синусонды үшін> 2 Гц іріктеу жиілігі қажет). Бұл EOG жағдайда, мен Nyquist туралы уайымдамадым, өйткені менің сигналым негізінен 10 Гц диапазонында болады деп күтілді, ал менің Arduino ADC үлгілерім 10 кГц -те - бәрін жинауға жеткілікті жылдам

    • Сондай -ақ, шудан құтылудың кішкене амалдары бар. Олардың бірі - жұлдызды жерді пайдалану, сондықтан сіздің тізбектеріңіздің барлық бөліктері бірдей сілтеме алады. Әйтпесе, бір бөлігі «жер» деп атайтын нәрсе сымдардың шамалы қарсылығына байланысты басқа бөліктен ерекшеленуі мүмкін, бұл сәйкессіздіктерді қосады. Нан тақтайшасына жабысудың орнына протоблокқа дәнекерлеу сонымен қатар кейбір шуды азайтады және сенуге болатын қауіпсіз қосылымдарды жасайды, олар басу арқылы енгізуге қарағанда.

Шуды және кедергілерді басудың басқа да көптеген әдістері бар (осында және мына жерден қараңыз), бірақ сіз қосымша ақпарат алу үшін сол немесе Google сабағын ала аласыз: нақты схемаға көшейік!

4 -қадам: Цикл қалай жұмыс істейді

Цикл қалай жұмыс істейді
Цикл қалай жұмыс істейді

Схема схемасынан қорықпаңыз: мұнда бәрі қалай жұмыс істейтіні туралы қысқаша мәліметтер келтірілген: (кейбір түсініктемелер үшін алдыңғы қадамға оралыңыз)

  • Бізде сол жақта электродтар бар. Біреуі сол ғибадатханаға, екіншісі оң ғибадатханаға бекітілген, үшінші электрод маңдайға бекітілген. Бұл жерге қосу сигналды тұрақтандырады, сондықтан дрейф аз болады, сонымен қатар 60 Гц кедергіден арылады.
  • Келесі - аспаптық күшейткіш. Кернеу айырмашылығын тудыру үшін не істейтінін түсіндіру үшін екі қадамға қайтыңыз. Күшейткіштің күшейтілуін өзгерту теңдеуі деректер парағының 7 -бетінде [G = 1+ (50kOhm/Rg), онда Rg амптердің 1 және 8 түйреуіштеріне қосылған]. Менің тізбегім үшін мен Rg = 100Ohm көмегімен 500 -ге тең болуға бейімделдім.
  • Құрал күшейткіші кернеудің 500 есе күшейтілген айырмашылығын шығарғаннан кейін, резистор R_фильтрі мен C_фильтр конденсаторынан тұратын бірінші ретті төмен өткізгішті сүзгі бар. Төмен өту сүзгісі бүркеншікке жол бермейді (бірақ мені алаңдатпайды, себебі Nyquist бойынша 10 Гц рұқсат етілген өткізу қабілеттілігі үшін кемінде 20 Гц, ал 10 кГцтегі Arduino ADC үлгілерін таңдау керек), сонымен қатар шуды өшіреді. маған қажет емес барлық жиіліктерде. RC жүйесі жұмыс істейді, себебі конденсаторлар жоғары жиіліктерді оңай өткізеді, бірақ төменгі жиіліктерге кедергі келтіреді (импеданс Z = 1/(2*pi*f)) және конденсатордың кернеуі бар кернеу бөлгішін құру тек төменгі жиіліктерге рұқсат беретін сүзгіге әкеледі. арқылы [3dB қарқындылығы үшін шектеу f_c = 1/(2*pi*RC) формуласымен реттеледі]. Мен сүзгіштің R және C мәндерін ~ 10 Гц -тен жоғары сигналдарды өшіру үшін реттедім, себебі бұл диапазонда EOG биологиялық сигналы күтіледі. Бастапқыда мен 20 Гц -тен кейін өшірдім, бірақ эксперименттен кейін 10 Гц дәл осылай жұмыс істеді, сондықтан мен кіші өткізу қабілеттілігімен жүрдім (қажет болса, қажет емес нәрсені қиып алу үшін кіші өткізу қабілеттілігі жақсы).
  • Бұл сүзілген сигналдың көмегімен мен мәндерді диапазонымды солға және оңға қарай қарау үшін осциллографтың көмегімен шығымды өлшедім (менің диапазонымның екі шегі). Бұл мені шамамен 2-4 В-қа жеткізді (себебі құралдардың күшейткіші ~ 4-8мВ диапазонында 500x болды), менің мақсатым 5В болғанда (Arduino ADC толық диапазоны). Бұл диапазон әр түрлі болды (адамның теріні алдын-ала қалай жақсы жуғанына және т. Мен оны шамамен 1,3 пайда болатындай етіп түзетуді аяқтадым (тізбекте R1 мен R2 реттеңіз, себебі күшейткіш = 1+R2/R1). Сізге 5В -тан асып кетпеу үшін өзіңіздің жеке өнімділікті кеңейтуіңіз керек. Менің резисторлық мәндерімді ғана пайдаланбаңыз.
  • Енді бұл сигналды Arduino аналогтық түйреуішіне беруге болады, бірақ Arduino ADC теріс кірісті қабылдамайды! Сізге сигналды -5,5 В -тан 2,5 В -қа дейінгі диапазонда 0-5 В болатындай етіп жоғары қарай жылжыту қажет. Мұны түзетудің бір жолы - Arduino -ның 3.3В түйреуішіне электр тақтасының негізін қосу: бұл сіздің сигналды 3,3 В -қа жоғарылатады (оңтайлы 2,5 В -тан жоғары, бірақ ол жұмыс істейді). Менің диапазоным шынымен де қорқынышты болды, сондықтан мен ауыспалы кернеуді есептедім: осылайша мен диапазонды 0-5В ортасына дейін айналдыру үшін потенциометрді айналдыра аламын. Бұл +/- 9В күштік рельстерді қолданатын айнымалы кернеу бөлгіш, осылайша мен -9 -дан 9В -қа дейінгі кез келген мәнге тізбекті қосуға және осылайша сигналымды 9В жоғары немесе төмен жылжытуға болады.

5 -қадам: компоненттер мен құндылықтарды таңдау

Компоненттер мен құндылықтарды таңдау
Компоненттер мен құндылықтарды таңдау

Тізбені түсіндіре отырып, біз қайсысын (электрод, оп -амп) қолдану керектігін қалай таңдаймыз?

  • Датчик ретінде қатты гель электродтары жоғары кіріс кедергісіне және төмен шығыс кедергісіне ие: бұл дегеніміз, ток ағымның төменгі ағысында тізбектің қалған бөлігіне оңай өтуі мүмкін (төмен шығыс импеданс), бірақ жоғарыға қарай сіздің храмдарыңызға оралу қиын болады. (жоғары кіріс кедергісі). Бұл пайдаланушыға сіздің тізбегіңіздің қалған бөлігінде кез келген жоғары ток пен кернеудің жарақат алуына жол бермейді; шын мәнінде, көптеген жүйелерде қосымша қорғаныс үшін пациенттерді қорғау резисторы деп аталатын нәрсе бар.

    • Көптеген электродтардың түрлері бар. Көптеген адамдар EKG/EOG/etc қосымшаларында қолдануға арналған Ag/AgCl қатты гель электродтарын ұсынады. Осыны ескере отырып, сіз осы электродтардың бастапқы кедергісін іздеуіңіз керек (терінің импеданс туралы жазбаларым үшін екі қадам артқа) және оны шу кедергісіне (шу кернеуі V/шаршы (Гц) шу тогына бөлінген) сәйкестендіру керек. A/sqrt (Гц) - оптимальды күшейткіштердің ақпараттық парақтарын қараңыз) - осылайша сіз өзіңіздің құрылғыңыз үшін дұрыс аспаптық күшейткішті таңдайсыз. Бұл шуды сәйкестендіру деп аталады, және Rn сигналының кедергісінің Rn жұмысына сәйкес келуінің түсіндірмелерін мына жерден табуға болады. Мен таңдаған INA111 үшін Rn көрсеткішін парақтың шу кернеуі мен шу тогы арқылы есептеуге болады (жоғарыдағы скриншот).

      • Электродтардың өнімділігін бағалайтын көптеген мақалалар бар, және бірде -бір электрод барлық мақсаттар үшін жақсы емес: мысалы, осында көріңіз. Оперативті ақпарат парақтарында көрсетілгендей, өткізу қабілеттілігінің әр түрлі кедергісі де өзгереді (кейбір деректер парақтарында әр түрлі жиіліктегі қисықтар немесе кестелер болады). Зерттеу жасаңыз, бірақ әмиянды есте ұстауды ұмытпаңыз. Қандай электродтар/ампер күшейткіштері жақсы екенін білу жақсы, бірақ егер сіз оған шамаңыз жетпесе, оның пайдасы жоқ. Сынақ үшін сізге кем дегенде 50 электрод қажет болады, бір рет қолдануға 3 емес.

        • Шуды оңтайлы сәйкестендіру үшін Rn ~ = Rs ғана емес, сонымен қатар шу кернеуі * шу тогы (Pn) мүмкіндігінше төмен болғанын қалайсыз. Бұл Rn ~ = Rs жасаудан гөрі маңызды болып саналады, себебі қажет болған жағдайда трансформаторлар көмегімен Rs және Rn реттеуге болады.

          Трансформаторы бар ескертулер (егер қате болса, мені түзетіңіз): олар біршама көлемді болуы мүмкін, сондықтан шағын болуы қажет құрылғылар үшін оңтайлы емес. Олар сондай -ақ жылу жинайды, сондықтан жылу қабылдағыштар немесе керемет желдету қажет

        • Шу сіздің алғашқы бастапқы күшейткішіңізге сәйкес келеді; екінші күшейткіш онша әсер етпейді, сондықтан кез келген оп -амп әсер етеді.

6 -қадам: Схеманы құру

Циклды құру
Циклды құру
Циклды құру
Циклды құру
Циклды құру
Циклды құру

Схеманы құру үшін жоғарыдағы фризинг диаграммасын қолданыңыз (екінші көшірмеде алдыңғы қадамдағы схемада әрбір бөлік нені білдіретіні көрсетілген). Егер сізге диаграммадағы светодиодты анықтауға көмек қажет болса, осы резистордың түс кодының калькуляторын қолданыңыз, бірақ құралдың күшейткішінің Rg - 100 Ом, R_фильтрі - 1,5 МОм, C_фильтрі - 0,1 ФФ, R1 - инверттелмейтін күшейткіштің 10 кОм, R2 - 33кОм, ал потенциометр үшін резистор - 1кОм (потенциометр 0 -ден 20кОм -ге дейін өзгереді). Табысты реттеу үшін резистор мәндерін өзгертуді ұмытпаңыз!

Өңдеу: жердің жылжу бөлігінде қате бар. Сол жақ қара сымды өшіріңіз. Резистор қызыл сыммен электр рельсіне көрсетілгендей, сонымен қатар потенциометрдің бірінші емес, екінші түйреуішіне қосылуы керек. Потенциометрдің бірінші штыры Arduino 5В істігіне қосылуы керек. Қызғылт сары сым, бұл бірінші емес, екінші түйреуішке қосылуы керек.

Мен офсет туралы көп сөйлестім. Диаграммада Arduino жері тақтаның жерге қосылғанын көрсетеді. Бұл сценарийде сізге жерді өзгертудің қажеті жоқ. Егер сіздің сигнал ауқымнан тыс болса және сізге жерді ауыстыру қажет болса, алдымен Arduino жерін Arduino 3.3V істігіне қосып көріңіз және сигналыңызды қараңыз. Әйтпесе, қызғылт -сары сымды Arduino GND түйреуішіне орнатылған потенциометрге (офсеттік жерге) жалғап көріңіз.

ҚАУІПСІЗДІК ЕСКЕРТУІ: батареяларды дәнекерлеу кезінде ұстамаңыз және батареяларды артқа қоймаңыз. Сіздің схемаңыз темекі шегуді бастайды, конденсаторлар жарылады және нан тақтасы да зақымдалуы мүмкін. Әдетте, батареяларды тек схеманы қолданғыңыз келгенде ғана қолданыңыз; Әйтпесе, оларды шешіп алыңыз (аккумуляторларды оңай ажыратуға арналған қосқышты қосу да жақсы болар еді).

Протобонға дәнекерлеу алдында тізбекті бөлшектеп (әр кезеңді тексеріңіз!) Және тақтаға салу керек екенін ескеріңіз. Бақылаудың бірінші кезеңі - бұл құралдың күшейткіші: барлық рельстерді (батарея ұстағыштарындағы дәнекерлеуішті), Rg және т.б. бекітіңіз және шығыс істікшесінде осциллографты қолданыңыз. Жаңадан бастаушылар үшін 5 мВ амплитудасы бар 1 Гц синусоиды бар функция генераторын қолданыңыз (немесе сіздің генераторыңыз ең төмен болады). Бұл құралдың күшейткіші дұрыс жұмыс істейтінін тексеру үшін және сіздің Rg сіздің мақсатты пайдаңызды қамтамасыз етеді.

Әрі қарай, төмен өту сүзгісін тексеріңіз. Тізбектің осы бөлігін қосыңыз және толқын пішініңізді тексеріңіз: ол дәл солай көрінуі керек, бірақ шу аз (бұралмалы - жоғарыдағы соңғы екі суретті қараңыз). Функционалды генератордың орнына сіздің электродтарыңыз бар осциллографпен соңғы нәтижені тексерейік …

7 -қадам: Адаммен тізбекті тексеру

Адаммен тестілеу тізбегі
Адаммен тестілеу тізбегі
Адаммен тестілеу тізбегі
Адаммен тестілеу тізбегі
Адаммен тестілеу тізбегі
Адаммен тестілеу тізбегі

Тағы да сол және оң ғибадатханаларыңызға электродтарды қойып, маңдайдағы электродқа жерге тұйықтау сымын бекітіңіз. Тек осыдан кейін батареяларды қосу керек - егер қышу пайда болса, қосуды ТЕЗ алып тастаңыз және қосылымдарды екі рет тексеріңіз !!! Енді солға және оңға қараған кезде мәндер диапазонын тексеріңіз және екі қадам бұрын түсіндірілгендей, инверторланбайтын күшейткіштің R1/R2 реттеңіз-мақсат 5В диапазоны екенін ұмытпаңыз! Нені іздеу керектігін білу үшін жоғарыдағы суреттерді қараңыз.

Егер сіз резистордың барлық мәндеріне риза болсаңыз, бәрін протоберге дәнекерлеңіз. Дәнекерлеу міндетті түрде қажет емес, бірақ ол қарапайым түйіспелі қосылыстарға қарағанда тұрақтылықты қамтамасыз етеді және оларды тақтаға жеткілікті түрде баспағандықтан жұмыс істемейтін тізбектің белгісіздігін жояды.

8 -қадам: Arduino коды

Барлық код осы қадамның төменгі жағында бекітілген!

Енді сізде 5В диапазоны бар болса, оның -1V -тен 4V -ге дейін емес, 0-5V шегіне дейін түсетініне көз жеткізуіңіз керек. Немесе жерге Arduino сымының 3.3В түйреуішіне жерге тұйықталуды немесе жерге тұйықталу кернеуін қосыңыз (жоғарыда қызғылт сары сым) жерге рельске жалғаңыз, содан кейін сымды жер рельсінен Arduino GND түйреуішіне қосыңыз (бұл сигналды жоғары немесе төмен жылжыту үшін, сіз 0-5В диапазонына түсесіз). Сіз айналада ойнауға тура келеді: белгісіз болған кезде өнімділікті кеңейтуді ұмытпаңыз!

Енді калибрлеу үшін: сіз жарықтың әр түрлі позициялар үшін түстерді өзгертуін қалайсыз (солға және солға қарай емес). Ол үшін сізге мәндер мен диапазондар қажет: EOG-calibration-numbers.ino-ны Arduino-ға іске қосыңыз, бәрі дұрыс қосылған (Arduino мен неопиксельге қосылуды менің фризинг схемасына сәйкес аяқтаңыз). Қажет емес, сонымен қатар bioe.py кодын іске қосыңыз - бұл жұмыс үстеліне мәтіндік файлды шығарады, осылайша сіз барлық мәндерді солға немесе оңға қараған кезде жаза аласыз (python коды осы мысалдан бейімделген). Мен мұны қалай жасадым - 8 соққыға солға қарай, содан кейін оңға, содан кейін жоғарыға, содан кейін төменге қарай және кейінірек орташалау үшін қайталаңыз (мен жүргізген бір журнал үшін output_2.pdf қараңыз). Қанағаттанған кезде жұмыстан шығу үшін ctrl+C пернелер тіркесімін басыңыз. Осы мәндерді қолдана отырып, анимация диапазонын BioE101_EOG-neopixel.ino кодымен реттеуге болады. Мен үшін кемпірқосақ анимациясы болды, мен тура қараған кезде, көк - солға, жасыл - сәл, сол жақ - күлгін, оң жақ - қызыл.

9 -қадам: Болашақ қадамдар

Воила; көзбен басқаруға болатын нәрсе. Ауруханаға барар алдында оңтайландыру үшін көп нәрсе бар, бірақ бұл басқа күнге: негізгі түсініктерді кем дегенде қазір түсіну оңай. Мен қайтып оралғым келетін бір нәрсе-инструмент күшейткіші үшін 500-ге дейінгі кірісті түзету: артқа қарасам, бұл өте көп болуы мүмкін, себебі менің сигналым 2-4В болды, мен инверторланбайды пайдалану қиынға соқты. диапазонымды жақсы реттеу үшін амп…

Дәлелділікке қол жеткізу қиын, себебі сигнал әр түрлі жағдайларда өте көп өзгереді:

  • әр түрлі адам
  • жарықтандыру шарттары
  • теріні дайындау (гельдер, жуу және т.

бірақ соған қарамастан мен өнімділіктің соңғы бейнебаянына риза болдым (таңғы 3 -те түсірілген, себебі бәрі сиқырлы түрде жұмыс істей бастайды).

Мен бұл оқулықтың көпшілігі түсініксіз болып көрінуі мүмкін екенін білемін (иә, оқу қисығы мен үшін де қиын болды), сондықтан төменде сұрақтар қоюдан тартынбаңыз, мен жауап беруге тырысамын. Ләззат алыңыз!

Қол тигізбейтін сынақ
Қол тигізбейтін сынақ
Қол тигізбейтін сынақ
Қол тигізбейтін сынақ

Қол жетпейтін сынақта екінші орын

Ұсынылған: