Схемы аппаратного подавления дребезга контактов энкодера (валкодера)
Как подключить энкодер к реверсивному счётчику или микроконтроллеру? Аппаратный декодер для валкодера на стандартной КМОП логике
Инкрементный или инкрементальный энкодер, он же валкодер – это устройство, формирующее импульсы, количество которых соответствует повороту вала
на определенный угол. Вал энкодера можно вращать в двух направлениях: по часовой и против часовой стрелки, а для определения направления вращения
используются два выходных канала со сдвигом фаз выходных импульсов 90°.
Когда мы делаем попытку обработать сигналы энкодера, то неминуемо сталкиваемся с проблемой, причиной которой является дребезг контактов. Этот эффект, присущий
всем механическим (и не только) контактным элементам, вызывает ошибки, связанные как с определением направления вращения, так и величины угла поворота
вала энкодера, что делает использование энкодера в "чистом виде" проблематичным.
Существует два способа избавиться от дребезга контактов:
1. обработка информации, полученной с выходов валкодера, внутри программы микроконтроллера; 2. использование аппаратных средств фильтрации.
Причём аппаратная реализация зачастую бывает более предпочтительной, особенно в тех случаях, когда в одном устройстве используется нескольких энкодеров, либо
если для таймеров микроконтроллера находится более "важная" работа, либо когда энкодер потрёпан жизнью или некачественным исполнением, в результате чего на его выходах
присутствует сигнал, аномально искаженный дребезгом, как это в качестве примера показано на осциллограммах Рис.1.
Рис.1 Осциллограммы сильно искажённых дребезгом сигналов на выводах энкодера
Начнём со схемы декодера с набором выходных сигналов, необходимых для работы реверсивного счётчика стандартной логики типа К561ИЕ11, CD4516 и т. п.
Для этого нам необходимо наличие двух импульсных сигналов: 1. "Направление счёта", 2. "Тактовый вход". Именно такие импульсы формирует
устройство декодера, приведённое на Рис.2.
Рис.2 Схема обработки сигналов энкодера с подавлением дребезга и указанием направления
Элементы R1...R4, С1, С2, а также два триггера Шмитта на элементах DD1.1, DD1.2 – это две стандартные цепи подавления дребезга, которые позволяют полностью
избавиться от дребезга контактов на выводах энкодера.
D-триггер DD2.1 осуществляет определение направление вращения вала энкодера. Если на неинвертирующем выходе триггера устанавливается напряжение высокого уровня,
вращение происходит по часовой стрелке, при низком напряжении – против часовой.
Поскольку для корректной работы (без ложных срабатываний) устройства, управляемого энкодером, необходима первоочерёдность появления сигнала направления
по отношению к импульсу счёта, в схему введена цепочка задержки последнего на элементах R5, С3.
Диаграммы, приведённые на Рис.2 (под схемой), полностью иллюстрируют логику работы описанного устройства.
Если в силу каких-либо причин предпочтительным является наличие раздельных счётных импульсов "+1" и "-1", то декодер можно видоизменить в соответствии
со схемой, приведённой на Рис.3.
Рис.3 Схема обработки сигналов энкодера с подавлением дребезга и указанием счётных импульсов "+1" и "-1"
В обоих устройствах можно использовать широкий ассортимент КМОП логических элементов, таких как: CD4013, HCF4013, HCF40106, 561TM2, 1526ТМ2, 564ТМ2, 164ТМ2, 176TM2,
а также CD4093, HCF4093, К561ТЛ1, КР1561ТЛ1.
При использовании элементов, указанных на схеме, напряжение питания может составлять: 3...15 В.
При работе с микроконтроллерами приведённые схемы обработки сигналов энкодера могут оказаться также весьма полезными, особенно в тех случаях, когда прерывания,
приостанавливающие
работу программы, являются нежелательными либо, когда таймеры микроконтроллера заняты выполнением других более важных задач.
|