Абсолютный оптический однооборотный угловой энкодер
ABSOLUTE OPTICAL SINGLE-TURN ANGULAR ENCODER

Изобретение относится к измерительной технике и может быть использовано для бесконтактного определения положения вала механического узла.
7
Известен энкодер, реализованный на рефлексивном коде Грея [Пат. №2632058 A, США, МПК H03M 1/00, H04B 14/04, H04B 14/02, H01J 31/04, H03M 13/00, H01J 31/00. Pulse code communication / Frank Gray; патентообладатель Bell Telephone Labor Inc"; заявл. 13 ноября 1947; опубл. 17 марта 1953].
Суть данного изобретения заключается в том, что при реализации n-разрядного энкодера на поверхность растрового диска наносится n кодирующих дорожек, каждая из которых отвечает за формирование кеда соответствующего разряда.
Кодирующие дорожки формируются таким образом, чтобы коды, соответствующие двум соседним угловым положениям растра, отличались только в одном разряде. Такой способ кодирования обеспечивает длину кода равную 1 и, как следствие, обеспечивает высокую помехозащищенность.
Недостатком такого энкодера является применение нескольких кодирующих дорожек, что ограничивает область применения энкодера, так как, при его реализации, используется вся поверхность растрового диска, а в случае применения растра, работающего на просвет, источники и приемники излучения оказываются механически не связанными, что приводит к снижению технологичности конструкции. В свою очередь, применение отражающего растрового диска приводит к необходимости высокой точности относительного расположения растра и оптопар, работающих на отражения, и делает конструкцию не применимой в условиях вибраций.
7
Известен оптический энкодер, описанный в патенте Спеддинга Н.Б. [Пат. №264738, Новая Зеландия, МПК G01B 11/26, G01B 5/24. A position encoder / Spedding Norman Bruce; патентообладатель «INDUSTRIAL RESEARCH LIMITED» - заявл. 20 октября 1994; опубл. 2 февраля 1996], который содержит n оптических пар (где n - разрядность энкодера), распределенных равномерно с угловым шагом 360/n, растровый диск с одной кодирующей дорожкой в виде чередующихся прозрачных и непрозрачных секторов.
max
При этом максимальное количество прозрачных секторов c в зависимости от разрядности энкодера определяют выражением
где n - разрядность энкодера (количество используемых оптопар).
Угловой размер прозрачных секторов рассчитывают по выражению
где c - принятое количество прозрачных секторов;
max
i=1…c - номер сектора;
i
α - угловой размер i-го сектора,
Угловой размер непрозрачных секторов вычисляют по выражению
где s - натуральное число.
Информация с датчика выводится в виде параллельного кода, который определяет значение угла.
5
8
Недостатком такого энкодера является низкая разрешающая способность по сравнению с многодорожечным энкодером. Например, при разрядности энкодера 5, обеспечивают разрешающую способность 36 градусов, при максимально возможной 360/2=11.25 градуса, при разрядности 8 - 11.25 (максимально достижимая - 360/2=1.40625 градуса) и т.д.
Технической задачей предлагаемого изобретения является разработка энкодера с максимальной разрешающей способностью для разрядности n, при использовании только одной кодирующей дорожки.
a
a
a
n
n
Технический результат достигается тем, что в известном энкодере, содержащем n-оптопар, где n - разрядность энкодера, и растровый диск с одной кодирующей дорожкой, оптопары располагают с одинаковым шагом , где , равное 360/2, - разрешающая способность энкодера, а кодирующую дорожку формируют в соответствии с двоичной последовательностью длиной m=2, при этом каждой цифре последовательности соответствует угловой размер , нулю ставится в соответствии непрозрачный сектор, единице прозрачный - или наоборот.
Сущность предлагаемого технического решения заключается в том, что двоичную последовательность длиной m формируют следующим образом:
1. Формируют группы цепочек, состоящие из нулей, обрамленные с каждой стороны единицами:
- первая группа содержит одну цепочку из n нулей и одну цепочку из (n-2) нулей;
b-2
- последующие группы содержат 2 цепочек из (n-b) нулей, где b принимает значения от 3 до n-1;
2. Для каждой группы цепочек формируется набор дополнений:
- для первой группы четыре дополнения вида (0x, 1x, x1, х0), где x показывает место сопряжения дополнения с цепочкой;
- для второй и первой группы восемь дополнений вида (00х, 01х, 10х, 11х, х00, х01, х10, х11);
i+1
- для i-ой и предшествующих групп 2 дополнений вида (хС и Сх), где C - двоичное b-разрядное число.
3. Цепочку из n нулей располагают в старших битах двоичной последовательности, таким образом, чтобы единица, стоящая слева, оказалась в младшем байте кодирующей последовательности.
4. Последовательно добавляют возможные неиспользованные дополнения и цепочки. В процессе подстановки исключают цепочки и дополнения, образованные автоматически. При этом запрещается подсоединять к сформированной части последовательности те цепочки и дополнения, которые приводят к необходимости использования цепочек или дополнений отсутствующих в имеющимся наборе. По завершению заполнения всех битов кодирующей последовательности, все группы цепочек и дополнений должны быть полностью задействованы.
a
a
a
n
n
Абсолютный оптический однооборотный угловой энкодер содержит n оптопар, где n - разрядность энкодера, растровый диск с одной кодирующей дорожкой, состоящей из последовательно расположенных прозрачных и непрозрачных секторов, причем оптопары располагают с одинаковым шагом , где , равное 360/2, - разрешающая способность энкодера, а кодирующую дорожку формируют в соответствии с двоичной последовательностью длиной m=2, при этом каждой цифре последовательности соответствует угловой размер , нулю ставится в соответствии непрозрачный сектор, единице прозрачный - или наоборот.
Изобретение поясняется фиг. 1 и 2.
На фиг. 1 приведено формирование кода энкодера при длине цепочки, содержащей нули, больше n.
На фиг. 2 приведен пример реализации четырехразрядного энкодера с основными конструктивными параметрами.
a
a
a
n
n
Абсолютный оптический однооборотный угловой энкодер содержит n оптопар 2, где n - разрядность энкодера, растровый диск 1 с одной кодирующей дорожкой 3, состоящей из последовательно расположенных прозрачных 4 и непрозрачных 5 секторов, причем оптопары 2 располагают с одинаковым шагом , где , равное 360/2, - разрешающая способность энкодера, а кодирующую дорожку 3 формируют в соответствии с двоичной последовательностью длиной m=2, при этом каждой цифре последовательности соответствует угловой размер , нулю ставится в соответствии непрозрачный сектор, единице прозрачный - или наоборот.
Работа энкодера в соответствии с вышеприведенным описанием поясняется следующим образом.
Для реализации однооборотного абсолютного энкодера, обладающего максимальным разрешением при разрядности n, необходимо, чтобы за полный оборот растра наблюдались все возможные значения n-разрядного двоичного кода, считанные с приемников оптического излучения.
Так как оптопары имеют угловой шаг расположения, равный разрешающей способности энкодера, то двоичная последовательность, используемая для формирования кодирующей дорожки, должна содержать в себе все возможные n-разрядные коды.
В частности, для реализации кода  необходимо, чтобы кодирующая последовательность содержала хотя бы одну цепочку вида  с другой стороны такая цепочка должна быть только одна, иначе на полном обороте будет наблюдаться повторение кода  В то же время, для исключения повторения указанного кода, количество последовательно расположенных нулей не должно превышать n (фиг. 1).
Таким образом, цепочка  должна быть с двух сторон обрамлена единицами и примет вид
Полученная цепочка, помимо кода  автоматически реализует коды:  и  следовательно, в кодирующей последовательности должна отсутствовать дополнительная цепочка вида  При этом необходимость реализации кода вида  требует наличие хотя бы одной цепочки вида  так как указанный код не может быть реализован с помощью цепочки
С другой стороны, учитывая тот факт, что кодов  всего четыре и они реализуются с помощью цепочек  путем добавления дополнений (0x, 1x, x1, х0), то можно утверждать, что цепочка вида  также только одна.
Таким образом, в кодирующей последовательности выделяется первая группа цепочек и дополнений к ним.
b-2
Продолжая аналогичные рассуждения, по вопросу реализации кодов  и так далее, можно показать необходимость существования других групп цепочек, которые содержат 2 цепочек из (n-b) нулей, где b принимает значения от 3 до n-1, и дополнений вида (хС и Сх), где C - двоичное b-разрядное число.
Следовательно, двоичная последовательность, содержащая описанные цепочки и дополнения, будет содержать все возможные значение n-разрядного двоичного кода и, как следствие, исключает возможность повторения кодов на полном обороте.
Последующее декодирование углового положения с полученного таким образом энкодера реализуется с помощью таблицы кодов.
Следует отметить, что инверсия полученной двоичной последовательности также может быть использована для построения энкодера.
a
Это объясняется следующим. Если принять, что некоторому угловому положению кодирующего диска соответствует двоичный код S(α), то для любых целых j∈[1(360/-1)] должно выполняться условие отсутствия повторения кодов:
где (- побитовая операция «ИСКЛЮЧАЮЩЕЕ-ИЛИ»;
i
- номер двоичного кода S(α).
Учитывая свойство побитовой операции «ИСКЛЮЧАЮЩЕЕ-ИЛИ»:
видно, что коды  соответствующие инвертирующей последовательности, также будут удовлетворять условию (5).
Таким образом, при реализации кодирующего диска n-разрядного энкодера, в соответствие нулю можно ставить как прозрачный, так и непрозрачный сектор, соответственно единице - непрозрачный или прозрачный сектор.
Для пояснения принципа формирования кодирующей последовательности, рассмотрим пример для n равного 4.
a
При разрядности энкодера n равном 4, разрешающая способность  составит:
Таким образом, угловой шаг расположения оптопар составит 22,5°.
При n равном 4 двоична последовательность для формирования кодирующей дорожки примет длину m
4
m=2=16.
Сформируем группы цепочек, состоящие из нулей, обрамленные с каждой стороны единицами.
b-2
3-2
1
Для n равного 4, b может принимать значения от 3 до 4-1, то есть имеет только одно значение 3. Следовательно, получим две группы цепочек. При этом в первой группе содержится две цепочки: 100001 и 1001, а во второй - 2=2=2=2 цепочки вида 101.
Сформируем наборы дополнений:
- для первой группы получим четыре дополнения: 0x, 1x, x1, х0;
- для первой и второй группы - восемь дополнений: 00х, 01х, 10х, 11х, х00, х01, х10, х11.
Разместим цепочку 100001 в старших битах кодирующей последовательности, таким образом, чтобы единица, стоящая слева, оказалась в младшем байте кодирующей последовательности. В итоге получим
Значение
0
0
0
0
1
x
x
x
x
x
x
x
x
x
x
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
где x - неопределенное значение.
Дополним справа полученную последовательность третьим дополнением х0 из первой группы. В результате получим
Значение
0
0
0
0
1
0
x
x
x
x
x
x
x
x
x
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Так как при этом в разрядах 12 и 11 сформировалась последовательность, которая может соответствовать как цепочке 1001, так и цепочке 101, то оказывается использованным дополнение второй группы 00х.
Таким образом, в оставшийся набор цепочек и дополнений содержит
- цепочку первой группы 1001;
- цепочки второй группы 101, 101;
- дополнения первой группы 0x, 1x, x1;
- дополнения второй группы 01х, 10х, 11х, х00, x01, x10, x11.
Дополним дополнение первой группы х0 на позиции 11 до дополнения второй группы х00. В результате получим
Значение
0
0
0
0
1
0
0
x
x
x
x
x
x
x
x
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Оставшийся набор цепочек и дополнений содержит:
- цепочку первой группы 1001;
- цепочки второй группы 101, 101;
- дополнения первой группы 0x, 1x, x1;
- дополнения второй группы 01х, 10х, 11х, х01, х10, x11.
Так как в наборе имеются только цепочки 1001, 101 и 101, то последовательность на позициях 12-10 может быть только частью цепочки 1001. Следовательно, цепочка 1001 располагается в позициях 12-9 и кодирующая последовательность имеет вид
Значение
0
0
0
0
1
0
0
1
x
x
x
x
x
x
x
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Оставшийся набор цепочек и дополнений содержит
- цепочки второй группы 101, 101;
- дополнения первой группы 0x, 1x, x1;
- дополнения второй группы 01х, 10х, 11x, x01, x10, x11.
Так как к цепочке 1001 (позиции 12-9) слева примыкает дополнение первой группы 0х (позиция 13). Следовательно, оставшийся набор цепочек и дополнений содержит
- цепочки второй группы 101, 101;
- дополнения первой группы 1x, x1;
- дополнения второй группы 01x, 10х, 11х, x01, x10, x11.
Так как для цепочки 1001 (позиции 12-9) доступно только дополнение x1 из первой группы, то кодирующая последовательность примет вид
Значение
0
0
0
0
1
0
0
1
1
x
x
x
x
x
x
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
- цепочки второй группы 101, 101;
- дополнения первой группы 1х;
- дополнения второй группы 01x, 10х, 11x, x01, x10, x11.
Так как для цепочки 100001 (позиции 16-12, 1) слева доступно только дополнение первой группы 1х, то кодирующая последовательность примет вид
Значение
0
0
0
0
1
0
0
1
1
x
x
x
x
x
1
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Оставшийся набор
- цепочки второй группы 101, 101;
- дополнения второй группы 01x, 10х, 11x, x01, x10, x11.
Для цепочки 1001 (позиции 12-9) доступны только дополнения второй группы х10 и x11. Дополним эту цепочку первым дополнением. В итоге получим
Значение
0
0
0
0
1
0
0
1
1
0
x
x
x
x
1
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Оставшийся набор
- цепочки второй группы 101, 101;
- дополнения второй группы 01x, 10х, 11x, x01, x11.
Последовательность на позициях 8 и 7 может быть только частью одной из цепочек 101. Таким образом, кодирующая последовательность примет вид
Значение
0
0
0
0
1
0
0
1
1
0
1
x
x
x
1
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Оставшийся набор
- цепочки второй группы 101;
- дополнения второй группы 01x, 10х, 11x, x01, x11.
Из кодирующей последовательности видно, что цепочка 101 (позиции 8-6) имеет дополнение второй группы: 01x. То есть оставшийся набор содержит
- цепочки второй группы 101;
- дополнения второй группы 10х, 11x, x01, x11.
Так как цепочка 100001 (позиции 16-12, 1) из оставшегося набора может иметь только дополнение 11х, то кодирующая последовательность имеет вид
Значение
0
0
0
0
1
0
0
1
1
0
1
x
x
1
1
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Оставшийся набор
- цепочки второй группы 101;
- дополнения второй группы 10х, x01, x11.
С другой стороны, цепочка 101 (позиции 8-6) не может иметь дополнение x11, так как в этом случае неиспользованной остаются цепочка 101 при сформированной кодирующей последовательности. Таким образом ей доступна только цепочка х01. Следовательно, кодирующая последовательность примет вид
Значение
0
0
0
0
1
0
0
1
1
0
1
0
1
1
1
1
Разряд
16
15
14
13
12
11
10
9
8
7
6
5
4
3
2
1
Оставшийся набор
- цепочки второй группы 101;
- дополнения второй группы 10х, x11.
Оставшаяся цепочка 101 реализуется на позициях 6-4, при этом она имеет дополнение слева 10х, а справа - x11 и весь набор цепочек и дополнений оказывается использованным при сформированной кодирующей последовательности.
a
Определим угловые размеры секторов кодирующей дорожки, приняв за угловой размер одной цифры двоичной последовательности =22,5°. Нулю сопоставим прозрачный сектор, единице - непрозрачный, нумерацию секторов произведем по часовой стрелке. Результаты расчета приведены в таблице 1.
Окончательно получим одну из реализаций растра с одной дорожкой, приведенную на фиг. 2. Коды угловых положений для данной реализации растра приведены в таблице 2.
Следует отметить, что при n равном 4, возможны другие реализации кодирующего диска, которые могут быть получены при другой последовательности примыкания дополнений.
При этом любые другие варианты формирования кодирующей последовательности принципиального значения не имеют и приводят к положительному результату. Эти варианты реализации могут варьироваться из конструктивных или иных соображений, при решении конкретной прикладной задачи применения однооборотного однодорожечного абсолютного энкодера, в том числе и для реализации энкодеров линейного перемещения.
a
Таким образом, расположение оптопар с угловым шагом  и применение кодирующей дорожки, сформированной по двоичной последовательности длиной m позволяет получить энкодер с максимальным разрешением для разрядности n.