Jump to content

    

Кто может разгадать кодировку линейного абсолютного энкодера?

Есть такой линейный абсолютный энкодер. Через него движется лента с отверстиями. 
Длина ленты 10 м. На каком бы участке ленты не находился энкодер он показывает с точность 1 мм свою позицию на ленте. 
Вопрос: по какой формуле пробиты круглые отверстия на ленте? 

Linear_encoder.gif

Share this post


Link to post
Share on other sites

Приветствую!

Двоичный.  Первый бит маркер  - всегда дырка :biggrin:

Удачи! Rob.

Share this post


Link to post
Share on other sites
35 minutes ago, RobFPGA said:

Приветствую!

Двоичный.  Первый бит маркер  - всегда дырка :biggrin:

Удачи! Rob.

Наверно плохо поняли, но энкодер абсолютный.
Т.е. сразу после включения он показывает свою позицию, ленту двигать предварительно не надо. 
Поэтому надобности в некоем бите-маркере нет. :negative:
А кодировка понятно что двоичная - дырка либо есть, либо нет. Вопрос какая у них последовательность. 

Share this post


Link to post
Share on other sites

Приветствую!

9 minutes ago, AlexandrY said:

Наверно плохо поняли, но энкодер абсолютный.
Т.е. сразу после включения он показывает свою позицию, ленту двигать предварительно не надо. 
Поэтому надобности в некоем бите-маркере нет. :negative:
А кодировка понятно что двоичная - дырка либо есть, либо нет. Вопрос какая у них последовательность. 

IMHO на мультике   группа в полосатых купальниках круглых отверстий  кодирует двоичную последовательность,  абсолютность может достигаться например оцифровкой  всего диапазона между двумя этими группами  (например линейными пзс в белой коробочке) и так чтобы как минимум одна группа круглых  отверстий видна датчику.    

Удачи!

Share this post


Link to post
Share on other sites

предположу, что как нониусная шкала" или как она называется, на штангенциркуле. то есть наверняка в нем всегда одна большая дырка, а внутри линейные наборы фотопар

 

upd - то есть расстояние между любыми ближайшими большими дырками меньше длинны энкодера, а внутри несколько фотопар на линии больших дырок

 

Share this post


Link to post
Share on other sites
30 minutes ago, AlexandrY said:


А кодировка понятно что двоичная - дырка либо есть, либо нет. Вопрос какая у них последовательность. 

в чем вопрос-то? найди кота на фотографии?

если отверстие = 1: то на гифке наблюдаю последовательность:

1011

1101

1001

0111

0101

0011

 

младший бит всегда =1 как маркер.

почему 6 и 5 местами перепутаны - хз

Share this post


Link to post
Share on other sites
2 hours ago, _pv said:

в чем вопрос-то? найди кота на фотографии?

Вопрос в формуле получения кода. 

Скажем в датчике помещатся 8 круглых отверстий (взял произвольно, чтобы узнать точно надо потрошить датчик, но пока это не могу)
Значит код 8-и битный и формула могла бы быть такой:
N(i+i) = N(i) + 1
где N(i) - восьми битное число, i = 0..255,  и начинается лента скажем с числа 1.
Но формула точно не такая. 

Да, можно посадить сотрудника и он на всей длине ленты срисует позиции отверстий.
Но мы хотим этот дивайс клонировать и увеличить точность в несколько раз при той же длине ленты. Значит нам нужно уменьшить диаметр отверстий и сделать  в несколько раз длиннее последовательность кодов. Но как их найти? 
 

Share this post


Link to post
Share on other sites

Жаль что это не видео сложно поставить на паузу и посчитать по этому примерно так.

Круглые круглые дырки задают сразу код определяющий на каком куске ленты мы находимся.
Мелкие задают смещение в пределах этого куска.

Т.е. по большим дыркам мы например на 5 куске. 
По смещению больших дырок относительно мелких мы на 3 маленькие дырки относительно начала куска.

А вот на счёт изменить точность не переделывая анализатор может и не получиться....
Не понятно же как он сделан. там могут быть пары светодиод-фотодиод. может быть лампа и фотокамера или ещё чего то мудрёное.

Share this post


Link to post
Share on other sites

В абсолютных энкодерах чаше всего применяют код Грея.

Share this post


Link to post
Share on other sites
13 minutes ago, MegaVolt said:

А вот на счёт изменить точность не переделывая анализатор может и не получиться....

Не, анализатор то как раз мы сделаем свой. И опять же клонировать как есть нет проблем.
Пропустим ленту и спишем все кодовые состояний, табулируем в таблицу и готово. 

Но как сделать кодовые слова более длинными и получить правильную последовательность? 

Share this post


Link to post
Share on other sites
1 минуту назад, AlexandrY сказал:

Не, анализатор то как раз мы сделаем свой. И опять же клонировать как есть нет проблема.
Пропустим ленту и спишем все кодовые состояний, табулируем в таблицу и готово. 

Но как сделать кодовые слова более длинными и получить правильную последовательность? 

На текущий момент вся точность определяется способностью анализатора оценить сдвиг дырок относительно своего начала.
Т.е. даже на этой ленте в теории можно получить любую точность. Вопрос лишь способности точно оценивать положение дырок (мелких) относительно начала координат.

Share this post


Link to post
Share on other sites
9 minutes ago, dimka76 said:

В абсолютных энкодерах чаше всего применяют код Грея.

Это в концентрических энкодерах. А здесь линейный. 
Да и смысла здесь нет в кодировании Грея. Код читается абсолютно надежно.

2 minutes ago, MegaVolt said:

На текущий момент вся точность определяется способностью анализатора оценить сдвиг дырок относительно своего начала.
Т.е. даже на этой ленте в теории можно получить любую точность. Вопрос лишь способности точно оценивать положение дырок (мелких) относительно начала координат.

Хорошо, можно согласиться, хотя наверняка потребуется переделать фотодиодные сенсоры на более прецизионные. 
Но тогда скажем мы хотим увеличить длину ленты не изменяя ширины и диаметра отверстий. 
В чем-то же надо конкурировать.:biggrin:

Share this post


Link to post
Share on other sites

Приветствую!

1 hour ago, AlexandrY said:

Вопрос в формуле получения кода. 

53 minutes ago, AlexandrY said:

Но тогда скажем мы хотим увеличить длину ленты не изменяя ширины и диаметра отверстий. 
В чем-то же надо конкурировать

У вас на ленте 16 маленьких отверстий  на группу больших.  То есть на  номер группы можно выделить 14 бит  + 1 пауза + 1 метка. На взгляд  расстояние между маленькими ~ 1 см,  значит длинна ленты может быть 16 * 2^14 = 2621 метра с хвостиком.  :biggrin:

Удачи! Rob. 

  

Share this post


Link to post
Share on other sites

Достаточно одного ряда — чётные отверстия кодируют младшие биты и идут регулярно, т.е. задают несущую, нечётные фазой кодируют старшие биты.

Share this post


Link to post
Share on other sites
10 hours ago, AlexandrY said:

 Значит код 8-и битный и формула могла бы быть такой:
N(i+i) = N(i) + 1
 Но формула точно не такая. 

N(i) = 2*i+1

 

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now