Отслеживание вращения с чрезвычайно высокой точностью


14

Я хотел бы отследить угловое положение довольно медленного вращающегося рычага с электроприводом (прямой привод; см. Рисунок ниже), но требовать угловой точности менее 0,05 ° и аналогичного разрешения.

Как отметил @gbulmer в комментариях, это эквивалентно позиционированию кончика рычага по окружности с точностью (2 × π × 10 см) / (360˚ / 0,05) = 0,08 мм.

Рисование

Есть ли в настоящее время реализуемый датчик или электронный метод, который может достичь такого уровня точности при вращательном зондировании, не тратя целое состояние?


Это то, что я пробовал до сих пор, от самого простого до запутанного:

  • Цифровой компас / магнитометр: я начал с этого; но, очевидно, далеко не в спектакле, который я ищу.

  • Поворотное кодирование: кодирование на основе потенциометра / датчика Холла: невозможно получить достаточное разрешение, имеется значительная погрешность линейности.

  • Машинное зрение. Попытка размещения оптического маркера на кончике рычага (поскольку кончик отслеживает самую длинную дугу) и использование камеры (OpenCV) для отслеживания положения маркера: не удалось так хорошо разрешить очень маленькие повороты, учитывая интервалы вращения руки площадь 10х10 см.

  • Магнитный датчик: В настоящее время я изучаю использование AS5048, магнитного поворотного датчика от AMS, расположенного так, чтобы центр датчика находился в положении вала двигателя. Что-то вроде этого:

введите описание изображения здесь


1
Почему бы не рассмотреть датчик положения вала (он также может быть магнитным)? Квадратурные энкодеры могут иметь довольно высокую точность. Взять один с 2000 строк. После квадратуры это будет 8000 импульсов за оборот. Разрешение 360/8000 = 0,045 градусов
Евгений Ш.

Кстати, система ориентирована?
Евгений Ш.

@EugeneSh: система не ориентирована. Прямой привод. Кроме того, насколько я знаю, проблема с поворотными датчиками положения заключается в том, что, хотя их разрешение и высокое, их точность недостаточна. Например, погрешность магнитного поворотного энкодера может составлять до 1 градуса в зависимости от спецификаций. Оптические кодеры, которые вы видели в этом смысле, значительно лучше?
саша

Просто чтобы убедиться, что я понял, я рассчитываю, что вы хотите знать положение кончика руки с точностью до разрешения, и точность , который является 0.008cm, или 80 мкм. Это верно? Способен ли двигатель с такой точностью? (2×π×10см)/(360˚/0,05)
gbulmer

3
Хотите поделиться с вами настоящей проблемой здесь? Возможно, решение намного проще и лежит в другой плоскости.
Евгений Ш.

Ответы:


12

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

0,05 градуса (3 минуты дуги) означают разрешение 7200 отсчетов / оборот или эквивалент 13 бит (8192). Хуже того, поскольку вы пытаетесь сделать контур положения, вам потребуется хотя бы один дополнительный бит разрешения или 14-битная система. Проблема заключается в том, что ваш контур положения не может обнаружить ошибку менее одного бита, поэтому, если рука начинает дрейфовать, датчик угла не обнаружит ее до тех пор, пока выходной сигнал не станет одним битом. Цикл позиционирования отводит рычаг назад и останавливает его, когда ошибка падает до нуля. Но это позволит руке поворачиваться в другую сторону, пока она не получит счет в противоположном направлении и т. Д. Так, например, если вы хотите, чтобы рука поддерживала счетчик датчиков равным 100, система вполне может произвести 100, 101, 100 99, 100 и т. Д.

Я полагаю, что оптический кодировщик - ваш лучший выбор, но 14-битный (16 384 ppr) кодер не будет дешевым. Другой возможностью является распознаватель или синхро, с RDC или SDC (преобразователь / цифровой преобразователь или синхронно / цифровой преобразователь) в качестве второй возможности, но это будет стоить еще дороже. Синхронизаторы / преобразователи имеют 2 недостатка. Во-первых, их обычно заменяют оптические энкодеры, поэтому на рынке вы найдете в основном лишние единицы. Во-вторых, точность обычно не адекватна. Резольверы размера 23 обычно рассчитаны на 5-10 минут дуги, поэтому вам понадобится высокоточный блок и удачи в его поиске.

Inductosyns даст вам исключительное разрешение и точность, но будет стоить даже дороже, чем оптический датчик. По сути, вам нужен высокоскоростной RDC для чтения вывода.

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

Хотя возможно получить оптические кодеры с параллельными выходами, вам, вероятно, лучше использовать инкрементальный датчик и использовать собственный счетчик вверх / вниз. Если вы пойдете по этому пути, вы будете использовать сигнал «home» для сброса счетчика положения при каждом включении системы.


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

@ Саша - Я думаю, вам нужно очень внимательно посмотреть на процесс, необходимый для изготовления магнитного кольца. Я очень сомневаюсь, что вы сможете сделать это самостоятельно. Несмотря на то, что в техническом описании можно использовать довольно смягченные допуски, я бы очень остерегался любого такого «чего-то напрасного». Кроме того, если у вас нет средств для проверки точности до 3 мин / 80 мкм, я думаю, вам лучше позволить профессионалам справиться с возможными неточностями. Помните связанную бумагу.
WhatRoughBeast

Отметил! Тем не менее, я должен был прояснить: я намеревался использовать совместимое (мультипольное) магнитное кольцо, предписанное самими AMS в спецификации AS5311; это кольцо: ams.com/rus/Products/Position-Sensors/Magnets/AS5000-MR10-128
саша

@sasha - Хорошо, но у меня проблема в том, как установить кольцо точно концентрически с осью вала. Любой эксцентриситет проявится в восстановленном угле.
WhatRoughBeast

4

Я думаю, что предложение ОП - совсем не плохая идея. Он хочет использовать готовое кольцо: http://ams.com/eng/Products/Position-Sensors/Magnets/AS5000-MR10-128 , оно имеет 128 полюсов = 64 пары полюсов. Разрешение составляет 16 бит = 65536, максимум 305 об / мин.
Если вы разберете оптический датчик высокого разрешения, вы обнаружите, что практически невозможно настроить детектор без специальных инструментов, ведь использование этого нового метода делает это очень простым.
Вам понадобится токарный станок, чтобы правильно подогнать кольцо, а затем поместить датчик на близкое расстояние, не требуется никакого специального выравнивания. Сам датчик поставляется в версиях комплекта, уже припаянных к плате коммутатора. Вам потребуется дополнительный эталонный датчик - щель с фотоприемником, после чего вы можете ссылаться на энкодер в пределах одной пары полюсов с помощью комбинации выходного индекса + датчика экстренной ссылки.


«Дополнительный эталонный датчик» предназначен только для абсолютного положения, верно? (аналогично концевому выключателю в случае перемещения шагового ЧПУ). Также можете ли вы объяснить свое предложение об использовании «токарного станка для правильной посадки»? Вы имеете в виду, как паз для кольца, чтобы сидеть в? Если это так, как вы можете убедиться, что канавка находится в идеальном положении, если сам разрез с ЧПУ может быть не таким точным?
Саша

@sasha Токарный станок для установки магнитного кольца, доп. Датчик для обнаружения ссылки. Датчик Ext + нулевой импульс от датчика гарантирует, что у вас всегда будет одно и то же абсолютное задание, которое в вашем случае может не потребоваться. Я сделал крепление LIDAR с использованием шаговых микропереходов и планетарных редукторов, без обратной связи - единственным абсолютным положением были концевые выключатели, предотвращающие поворот и разрыв кабеля. Предположим, вам нужно будет сослаться на определенный объект, а затем делать относительные движения, таким образом, работает ЛИДАР, если вам не нужна исходная нулевая позиция.
Марко Буршич

4

Поскольку это вопрос мозгового штурма, а WhatRoughBeast уже упомянул все, что я хотел бы рассмотреть, почему бы не добавить гармонические диски в список? Теоретически (я не проверял эмпирические оценки или первые расчеты), он позволяет легко получить передаточное число 20: 1 без какой-либо обратной реакции (обычно 100: 1), что снижает количество необходимых шагов до 720 / об. , Может быть стоит посмотреть. Гармонические приводы недешевы, но они обычно намного дешевле, чем датчики высокого разрешения, особенно для такого передаточного числа.


3

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

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

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

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

Если вам нужно вращение рычага управления (а не только положение гусеницы), тогда необходимо разрешение прямого привода и крутящего момента. Двойной контур помогает в управлении, но требует двигателя (датчик в случае коробки передач или подсчета шагов в случае шагового двигателя) и определения положения вала.

Инкрементальный или абсолютный энкодер также является фундаментальным решением.

Общий совет: если вы хотите закончить проект, используйте профессиональные компоненты, которые стоят дорого (например, оптические энкодеры Renishaw ATOM). Если вы играете для удовольствия, а время не имеет значения, тогда вы можете заново изобретать проблемы (тупики), обнаруживать неугодные проблемы и т. Д. Дважды проверьте, можете ли вы изготовить аппарат с необходимой точностью.


3

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

Как работает электронный штангенциркуль?

Они похожи на емкостные энкодеры (которые вы уже видели в http://www.digikey.com/en/articles/techzone/2012/apr/a-designers-guide-to-encoders ).

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

PS: Точность даже позволит вам работать с готовой линейной.


2

Вот моя новая идея, еще одна история о шаговом двигателе :-)

введите описание изображения здесь

Нажмите на анимированное изображение, чтобы увидеть полное изображение без резкости. Здесь вы используете шаговый двигатель в качестве путевой линейки. На кончике основной руки есть магнит. Красные линии показывают ожидаемое направление магнитного потока. Предполагая, что шаговый двигатель похож на тот, что в Википедии. Он имеет 3,6 градуса одного полного шага. Для предположительно линейной части поля вам нужно 3,6 / 0,05 = 72 комбинации из 7 битов. Это означает, что 10-разрядный АЦП обычного микроконтроллера будет очень хорошо выполнять работу для большего нелинейного диапазона. После того как вы сделали механизм, проанализируйте шаблон приближения и выберите наиболее линейную часть, с помощью некоторого программного обеспечения сопоставьте его с линией и выберите границы линейки для этой конкретной установки.

Шаговые двигатели не идеальны. Согласно википедии у них может быть до 5% различий между зубами. Чтобы измерить ошибку, вы можете расширить первичные границы линейки второстепенными границами, которые просто должны следовать шаблону градиента предыдущего анализа соседней границы.

Кроме того, вам лучше использовать шаговый двигатель с микрошагом, чтобы избежать ускорений +/-, которые могут повлиять на шкалы настройки, я думаю, по крайней мере, вы должны сделать половину шага.


Шаговые двигатели вряд ли будут лучше, чем энкодеры, а микрошаг является нелинейным.
Крис Страттон

Микрошаг не предназначен для ссылки на что-либо, не требуется статический промежуточный шаг. Это просто для того, чтобы избежать ускорения. @ChrisStratton
Айхан

1

Имея дело с механикой, начните с механики сначала.

введите описание изображения здесь

Вращая большую (R2) шестерню на угол, маленькая шестеренка (R1) вращается на угол R2 / R1 раз больше.

Поэтому, если вы имеете дело с очень экстремальной точностью угла на заданном радиусе (R), вы можете иметь дело с n-кратной точностью угла в n-кратном радиусе (то есть R / n).

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

Многие другие методы зацепления известны и полезны, начиная с вики .


Это вводит обратную реакцию, и точное производство - проблема. Другими словами, это определенно увеличивает точность, но важна точность.
ТМа

1

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


1

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


0

Я не знаю, что вы считаете удачей, но вы можете рассмотреть http://www.inductosyn.com/


+ Я собирался опубликовать, чтобы рассмотреть или решатели или RVDT's
JonRB

3
Это довольно слабый ответ, по сути являющийся только ссылкой. Лучше всего, если бы вы могли немного объяснить, на что вы ссылаетесь.
Тросли

@tcrosley: В данном случае вместо предоставления полностью продуманного дизайна и исчерпывающего описания схемы (как обычно я обычно) я решил предоставить ссылку, поскольку она ссылается на устройство / систему, способную разрешать 360 градусов в 7200 частей на градус, и оставил основную часть работы по ногам и проектных усилий на OP. Почему это делает меня плохим парнем?
EM Fields

2
@EMFields Моя проблема заключалась не в том, что вы не предоставили свой собственный дизайн, вместо этого не стоит просто размещать здесь ссылку в качестве ответа, потому что в какой-то момент она может испортиться - нужно опубликовать как ссылку, так и своего рода сопроводительный текст, чтобы читатель мог искать похожий элемент или технологию, даже если ссылка больше не действительна. В вашем случае вы разместили ссылку на домашнюю страницу компании, которая вряд ли испортится. См. «Обеспечение контекста для ссылок» на этой странице .
tcrosley

1
@tcrosley: Я ценю вашу точку зрения, но только название бренда "Inductosyn" (которое уже может быть близко к общему термину) должно привести к искреннему раздражению на пути к просветлению, является ли цель ссылки живой или мертвой. Google "Inductosyn", и вы увидите, что там гораздо больше информации, чем я хотел бы потратить вечерний попугай.
EM Fields

0

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

Установите датчик на кончик руки и обеспечьте хороший (мелкозернистый, неотражающий) фон для скольжения. Считать данные через стандартный интерфейс USB-мыши.

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


0

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

Удачи!

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.