Хочу поділитися з вами результатами реверс-інжинірингу uArm - простого настольно маніпулятора з оргскла на сервоприводах.
Проект uArm від uFactory зібрав кошти на кікстартера вже більше двох років тому. Вони з самого початку говорили, що це буде відкритий проект, але відразу після закінчення компанії вони не поспішали викладати вихідні. Я хотів просто порізати оргскло по їх кресленнями і все, але так як початкових кодів не було і в доступному для огляду майбутньому не передбачалося, то я почав повторювати конструкцію з фотографій.
Зараз моя робо-рука виглядає так:
Працюючи не поспішаючи за два роки я встиг зробити чотири версії і отримав досить багато досвіду. Опис, історію проекту та всі файли проекту ви зможете знайти під катом.
Проби і помилки
Починаючи працювати над кресленнями, я хотів не просто повторити uArm, а поліпшити його. Мені здавалося, що в моїх умовах цілком можна обійтися без підшипників. Так само мені не подобалося те, що електроніка обертається разом з усім маніпулятором і хотілося спростити конструкцію нижньої частини шарніра. Плюс я почав малювати його відразу трохи менше.
З такими вхідними параметрами я намалював першу версію. На жаль, у мене не збереглося фотографій тієї версії маніпулятора (який був виконаний у жовтому кольорі). Помилки в ній були просто епічно. По-перше, її було майже неможливо зібрати. Як правило, механіка яку я малював до маніпулятора, була досить проста, і мені не доводилося замислюватися про процес складання. Але все-таки я його зібрав і спробував запустити, І рука майже не рухалася! Все Детльов крутилися навколо гвинтів і, кщо я затягував їх так, щоб було менше люфтів, вона не могла рухатися. Якщо послаблював так, щоб вона могла рухатися, з'являлися неймовірні люфти. У підсумку концепт не прожив і трьох днів. І приступив до роботи над другою версією маніпулятора.
Червоний був уже цілком придатний до роботи. Він нормально збирався і з мастилом міг рухатися. На ньому я зміг протестувати софт, але все-таки відсутність підшипників і великі втрати на різних тягах робили його дуже слабким.
Потім я закинув роботу над проектом на якийсь час, але незабаром прийняв рішення довести його до пуття. Я вирішив використовувати більш потужні і популярні сервоприводи, збільшити розмір і додати підшипники. Причому я вирішив, що не буду намагатися зробити відразу все ідеально. Я накидав креслення на швидку руки, не викреслюючи красивих сполучень і замовив різання з прозорого оргскла. На отриманому маніпуляторі я зміг налагодити процес складання, виявив місця, які потребують додаткового зміцнення, і навчився використовувати підшипники.
Після того, як я вдосталь награвся з прозорим маніпулятором, я засів за креслення фінальної білої версії. Отже, зараз вся механіка повністю налагоджена, влаштовує мене і готовий заявити, що більше нічого не хочу міняти в цій конструкції:
Мене пригнічує те, що я не зміг привнести нічого принципово нового в проект uArm. На той час, як я почав малювати фінальну версію, вони вже викотили 3D-моделі на GrabCad. У підсумку я тільки трохи спростив клешню, підготував файли в зручному форматі і застосував дуже прості і стандартні комплектуючі.
особливості маніпулятора
До появи uArm, настільні маніпулятори подібного класу виглядали досить похмуро. У них або не було електроніки взагалі, або було яке-небудь управління з резисторами, або було своє пропрієтарних ПО. По-друге, вони як правило не мали системи паралельних шарнірів і сам захоплення міняв своє становище в процесі роботи. Якщо зібрати всі достоїнства мого маніпулятора, то виходить досить довгий список:
- Система тяг, що дозволяють розмістити потужні я важкі двигуни у підставі маніпулятора, а також утримують захоплення паралельно або перпендикулярно підставі
- Простий набір комплектуючих, які легко купити або вирізати з оргскла
- Підшипники майже у всіх вузлах маніпулятора
- Простота складання. Це виявилося дійсно складним завданням. Особливо важко було продумати процес складання підстави
- Положення захоплення можна міняти на 90 градусів
- Відкриті вихідні коди і документація. Все підготовлено в доступних форматах. Я дам посилання для скачування на 3D-моделі, файли для різання, список матеріалів, електроніку і софт
- Arduino-сумісність. Є багато противників Arduino, але я вважаю, що це можливість розширити аудиторію. Професіонали цілком можуть написати свій софт на C - це ж звичайний контролер від Atmel!
Для побудови необхідно вирізати деталі з оргскла товщиною 5мм:
З мене за різку всіх цих деталей взяли близько $ 10.
Підстава монтується на великому підшипнику:
Особливо важко було продумати підставу з точки зору процесу складання, але я підглядав за інженерами з uArm. Гойдалки сидять на штифті діаметром 6мм. Треба відзначити, що тяга ліктя у мене тримається на П-образному тримачі, а у uFactory на Г-образному. Важко пояснити в чому різниця, але я вважаю у мене вийшло краще.
Захоплення збирається окремо. Він може повертатися навколо своєї осі. Сама клешня сидить прямо на валу двигуна:
В кінці статті я дам посилання на суперподробную інструкцію по збірці в фотографіях. За пару годин можна впевнено все це скрутити, якщо все необхідне є під рукою. Також я підготував 3D-модель в безкоштовній програмі SketchUp. Її можна завантажити, покриття і подивитися що і як зібрано.
електроніка
Щоб змусити руку працювати досить всього навсього підключити п'ять сервоприводів до Arduino і подати на них харчування з хорошого джерела. У uArm використані якісь двигуни зі зворотним зв'язком. Я поставив три звичайних двигуна MG995 і два маленьких двигуна з металевим редуктором для управління захопленням.
Тут моє оповідання тісно сплітається з попередніми проектами. З деяких пір я почав викладати програмування Arduino і для цих цілей навіть підготував свою Arduino-сумісну плату. З іншого боку якось раз мені підвернулася можливість дешево виготовити плати (про що я теж писав). У підсумку все це закінчилося тим, що я використовував для управління маніпулятором свою власну Arduino-сумісну плату і спеціалізований Шилд.
Цей Шилд насправді дуже простий. На ньому чотири змінних резистора, дві кнопки, п'ять роз'ємів для сервоприводу і роз'єм живлення. Це дуже зручно з точки зору налагодження. Можна завантажити тестовий скетч і записати який-небудь макрос для управління або що-небудь на зразок того. Посилання для скачування файлу плати я теж дам в кінці статті, але вона підготовлена для виготовлення з металізацією отворів, так що мало придатна для домашнього виробництва.
програмування
Найцікавіше, це управління маніпулятором з комп'ютера. У uArm є зручний додаток для управління маніпулятором і протокол для роботи з ним. Комп'ютер відправляє в COM-порт 11 байт. Перший з них завжди 0xFF, другий 0xAA і деякі з решти - сигнали для сервоприводів. Далі ці дані нормалізуються і віддаються на відпрацювання двигунів. У мене сервоприводи підключені до цифрових входів / виходів 9-12, але це легко можна поміняти.
Термінальна програма від uArm дозволяє дозволяє змінювати п'ять параметрів при управлінні мишею. При русі миші по поверхні змінюється положення маніпулятора в площині XY. Обертання коліщатка - зміна висоти. ЛФМ / ПКМ - стиснути / розтиснути клешню. ПКМ + коліщатко - поворот захоплення. Насправді дуже зручно. При бажанні можна написати будь-який термінальний софт, який буде спілкуватися з маніпулятором за таким же протоколу.
Я буду здесб приводити скетчі - скачати їх можна буде в кінці статті.
Файли для різання оргскла, 3D-моделі, список для покупки, креслення плати і софт можна скачати в кінці моєї основної статті.
Докладна інструкція по збірці в фотографіях (обережно, трафік).