Считывание данных с абсолютных энкодеров с помощью кода Баркера

Ранее я уже рассказывал о том, как работать с энкодером и увеличивать в 4 раза поличество отсчетов на оборот. Но то был инкрементальный энкодер. Его задача — на каждый сдвиг изменять сигнал на выходе.

Задача абсолютных энкодеров — выдавать непосредственное значение угла поворота, пусть и в своих единицах.

Читать дальше

Защита от дребезга механического энкодера

На плате отладочной платы RLN Electro имеется энкодер. Удобная штука для навигации, вот только подход к нему несколько иной, нежели к описанному ЗДЕСЬ энкодеру. Ибо механический он, дребезгу подвержен.
Сам дребезг выглядит вот так вот:

Такая вот гадость приносит много радости тому, кто следит за энкодером при помощи прерываний, а не опрашивает его с определенной частотой.

Читать дальше

Форсирование энкодера

С одной стороны, определение направления вращения энкодера является достаточно простой задачей. Многие ссылки в интернете говорят нам о том, что «Каждый раз, когда сигнал А переходит от положительного уровня к нулю, мы считываем значение выхода В. Если В в этот момент находится в положительном состоянии, значит энкодер вращается по часовой стрелке, если В нуль, то энкодер вращается против часовой стрелки.»
Да, это верно для энкодеров а ля «потенциометр», используемых на приборной панели, однако при применении энкодера в качестве датчика вращения так небрежно относиться к данным с него — непозволительная роскошь.

Читать дальше