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

Комментарии 20

Хабр почти торт.

Статья отличная, но как всегда чего то не хватило :)

Где подробности расчетов?) Откуда взяты значения углов? Как расчитать на иное кол-во шагов? Скрин из экселя это тоже огонь, но понятности что и к чему это не добавило ;)

Так же вызвали вопросы ваш поодсчет кол-ва шагов и последовательности.... у нас 5 разных значений повторяются 10 раз на круг? Тогда чегойта энкодер абсолютный?)

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

Где подробности расчетов?

Нужно по ссылкам пощелкать. Там есть немного матана, но по английски.

[13, 3, 6, 2, 6, 13, 3, 6, 2, 6]

Это расстояния между точками, в которых меняется цвет.

Алгоритм их вычисления довольно нетривиален, с ним можно ознакомиться по приведённой автором ссылке.

Вообще, код Грея специально сконструирован так, чтобы он позволял определять абсолютное положение энкодера и был устойчив к дрожанию или неточному изготовлению шкалы. Это достигается благодаря тому, что каждый шаг энкодера меняет только один бит в считываемом двоичном коде.

Обычно это делается с помощью N дорожек, окрашенных наполовину чёрным и белым, и N датчиков, по одному на каждую дорожку. Здесь же весь код хитрым способом умещён в одну дорожку, а датчики стоят по окружности.

Спасибо за пояснения, про код Грея был не в курсе.

Здесь же весь код хитрым способом умещён в одну дорожку, а датчики стоят по окружности.

Видимо замечать ссылки - не мое, вот именно этого мне и не хватило для полного восторга от статьи :)

Спасибо! Очень круто! Искал как-то, но толкового материала не нашел, а тут все предельно ясно.

Часы "2 оттенка серого"

Идея интересная. Особенно когда требуется достаточно высокая точность определения положения при недостатке места по ширине кодовой полосы.

Существуют ли варианты с бОльшим количеством шагов? Например 360,720?

На сколько понял в зависимости от кол-ва детекторов. Все будет упираться на сколько точно они будут срабатывать.

Для высокого разрешения больше подходит классический энкодер на несколько дорожек. У кода Грея тут преимущество перед обычным двоичным кодом - секторы младшего разряда получаются вдвое шире. Промышленные энкодеры имеют разрешение в тысячи шагов.

А если совместить код Грея с энкодером? Получается как в видео с ключевыми кадрами.

В смысле совместить? Я имел в виду энкодер как описано здесь

да чаще уже за пару миллионов импульсов уходит :)

У нас на телескопе стояло по паре энкодеров, соединённых через безлюфтовый редуктор. Каждый энкодер по 12 разрядов. Было перекрытие в два разряда. Т.е. общее количество разрядов — 22 (4 194 304 импульса на оборот)

Ременный редуктор стоял ?

ну да потом другая проблема начинается как это все посчитать :)

Не — там разрезные подпружиненные шестерёнки. Люфт между главным червяком и кододатчиком < 0.5 угловых секунды. А вот люфт между главным приводом и инструментом достигал 5 угловых секунд.
Вот точно такой-же:
image

Код Грея вообще полезная вещь. Меня однажды выручил в борьбе с "гонкой фронтов" в электрической схеме

Зарегистрируйтесь на Хабре, чтобы оставить комментарий