Сочленение удерживает позицию лишь настолько хорошо, насколько способно её измерить. Разрешение энкодера — это величина, которая превращает угол вала в исчисляемое количество, и она находится выше по потоку от всего, что контроллер делает с этим углом. Этот материал прослеживает один вопрос на примере семейства редукторных актуаторов: что именно измеряет датчик, сколько отсчётов несёт это измерение и где находится точка, после которой добавление новых отсчётов перестаёт что-либо менять.

О чём сообщает энкодер в сочленении

У редукторного актуатора важны два вала. Один — вал двигателя: он вращается быстро и нагружен слабо. Другой — выходной вал: он вращается медленно за ступенью редукции и несёт нагрузку. Датчик на первом сообщает угол двигателя. Датчик на втором сообщает выходной угол. Это не одно и то же измерение, а всё, что находится между ними, — это передача.

Два вала, два измерения

Различие звучит академически до тех пор, пока сочленению не потребуется удерживать позу под нагрузкой. Угол двигателя легко измерить и легко регулировать, потому что на валу двигателя находится магнитное поле и там же расположена силовая электроника. Выходной угол — это то, что действительно важно для машины. Между ними — зубья передач, зазоры подшипников и упругое скручивание каждого элемента силового тракта.

CubeMars излагает компоновку своих полых актуаторов AKH70 без обиняков. Модуль несёт два магнитных энкодера 21 бит — один на стороне двигателя, другой на стороне выхода, — и производитель описывает результат как независимую обратную связь по положению на ступенях двигателя и выхода, которая изолирует ошибки передачи от контура управления. Это формулировка производителя, и её правильнее читать как утверждение о том, что измеряет второй датчик, а не о том, что он устраняет: обратная связь на стороне выхода позволяет контроллеру наблюдать разницу между углом двигателя и выходным углом, тогда как люфт, упругое скручивание и трение остаются свойствами передачи.

Почему замкнутый контур решает, какому числу доверять

Контроллер, читающий только угол двигателя, управляет числом, которое отделено одной передачей от того, что он хочет переместить. Разрешение энкодера определяет, насколько мелко нарезано это число, но размещение датчика определяет, означает ли это число что-либо на нагрузке. Оба фактора нужно читать вместе, и поэтому разрешение энкодера, указанное без размещения, близко к бессмысленному.

Разрешение энкодера на выходе: 14, 16 и 21 бит

Разрешение, указанное в битах, — это число отсчётов на оборот. Датчик 14 бит даёт 16384 отсчёта на оборот, датчик 16 бит — 65536, датчик 21 бит — 2097152. Это три величины, которые встречаются в данном классе актуаторов, а разрыв между первой и последней составляет 128 раз.

Три термина используются взаимозаменяемо, и этого не следовало бы делать. Разрешение — это теоретический приращение положения, которое датчик способен различить за оборот. Точность — это то, насколько далеко сообщаемый угол отстоит от истинного угла. Повторяемость — это разброс положений, в которые сочленение возвращается при одной и той же команде и одних и тех же условиях. Более тонкое разрешение улучшает первое, не гарантируя ни одного из двух других, и разрешение энкодера, указанное само по себе, не говорит ничего о двух других.

О чём говорят опубликованные строки

AKH70-48 и AKH70-16 публикуют 21 бит для разрешения энкодера внутреннего контура и столько же для внешнего контура. AK70-9 V3.0 публикует ту же пару. AK70-10 KV100 публикует 14 бит в строке разрешения энкодера внутреннего кольца, тогда как строки типа и разрешения внешнего кольца оставлены пустыми. Это строки спецификации производителя, процитированные дословно. Формулировки не одинаковы на всех страницах: страница AK70-10 смешивает контур и кольцо, и формулировка здесь следует каждой строке так, как она опубликована.

Размещение меняет цену отсчёта

Разрешение энкодера заданного размера не покупает одинаковый угловой шаг на выходе, потому что размещение определяет преобразование. Датчик 14 бит на валу двигателя ступени 10:1 даёт 16384 отсчёта на оборот двигателя и десять оборотов двигателя на оборот выхода, поэтому выход видит 163840 отсчётов на оборот. Это даёт примерно 0.0022° на отсчёт на выходе. Датчик 21 бит, установленный на выходном валу, даёт непосредственно 2097152 отсчёта на оборот выхода, что составляет около 0.000172° на отсчёт. Обе величины — арифметика по опубликованным числам бит и передаточному отношению, а не опубликованные значения. Это эквивалентные приращения выходного угла при идеальной передаче, а не измеренная точность выхода: люфт и упругий прогиб между двумя валами по-прежнему уводят выход от идеального преобразования.

Отсюда следует два вывода. Во-первых, редукция умножает тонкость датчика на стороне двигателя применительно к выходу, поэтому скромное число бит за высоким передаточным отношением может всё ещё выглядеть впечатляюще на бумаге. Во-вторых, и это важнее: число на стороне двигателя тоньше, чем повторяемость передачи. Тонкость не является ограничением.

МодельРазрешение энкодера внутреннего контураРазрешение энкодера внешнего контураКоличество энкодеровЛюфт по публикацииПередаточное отношение
AKH70-48 V1.0 KV4121 бит21 бит212 arcmin48:1
AKH70-16 V1.0 KV4121 бит21 бит212 arcmin16:1
AK70-9 V3.0 KV6021 бит21 бит218 arcmin9:1
AK70-10 KV10014 битне опубликовано10.2°10:1
AKE50-8 KV110не указаноне указаноне указано9 arcmin8:1

Опубликованные строки по энкодеру и люфту, процитированные дословно с каждой страницы продукта производителя. Единица люфта не согласована между страницами: пара AKH70 и AK70-9 указывают arcmin, тогда как AK70-10 указывает градусы. Величины воспроизведены с той единицей, которую использует каждая страница. Строка, показанная как не указанная, означает, что в приведённой карточке продукта не опубликовано значение для неё; отсутствующая строка не является доказательством отсутствия функции.

Один энкодер против двух

Наиболее полезное сравнение в этом диапазоне — не между семействами продуктов, а между двумя модулями почти одинакового размера. AK70-9 V3.0 имеет 89 mm в диаметре и 49 mm в длину, работает со ступенью 9:1 и публикует два энкодера по 21 бит каждый. AK70-10 KV100 имеет 89 mm в диаметре и 50.25 mm в длину, работает со ступенью 10:1 и публикует один энкодер на 14 бит. Почти тот же габарит, соседние отношения, совершенно разная обратная связь. Количество датчиков — это не рейтинг. Один датчик сам по себе не делает модуль менее способным, поскольку результат зависит также от передачи, точности датчика, алгоритма управления и приложения. Здесь различается то, что система способна наблюдать напрямую.

Что даёт второй датчик

При одном датчике на валу двигателя выходное положение выводится: контроллер берёт угол двигателя, делит на передаточное отношение и предполагает, что передача жёсткая. При втором датчике на выходном валу выходное положение измеряется. Разница не в небольшом улучшении разрешения энкодера. Это разница между моделью передачи и её измерением.

CubeMars формулирует это в эксплуатационных терминах на AK70-9 V3.0, где конструкция с двумя энкодерами описывается как энкодеры на входной и выходной стороне, повышающие точность позиционирования и надёжность системы, а конструкция с замкнутым контуром описывается как сохраняющая информацию о положении после потери питания. Пара AKH70 несёт то же утверждение о сохранении выходного положения после потери питания.

Как делится линейка

В сравнительной таблице производителя десять модулей несут обозначение двух энкодеров, одиннадцать — обозначение одного и пять не имеют записи вообще. Модули без записи находятся в серии квазипрямого привода AKE, которая в той же таблице также не имеет платы драйвера. Два энкодера — это не признак, который плавно растёт с размером в этом диапазоне; он следует за поколением модуля и за стоящим за ним конструкторским замыслом.

Абсолютный против инкрементального

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

CubeMars сообщает, что выходное положение сохраняется после потери питания у пары AKH70 и у AK70-9 V3.0, при этом формулировка AK70-9 ссылается на конструкцию с замкнутым контуром и двойным зубчатым зацеплением. Опубликованные строки для этих модулей дают тип энкодера как магнитный и разрешение в битах; они не сообщают, является ли датчик абсолютным или инкрементальным, и сохранённое положение само по себе не является доказательством ни того, ни другого. Три вещи раздельны: утверждение производителя о сохранённом положении, принцип измерения датчика и поведение всего привода на протяжении цикла питания и восстановления после отказа.

Разрешение энкодера — не то, что разделяет два случая. Инкрементальный энкодер на стороне двигателя оставляет выходной угол неизвестным после цикла питания, потому что состояние передачи ему неизвестно; вопрос не в том, насколько точно измерен угол, а в том, переживает ли он выключение. Там, где машине нужен выходной угол сразу при включении питания, требованием является схема абсолютной обратной связи по положению на стороне выхода, поддерживаемая приводом, проверенная по документации производителя для конкретного модуля. Даже тогда системе может всё ещё потребоваться калибровка, проверка по референсу или контролируемая последовательность запуска.

Между тем, что сообщает двигатель, и тем, что делает звено

Люфт — это угловая слабина в передаче, и это число, которое ставит разрешение энкодера в перспективу. Пара AKH70 публикует 12 arcmin, AK70-9 V3.0 публикует 18 arcmin, AK70-10 KV100 публикует 0.2°. AKE50-8 KV110 публикует 9 arcmin. Каждая величина цитируется с той единицей, которую использует её собственная страница, потому что страницы не согласны в единице.

Полоса намного шире шага

Сопоставление с выведенными выше отсчётами даёт следующее. Сочленение с люфтом 12 arcmin имеет 0.2° угловой слабины. Датчик 14 бит на стороне двигателя за ступенью 10:1 даёт на выходе около 0.0022°, а датчик 21 бит на стороне выхода — около 0.000172°. Слабина примерно на два порядка грубее первой величины и на три порядка грубее второй. Что бы ни ограничивало повторяемость в этом сочленении, это не отсчёт.

Вот почему разрешение энкодера, указанное само по себе, вводит в заблуждение. Более тонкий датчик точнее измеряет вал двигателя, тогда как выход остаётся свободным занять любое место внутри полосы люфта. Второй датчик тоже не сужает эту полосу. Что делает энкодер на стороне выхода — делает полосу наблюдаемой, чтобы контроллер видел разницу между заданным и фактическим выходным положением. Наблюдать эту разницу — не то же самое, что компенсировать её: способен ли контур затем её скорректировать, зависит от построения управления, полосы пропускания, частоты выборки и нагрузки.

Выбор передаточного отношения — отдельное решение, и здесь оно не пересматривается; компромиссы низкого отношения изложены в Актуаторы квазипрямого привода: что даёт отношение 8:1. Разрешение энкодера взаимодействует с этим выбором, но не заменяет его.

Где дополнительное разрешение энкодера перестаёт помогать

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

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

Именно арифметика задаёт рамку этого сравнения. При 12 arcmin полоса имеет ширину 0.2°, если предположить, что обе величины опираются на одно определение люфта. Разрешение энкодера 21 бит на выходе даёт около 0.000172° на отсчёт внутри этой полосы. Это сравнение приращения квантования с опубликованной величиной люфта, а не измерение того, насколько близко сочленение возвращается к заданному положению.

Есть второе ограничение, ближе к электронике. Разрешение энкодера — это утверждение о датчике, а не о шумовом пороге, который его питает. Отсчёт тоньше электрического шума в тракте обратной связи сообщает шум, а не движение, а контроллер, гонящийся за этим шумом, начнёт колебаться. Там, где лист спецификации и измеренное поведение расходятся, имеет значение измеренное поведение.

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

Когда второй датчик оправдывает свою стоимость

Есть случаи, когда второй датчик оправдывает своё место немедленно. Сочленение, которое должно проснуться, зная свой выходной угол. Сочленение, передача которого будет изнашиваться и где контроллер иначе продолжал бы доверять исходному отношению. Сочленение, в силовом тракте которого между модулем и звеном есть податливый элемент. В каждом случае выигрыш одинаков: контроллер перестаёт угадывать, что делает передача, и никакое количество дополнительного разрешения энкодера на стороне двигателя этого не заменяет.

Согласование обратной связи с задачей

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

Модули сочленений с редуктором

Для сочленения ноги или манипулятора за планетарной ступенью важен энкодер сочленения робота на стороне выхода, потому что передача — доминирующий источник ошибки. AKH70-48 несёт 48:1 и публикует 21 бит на обоих контурах; AKH70-16 несёт 16:1 с той же парой. Разрешение энкодера на стороне двигателя такого сочленения вторично по отношению к знанию того, где фактически находится выход. Модули этой группы перечислены в разделе Роботизированные актуаторы, а контекст применения этого класса — вместе с Модули суставов.

Колёсные приводы

Колёсный привод терпимее к выходному углу, чем сочленение, потому что нагрузка — непрерывное вращение, а не удерживаемая поза. Определяющим там является нагрузка, которую несёт ступица, а это отдельный шаг подбора; радиальная нагрузка на ступице рассмотрена в BLDC-двигатели для колёсных роботов: компоновка привода, режим и редукция. Ограничения по напряжению шины для этого класса изложены в Роботизированные актуаторы на 48 V: модели, выгоды и ограничения.

Прямой привод и безрамные конструкции

При устранении редуктора аргумент меняется. Безрамный двигатель соединяет ротор с нагрузкой без редукции, поэтому нет ошибки передачи, которую нужно изолировать, и нет отношения, на которое умножались бы отсчёты. Безрамный инраннер RI80 V2.0 не публикует строку энкодера вообще: интеграция датчика Холла предлагается как опция, а высота ротора увеличена на 2 mm для удобства выравнивания датчика Холла. CubeMars описывает безрамную конфигурацию так, что опорные фланцы, интерфейсы привода и посадочные места энкодера остаются конструктору машины. Датчик становится решением конструктора машины, а не спецификацией модуля, а разрешение энкодера становится свойством того энкодера, который конструктор установит.

Модули группы квазипрямого привода, включая AKE50-8, перечислены в разделе Актуаторы квазипрямого привода, а безрамная линейка — в Безрамные моментные двигатели. Более широкое сравнение безрамных моделей доступно в Бескорпусные моментные моторы: сравнение 12 моделей от начального до производительного уровня.

Часто задаваемые вопросы

Сколько разрешения энкодера действительно нужно сочленению робота?

Столько, чтобы один отсчёт был тоньше ошибки, которую вносит остальная цепь, и не больше. В сочленении с редуктором и люфтом 12 arcmin слабина передачи составляет около 0.2°, что намного грубее шага, который любой датчик этого диапазона даёт на выходе. Как только разрешение энкодера становится намного тоньше слабины, одни лишь дополнительные биты вряд ли изменят то, что сочленение способно повторить.

Делает ли более высокое разрешение энкодера сочленение более точным?

Само по себе нет. Разрешение энкодера задаёт наименьшее изменение, которое датчик способен сообщить; точность на нагрузке определяется люфтом, податливостью, трением и тепловым состоянием. Более тонкий датчик на валу двигателя точнее измеряет двигатель, тогда как выход остаётся свободным занять любое место внутри полосы люфта.

В чём разница между одним энкодером и двумя?

Один датчик на валу двигателя позволяет контроллеру выводить выходное положение, деля угол двигателя на передаточное отношение. Второй датчик на выходном валу измеряет выходное положение напрямую. AK70-9 V3.0 публикует два энкодера по 21 бит каждый; AK70-10 KV100 публикует один на 14 бит, при этом строки внешнего кольца пусты.

Устраняет ли абсолютный энкодер необходимость повторного поиска исходной позиции после потери питания?

Он устраняет необходимость повторного поиска исходной позиции для того вала, который измеряет. CubeMars сообщает, что выходное положение сохраняется после потери питания у пары AKH70 и у AK70-9 V3.0, которые оба несут датчик на стороне выхода, но опубликованные строки для этих модулей не сообщают, является ли датчик абсолютным или инкрементальным. Модуль только с датчиком на стороне двигателя не может сделать то же утверждение о выходе, потому что состояние передачи после цикла питания ему неизвестно.

Насколько люфт отнимает у разрешения энкодера?

Люфт не снижает разрешение энкодера; он лежит вне его. Опубликованные величины люфта в этом диапазоне — от 9 arcmin у AKE50-8 до 18 arcmin у AK70-9 V3.0, против шагов на стороне выхода порядка 0.000172° для выходного датчика 21 бит. Слабина — более грубая величина на несколько порядков, поэтому именно она задаёт то, что сочленение способно повторить.

Задание обратной связи идёт после задания модуля: момент, отношение, масса и напряжение шины сначала, затем датчик, который измеряет оставшееся. Разрешение энкодера не следует оптимизировать изолированно: оно относится к целевой точности позиционирования, месту обратной связи, характеристикам передачи и архитектуре управления. Для приложений, которым нужно тонкое управление на низкой скорости или известный выходной угол при включении, архитектура обратной связи — самостоятельное требование, а не последняя деталь. Модули можно отфильтровать по этим механическим величинам в разделе Подбор и сравнить рядом в Сравнение продуктов. Более широкое рассмотрение интегрированных модулей сочленений доступно в Роботизированные актуаторы: выбор интегрированного актуатора для шарниров.