При использовании механического энкодера в своих разработках возникают некоторые проблемы, так как надо регулярно опрашивать два входа и определять разницу во времени прихода сигналов, плюс подавление дребезга контатов. В результате такое удобное средство ввода, мало используется в радиолюбительской практике.
Собрав небольшую схемку на PIC12C508A или PIC12C509A или любом другом микроконтроллере (исходный текст программы прилагается) и одном конденсаторе можно сильно облегчить использование энкодера в своей конструкции. Устройство формирует на выходе два сигнала, один тактовый соответствующий приходу пары импульсов от энкодера и второй направления, который устанавливается в 0 или 1 в зависимости от того с какого входа сигнал пришёл раньше.
Данное устройство можно использовать не только в конструкциях содержащих микроконтроллер, им также можно легко управлять реверсным счётчиком.
Содержание статьи / Table Of Contents
↑ Схема и описание устройства
Ломая очередной раз голову, как подключить механический декодер к микроконтроллеру, наконец-то, дозрела мысль вынести схему формирования управляющих сигналов, очищенных от дребезга, в отдельную схему.Выходные сигналы решил формировать два, один тактовый (сигнал направления устанавливается за 100 мкс до переднего фронта тактового импульса, другой направления. Решил использовать оставшиеся со старых времён PIC12C508A, впрочем программу на Си можно переделать под любой имеющийся контроллер.
Чтобы сделать устройство более универсальным, сделал время подавления дребезга и длительность формируемого импульса переменной, в зависимости от наличия перемычек на землю на входах S0 и S1. Для удобства длительность формируемого импульса и время подавления дребезга приравнял.
Данное устройство можно подключить как к микроконтроллеру, так и к набору цифровых чипов, причем программа получается очень простой. Можно сделать опрос тактового сигнала раз в 1 мс и при его наличие считывание сигнала направления, или сделать обработку прерывания.
Также можно легко управлять реверсным счётчиком.
↑ Назначение перемычек
Зависимость длительности формируемого тактового импульса и длительности подавления дребезга контактов от перемычек S0 и S1:S0-свободен, S1-свободен, длительность формируемого импульса и время подавления дребезга = 2мс;
S0-замкнут на землю, S1-свободен, длительность - 4мс;
S0-свободен, S1-замкнут на землю, длительность - 8мс;
S0-замкнут на землю, S1-замкнут на землю, длительность - 16мс;
↑ Назначение выводов микроконтроллера
2 - GP5 Выход, сигнал направления, при вращении в одну сторону равен 0, в другую 1.3 - GP4 Выход, тактовый сигнала.
4 - GP3 Вход S1 - задаёт длительность формируемого импульса и время подавления дребезга.
5 - GP2 Вход S0 - задаёт длительность формируемого импульса и время подавления дребезга.
6 - GP1 К этому выводу подсоединяется один из сигнальных выходов механического энкодера.
7 - GP0 К этому выводу подсоединяется другой сигнальный выход механического энкодера.
↑ Настройка
В настройке не нуждается, при исправных деталях и безошибочном монтаже начинает работать сразу.↑ Файлы
Программа разработана в среде CCS 4.104. Исходники и HEX файлы для 12C508A и 12C509A🎁encoder.zip 93.02 Kb ⇣ 235
Спасибо за внимание!
Камрад, рассмотри датагорские рекомендации
🌼 Полезные и проверенные железяки, можно брать
Опробовано в лаборатории редакции или читателями.