Перейти к содержанию
    

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

1 час назад, AlexandrY сказал:

Интересно, что даже если засунуть в дивайс только кончик ленты на половину глубины или меньше, он уже начинает показывать позицию. 
Если лента полностью отсутствует, то показывает ошибку. 
Причем чем меньше отверстий на ленты тем больше абсолютное значение считываемой позиции.
Т.е. на самом деле реальное начало ленты идет с отверстиями почти во всех битах т.е. с кода 0xFFFE 

На фото один конец ленты и на нем начинается с 1 отверстия, на другом конце  код из 15 отверстий, а длина какая при этом? В любом случае это означает что используется пропуск каких-то комбинаций. Каких?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 hours ago, _pv said:

не хватит просто одного бита для синхронизации.

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

10 hours ago, Plain said:

Нет, 4 + 4 = 8.

 

Т.е. эти 4 бита, плюс условие, что собранные из имеющихся частей смежные коды отличаются на 1.

всё равно не хватит.

например последовательность кодов 0x888, 0x889

1000 1000 1000 1000, 1000 1000 1000 1001, 1000 ...

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

то есть надо по 8 бит "синхронизации", и как при этом оставшихся 8 хватает на 392 метра - не понятно. Возможно используется то, что оптопар всё-таки 32 и где-то дальше по ленте есть круглые отверстия на пол шага (3мм) смещённые.

Александр, есть фото другого конца ленты, где отверстий побольше?

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

5 часов назад, _pv сказал:

всё равно не хватит

оптопар всё-таки 32 и где-то дальше по ленте есть круглые отверстия на пол шага (3мм) смещённые

У меня произошла ошибка считывания — 32 оптопары шли с шагом 6 мм...

 

Вы конечно правы, 5 старших бит обязаны идти со сдвигом 3 мм, иначе на единичном отрезке не засинхронизироваться.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

20 minutes ago, Plain said:

У меня произошла ошибка считывания — 32 оптопары шли с шагом 6 мм...

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

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

В 09.11.2019 в 00:25, AlexandrY сказал:

То что в ленте используются все коды из диапазона 0...2^16 говорит о том, что никаких меток нет, им там просто не остается места. 

Я тож поначалу думал, что меткой служит 8-и битный пропуск отверстий. 
Но нет, это не метка,  а просто такое начало у ленты.  

По последним моим соображениям, если другой конец ленты начинается с 15 отверстий, то далее идёт  уменьшение отверстий согласно двоичному коду, ровно до 5 метров (середины), а ровно по середине ленты будут незначачие старшие биты в виде пробитых/ непрбитых отверстий возможно поровну и тех и других. Смотрите середину ленты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Не знаю, до чего здесь додумались, всю тему не читал, только фото глянул. Правая дырка в группе - синхронизирующая. От неё дырками влево кодируется позиция в обычном двоичном коде: 0, 1, 2 и т.д. Хватит ли места для дыр, чтобы закодировать большую длину - не могу знать. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

9 минут назад, ViKo сказал:

Не знаю, до чего здесь додумались, всю тему не читал, только фото глянул. Правая дырка в группе - синхронизирующая. От неё дырками влево кодируется позиция в обычном двоичном коде: 0, 1, 2 и т.д. Хватит ли места для дыр, чтобы закодировать большую длину - не могу знать. 

К сожалению, абсолютный энкодер по такому принципу не построить, там что-то поинтереснее.  

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Построить. Почему нет? 

Если мой разум уже проснулся, каждая группа кодирует около 0,095м. Чтобы группа обнаруживалась, зазор между ними должен быть больше самих групп. То есть, в группе не более 8 битов. Что даёт максимальную длину около 24м. Или 12м, если допустимо только 7 битов. Больше не получится. Чтобы сделать больше длину, нужно увеличить количество считывателей и зазор между группами. Один шаг дыр - в 2 раза длиннее лента. Точнее, два шага требуется, чтобы добавить одно отверстие. Чтобы группа обнаруживалась. (писал со смарта, так не изменилось чего-то).

Положение группы определяется с точностью шага между отверстиями (вырезами). Или до полушага, диодов же в 2 раза больше. 

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

P. S. Я - гений! 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А, может, половину ленты код нарастающий, а другую половину спадающий? Можно сэкономить 1 бит (или увеличить длину ленты в два раза).

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

1 час назад, ViKo сказал:

Если мой разум уже проснулся, каждая группа кодирует около 0,095м. Чтобы группа обнаруживалась, зазор между ними должен быть больше самих групп. То есть, в группе не более 8 битов. Что даёт максимальную длину около 24м. Или 12м, если допустимо только 7 битов. Больше не получится.

А теперь подумайте еще и посмотрите что будет, если из 16 отверстий минимум 4  синхронизирующие.  Одно в начале или в конце группы и минимум 3 в середине группы, остальные значащие. Остается 12 значащих бит. Вот так.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

34 минуты назад, adnega сказал:

А, может, половину ленты код нарастающий, а другую половину спадающий? Можно сэкономить 1 бит (или увеличить длину ленты в два раза).

А как половины различать? Остановились где-то около середины, а где конкретно?

Если контролировать относительное смещение, тогда и городить никакого кодирования не надо.

19 минут назад, gte сказал:

А теперь подумайте еще и посмотрите что будет, если из 16 отверстий минимум 4  синхронизирующие.  Одно в начале или в конце группы и минимум 3 в середине группы, остальные значащие. Остается 12 значащих бит. Вот так.

Ой, а что так много? Давайте уже все синхронизирующими сделаем. Я разве неясно описал? В каждой группе одно синхронизирующее, правое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

33 минуты назад, ViKo сказал:

Ой, а что так много? Давайте уже все синхронизирующими сделаем. Я разве неясно описал? В каждой группе одно синхронизирующее, правое.

А еще гений :biggrin:. При использовании периода в 16 мест и одном синхронизирующем не будет однозначного считывания   при имеющемся датчике. Лента может достигать 392 метра.

PS Прочитайте несколько страниц.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

18 минут назад, ViKo сказал:

Ой, а что так много? Давайте уже все синхронизирующими сделаем. Я разве неясно описал? В каждой группе одно синхронизирующее, правое.

А если считыватель остановится на половине дырок от одного сегмента, и на половине от другого. Как будете различать? Ведь его размер только чуть-чуть больше этого сегмента. Тут что-то похитрее. Возможно где-то небольшое смещение части дырок присутствует, либо энкодер не абсолютный... Хотелось бы конец ленты посмотреть. 
И да, автор писал, что до 392 м лента может быть. 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

12 минут назад, Dimidrol сказал:

А если считыватель остановится на половине дырок от одного сегмента, и на половине от другого. Как будете различать? Ведь его размер только чуть-чуть больше этого сегмента. Тут что-то похитрее.

При увеличении кода, с 8 по 10 отверстия, появятся новые синхроотверстия и однозначность сохранится.

Про другой конец ленты.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...