Абсолютный поворотный энкодер с однодорожечным кодом Грея

в 13:00, , рубрики: Блог компании RUVDS.com
В этом материале речь пойдёт о физической реализации абсолютного поворотного энкодера. Разрешение этого энкодера составляет 6 градусов, то есть — 60 шагов. Этого достаточно для того чтобы сделать на его основе часы. Здесь используется одношаговый код Грея.

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 1

Материалы

Для реализации проекта понадобится печатная плата с оптическим датчиком, Arduino (я применил тут Arduino Uno), а так же — диск энкодера.

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 2

Плата с оптическим датчиком

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 3

Схема Arduino Uno

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 4

Диск энкодера

Шаг 1. Принципы работы энкодера

Работа энкодера

image

Преобразование однодорожечного кода Грея в двоичный код

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 6

Таблица преобразования кода Грея в двоичный код

Когда диск энкодера вращается, оптический датчик реагирует на прохождение мимо него светлых и тёмных мест дорожки с кодом, а программа, работающая на Arduino, выполняет нахождение точной позиции диска.

Вот файлы с программным кодом:

Шаг 2. Принципиальная схема устройства

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 7

Принципиальная схема устройства

Микроконтроллер Arduino подключён к плате с оптическим датчиком 4 проводами. Речь идёт о контактах GND, +5V, SDA, SCL.

Шаг 3. Диск энкодера

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 8

Диск энкодера

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

Шаг 4. Подробнее о диске энкодера

На следующих рисунках выделена зона диска энкодера, которую анализирует оптический датчик.

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 9

Область диска энкодера, которую анализирует датчик

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 10

Область диска энкодера, которую анализирует датчик

Шаг 5. Создание диска энкодера

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 11

В основе диска энкодера лежит обычный CD-диск

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 12

Подготовка изображения для нанесения на диск

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 13

Разметка изображения

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 14

Чёрные и белые области разметки, на которые реагирует оптический датчик

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 15

Размеченный диск

Приведённые здесь изображения можно распечатать на принтере и приклеить к диску. Того же эффекта можно достичь, вручную нанеся разметку на диск.

Я пользовался 38-миллиметровой клейкой лентой разных цветов. Сначала я наклеил два разноцветных куска ленты на диск, постаравшись, чтобы края лент сошлись бы точно в центре диска. Потом, следуя разметочным линиям, вырезал участки лент. Можно, вырезав участки ленты одного цвета, приклеить их поверх соответствующих участков ленты другого цвета.

Шаг 6. Проверка параметров элементов, формирующих одношаговый код Грея, и оптического датчика

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 16

Размеры элементов и диска

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 17

Элементы оптического датчика

Шаг 7. Сопоставление кода Грея и элементов оптического датчика

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 18

Код, который нужно прочитать датчику

Код Грея, нанесённый на диск, считывается элементами датчика, угловое расстояние между которыми составляет 30 градусов. Разрешение энкодера составляет 6 градусов, то есть — 60 шагов (360/60 = 6 градусов). В ходе работы устройства получается последовательность [13, 3, 6, 2, 6, 13, 3, 6, 2, 6]. Шаг 13 соответствует 78 градусам.

Шаг 8. Варианты применения абсолютного энкодера

Я использовал абсолютный энкодер для изготовления часов.

Часы

Большие часы

Вот — несколько снимков, демонстрирующих процесс изготовления часов.

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 19

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 20

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 21

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 22

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 23

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 24

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 25

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 26

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 27

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 28

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 29

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 30

Абсолютный поворотный энкодер с однодорожечным кодом Грея - 31

Планируете ли вы сделать какой-нибудь проект на основе абсолютного поворотного энкодера?

Автор:
ru_vds

Источник


* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js