У овом упутству ћемо повезати ротациони кодер са АТмега8 микроконтролером. АТмега8 је Атмелова серија микроконтролера дизајнирана за уграђене апликације. Ротациони енкодер се користи за познавање положаја кретања и угаоног кретања мотора или осе. То је обично три терминална уређаја, бројеви напајања и уземљења броје до пет. Ротацијски модул давача је приказан доле.
Клинови ротационог кодера су:
- Приземље.
- Позитивно повезано на + 5В
- Излазни сигнал А пин
- Излазни сигнал Б пин
- Игла за сат или уобичајена игла.
ЕНЦОДЕР даје импулсе који представљају промену положаја осовине како би их системи могли разумети. Узмите у обзир да је РОТАТОРСКИ КОДЕР укључен и да је осовина померена.
Као што је приказано у горњој табели, узмите у обзир да се осовина помера у смеру кретања казаљки на сату. Уз ово ће бити Фаллинг Едге на А терминалу, а затим на Б терминалу.
Узмите у обзир да је вратило померено у смеру кретања казаљки на сату. Уз ово ће бити Фаллинг Едге на Б терминалу, а затим на А терминалу.
Ова ивица ће се појавити једном за 360/20 = 18 степени (ово је за енкодер са 20 положаја, то се мења од типа до типа, што је већи број тачнији).
Са оба горе наведена услова можемо добити смер и степен ротације. Тако добијамо потребне параметре за добијање положаја вратила.
Компоненте
Хардвер: АТМЕГА8, прикључне игле, АВР-ИСП ПРОГРАМЕР, отпорник 220Ω, ЛЕД (осам комада), отпорник 1КΩ, отпорник 220Ω (2комада), кондензатор 100нФ (2 комада), плоча за хлеб.
Софтвер: Атмел студио 6.1, прогисп или фласх магиц.
Шема и радно објашњење
Кондензатори су овде за неутрализацију ефекта одбијања контакта у ЕНЦОДЕР-у. Без тих кондензатора биће озбиљних проблема са очитавањем положаја.
Када се вратило помакне, постојаће временска разлика између излазних двају излазних пинова. АТМЕГА8 ће препознати ову временску разлику у смеру кретања казаљке на сату у смеру окретања против сата.
Ако је ротација у смеру казаљке на сату, бинарни број се увећава за један, а тај број се приказује у ЛЕД порту као што је приказано на слици.
Ако је ротација античасовна, бинарни број се смањује за један и бинарни број се приказује на ЛЕД бајту.
Запамтите да овде не постављамо битове осигурача атмега8, тако да ће контролер радити на подразумеваном интерном кристалу од 1 МХз.
Рад долазног ротационог кодера са АТмега8 микроконтролером је објашњен у доњем коду.