Реклама

Свързване на енкодер към PIC микроконтролер

В този демонстрационен проект ще разгледаме задачата за сдвояване на контрола, наречена енкодер, с PIC микроконтролер.

За да реализираме демонстрационен проект, имаме нужда от:

  • 24-позиционен енкодер;
  • 16 светодиода (3 мм);
  • LED драйвер A6276;
  • микроконтролер PIC18F2550.

Енкодерът е модерен и оригинален контролен елемент за цифрови устройства и на външен вид е подобен на променлив резистор (вижте фигурата по-долу). Друго име за този контрол е сензор за ъгъл, сензор за въртене. Въртенето на вала е придружено от щракания, например 24 щраквания на оборот. Кодерът има 3 изхода - A, B, C и се използва за бързо въвеждане на данни в цифрови устройства. Някои модели имат вграден бутон, който се задейства чрез натискане на вала на кодера (добавен е още един изход).

Пиновете на енкодера A и B са свързани към портовете RB4 и RB5 на микроконтролера, щифт C на енкодера е свързан към земята. Струва си да се отбележи, че изтеглящите резистори трябва да бъдат свързани към сигналните линии на щифтове A и B. Енкодерът не е случайно свързан към посочените I/O линии на микроконтролера: първо, порт B има вградени издърпващи резистори и не е нужно да свързваме външни, и второ, порт B на микроконтролера има много полезна функция - "прекъсване при промяна" - прекъсване чрез промяна на нивото, което ще ни позволи да наблюдаваме състоянието на енкодера.

16 конвенционални 3 мм светодиода се използват за визуализиране на входните данни и ще бъдат разположени на печатната платка около инсталирания енкодер. Светодиодите са свързани към чип A6276.
A6276 е 16-битов сериен LED драйвер. Драйверът съдържа 16-битов CMOS регистър за смяна, свързани ключалки и драйвери за задвижване на светодиодите и може да управлява повече светодиоди, отколкото позволява микроконтролерът. В допълнение, драйверът може да се управлява чрез интерфейса SPI, което допълнително намалява броя на използваните I/O линии и прави проекта мащабируем.

Софтуерът за микроконтролер за решаване на нашия проблем е относително прост. Има 3 режима на работа (въвеждане на информация) и обратна връзка:

  • Режим на позициониране на 360 ° - в този режим светодиодите показват текущата "позиция" на енкодера, потребителят може да завърти вала на енкодера наляво и надясно под всеки ъгъл;
  • Режим "Volume/Level" - в този режим светодиодите показват текущата стойност между минималното и максималното ниво на входния диапазон (като нивото на силата на звука в аудио устройствата);
  • 3-позиционен режим на въртящ се превключвател - в този режим има само три избираеми позиции, които потребителят избира чрез завъртане на вала на кодера наляво/надясно.
Демонстрация на проекта

Архивът на тази връзка съдържа проекта в средата MPLAB и изходния код за Hitech C, както и схематичната диаграма и топология на печатната платка