У цьому підручнику ми збираємось взаємодіяти поворотний кодер з мікроконтролером ATmega8. ATmega8 - це мікроконтролер серії Atmel, призначений для вбудованих програм. Поворотний кодер використовується для знання положення руху та кутового руху двигуна або осі. Зазвичай це три термінальні пристрої, кількість живлення та заземлення яких становить до п’яти. Нижче показаний поворотний модуль кодера.
Штифтами поворотного кодера є:
- Земля.
- Позитив підключений до + 5В
- Вихідний сигнал Пін
- Вихідний сигнал B контакт
- Годинник штифт або загальний штифт.
ЕНОДЕР забезпечує імпульси, що відображають зміну положення вала для розуміння систем. Вважайте, що РОТАЦІЙНИЙ ЕНОДЕР живиться і вал переміщується.
Як показано в таблиці вище, врахуйте, що вал переміщений за годинниковою стрілкою. З цим буде Falling Edge на терміналі A, а потім на терміналі B.
Вважайте, що вал переміщений проти годинникової стрілки. З цим буде Falling Edge на терміналі B, а потім на терміналі A.
Цей край виникає один раз для 360/20 = 18 градусів (це для кодера з положенням 20, це змінюється від типу до типу, чим більше відлік, тим більша точність).
За обох вищевказаних умов ми можемо отримати напрямок і ступінь обертання. Таким чином ми отримуємо необхідні параметри для отримання положення валу.
Компоненти
Апаратне забезпечення: ATMEGA8, з'єднувальні штирі, AVR-ISP PROGRAMMER, резистор 220 Ом, світлодіод (вісім штук), резистор 1 кОм, резистор 220 Ом (2 штуки), конденсатор 100 нФ (2 штуки), хлібна дошка.
Програмне забезпечення: Atmel studio 6.1, progisp або flash magic.
Принципова схема та робоче пояснення
Тут конденсатори призначені для нейтралізації ефекту підстрибування контактів у ENCODER. Без цих конденсаторів виникнуть серйозні проблеми при зчитуванні положення.
Коли вал буде переміщений, буде мати місце різниця в часі між двома вихідними штифтами на виході. ATMEGA8 розпізнає цю різницю в часі за годинниковою стрілкою проти годинникового повороту.
Якщо обертання відбувається за годинниковою стрілкою, двійковий рахунок збільшується на одиницю, і цей відлік відображається у порту світлодіодів, як показано на малюнку.
Якщо обертання встановлено проти годинникового режиму, двійковий рахунок зменшується на одиницю, а двійковий рахунок відображається на байті світлодіода.
Пам’ятайте, тут ми не встановлюємо ніяких бітів запобіжників atmega8, тому контролер буде працювати на внутрішньому кристалі за замовчуванням 1 МГц.
Робота взаємозв'язку поворотного кодера з мікроконтролером ATmega8 пояснюється в коді нижче.