Роботизований боку маніпулятор. Настільна робо-рука маніпулятор з оргскла на сервоприводах своїми руками

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

Помічник №1 – робот-маніпулятор

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

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

Як влаштований промисловий робот

Робот-маніпулятор має вигляд величезної автоматизованої «руки» під контролем системи електроуправління. У конструкції пристроїв відсутня пневматика або гідравліка, все збудовано на електромеханіці. Це дозволило скоротити вартість роботів і підвищити їхню довговічність.

Промислові роботи можуть бути 4-осьовими (використовуються для укладання та фасування) і 6-ти осьовими (для інших видів робіт). Крім того, роботи відрізняються і в залежності від ступеня свободи: від 2 до 6. Чим він вищий, тим точніше маніпулятор відтворює рух людської руки: обертання, переміщення, стиснення/розтискання, нахили та інше.
Принцип дії пристрою залежить від його програмного забезпеченняі оснащення, і якщо на початку свого розвитку основною метою було звільнення працівників від важкого і небезпечного виглядуробіт, то сьогодні спектр виконуваних завдань значно зріс.

Використання роботизованих помічників дозволяє справлятися одночасно з кількома завданнями:

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

У Японії, Китаї, США, Німеччині на підприємствах працює мінімум співробітників, обов'язком яких є лише контроль роботи маніпуляторів та якість продукції, що виготовляється. Варто зазначити, що промисловий робот-Маніпулятор - це не тільки функціональний помічник в машинобудуванні або зварювальній справі. Автоматизовані пристрої представлені в широкому асортиментіі використовуються в металургії, легкій та харчовій промисловості. Залежно від потреб підприємства можна підібрати маніпулятор, що відповідає функціональним обов'язкам та бюджету.

Види промислових роботів-маніпуляторів

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

На відміну від існуючого стереотипу про дорожнечу роботизованої техніки, кожне навіть невелике підприємство зможе придбати подібний механізм. Невеликі універсальні роботи-маніпулятори з невеликою вантажопідйомністю (до 5кг) ABB і FANUC коштуватимуть від 2 до 4 тисяч доларів.
Незважаючи на компактність пристроїв, вони здатні збільшити швидкість роботи та якість обробки виробів. Під кожного робота буде написано унікальне програмне забезпечення, яке точно координує роботу агрегату.

Вузькоспеціалізовані моделі

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

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

Зварювальники
Найпоширенішими варіантами є зварювальні роботи. Їхня продуктивність і точність у 8 разів вища, ніж у людини. Такі моделі можуть виконувати кілька видів зварювання: дугове або точкове (залежно від ПЗ).

Лідерами в цій галузі вважаються промислові роботи-маніпулятори Kuka. Вартість від 5 до 300 тисяч доларів (залежно від вантажопідйомності та функцій).

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

Виробники ABB, KUKA, та Epson пропонують скористатися пристроями для підйому важких вантажів вагою понад 1 тонну та транспортування від складу до місця навантаження.

Виробники промислових роботів маніпуляторів

Безперечними лідерами у цій галузі вважаються Японія та Німеччина. На їхню частку припадає понад 50% усієї роботизованої техніки. Конкурувати з гігантами непросто, однак, і в країнах СНД поступово з'являються власні виробники та стартапи.

KNN Systems. Українська компанія є партнером німецької Kuka та займається розробкою проектів з роботизації процесів зварювання, фрезерування, плазмового різання та палетизації. Завдяки їх ПЗ промисловий робот може бути переналаштований під новий виглядзавдань лише за день.

Rozum Robotics (Білорусь). Фахівці компанії розробили промисловий робот-маніпулятор PULSE, що відрізняється своєю легкістю та простотою у використанні. Пристрій підходить для складання, пакування, склеювання та перестановки деталей. Ціна робота у районі 500 доларів.

"АРКОДІМ-Про" (Росія). Займається випуском лінійних роботів-маніпуляторів (рухаються лінійними осями), що використовуються для лиття пластику під тиском. Крім того, роботи ARKODIM можуть працювати як частина конвеєрної системи та виконувати функції зварювальника або пакувальника.

Привіт, гіктаймсе!

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

Зараз моя робо-рука виглядає так:

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

Проби та помилки

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

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

Червоний був цілком придатний до роботи. Він нормально збирався і з мастилом міг рухатися. На ньому я зміг протестувати софт, але все ж таки відсутність підшипників і великі втратина різних тягах робили його дуже слабким.

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

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

Мене пригнічує те, що я не зміг привнести нічого принципово нового до проекту uArm. На той час, як я почав малювати фінальну версію, вони вже викотили 3D-моделі на GrabCad. У результаті я лише трохи спростив клешню, підготував файли у зручному форматі та застосував дуже прості та стандартні комплектуючі.

Особливості маніпулятора

До появи uArm, настільні маніпуляториподібного класу виглядали досить похмуро. У них або не було електроніки взагалі, або було якесь керування з резисторами, або було своє пропрієтарне ПЗ. По-друге, вони зазвичай не мали системи паралельних шарнірів і саме захоплення змінював своє становище у процесі роботи. Якщо зібрати всі переваги мого маніпулятора, виходить досить довгий список:
  1. Система тяг, що дозволяють розмістити потужні я важкі двигуни в основі маніпулятора, а також утримують захоплення паралельно або перпендикулярно до основи
  2. Простий набір комплектуючих, які легко купити або вирізати з оргскла
  3. Підшипники майже у всіх вузлах маніпулятора
  4. Простота збирання. Це виявилося справді складним завданням. Особливо важко було продумати процес складання основи
  5. Положення захоплення можна міняти на 90 градусів
  6. Відкриті вихідники та документація. Все підготовлено у доступних форматах. Я дам посилання для скачування на 3D-моделі, файли для різання, список матеріалів, електроніку та софт
  7. 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-моделі, список для покупки, креслення плати та софт можна завантажити наприкінці моєї

Робот-маніпулятор 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.