Підключення енкодера до мікроконтролера PIC - Технічний форум розробників електроніки

Підключення енкодера до мікроконтролера PIC

У цьому демонстраційному проекті ми розглянемо завдання поєднання елемента управління під назвою енкодер з мікроконтролером PIC.

Для реалізації демонстраційного проекту нам знадобляться:

  • 24-позиційний енкодер;
  • 16 світлодіодів (3 мм);
  • драйвер світлодіодівA6276;
  • мікроконтролерPIC18F2550.
Енкодер – сучасний та оригінальний елемент управління цифровими пристроями, і на вигляд схожий на змінний резистор (див. малюнок нижче). Інша назва цього елемента керування – датчик кута, датчик повороту. Обертання валу супроводжується клацаннями, наприклад 24 клацання на один оборот. Енкодер має 3 висновки – A, B, C та застосовується для швидкого введення даних у цифрові пристрої. Деякі моделі мають вбудовану кнопку, яка спрацьовує після натискання на вал енкодера (додається ще один висновок).

Висновки енкодера A і B підключаються до портів мікроконтролера RB4 і RB5, висновок З енкодера підключається до «землі». Варто зауважити, що на сигнальні лінії висновків A і B повинні бути підключені резистори, що підтягують. Енкодер не випадково підключений до вказаних ліній введення/виведення мікроконтролера: по-перше, порт B має вбудовані підтягуючі резистори і нам не доведеться підключати зовнішні, по-друге, порт B мікроконтролера має дуже корисну функцію – «interrupt-on-change» – переривання щодо зміни рівня, що дозволить нам відстежувати стан енкодера. 16 звичайних 3 мм світлодіодів використовуються для візуалізації даних, що вводяться і розташовані вони будуть на друкованій платі навколо встановленого енкодера. Світлодіоди підключені до мікросхеми A6276. Мікросхема A6276 є драйвером світлодіодів з 16-бітовим послідовним.уведенням інформації. Драйвер містить 16-бітний КМОП зсувний регістр, відповідні клямки та драйвери для керування світлодіодами і може керувати більшою кількістю світлодіодів, ніж це дозволяє мікроконтролер. Крім того, драйвером можна керувати за інтерфейсом SPI, що додатково скорочує кількість використовуваних ліній вводу/виводу і робить проект масштабованим.

Програмне забезпечення мікроконтролера для вирішення нашої задачі відносно просте. Реалізується 3 режими роботи (введення інформації) та зворотний зв'язок:

  • Режим позиціонування на 360° – у цьому режимі світлодіоди вказують поточну «позицію» енкодера, користувач може повертати вал енкодера ліворуч і праворуч на будь-який кут;
  • Режим «Гучність/Рівень» – у цьому режимі світлодіоди вказують поточне значення між мінімальним та максимальним рівнями діапазону введення (як рівень гучності в аудіопристроях);
  • Режим 3-позиційного ротаційного тумблера – в цьому режимі є тільки три позиції, що вибираються, які користувач вибирає, повертаючи вал енкодера вліво/вправо.
Демонстрація роботи проекту

В архіві за цим посиланням знаходяться проект у середовищі MPLAB та вихідним кодом на Hitech C, а також принципова схема та топологія друкованої плати