Рука маніпулятор своїми руками креслення. Цікавий робот-маніпулятор на Arduino

Привіт!

Розповідаємо про лінійку колаборативних роботів-маніпуляторів Universal Robots.

Компанія Юніверсал-робот з родом з Данії, займається випуском колаборативних роботів-маніпуляторів для автоматизації циклічних виробничих процесів. У цій статті наведемо їх основні технічні характеристики та розглянемо сфери застосування.

Що це таке?

Продукція компанії представлена ​​лінійкою з трьох полегшених промислових маніпуляційних пристроїв із розімкненим кінематичним ланцюгом:
UR3, UR5, UR10.
Всі моделі мають 6 ступенів рухливості: 3 переносні та 3 орієнтуючі. Пристрої від Юніверсал-роботс роблять лише кутові переміщення.
Роботи-маніпулятори розділені на класи, залежно від максимально допустимого корисного навантаження. Іншими відмінностями є - радіус робочої зони, вага та діаметр основи.
Всі маніпулятори UR оснащені датчиками абсолютного положення високої точності, які спрощують інтеграцію з зовнішніми пристроямита обладнанням. Завдяки компактному виконанню, маніпулятори UR не займають багато місця і можуть встановлюватись у робочих секціях або на виробничих лініях, де не розміщуються звичайні роботи. Характеристики:
Чим цікавіПростота програмування

Спеціально розроблена та запатентована технологія програмування дозволяє операторам, які не володіють спеціальними навичками, швидко виконати налаштування роботів-маніпуляторів UR та керувати ними за допомогою інтуїтивної технології 3D-візуалізації. Програмування відбувається шляхом серії простих пересувань робочого органу маніпулятора в необхідні положення або натисканням стрілок у спеціальній програмі на планшеті.UR3: UR5: UR10: Швидке налаштування

Оператору, який виконує первинний запуск обладнання, знадобиться менше години для розпакування, монтажу та програмування першої простої операції. UR3: UR5: UR10: Колаборативність та безпека

Маніпулятори UR здатні замінити операторів, які виконують рутинні завдання у небезпечних та забруднених умовах. У системі управління ведеться облік зовнішніх впливів, що надають на робот-маніпулятор в процесі роботи. Завдяки цьому маніпуляційні системи UR можна експлуатувати без захисних огорож, поряд з робочими місцями персоналу. Системи безпеки роботів схвалені та сертифіковані TÜV – Спілкою працівників технічного нагляду Німеччини.
UR3: UR5: UR10: Різноманітність робочих органів

Наприкінці промислових маніпуляторів UR передбачено стандартизоване кріплення для встановлення спеціальних робочих органів. Між робочим органом та кінцевою ланкою маніпулятора можна встановити додаткові модулі силомоментних сенсорів або камер. Можливості застосування

З промисловими роботами-маніпуляторами UR відкриваються можливості автоматизації практично всіх циклічних рутинних процесів. Пристрої компанії Юніверсал-роботс відмінно зарекомендували себе різних областяхзастосування.

Перекладка

Встановлення маніпуляторів UR на ділянках перекладки та пакування дозволяє збільшити точність та зменшити усадку. Більшість операцій з перекладки може здійснюватись без нагляду. Полірування, буферування, шліфування

Вбудована система датчиків дозволяє контролювати точність і рівномірність зусилля на криволінійних і нерівних поверхнях.

Лиття під тиском

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

Клас захисту оболонки забезпечує можливість встановлення маніпуляційних систем для спільної роботизі верстатами ЧПУ. Упаковка та штабелювання

Традиційні технології автоматизації відрізняються громіздкістю та дорожнечею. Роботи UR, що легко настроюються, здатні працювати без захисних екранів поруч із співробітниками або без них 24 години на добу, забезпечую високу точністьта продуктивність. Контроль якості

Роботизований маніпулятор з відеокамерами придатний для проведення тривимірних вимірювань, що є додатковою гарантією якості продукції. Складання

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

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

Висока точність позиціонування робочого органу дозволяє скоротити кількість відходів під час операцій склеювання чи нанесення речовин.
Промислові роботи-маніпулятори UR можуть виконувати різні типи зварювання: дугову, точкову, ультразвукову та плазмову. Разом:

Промислові маніпулятори від Юніверсал-роботс компактні, легкі, прості в освоєнні та обігу. Роботи UR – гнучке рішення для кола завдань. Маніпулятори можна запрограмувати на будь-які дії властиві рухам людської руки, А обертальні рухи їм вдаються набагато краще. Маніпуляторам не властиві втома і страх отримати травму, не потрібні перерви та вихідні.
Рішення від Юніверсал-роботс дозволяють автоматизувати будь-який рутинний процес, що збільшує швидкість та якість виробництва.

Обговоріть автоматизацію ваших виробничих процесів за допомогою маніпуляторів Юніверсал-роботс офіційним дилером -

Доброї доби! Перед вами, дорогі арт-робот, який може розмальовувати різні сферичні або яйцеподібні предмети розміром від 4 до 9 см.

Для його виготовлення знадобиться 3D-принтер, набір стандартних інструментів Arduino.

Примітка: Не варто ставити хрест на проектах, які використовують 3D-принтер. За бажанням завжди можна знайти місце або спосіб, де можна замовити друк необхідних для проекту деталей.

Крок 1: Трохи про роботу

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

Для обертання сферичного предмета і переміщення маніпулятора використовуються високоточні крокові двигуни з високим моментом, що крутить, а для підйому механізму ручки - тихий і надійний сервопривід SG90.

Крок 2: Необхідні деталі

Для того, щоб зробити вироби своїми рукаминам знадобиться:

  • 2x підшипник 623;
  • Шпилька діаметром 3 мм та довжиною 80-90 мм;
  • 1x пружина (довжиною 10 мм та діаметром 4,5 мм);
  • 2x крокових двигуна NEMA 17 (крутний момент 4,4 кг/см);
  • Кабелі для двигунів (довжиною 14+70 см);
  • USB-кабель;
  • 1x сервопривід SG90;
  • Arduino Leonardo;
  • shield JJRobots;

  • 2xA4988 драйвери для крокових двигунів;
  • Блок живлення 12В/2A;
  • 11x гвинтів M3 6 мм;
  • 4x гвинта M3 16 мм;
  • 4x гайки M3;
  • 2x 20 мм присоски;
  • 1x гайка-баранчик M3;
  • 1x маркер;

Крок 3: Загальна схема

Як «шпаргалку» можете скористатися даною схемою.

Крок 4: Починайте!

Робот рухає маніпулятором із закріпленим на ньому маркером, що приводиться в дію кроковим двигуном. Інший кроковий двигун відповідає за поворот об'єкта, на який наноситься малюнок (яйце, кулька…). Для утримання предмета на місці використовуються дві присоски: одна, прикріплена до крокового двигуна, а друга на протилежному боці предмета. Маленька пружина давитиме на присоску, допомагаючи їй утримувати предмет. Для підняття/опускання маркеру використовується сервопривід SG90.

Крок 5: Маніпулятор

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

Крок 6: Присоски

Встановимо одну з присосок усередину отвору у тримачі предметів.

Крок 7: Кріплення крокових двигунів

Закріпимо обидва крокові двигуни до основної рами за допомогою 8 гвинтів.

Крок 8: Вісь обертання

Розмістимо всі елементи, як показано на зображенні вище.

  • Присоска;
  • Гайка;
  • Верхня частина;
  • Пружина;
  • Підшипник 623 (має бути вбудований у ліву чашку);
  • Ліва чашка;
  • Вільне місце для основної рами;
  • Права чашка;
  • Підшипник 623;
  • роздільне кільце;
  • Гайка-баранчик (M3).

Крок 9: Розташовуємо все на своїх місцях

Вставимо зібраний маніпулятор на вісь крокового двигуна.

Встановимо ліву опору на вісь крокового двигуна.

Маркер та яйце встановлені як приклад (зараз розміщувати їх не потрібно).

ПРИМІТКА: Сервопривід потребує коригування. Потрібно буде повторно встановити його кут під час процесу калібрування.

Крок 10: Електроніка

Закріпимо електроніку на тильній стороні основної рами за допомогою гвинтів (2-х буде достатньо).

Підключимо кабелі.

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

Крок 11: Програмування Arduino Leonardo

Запрограмуємо Arduino Leonardo за допомогою програмної середовища Arduino IDE (v 1.8.1).

  • Завантажимо Arduino IDE(v 1.8.1) та встановимо програму;
  • Запустимо програмне забезпечення. Виберемо плату Arduino Leonardo та відповідний COM-ПОРТ у меню «tools->board»;
  • Відкриємо та завантажимо код Sphere-O-Bot. Розпакуємо всі файли всередину однієї папки і назвемо її "Ejjduino_ARDUINO".

Крок 12: Арт-робот готовий до створення творів мистецтва

Крок 13: Управління роботом

Програмне забезпечення Inkscape.Завантажимо та встановимо програмне забезпечення Inkscape (рекомендую стабільну версію 0.91).

Завантажимо та встановимо розширення EggBot Control (версія 2.4.0 була повністю протестована).

Розширення EggBot Control для Inkscape – це інструмент, який необхідно використовувати при тестуванні та калібруванні EggBot, а також перенесенні малюнки на яйце. Спочатку потрібно запустити Inkscape. Після запуску Inkscape з'явиться меню «Розширення», а в ньому потрібно вибрати підменю «Eggbot». Якщо не бачите підменю Eggbot, ви неправильно встановили розширення. Виконайте резервне копіюваннята уважно дотримуйтесь інструкцій щодо встановлення розширень.

На цьому все, дякую за увагу!)

Робот-маніпулятор MeArm - кишенькова версія промислового маніпулятора. MeArm - простий у складанні та керуванні робот, механічна рука. Маніпулятор має чотири ступені свободи, що дозволяє легко захоплювати та переміщати різні невеликі предмети.

Цей товар представлений у вигляді набору для збирання. Включає такі частини:

  • набір деталей із прозорого акрилу для складання механічного маніпулятора;
  • 4 сервоприводи;
  • плата керування, на якій розташований мікроконтролер Arduino Pro micro та графічний дисплей Nokia 5110;
  • плата джойстиків, що містить два двокоординатні аналогові джойстики;
  • USB кабель живлення.


Перед збиранням механічного маніпулятора необхідно провести калібрування сервоприводів. Для калібрування будемо використовувати контролер Arduino. Приєднуємо сервоприводи до плати Arduino (необхідний зовнішнє джереложивлення 5-6В 2А).

Servo middle, left, right, claw; // Створення 4 об'єктів Servo

Void setup()
{
Serial.begin(9600);
middle.attach(11); // приєднує серво на контакт 11 на обертання платформи
left.attach(10); // приєднує серво на контакт 10 на ліве плече
right.attach(9); // приєднує серво на контакт 11 на праве плече
claw.attach(6); // приєднує серво на контакт 6 claw (захоплення)
}

Void loop()
{
// встановлює позицію сервоприводу за величиною (у градусах)
middle.write(90);
left.write(90);
right.write(90);
claw.write(25);
delay(300);
}
Використовуючи маркер, зробіть лінію через корпус серводвигуна та шпиндель. Підключіть пластмасову гойдалку з комплекту сервоприводу, як показано нижче за допомогою невеликого гвинта з комплекту кріплень сервоприводу. Ми будемо використовувати їх у цьому положенні при складанні механічної частини MeArm. Будьте обережні, щоб не перемістити положення шпинделя.


Тепер можна проводити складання механічного маніпулятора.
Візьмемо основу і прикріпимо ніжки до її кутів. Потім встановимо чотири 20 мм болта і накрутимо гайки (половину від загальної довжини).

Тепер кріпимо центральний сервопривід двома 8-мм болтами до маленької пластини, і конструкцію, що вийшла, кріпимо до основи за допомогою 20 мм болтів.

Збираємо ліву секцію конструкції.

Збираємо праву секцію конструкції.

Тепер необхідно з'єднати ліву та праву секції. Спочатку леую до перехідної пластини

Потім праву, і отримуємо

Приєднуємо конструкцію до платформи

І збираємо "клешню"

Кріпимо "клешню"

Для складання можна використовувати наступний посібник (англійською мовою) або посібник зі складання подібного маніпулятора (російською).

Схема розташування висновків

Тепер можна приступати до написання коду Arduino. Для керування маніпулятором, поряд з можливістю керування керування за допомогою джойстика, було б непогано спрямовувати маніпулятор до якоїсь певної точки декартових координат (x, y, z). Є відповідна бібліотека, яку можна завантажити з github - https://github.com/mimeindustries/MeArm/tree/master/Code/Arduino/BobStonesArduinoCode .
Координати вимірюються в мм від центру обертання. Вихідне положення знаходиться в точці (0, 100, 50), тобто 100 мм вперед від основи та 50 мм від землі.
Приклад використання бібліотеки для встановлення маніпулятора в певній точцідекартових координат:

#include "meArm.h"
#include

Void setup() (
arm.begin(11, 10, 9, 6);
arm.openGripper();
}

Void loop() (
// вгору і вліво
arm.gotoPoint(-80,100,140);
// захопити
arm.closeGripper();
// вниз, шкода і праворуч
arm.gotoPoint(70,200,10);
// відпустити захоплення
arm.openGripper();
// повернутися до початкової точки
arm.gotoPoint(0,100,50);
}

Методи класу meArm:

void begin(int pinBase, int pinShoulder, int pinElbow, int pinGripper) - запуск meArm, вказуються піни підключення для сервоприводів middle, left, right, claw. Необхідно викликати setup();
void openGripper() - Відкрити захоплення;
void closeGripper() - Захопити;
void gotoPoint(float x, float y, float z) - перемістити маніпулятор у позицію декартових координат (x, y, z);
float getX() - поточна координата X;
float getY() - поточна координата Y;
float getZ() – поточна координата Z.

Посібник зі складання (англ.)

Даний проект є багаторівневим модульним завданням. Перший етап проекту - складання модуля роботизованої руки-маніпулятора, що постачається у вигляді набору деталей. Другим етапом завдання буде складання інтерфейсу IBM PC також із набору деталей. Нарешті, третій етап завдання є створення модуля голосового управління.

Маніпулятором робота можна управляти вручну за допомогою ручного пульта керування, що входить до комплекту набору. Рукою робота можна також керувати через зібраний з набору інтерфейс IBM PC, або використовуючи модуль голосового управління. Набір інтерфейсу IBM PC дозволяє керувати та програмувати дії робота через робочий комп'ютер IBM PC. Пристрій голосового керування дозволить вам керувати рукою робота за допомогою голосових команд.

Усі ці модулі разом утворюють функціональний пристрій, яке дозволить вам проводити експерименти та програмувати автоматизовані послідовності дій або навіть «оживляти» керовану повністю «проводами» руку-маніпулятор.

Інтерфейс PC дозволить вам за допомогою персонального комп'ютеразапрограмувати руку-маніпулятор на ланцюг автоматизованих дій чи «оживити» його. Існує також опція, в якій можна управляти рукою в інтерактивному режимі, використовуючи або ручний контролер, або програму під Windows 95/98. «Оживлення» руки є «розважальною» частиною ланцюжка запрограмованих автоматизованих дій. Наприклад, якщо ви одягнете на руку-маніпцулятор дитячу ляльку рукавички і запрограмуєте пристрій на показ невеликого шоу, то ви запрограмуєте «оживання» електронної ляльки. Програмування автоматизованих процесів знаходить широке застосування у промисловості та промисловості розваг.

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

Отже, як бачимо, рука-маніпулятор робота виконує багато корисних функційі може служити ідеальним інструментомвивчення різних процесів. Однак створення роботизованої руки-маніпулятора з «нуля» є складним завданням. Набагато простіше зібрати руку з деталей готового набору. Компанія OWI продає достатньо гарні наборируки-маніпулятора, які можна придбати у багатьох дистриб'юторів електронних пристроїв (див. список деталей наприкінці цього розділу). За допомогою інтерфейсу можна підключити зібрану руку-маніпулятор до порту принтера робочого комп'ютера. Як робочий комп'ютер можна використовувати машину серії IBM PC або сумісну, яка підтримує DOS або Windows 95/98.

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

Програмування ланцюжка автоматизованих дій також не становить особливих труднощів. Спершу натисніть кнопку Program, щоб перейти в програмну моду. У цій моді рука функціонує точно так, як це було описано вище, але при цьому на додаток кожна функція і час її дії фіксуються в script-файлі. Script-файл може містити до 99 різних функцій, включаючи паузи. Сам файл script може бути повторно відтворений 99 разів. Запис різних script-файлів дозволяє проводити експерименти з керованою комп'ютером послідовністю автоматизованих дій та «пожвавлення» руки. p align="justify"> Робота з програмою під Windows 95/98 більш детально описана нижче. Програма під Windows включена в набір інтерфейсу роботизованої руки-маніпулятора або може бути безкоштовно завантажена з Інтернету http://www.imagesco.com.

На додаток до програмі Windowsрукою можна керувати за допомогою BASIC або QBASIC. Програма рівня DOS міститься на дискетах, які у комплект набору інтерфейсу. Однак DOS програма дозволяє здійснювати керування лише в інтерактивному режимі з використанням клавіатури (див. роздрук BASIC програми на одній з дискет). Програма рівня DOS не дозволяє створювати файли script. Однак якщо є досвід програмування на BASIC, то послідовність рухів руки-маніпулятора може бути запрограмована аналогічно роботі файлу script, що використовується в програмі під Windows. Послідовність рухів може повторюватися, як це зроблено у багатьох «живих» роботах.

Роботизована рука-маніпулятор

Рука-маніпулятор (див. рис. 15.1) має три ступені свободи руху. Ліктове зчленування може переміщатися вертикально вгору-вниз дугою приблизно 135°. Плечовий «суглоб» переміщує захоплення вперед і назад дугою приблизно 120°. Рука може повертатися на підставі годинникової стрілки або проти годинникової стрілки на кут приблизно 350°. Захоплення руки робота може брати та утримувати об'єкти до 5 см у діаметрі та повертатися навколо у кистьовому зчленуванні приблизно на 340°.

Мал. 15.1. Кінематична схема рухів та поворотів руки-робота


Для приведення руки в рух компанія OWI Robotic Arm Trainer використовувала п'ять мініатюрних двигунів постійного струму. Двигуни забезпечують керування рукою за допомогою дротів. Таке «провідне» управління означає, що кожна функція руху робота (тобто робота відповідного двигуна) керується окремими проводами (подачею напруги). Кожен із п'яти двигунів постійного струму керує своїм рухом руки-маніпулятора. Управління проводами дозволяє зробити блок контролера руки, що безпосередньо реагує на електричні сигнали. Це полегшує схему інтерфейсу руки робота, який підключається до порту принтера.

Рука виготовлена ​​з легкого пластику. Більшість деталей, що несуть основне навантаження, також виконані із пластику. Двигуни постійного струму, використані в конструкції руки, є мініатюрними високооборотними двигунами з низьким крутним моментом. Для збільшення крутного моменту кожен двигун з'єднаний з редуктором. Двигуни разом із редукторами встановлені всередині конструкції руки-маніпулятора. Хоча редуктор збільшує момент, що крутить, рука робота не може підняти або нести достатньо важкі предмети. Рекомендована максимально допустима вага при піднятті становить 130 г.

Набір для виготовлення руки робота та його компоненти представлені на рисунках 15.2 та 15.3.


Мал. 15.2. Набір для виготовлення руки-робота



Мал. 15.3. Редуктор перед збиранням

Принцип керування двигунами

Для того щоб зрозуміти принцип роботи керування по дротах, подивимося, як цифровий сигнал керує роботою окремого двигуна постійного струму. Для керування двигуном потрібні два комплементарні транзистори. Один транзистор має провідність типу PNP, інший – відповідно провідність типу NPN. Кожен транзистор працює як електронний ключ, керуючи рухом струму, що протікає через двигун постійного струму. Напрями руху струму, керовані кожним із транзисторів, протилежні. Напрямок струму визначає напрямок обертання двигуна відповідно за годинниковою стрілкою або проти годинникової стрілки. На рис. 15.4 наведено тестову схему, яку ви можете зібрати перед виготовленням інтерфейсу. Зверніть увагу, що коли обидва транзистори замкнені, двигун вимкнений. У кожний момент часу має бути включений лише один транзистор. Якщо у якийсь момент обидва транзистори випадково виявляться відкритими, це призведе до короткому замиканню. Кожен двигун управляється двома транзисторами інтерфейсу, що працюють аналогічним чином.


Мал. 15.4. Схема пристрою перевірки

Конструкція інтерфейсу для PC

Схема PC інтерфейсу наведено на рис. 15.5. У набір деталей інтерфейсу PC входить друкована плата, розташування деталей на якій показано на рис. 15.6.


Мал. 15.5. Принципова схемаінтерфейсу PC



Мал. 15.6. Схема розташування деталей РС інтерфейсу


Насамперед потрібно визначити бік монтажу друкованої плати. На боці монтажу прокреслено білі лінії, що позначають резистори, транзистори, діоди, ІС та роз'єм DB25. Усі деталі вставляють у плату з монтажного боку.

Загальна вказівка: після паяння деталі до провідників друкованої плати необхідно видалити надмірно довгі висновки з боку друку. Дуже зручно дотримуватись певної послідовності при монтажі деталей. Спершу змонтуйте резистори 100 кОм (кольорове маркування кілець: коричневе, чорне, жовте, золоте або срібне), які позначені R1-R10. Потім змонтуйте 5 діодів D1-D5, переконавшись, що чорна смужка на діодах знаходиться навпроти гнізда DB25, як показано білими лініями, нанесеними на монтажну сторону друкованої плати. Потім змонтуйте резистори 15 кОм (кольорове маркування, коричневий, зелений, помаранчевий, золотий або срібний), позначені R11 та R13. У позиції R12 припаяйте до плати червоний світлодіод. Анод світлодіода відповідає отвору під R12, позначеним знаком +. Потім змонтуйте 14- та 20-контактні панельки під ІС U1 та U2. Змонтуйте та впаяйте роз'єм DB25 кутового типу. Не намагайтеся вставляти ніжки роз'єму в плату із зайвим зусиллям, тут потрібна виключно точність. За потреби обережно похитайте роз'єм, намагаючись не погнути ніжки висновків. Закріпіть перемикач двигуна і регулятор напруги типу 7805. Відріжте чотири шматки дроту необхідної довжини і припаяйте до верхньої частини перемикача. Дотримуйтесь розташування проводів, як показано на малюнку. Вставте та впаяйте транзистори TIP 120 та TIP 125. Нарешті, впаяйте восьмиконтактний цокольний роз'єм та з'єднувальний 75 міліметровий кабель. Цоколь монтується так, що найдовші висновки дивляться нагору. Вставте дві ІС – 74LS373 та 74LS164 – у відповідні панельки. Переконайтеся, що положення ключа ІС на кришці збігається з ключем, позначеним білими лініями на друкованій платі. Ви могли помітити, що на платі залишилися місця під додаткові деталі. Це місце призначене для адаптера змінного струму. На рис. 15.7 показано фотографію готового інтерфейсу з боку монтажу.


Мал. 15.7. PC інтерфейс у зборі. Вид зверху

Принцип роботи інтерфейсу

Рука-маніпулятор має п'ять двигунів постійного струму. Відповідно нам знадобляться 10 шин входу/виходу для керування кожним двигуном, включаючи напрямок обертання. Паралельний (принтерний) порт IBM PC та сумісних машин містить лише вісім шин вводу/виводу. Для збільшення числа шин управління в інтерфейсі руки робота використовується ІС 74LS164, яка є перетворювачем послідовного коду на паралельний (SIPO). При використанні всього двох шин паралельного порту D0 і D1, якими надсилається послідовний код в ІС, ми можемо отримати вісім додаткових шин вводу/виводу. Як мовилося раніше, можна створити вісім шин ввода/вывода, але у цьому інтерфейсі використовуються п'ять із них.

Коли послідовний код надходить на вхід ІВ 74LS164, на виході ІВ з'являється відповідний паралельний код. Якби виходи ІС 74LS164 були безпосередньо підключені до входів транзисторів, що управляють, то окремі функції руки-маніпулятора включалися і вимикалися б в такт посилці послідовного коду. Очевидно, що така ситуація є неприпустимою. Щоб уникнути цього, у схему інтерфейсу введено другу ІС 74LS373 – керований восьмиканальний електронний ключ.

ІС 74LS373 восьмиканальний ключ має вісім вхідних та вісім вихідних шин. Двійкова інформація, присутня на вхідних шинах, передається на відповідні виходи ІС тільки в тому випадку, якщо на ІВ подано дозвільний сигнал. Після вимкнення роздільної здатності сигналу поточний стан вихідних шин зберігається (запам'ятовується). У цьому стані сигнали на вході ІВ не мають жодного впливу на стан вихідних шин.

Після передачі послідовного пакета інформації в ІВ 74LS164 з виведення D2 паралельного порту подається сигнал на ІС 74LS373. Це дозволяє передати інформацію вже в паралельному коді з входу ІС 74LS174 на вихідні шини. Станом вихідних шин управляються відповідно транзистори TIP 120, які, своєю чергою, керують функціями руки-маніпулятора. Процес повторюється під час подання кожної нової команди на руку-маніпулятор. Шини паралельного порту D3-D7 керують безпосередньо транзисторами TIP 125.

Підключення інтерфейсу до руки-маніпулятора

Живлення роботизованої руки-маніпулятора здійснюється від джерела живлення 6, що складається з чотирьох D-елементів, розташованих в основі конструкції. Інтерфейс PC живиться також від цього джерела 6 В. Джерело живлення є біполярним і видає напруги ±3 В. Живлення на інтерфейс подається через восьмиконтактний роз'єм Molex, приєднаний до основи маніпулятора.

Приєднайте інтерфейс до руки-маніпулятора за допомогою восьмижильного кабелю Molex довжиною 75 мм. Кабель Molex приєднується до роз'єму, розташованого в основі маніпулятора (див. рис. 15.8). Перевірте, чи правильно вставлено гніздо. Для з'єднання плати інтерфейсу з комп'ютером використовується кабель типу DB25 довжиною 180 см, що є у наборі. Один кінець кабелю приєднується до порту принтера. Інший кінець з'єднується з гніздом DB25 на платі інтерфейсу.


Мал. 15.8. З'єднання РС інтерфейсу з рукою-роботом


У більшості випадків до порту принтера штатно підключено принтер. Щоб не займатися приєднанням та відключенням роз'ємів кожного разу, коли ви хочете використовувати маніпулятор, корисно придбати двопозиційний блок перемикача шин принтерів A/B (DB25). Приєднайте роз'єм інтерфейсу маніпулятора до входу А, а принтер – до входу В. Тепер можна використовувати перемикач для з'єднання комп'ютера або з принтером, або з інтерфейсом.

Встановлення програми під Windows 95

Вставте дискету 3,5" з позначкою "Disc 1" у дисковод для флоппі-дисків і запустіть програму установки (setup.exe). Програма установки створить директорію з ім'ям "Images" на жорсткому диску і скопіює необхідні файли в цю директорію. У Start меню з'явиться іконка Images.

Робота з програмою під Windows 95

З'єднайте інтерфейс із портом принтера комп'ютера за допомогою кабелю DB 25 довжиною 180 см. З'єднайте інтерфейс з основою руки-маніпулятора. До певного часу тримайте інтерфейс у вимкненому стані. Якщо в цей час увімкнути інтерфейс, інформація, що збереглася в порту принтера, може викликати рухи руки-маніпулятора.

Клацнувши двічі по іконці Images у стартовому меню, запустіть програму. Вікно програми показано на рис. 15.9. Під час роботи програми червоний світлодіод на платі інтерфейсу має блимати. Примітка:щоб світлодіод почав блимати, включення живлення інтерфейсу не потрібно. Швидкість миготіння світлодіода визначається швидкістю роботи процесора комп'ютера. Мерехтіння світлодіода може виявитися дуже тьмяним; для того, щоб це помітити, вам, можливо, доведеться зменшити освітленість у кімнаті і скласти долоні «кільцем» для спостереження за світлодіодом. Якщо світлодіод не блимає, можливо, програма звертається за помилковою адресою порту (порт LPT). Щоб переключити інтерфейс на іншу адресу порту (LPT порт), зайдіть у вікно меню установки адреси порту принтера (Printer Port Options box), розташованого в правому верхньому куткуекрану. Виберіть іншу опцію. Правильне встановленняадреса порту викликає блимання світлодіода.


Мал. 15.9. Скріншот програми PC інтерфейсу під Windows


Коли світлодіод буде блимати, клацніть на іконці Puuse і лише після цього увімкніть інтерфейс. Клацання відповідної функціональної клавіші викличе рух у відповідь руки-маніпулятора. Повторне Клацання призведе до зупинки руху. Використання функціональних клавіш для керування рукою називається інтерактивною модою керування.

Створення файлу script

Для програмування рухів та автоматизованих послідовностей дій руки-маніпулятора використовуються файли script. Script-файл містить список тимчасових команд, які керують рухами руки-маніпулятора. Створити файл script дуже просто. Для створення файлу натисніть функціональну клавішу program. Ця операція дозволить увійти в моду програмування script-файлу. Натискаючи на функціональні клавіші, ми керуватимемо рухами руки, як ми вже робили, але при цьому інформація команд записуватиметься в жовту script-таблицю, розташовану в нижньому лівому кутку екрана. Номер кроку, починаючи з одиниці, буде вказано в лівій колонці, а для кожної нової команди він збільшуватиметься на одиницю. Тип руху (функції) вказано у середній колонці. Після повторного клацання функціональної клавіші виконання руху припиняється, а третьої колонці з'являється значення часу виконання руху від початку до закінчення. Час виконання руху вказується з точністю до чверті секунди. Продовжуючи так само, користувач може запрограмувати в script-файл до 99 рухів, включаючи паузи в часі. Потім файл script можна зберегти, а надалі завантажити з будь-якої директорії. Виконання команд файлу script можна циклічно повторити до 99 разів, для чого необхідно ввести кількість повторів у вікно Repeat і натиснути Start. Для закінчення запису в файл script натисніть клавішу Interactive. Ця команда переведе комп'ютер назад до інтерактивного режиму.

«Оживлення» предметів

Script-файли можуть бути використані для комп'ютерної автоматизації дій або для пожвавлення предметів. У разі пожвавлення предметів керований роботизований механічний скелет зазвичай покритий зовнішньою оболонкою і сам не видно. Пам'ятаєте ляльку-рукавичку, описану на початку глави? Зовнішня оболонка може мати вигляд людини (частково або повністю), прибульця, тварини, рослини, каменю і чогось іншого.

Обмеження галузі застосування

Якщо ви хочете досягти професійного рівнявиконання автоматизованих дій чи «пожвавлення» предметів, то, так би мовити, для підтримки марки, точність позиціонування при виконанні рухів у кожний момент часу має наближатися до 100%.

Однак ви можете помітити, що в міру повторення послідовності дій, записаних у файлі script, положення руки-маніпулятора (патерн-руху) буде відрізнятися від початкового. Це відбувається з кількох причин. У міру розряду батарей джерела живлення руки-маніпулятора зменшення потужності, що підводиться до двигунів постійного струму, призводить до зниження моменту, що крутить, і швидкості обертання двигунів. Таким чином, довжина переміщення маніпулятора і висота піднятого вантажу за той самий проміжок часу буде відрізнятися для свіжих і «свіжих» батарей. Але причина не лише у цьому. Навіть при стабілізованому джерелі живлення частота обертання валу двигуна змінюватиметься, оскільки відсутня регулятор частоти обертання двигуна. Для кожного фіксованого відрізка часу кількість обертів щоразу трохи відрізнятиметься. Це призведе до того, що кожного разу буде відрізнятися і положення руки-маніпулятора. На додачу до всього, в шестернях редуктора є певний люфт, який також не береться до уваги. Під впливом всіх цих факторів, які ми тут докладно розглянули, при виконанні циклу повторюваних команд файлу script-файлу положення руки-маніпулятора буде щоразу трохи відрізнятися.

Пошук вихідного положення

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

Для цього є багато можливостей. В одному з основних методів позиційний контроль у кожній точці не передбачено. Натомість використовується набір кінцевих вимикачів, які відповідають вихідній «стартовій» позиції. Кінцеві вимикачі визначають лише одну позицію – коли маніпулятор доходить до положення «старт». Щоб це зробити, необхідно встановити послідовність кінцевих вимикачів (кнопок) таким чином, щоб вони замикалися, коли маніпулятор досягає крайнього положення у тому чи іншому напрямку. Наприклад, один кінцевий вимикач можна встановити на підставі маніпулятора. Вимикач повинен спрацьовувати лише тоді, коли рука-маніпулятор досягне крайнього положення при обертанні за годинниковою стрілкою. Інші кінцеві вимикачі потрібно встановити на плечовому та ліктьовому зчленуванні. Вони повинні спрацьовувати за повного розгинання відповідного зчленування. Ще один вимикач встановлюється на пензлі та спрацьовує, коли пензель повертається до упору за годинниковою стрілкою. Останній кінцевий вимикач встановлюється на захопленні та замикається при його повному відкриванні. Щоб поставити маніпулятор у вихідне положення, кожен можливий рух маніпулятора здійснюється у бік, необхідний для замикання відповідного кінцевого вимикача, доки цей вимикач не замкнеться. Після того як досягнуто початкове положення для кожного руху, комп'ютер буде точно знати справжнє положення руки-маніпулятора.

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

У деяких послідовностях знання тільки вихідного положення виявляється недостатнім, наприклад, при піднятті яйця без ризику роздавити його шкаралупу. У таких випадках необхідна складніша і точніша система позиційного зворотного зв'язку. Сигнали датчиків можуть бути оброблені за допомогою АЦП. Отримані сигнали можуть бути використані для визначення значень таких параметрів, як положення, тиск, швидкість і момент, що обертає. Як ілюстрацію можна навести такий простий приклад. Уявіть, що ви прикріпили невеликий лінійний резистор змінний до вузла захоплення. Змінний резистор встановлений таким чином, що переміщення його двигуна вперед і назад пов'язане з відкриттям та закриттям захоплення. Таким чином, залежно від ступеня відкриття захоплення змінюється опір змінного резистора. Після калібрування, за допомогою вимірювання поточного опору змінного резистора можна точно встановити кут розкриття затискачів захоплення.

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

Система ручного керування інтерфейсом

Після того, як ви переконаєтеся, що інтерфейс працює правильним чином, можна за допомогою 8-контактного плоского роз'єму підключити до нього блок ручного керування. Перевірте положення підключення 8-контактного роз'єму Molex до головки роз'єму на платі інтерфейсу, як показано на рис. 15.10. Акуратно вставте гніздо до його надійного з'єднання. Після цього рукою-маніпулятором можна керувати з ручного пульта будь-якої миті часу. Не має значення, чи інтерфейс з'єднаний з комп'ютером чи ні.


Мал. 15.10. Підключення ручного керування

Програма DOS керування з клавіатури

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

В голосовому управлінні рукою-маніпулятором використовується набір розпізнавання мовлення (УРР), описаний в гол. 7. У цьому розділі ми виготовимо інтерфейс, який зв'язує УРР з рукою-маніпулятором. Цей інтерфейс також пропонується у вигляді набору компанією Images SI, Inc.

Схема інтерфейсу для УРР показано на рис. 15.11. В інтерфейсі використаний мікроконтролер 16F84. Програма для мікроконтролера виглядає так:


'Програма інтерфейсу УРР

Symbol PortA = 5

Symbol TRISA = 133

Symbol PortB = 6

Symbol TRISB = 134

If bit4 = 0 then trigger 'Якщо запис у тригер дозволено, читати схе

Goto start ‘Повторення

pause 500 'Чекання 0,5 с

Peek PortB, B0 ‘Читання коду BCD

If bit5 = 1 then send “Вихідний код

goto start ‘Повторення

peek PortA, b0 'Читання порту А

if bit4 = 1 then eleven 'Число є 11?

poke PortB, b0 ‘Вихідний код

goto start ‘Повторення

if bit0 = 0 then ten

goto start ‘Повторення

goto start ‘Повторення



Мал. 15.11. Схема контролера УРР для руки-робота


Оновлення програми під 16F84 можна безкоштовно завантажити з http://www.imagesco.com

Програмування інтерфейсу УРР

Програмування інтерфейсу УРР аналогічне процедурі програмування УРР набору, описаного в гол. 7. Для правильної роботи руки-маніпулятора ви повинні запрограмувати командні слова відповідно до номерів, що відповідають певному руху маніпулятора. У табл. 15.1 наведено приклади командних слів, які керують роботою руки-маніпулятора. Ви можете вибрати командні слова на ваш смак.

Таблиця 15.1

Список деталей для інтерфейсу PC

(5) Транзистор NPN TIP120

(5) Транзистор PNP TIP 125

(1) ІС 74164 перетворювач коду

(1) ІС 74LS373 вісім ключів

(1) Світлодіод червоний

(5) Діод 1N914

(1) Гніздо роз'єму Molex на 8 контактів

(1) Кабель Molex 8-жильний довжиною 75 мм

(1) Двопозиційний перемикач

(1) Роз'єм кутовий типу DB25

(1) Кабель DB 25 1,8 м із двома роз'ємами М – типу.

(1) Друкована плата

(3) Резистор 15 кОм, 0,25 Вт


Усі перелічені деталі входять у комплект набору.

Список деталей для інтерфейсу розпізнавання мовлення

(5) Транзистор NPN TIP 120

(5) Транзистор PNP TIP 125

(1) ІС 4011 логічний елемент АБО-НЕ

(1) ІС 4049 – 6 буферів

(1) ІС 741 операційний підсилювач

(1) Резистор 5,6 кОм, 0,25 Вт

(1) Резистор 15 кОм, 0,25 Вт

(1) Головна частина роз'єму Molex 8 контактів

(1) Кабель Molex 8 жил, довжина 75 мм

(10) Резистор 100 кОм, 0,25 Вт

(1) Резистор 4,7 кОм, 0,25 Вт

(1) ІС регулятор напруги 7805

(1) ІС PIC 16F84 мікроконтролер

(1) Кварцовий резонатор 4,0 МГц

Набір інтерфейсу руки-маніпулятор

Набір для виготовлення руки маніпулятора компанії OWI

Інтерфейс розпізнавання мови для руки-маніпулятора

Набір пристрою розпізнавання мовлення


Деталі можна замовити у:

Images, SI, Inc.

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

Робот працює на платі Arduino. Як джерело живлення використовується комп'ютерний блок.

Матеріали та інструменти:
- 6 серводвигунів;
- акрил завтовшки 2 мм (і ще невеликий шматок завтовшки 4 мм);
- штатив (для створення основи);
- Ультразвуковий датчик відстані типу hc-sr04;
- контролер Arduino Uno;
- контролер живлення (виготовляється самостійно);
- Блок живлення від комп'ютера;
- комп'ютер (необхідний програмування Arduino);
- дроти, інструменти та інше.



Процес виготовлення:

Крок перший. Збираємо механічну частину робота
Механічна частина збирається дуже легко. Два шматки акрилу потрібно з'єднати за допомогою серводвигуна. Інші дві ланки з'єднуються аналогічно. Щодо схвату, то його найкраще купити через інтернет. Усі елементи кріпляться за допомогою гвинтів.

Довжина першої частини становить близько 19 см, а другий приблизно 17.5 см. Передня ланка має довжину 5.5 см. Щодо інших елементів, то їх розміри вибираються на власний розсуд.





Кут повороту в основі механічної рукиповинен становити 180 градусів, тому знизу необхідно встановити серводвигун. У нашому випадку його потрібно встановити у диско-кулю. Робот встановлюється вже на серводвигун.

Для встановлення ультразвукового датчиказнадобиться шматок акрилу завтовшки 2 см.

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

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








Крок другий. Підсвічування робота
Щоб робот був цікавішим, йому можна зробити підсвічування. Робиться це за допомогою світлодіодів різноманітних кольорів.


Крок третій. Підключення електронної частини
Основним контролером для робота є плата Arduino. Як джерело живлення використовується комп'ютерний блок, на його виходах потрібно знайти напругу 5 Вольт. Воно має бути, якщо заміряти мультиметром напругу на червоному та чорному дроті. Ця напруга потрібна для живлення серводвигунів та датчика відстані. Жовтий та чорний провід блоку видає вже 12 Вольт, вони потрібні для роботи Arduino.

Для сервомоторів потрібно зробити п'ять конекторів. До позитивних підключаємо 5В, а негативні до землі. Аналогічним чином підключається датчик відстані.

Ще на платі є світлодіодний індикаторхарчування. Для його підключення використовується резистор 100 Ом між +5В та землею.










Виходи від серводвигунів підключаються до ШИМ-виходів на Arduino. Такі піни на платі позначаються значком "~". Що стосується ультразвукового датчика відстані, його можна підключити до пін 6 і 7. Світлодіод підключається до землі і 13-му піну.

Тепер можна розпочинати програмування. Перед тим як підключатися через USB, переконайтеся, що живлення повністю відключено. При тестуванні програми харчування робота також потрібно відключати. Якщо це не зробити, контролер отримати 5В від USB та 12В від блока живлення.

На схемі можна побачити, що для керування серводвигунами були додані потенціометри. Вони не є необхідною складовою робота, але без них запропонований код не працюватиме. Потенціометри підключаються до пін 0,1,2,3 та 4.

На схемі є резистор R1 його можна замінити потенціометром на 100 кОм. Це дозволить регулювати яскравість вручну. Щодо резисторів R2, то їх номінал 118 Ом.

Ось перелік основних вузлів, які застосовувалися:
- 7 світлодіодів;
- R2 – резистор на 118 Ом;
- R1 – резистор на 100 кОм;
- Перемикач;
- фоторезистор;
- Транзистор bc547.

Крок четвертий. Програмування та перший запуск робота
Щоб керувати роботом, використано 5 потенціометрів. Цілком реально замінити таку схему на один потенціометр і два джойстики. Як підключити потенціометр, було показано на попередньому кроці. Після встановлення скечу робота можна випробувати.

Перші випробування робота показали, що встановлені серводвигуни типу futuba s3003 виявилися слабкими для робота. Їх можна використовувати лише повороту руки чи для схвата. Натомість автор встановив двигуни mg995. Ідеальним варіантомбудуть двигуни типу mg946.