Робот манипулятор своими руками чертежи. Промышленный робот-манипулятор: все могу и все умею


Всем привет!
Пару лет назад на kickstarter появился очень занятный проект от uFactory - настольная робо-рука uArm . Они обещали со временем сделать проект открытым, но я не мог ждать и занялся реверс-инжинирингом по фотографиям.
За эти годы я сделал четыре версии своего виденья этого манипулятора и в итоге разработал вот такую конструкцию:
Это робо-рука с интегрированным контроллером, приводимая в движение пятью сервпоприводами. Основное ее достоинство в том, что все детали либо можно купить, либо дешево и быстро вырязать из оргстекла лазером.
Так как в качестве источника вдохновения я брал open sorce - проект, то всеми своими результатми делюсь полностью. Вы сможете скачать все исходники по ссылкам в конце статьи и, при желании, собрать такую же (все ссылки в конце статьи).

Но проще один раз показать ее в работе, чем долго рассказывать что она из себя представляет:

Итак, перейдем к описанию.
Технические характеристики

  1. Высота: 300мм.
  2. Рабочая зона (при полностью вытянутом манипуляторе): от 140мм до 300мм вокруг основания
  3. Максимальная грузоподъемность на вытянутой руке, не менее: 200г
  4. Потребляемый ток, не более: 6А
Также мне хочется отметить некоторые особенности конструкции:
  1. Подшипники во всех подвижных частях манипулятора. Всего их одинадцать: 10 штук на вал 3мм и один на вал 30мм.
  2. Простота сборки. Я очень много внимания уделил тому, чтобы была такая последовательность сборки манипулятора при которой все детали прикручивать предельно удобно. Особенно сложно было сделать это для узлов мощных сервоприводов в основании.
  3. Все мощные сервоприводы расположены в основании. То есть "нижние" сервоприводы не таскают "верхние".
  4. За счет параллельных шарниров инструмент всегда остается параллелен или перпендикулярен земле.
  5. Положение манипулятора можно менять на 90 градусов.
  6. Готовое Arduino-совместимое программное обеспечение. Правильно собранная рука может управляться мышкой, а по примерам кода можно составить свои алгоритмы движения
Описание конструкции
Все детали манипулятора режутся из оргстекла толщиной 3 и 5мм:

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

Манипулятор с установленым плечом и локтем показан на фотографии ниже. К нему еще только предстоит добавить клешню и тяги для нее:

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

Управляется все Arduino-совместимой платой и шилдом для нее:

Сборка
Чтобы собрать манипулятор потребуется около двух часов и куча крепежа. Сам процесс сборки я офмил в виде инструкции в фотографиях (осторожно, траффик!) с подробными комментариями по каждой операции. Также я сделал подробную 3D-модель в простой и бесплатной программе SketchUp. Так что всегда можно повертеть ее перед глазами и посмотреть непонятные места:


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

Вообще я сделал три разные программы под Arduino. Одна для управления с компьютера, одна для работы в демо-режиме и одна для управления кнопками и переменными резисторами. Самая интересная из них, конечно, первая. Я не буду приводить здесь код целиком - он доступен в онлайн .
Для управления необходимо скачать программу для компьютера. После ее запуска мышь переходит в режим управления рукой. Движение отвечает за перемещение по XY, колесико изменяет высоту, ЛКМ/ПКМ - захват, ПКМ+колесико - поворот манипулятора. И это на самом деле удобно. Это было на видео в начале статьи.
Исходники проекта

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

Руководство по сборке (англ.)

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

Помощник №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 могут работать, как часть конвейерной системы, и выполнять функции сварщика или упаковщика.

  • DIY или Сделай сам ,
  • Электроника для начинающих
  • Привет, гиктаймс!

    Проект 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-совместимую плату и специализированный шилд.

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

    Программирование

    Самое интересное, это управление манипулятором с компьютера. У uArm есть удобное приложение для управления манипулятором и протокол для работы с ним. Компьютер отправляет в COM-порт 11 байт. Первый из них всегда 0xFF, второй 0xAA и некоторые из оставшихся - сигналы для сервоприводов. Далее эти данные нормализуются и отдаются на отработку двигателям. У меня сервоприводы подключены к цифровым входам/выходам 9-12, но это легко можно поменять.

    Терминальная программа от uArm позволяет изменять пять параметров при управлении мышью. При движении мыши по поверхности изменяется положение манипулятора в плоскости XY. Вращение колесика - изменение высоты. ЛКМ/ПКМ - сжать/разжать клешню. ПКМ + колесико - поворот захвата. На самом деле очень удобно. При желании можно написать любой терминальный софт, который будет общаться с манипулятором по такому же протоколу.

    Я не буду здесь приводить скетчи - скачать их можно будет в конце статьи.

    Видео работы

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

    Ссылки

    Файлы для резки оргстекла, 3D-модели, список для покупки, чертежи платы и софт можно скачать в конце моей

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

    Как он работает?

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

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

    Для создания робота было бы неплохо использовать 3D-принтер, который подойдет для печати больших объектов (максимальный размер ~ 1,2 м * 0,8 м). Было бы здорово увеличить головку манипулятора, а также использовать вентилятор компьютера для того, чтобы пластиковые нити остыли быстро. В общем, немного объектов будет необходимо для печатного объекта.

    Видеопрезентация работы:

    Здесь можно увидеть робота и его рабочую станцию во время выполнения одной простой задачи сборки на 30% от максимальной скорости:

    Шаг 1. Робот без рабочей станции:

    Так выглядит промышленная рука-манипулятор без какой-либо рабочей станции.

    Шаг 2. Разборка конвейерной ленты от старых частей:

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

    Шаг 3. Подключение датчика:

    Для того, чтобы определить скорость двигателя (и, следовательно, скорость конвейера), поверните ось к нижней стороне электродвигателя. Также ось двигателя необходима, чтобы иметь возможность изменить расширение устройства. На другом конце расширения нужно установить инкрементный датчик Megatron (MHL40 8 1000 5 BZ NA). Основные части датчика: источник света (светодиод), который светит через диск с отверстиями. На другой стороне этого диска есть датчик света, который считает импульсы входящего света, и передает эти сигналы на главный процессор робота. Первая настройка необходима для того, чтобы синхронизировать роботизированную систему координат, переместить конвейерную ленту, и вращать датчик на этом расстоянии.

    После этого робот вычисляет сигналы датчика расстояния в его системе координат. Одной из самых сложных и трудоемких задач (после повторного собрания механической части конвейера) было сделать правильные настройки для этой синхронизации. Для этого необходимо написать программу, которая обрабатывает преобразователи частоты для запуска конвейера и открыть-закрыть пневматические пробки, и, конечно, необходимо переместить робота в области и нужные позиции. Основные направления этой синхронизации кода доступны в руководстве по работе с роботом (Mitsubishi RV-3SDB) в формате PDF. Ниже доступен код с настройками.

    Шаг 4. Преобразователи частоты:

    Преобразователи частоты необходимы, чтобы иметь возможность контролировать скорость вращения двигателя. Он работает первоначально с частотой 50 Гц, но это слишком быстро для этой процедуры. Установите частоту 33Гц на базовой настройке. Благодаря скорости изменения входа селектора, есть также возможность изменения скорости в программном коде робота. Преобразователь частоты поставляется в использованном варианте, но делает свою работу очень хорошо. Также аварийный выключатель (большая красная кнопка) необходим для подключения по соображениям безопасности.

    Шаг 5. Создание паллет:

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

    Шаг 6. Завершение конвейерной ленты:

    После нужно добавить стартовую точку и конечную точку конвейерной ленты. Также интегрирован выход селектора. Он работает с пневматическими переключателями.

    Шаг 7.

    Пневматические переключатели останавливают и пропускают паллет. В начальной точке есть индуктивный датчик приближения, чтобы убедиться, что паллет настроен перед началом сборки. Затем коммутатор освобождает паллет, который проходит мимо второго датчика на близком расстоянии. Это дает сигнал на главный процессор, который обрабатывает сигналы датчика, называемые "живые". Расстояние измеряется отсюда. Есть и другая пробка и датчик на конце линии. (Существует возможность поставить более паллет на конвейере в одно и то же время, но тем самым необходима безопасность остановки, прежде чем дать паллету способ выбора.)

    "Электрическая часть" рабочей станция находится только в предварительной версии: она должна быть вмонтирована в электрическую кабину. (Вопрос только в деньгах.)

    Шаг 8. Программирование робота:

    Основные команды для кода сборки:

    • M_Out (N) = 1: включение или выключение выходов (например, пневматических переключателей или двигателей)
    • Wait M_In(n) = 1: подождите нарастающий сигнал (например, сигналы индуктивных датчиков)
    • m1 = M_Enc (1): при запуске функции отслеживания он дает мгновенное значение кодера к m1 целому.
    • Trk On,pfog,m1: включение функции отслеживания движений робота.
    • Trk Off: выключение функции отслеживания и возвращения к "нормальной" системе координат робота.
    Примечание автора: весь код программы написан с комментариями на венгерском языке, так что при возникновении трудностей, обращайтесь за помощью к переводчику (Google Translator подойдет).

    Servo On "Robot szervo bekapcsolása
    Ovrd 70 "70%-os sebesség
    Mov phome2 "a darab várakozási pozícióba álljon
    "Futószalag összeszerelő ág nullázása (mert a frekvenciaváltó felfutó és lefutó élre is reagál).
    M_Out(5)=0 "összeszerelő ág hátramenet nullázása
    M_Out(6)=0 "összeszerelő ág előremenet nullázása
    M_Out(8)=0 "visszavezető ág előremenet nullázása
    M_Out(9)=0 "visszavezető ág hátramenet nullázása
    "
    "Vizsgálat kezdés előtt: ha a paletta nincs a kiindulási ponton, oda kell vinni.
    If M_In(4)=0 Then GoSub *visszavezet "ha az első induktív jele 0, akkor nincs ott a paletta
    *visszavezet
    If M_In(4)=1 Then GoTo *indit "mivel ez rekurzív programrész, ha mar ott a paletta, kilépünk
    M_Out(6)=1 "összeszerelő futószalag ág előre megy egy kicsit

    M_Out(2)=1 "váltó külső állásba tesz
    M_Out(2)=0 "váltó nyomás visszavesz
    Dly 7 "eddigre biztos a végére ér a paletta az összeszerelő ágnak
    M_Out(1)=1 "váltó belső állásba tesz
    M_Out(1)=0 "leveszi a váltóról a nyomást
    M_Out(6)=0 "összeszerelő futószalag ág leállítása
    Dly 0.5
    M_Out(9)=1 "visszavezető ág futószalag beindul visszafelé
    M_Out(5)=1 "összeszerelő ág hátramenetbe kapcsol
    Wait M_In(4)=1 "addig vár, amíg az első induktív nem érzékel
    M_Out(8)=0 "visszavezető futószalag leáll
    Dly 1 "a paletta már a kiindulási pontban van
    M_Out(5)=0 "összeszerelő ág hátra leáll
    If M_In(4)=1 Then GoTo *indit
    Return
    *indit
    M_Out(6)=1 "összeszerelő ág előremenetben indítása
    M_Out(4)=1 "1. szelep behúz
    M_Out(2)=1 "váltó külső állás
    M_Out(2)=0 "váltóról leveszi a nyomást
    Wait M_In(6)=1 "indítást érzékelő induktív bejelez
    m1=M_Enc(1) "ekkor felvesszük az enkóder pozícióját (szinkronizálás)
    "*var
    "abban az esetben szükséges csak, ha az indító érzékelő a robot munkaterén kívül van
    "PC=TrWcur(1,pjel,m1) "meg kell várnia a paletta beérkezését a munkatérbe
    "If PosCq(PC)<>1 Then GoTo *var "beért-e a munkatérbe?
    "If PC.Y>350 Then GoTo *var "beért-e a szerelési távolságba? (350mm)
    "If PC.Y<0 Then GoTo *var "probléma esetén már túlment volna "a szerelési távolságon
    Trk On,pjel,m1 "tracking indítása
    "pjel: fixen beállítandó érték, a robot koordinátarendszerében az induktív "bejelzésekor a munkadarab pozíciója
    "m1: az enkóder pozíciója, amikor a munkadarab elérte az induktívot
    "innentől egy mozgó koordináta rendszerben leszünk, amelynek középpontja a munkadarab
    Mov phenger,10 "felvesszük az első darabot
    Mvs phenger
    Dly 0.25
    Hclose 1
    Dly 0.25
    Mvs phenger, 10
    Mov pkp,50
    Mvs pkp
    Dly 0.25
    HOpen 1 "leraktuk a hengert
    Dly 0.25
    Mov pkp, 50
    Mov pdugattyu, 10 "dugattyúért megy
    Mvs pdugattyu
    Dly 0.25
    Hclose 1 "felvettük a dugattyút
    Dly 0.25
    Mvs pdugattyu, 10
    Mov pkp, 50
    Mvs pkp
    Dly 0.25
    HOpen 1 "leraktuk a dugattyút
    Dly 0.25
    Mov pkp, 50
    Mov prugo, 10 "rugóért megy
    Mvs prugo
    Dly 0.25
    Hclose 1 "felvettük a rugót
    Dly 0.25
    Mvs prugo, 10
    Mov pkp, 50
    Mvs pkp
    Dly 0.25
    HOpen 1 "leraktuk a rugót
    Dly 0.25
    Mov pkp, 50
    Trk Off
    Wait M_In(7)=1 "addig vár, amíg az harmadik(összeszerelő ág vége) induktív nem érzékel
    M_Out(4)=0 "1. szelep kienged
    M_Out(0)=1 "2. szelep (összeszerelő végpont) behúz
    Wait M_In(7)=0 "addig vár, amíg az harmadik(összeszerelő ág vége) induktív előtt mar nincs ott a darab (tehát kifutott a végpontig)
    Dly 1
    M_Out(6)=0 "összeszerelő ág futószalag előre leállít
    M_Out(1)=1 "váltó belső állás
    M_Out(1)=0 "váltó belső állást kell nullázni
    M_Out(0)=0 "2. szelep (összeszerelő végpont) kienged
    M_Out(5)=1 "összeszerelő futószalag hátra indul
    M_Out(9)=1 "visszavezető futószalag előre indul
    Wait M_In(6)=1 "addig vár, amíg az visszavezető induktív nem érzékel (de nem történik semmi)
    Wait M_In(4)=1 "addig vár, amíg az összeszerelő induktív nem érzékel (vissza nem ért a darab)
    M_Out(5)=0 "összeszerelő futószalag hátra leáll
    M_Out(9)=0 "visszavezető ág futószalag leáll
    Mov phome2
    Servo Off
    Hlt
    "
    "kimenetek és bemenetek listája
    "szelepek
    "M_Out(0)=1 "2. szelep (összeszerelő végpont) behúz
    "M_Out(0)=0 "végpont szelep kienged
    "M_Out(1)=1 "váltó belső állásra vált
    "M_Out(1)=0 "váltó belső állás nyomás levesz
    "M_Out(2)=1 "váltó külső állásra állít
    "M_Out(2)=0 "itt nem kell nyomást levenni
    "M_Out(3)=1 "3.szelep (visszavezető ág) behúz
    "M_Out(3)=0 "3. szelep kienged
    "M_Out(4)=1 "1. szelep behúz
    "M_Out(4)=0 "1. szelep kienged
    "
    "Futószalag ágak nullázása (mindig kell, mert mindig a korábbi érték ellentétjére indul vagy áll meg).
    "M_Out(5)=0 "futószalag leáll nullázással kezdünk
    "M_Out(6)=0 "futószalag leáll nullázással kezdünk
    "M_Out(8)=0 "másik futószalag előre leáll
    "M_Out(9)=0 "másik futószalag előre leáll
    "
    "M_Out(5)=1 "összeszerelő ág futószalag hátra indul
    "M_Out(5)=0 "összeszerelő ág futószalag leáll
    "M_Out(6)=1 ""összeszerelő ág futószalag előre indul
    "M_Out(6)=0 ""összeszerelő ág futószalag előre leáll
    "M_Out(8)=1 "visszavezető ág futószalag hátra indul
    "M_Out(8)=0 " visszavezető ág futószalag hátra leáll
    "M_Out(9)=1 " visszavezető ág futószalag előre indul
    "M_Out(9)=0 " visszavezető ág futószalag előre leáll
    "
    "induktívok
    "Wait M_In(4)=1 "addig vár, amíg az első induktív nem érzékel
    "Wait M_In(5)=1 "addig vár, amíg az indító induktív nem érzékel
    "Wait M_In(6)=1 "addig vár, amíg az visszavezető induktív nem érzékel
    "Wait M_In(7)=1 "addig vár, amíg az harmadik(összeszerelő ág vége) induktív nem érzékel