Как стать автором
Обновить

Подключение инкрементального механического энкодера к микроконтроллеру ATmega8

Уровень сложностиСредний
Время на прочтение2 мин
Количество просмотров5.4K

Типовая схема подключения энкодера к микроконтроллеру ATmega8 представлена на рисунке 1. На схеме тактовые выводы A и B подтянуты с помощью резисторов R1 и R2 к питанию и дают низкий сигнал при срабатывании.

Рисунок 1 – Типовая схема подключения энкодера к микроконтроллеру ATmega8
Рисунок 1 – Типовая схема подключения энкодера к микроконтроллеру ATmega8

Из недостатков данного подключения является наличие «дребезга контактов».

Для подавления «дребезга» в схеме применяют RC-цепь (рисунок 2).

Рисунок 2 – Схема подключения энкодера к микроконтроллеру ATmega8
Рисунок 2 – Схема подключения энкодера к микроконтроллеру ATmega8

Произведем расчет номинала конденсатора и резисторов для схемы, показанной на рисунке 2.

Для расчета номинала конденсатора и резисторов схемы применяют закон изменения напряжения при разряде конденсатора RC цепи (1):

Отсюда время, в течение которого напряжение достигнет логического максимума:

где: t – временя, в течение которого происходит изменение уровня с логического  нуля на логическую единицу, с; U0 – напряжение, необходимое нашему устройству для установки «высокого уровня», В; U – напряжение, подключенное к подтягивающему резистору, В; R – величина сопротивления, Ом; C – величина ёмкости, Ф.

Пример расчета

Заданные условия:

- максимальное время скачка (bounce time) из datasheet на энкодер EC11E: 2 мс;

- типовое значение подтягивающего сопротивления R1: 10 кОм;

- напряжение, необходимое нашему устройству для установки «высокого уровня»: 2,38 В DC.

- напряжение питания: 5 В DC.

Зададим стандартное значение сопротивления R2: 10 кОм.

 Таким образом, расчет дает следующее значение емкости:

Для расчета номинала конденсатора и резисторов также применяют формулу (4), позволяющую определить постоянную времени RC-цепи:

где: ꚍ – постоянная времени RC-цепи, с; R – величина сопротивления, Ом; C – величина ёмкости, Ф.

Пример расчета

Заданные условия:

- максимальное время дребезга (chattering time) из datasheet на энкодер EC11E: 3 мс;

- типовое значение подтягивающего сопротивления R1: 10 кОм;

- напряжение питания: 5 В DC.

Зададим стандартное значение сопротивления R2: 10 кОм.

Таким образом, расчет дает следующее значение емкости:

Реальная осциллограмма дребезга энкодера EC11E показана на рис. 3.

Рисунок 3 – Реальная осциллограмма «дребезга» энкодера EC11E
Рисунок 3 – Реальная осциллограмма «дребезга» энкодера EC11E

Из рисунка 1 мы можем увидеть, что реальное время «дребезга» (примерно 0,16 мс) значительно отличается от максимального значения (2 мс) приведенного в datasheet на энкодер EC11E.

Из этого следует, что для устранения «дребезга» должно хватать конденсатора номиналом 10 нФ.

Но, в процессе эксплуатации конечного устройства, в следствии «сработки» контактов энкодера в результате интенсивных механических перемещений, данного номинала будет недостаточно.

Соответственно конденсатора номиналом 100 нФ вполне будет достаточно.

Для повышения точности позиционирования, в схемах аппаратного подавления «дребезга», применяют триггеры Шмитта (рисунок 4, 5).

Рисунок 4 – Схема подключения энкодера к микроконтроллеру ATmega8
Рисунок 4 – Схема подключения энкодера к микроконтроллеру ATmega8
Рисунок 5 – Схема подключения энкодера к микроконтроллеру ATmega8
Рисунок 5 – Схема подключения энкодера к микроконтроллеру ATmega8

На рисунке 5 два крайних правых триггера применены для обратного инвертирования сигнала.

Инвертирующий триггер Шмитта SN74HC14N можно заменить отечественным аналогами.

См. также: Инкрементальный энкодер: подключение и обработка его с помощью AVR (ATmega8/16/32/168/328)

Теги:
Хабы:
Если эта публикация вас вдохновила и вы хотите поддержать автора — не стесняйтесь нажать на кнопку
Всего голосов 12: ↑8 и ↓4+10
Комментарии19

Публикации

Ближайшие события