категории: Микроконтролер вериги
Брой преглеждания: 16 299
Коментари към статията: 0
Как да свържете инкрементален енкодер към Arduino
Често в устройства на микроконтролери трябва да организирате управлението на елементи от менюто или да внедрите някои корекции. Има много начини: използвайте бутони, променливи резистори или енкодери. Инкрементният енкодер ви позволява да контролирате нещо с помощта на безкрайното въртене на дръжката. В тази статия ще разгледаме как да накараме инкременталния енкодер и Arduino да работят.
Функции на инкрементален енкодер
Инкрементният енкодер, подобно на всеки друг тип енкодер, е устройство с въртяща се дръжка. Отдалечено прилича на потенциометър. Основната разлика от потенциометъра е, че дръжката на енкодера се върти на 360 градуса. Той няма крайни разпоредби.
Енкодерите се предлагат в много видове. Повишението се различава по това, че с негова помощ е невъзможно да се знае положението на дръжката, а само фактът на въртене в някаква посока - вляво или вдясно. По броя на сигналните импулси вече можете да изчислите под какъв ъгъл се обърна.
По този начин можете да минете микроконтролер команда, управление на менюто, ниво на звука например и т.н. В ежедневието можете да ги видите в автомобилни радиостанции и друга техника. Използва се като мултифункционален орган за регулиране на нивото, еквалайзер и навигация по менюто.
Принцип на работа
Вътре в инкременталния енкодер има диск с етикети и плъзгачи, които влизат в контакт с тях. Структурата му е подобна на потенциометър.
На фигурата по-горе виждате диск с маркировки, те са необходими за прекъсване на електрическата връзка с подвижния контакт, в резултат на което получавате данни за посоката на въртене. Дизайнът на продукта не е толкова важен, нека разберем принципа на работа.
Енкодерът има три информационни изхода, единият общ, другите два обикновено се наричат "A" и "B", на фигурата по-горе виждате щифта на кодера с бутон - можете да получите сигнал, когато щракнете върху неговия вал.
Какъв сигнал ще получим? В зависимост от посоката на въртене логическата единица първо ще се появи на щифт А или В, така че получаваме сигнал с фазово изместване и това изместване ни позволява да определим в коя посока. Сигналът се получава под формата на правоъгълна форма, а микроконтролерът се управлява след обработка на данните за посоката на въртене и броя на импулсите.
Фигурата показва символа на диска с контактите, в средата е графиката на изходните сигнали, а вдясно е таблицата за състоянието. Това устройство често е нарисувано като два клавиша, което е логично, защото всъщност получаваме сигнал „напред“ или „назад“, „нагоре“ или „надолу“ и броя на действията.
Ето пример за истински изход на енкодера:
Чудя се:
Дефектен енкодер може да бъде заменен с два бутона без заключване и обратно: домашно управление, при което два от тези бутони могат да бъдат финализирани чрез настройка на енкодера.
Във видеото по-долу виждате редуването на сигнала на клемите - по време на плавно завъртане светодиодите светят в последователността, отразена в предишната графика.
Не по-малко ясно илюстрирана в следната анимация (кликнете върху снимката):
Енкодерът може да бъде както оптичен (сигналът се генерира от излъчватели от фотодетектори, вижте фигурата по-долу), така и магнитен (работи върху ефекта на Хол). В този случай той няма контакти и по-дълъг експлоатационен живот.
Както вече споменахме, посоката на въртене може да се определи от кой от изходните сигнали е променен преди това, но така изглежда на практика!
Точността на управление зависи от разделителната способност на енкодера - броя на импулсите на оборот. Броят на импулсите може да бъде от единици до хиляди бройки. Тъй като енкодерът може да действа като сензор за положение, колкото повече импулси, толкова по-точно ще се случи определянето.Този параметър се нарича PPR - импулс на оборот.
Но има малък нюанс, а именно подобно обозначение LPR е броят на етикетите на диска.
И броя на обработените импулси. Всеки етикет на диска дава по 1 правоъгълен импулс на всеки от двата изхода. Импулсът има два фронта - отзад и отпред. Тъй като има два изхода, всеки от тях ни дава общо 4 импулса, чиито стойности можете да обработите.
PPR = LPRx4
Свържете се с Arduino
Разбрахме какво трябва да знаете за инкременталния енкодер, сега нека да разберем как да го свържете с Arduino. Обмислете схемата на свързване:
Модул на енкодера е платката, на която са разположени инкрементният енкодер и подвижните резистори. Можете да използвате всякакви щифтове.
Ако нямате модул, а отделен енкодер, просто трябва да добавите тези резистори, схемата няма да се различава по принцип. За да проверите посоката на въртене и нейната работоспособност във връзка с Arduino можем да четем информация от серийния порт.
Нека да анализираме кода по-подробно, за да. При void setup () обявихме, че ще използваме комуникация през серийния порт, след което ще зададем щифтове 2 и 8 в режим на въвеждане. Изберете сами пинови номера въз основа на вашата схема на връзка. Константата INPUT_PULLUP задава режима на въвеждане, arduino има две опции:
-
INPUT - вход без издърпващи резистори;
-
INPUT_PULLUP - връзка към входа на издърпващи резистори. В микроконтролера вече има резистори, чрез които входът е свързан към мощността плюс (издърпване).
Ако използвате резистори за затягане към мощността плюс, както е показано на диаграмите по-горе, или използвате модула на енкодера - използвайте командата INPUT и ако по някаква причина не можете или не искате да използвате външни резистори - INPUT_PULLUP.
Логиката на основната програма е следната: ако имаме такава на вход “2”, тя извежда порт H към монитора, ако не, L. По този начин, когато завъртите в същата посока на монитора на серийния порт, ще получите нещо подобно: LL HL HH LH LL. И обратно: LL LH HH HL LL.
Ако внимателно прочетете редовете, вероятно сте забелязали, че в единия случай първият символ придобива стойност, а в другия случай вторият символ първо се променя.
заключение
Инкременталните енкодери са намерили широко практическо приложение в усилвателите за акустични системи - те са били използвани като регулиране на силата на звука, в автомобилните радиостанции - за регулиране на звуковите параметри и навигация в менютата, при компютърни мишки с него ежедневно превъртате страници (на вала е инсталирано колело) , И също така в измервателни инструменти, CNC машини, роботи, selsyn не само като контроли, но и измерване на стойности и определяне на позицията.
Вижте също на e.imadeself.com
: