Відстеження обертання з надзвичайно високою точністю


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,008 см або 80 мкм. Це правильно? Чи здатний мотор до такої точності? (2×π×10cм)/(360˚/0,05)
gbulmer

3
Хочете поділитися вашою реальною проблемою тут? Можливо, рішення набагато простіше і лежить в іншій площині.
Євген Ш.

Відповіді:


12

Те, що ти робиш, можливо, але я не бачу, як ти будеш це робити дешево.

.05 градусів (3 хвилини дуги) передбачає роздільну здатність 7200 підрахунків / об. / Еквівалент 13 біт (8192). Гірше, оскільки ви намагаєтеся зробити цикл позиції, вам знадобиться принаймні один додатковий біт роздільної здатності або 14-бітова система. Проблема полягає в тому, що ваша петля позиції не може виявити помилку меншою ніж один біт, тому, якщо рука почне дрейфувати, датчик кута не визначить її, поки вихід не вимкнеться. Петля позиції поверне руку назад в інший бік і перестане керувати нею, коли помилка опуститься до нуля. Але це дозволить руці розгойдуватися в інший бік, поки вона не отримає відлік у зворотному напрямку і т. Д. Так, наприклад, якщо ви хочете, щоб рука підтримувала кількість датчиків 100, система цілком може виробляти 100, 101, 100 , 99, 100 тощо.

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

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

Ваша стурбованість щодо точності оптичного кодера заснована на папері конкретного виробника, але це, по суті, лякає. Можливості помилок однакові для кожного виробника, і пов'язаний виробник не є якось кращим, ніж інші виробники. Як правило, для точних кодерів точність така ж, як і роздільна здатність.

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


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

@sasha - Я думаю, що вам потрібно дуже уважно поставитися до процесу, необхідного для отримання магнітного кільця. Я дуже сумніваюся, що ви зможете зробити це самостійно. Хоча аркуш даних пропонує досить полегшені допуски, я б дуже захоплювався будь-яким подібним "чимось дарма". Крім того, якщо у вас немає можливостей перевірити точність до 3 хв / 80 мкм, я думаю, вам краще дозволити професіоналам впоратися з можливими неточностями. Майте на увазі пов'язаний папір.
WhatRoughBeast

Помічено! Зважаючи на це, я мав би дати зрозуміти: я мав намір використати сумісно розроблене (багатополюсне) магнітне кільце, призначене самими AMS, у таблиці даних AS5311; це кільце: ams.com/eng/Products/Position-Sensors/Magnets/AS5000-MR10-128
sasha

@sasha - Це добре, але у мене є питання, як ви змонтуєте кільце точно концентрично з віссю вала. Будь-яка ексцентриситет виявиться у відновленому куті.
WhatRoughBeast

4

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


"Додатковий опорний датчик" призначений саме для абсолютного положення, правильно? (подібно до кінцевого вимикача у разі руху крокового кроку). Чи можете ви пояснити свою пропозицію щодо використання "токарної машини для належного пристосування"? Ви маєте на увазі, як паз для кільця, щоб сидіти? Якщо так, то як можна запевнити, що канавка знаходиться в ідеальному положенні, коли вирізання з ЧПУ може бути не таким точним?
саша

@sasha Поворотна машина для встановлення магнітного кільця, доп. датчик для визначення опор. Екстремальний датчик + нульовий імпульс від кодера запевнить, що у вас завжди буде однакова абсолютна посилання, яка у вашому випадку може бути не потрібна. Я зробив кріплення LIDAR з використанням крокових мікроскопів та планетарних шестерень, без зворотного зв'язку - єдиним абсолютним положенням були обмежувачі, щоб запобігти повороту та розриву кабелів. Припустимо, вам доведеться посилатися на певний об'єкт, а потім робити відносні рухи. Таким чином, LIDAR працює, якщо так вам не потрібна позиція нульової позиції.
Marko Buršič

4

Оскільки це питання мозкового штурму, а WhatRoughBeast вже згадував усе, що я вважав би, чому б не додати до списку гармонічні диски? Теоретично (я не перевіряв емпіричні оцінки чи перші розрахунки), це дозволяє легко отримати передавальне співвідношення 20: 1 без будь-якого люфту (100: 1 є загальним), знизивши кількість необхідних кроків до 720 / об. . Це може бути щось, на що варто поглянути. Гармонічні приводи коштують недешево, але вони, як правило, значно дешевші, ніж датчики високої роздільної здатності, особливо для цього передавального коефіцієнта.


3

Якщо вам потрібна роздільна здатність на вихідному валу, що відповідає 13-бітовій, вам потрібно більше зайвих бітів, принаймні 1 біт для управління замкнутим циклом є обов'язковим. Наступна проблема полягає в тому, що виробники рекламують роздільну здатність, але не рекламують точність . Вам потрібно наполегливо просити точності. Якщо помилка повторюється, ви можете покращити використання програмного виправлення.

Ще одне питання, якщо вам потрібно важке рішення на відкритому повітрі. Якщо так, то магнітний кодер - це варіант. Але магнітний кодер може мати значну повторювану періодичну помилку, яку потрібно усунути в процесі калібрування за допомогою іншого оптичного широкого кодера. Але вам потрібен джиг, який зробив ще більшу точність ширини.

Інтерполяція sin / cos (оптична чи магнітна) збільшує роздільну здатність, але також додає деяку випадкову помилку.

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

Якщо вам потрібні обертання кронштейна (не тільки положення колії), тоді вирішується прямий привід і крутний момент. Подвійний контур допомагає в управлінні, але потребує двигуна (кодер у разі коробки передач або підрахунку кроків у разі кроку) та зондування положення вала.

Прирістний та абсолютний кодер також є фундаментальним рішенням.

Загальна порада: якщо ви хочете закінчити проект, використовуйте дорогі професійні компоненти (наприклад, оптичні кодери 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-бітний АЦП звичайного MCU дуже добре виконає роботу для більшого нелінійного діапазону. Після того, як ви зробили механізм, проаналізуйте схему наближення та виберіть найбільш лінійну частину, за допомогою деякого програмного відображення рядків розподіліть її та виберіть межі лінійки для конкретної установки.

Крокові мотори не є ідеальними. Згідно з wikipedia, вони можуть мати до 5% відхилення між зубами. Щоб виміряти помилку, ви можете розширити первинні межі лінійки за допомогою вторинних меж, які просто повинні слідувати схемі градієнта попереднього аналізу сусідньої межі.

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


Крокові двигуни навряд чи будуть кращими, ніж кодери - а мікроступінчастість, як відомо, нелінійна.
Кріс Страттон

Мікроступінчастість не посилається ні на що, не потрібно статичних проміжних кроків. Це лише для уникнення прискорення. @ChrisStratton
Айхан

1

Маючи справу з механікою, почніть спочатку з механіки.

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

Обертаючи велику передачу (R2) на кут, мала передача (R1) обертається на кут R2 / R1 в рази більший.

Тому якщо ви маєте справу з дуже екстремальною точністю кута на заданому радіусі (R), ви можете мати справу з n-кратною точністю кута на n-кратному меншому радіусі (тобто R / n).

У вашому випадку ви можете встановити велику передачу на вісь руки і прикріпити до неї меншу передачу, а потім приєднати більш малий датчик.

Багато інших способів передачі відомі і корисні, починаючи з вікі .


Це вводить люфт і точне виготовлення є проблемою. Іншими словами, це безумовно підвищує точність, але важливою є точність.
ТМа

1

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


1

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


0

Я не знаю, що ви вважаєте фортуною, але ви, можливо, захочете розглянути http://www.inductosyn.com/


+ Я збирався опублікувати, щоб розглянути питання про розв’язання або RVDT
JonRB

3
Це досить слабка відповідь, по суті це лише посилання. Найкраще, якщо ви могли б трохи пояснити, з чим ви посилаєтесь.
tcrosley

@tcrosley: У цьому випадку, замість того, щоб забезпечити повністю продуману конструкцію та вичерпний опис схеми, (як це зазвичай моє бажання) я вирішив надати посилання, оскільки він натякає на пристрій / систему, здатну вирішити 360 градусів на 7200 частин на градус кута, а основну частину ніжки та проектні зусилля залишили в ОП. Чому це робить мене поганим хлопцем?
EM Fields

2
@EMFields Моя проблема полягала не в тому, що ви не надали свій власний дизайн, натомість це не дуже гарна ідея просто розмістити посилання тут як відповідь, тому що в якийсь момент може піти погано - хтось повинен опублікувати як посилання, так і якийсь супровідний текст, щоб читач міг шукати подібний елемент або технологію, навіть якщо посилання більше не діє. У вашому випадку ви опублікували посилання на домашню сторінку компанії, що є менш ймовірним. Див. "Надання контексту для посилань" на цій сторінці .
tcrosley

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

0

Ще одним дуже цікавим варіантом, якщо ваша рука регулярно переходить у початкове положення (відпочинок), - це використовувати оптичну (ігрову) мишку, а точніше її систему зондування.

Встановіть його датчик на кінчику вашої руки і забезпечте гарне (тонкозернисте, невідбиваюче) фон для ковзання. Зчитування даних через стандартний інтерфейс миші USB.

Для калібрування початкового положення знадобиться простий датчик. Вам доведеться експериментувати, щоб перевірити, чи працює це досить добре. Він повинен працювати в основному незалежно від пилу і простий в обслуговуванні.


0

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

Удачі!

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.