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

Создаем робот-манипулятор с использованием дальномера, реализуем подсветку.

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

Общее описание проекта робота-манипулятора

В проекте использовано 6 серводвигателей. Для механической части использован акрил толщиной 2 миллиметра. В качестве штатива пригодилось основание от диско-шара (один из двигателей вмонтирован внутрь). Также использован ультразвуковой датчик расстояния и светодиод диаметром 10 мм.

Для управления роботом используется Arduino плата питания. Сам источник питания - блок питания компьютера.

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

Основные узлы для проекта манипулятора

Давайте начнем разработку. Вам понадобятся:

  • 6 серводвигателей (я использовал 2 модели mg946, 2 mg995 , 2 futuba s3003 (mg995/mg946 по характеристикам лучше, чем futuba s3003, но последние намного дешевле);
  • акрил толщиной 2 миллиметра (и небольшой кусок толщиной 4 мм);
  • ультразвуковой датчик расстояния hc-sr04 ;
  • светодиды 10 мм (цвет - на ваше усмотрение);
  • штатив (используется в качестве основания);
  • схват аллюминиевый (стоит около 10-15 долларов).

Для управления:

  • Плата Arduino Uno (в проекте использована самодельная плата, которая полностью аналогична Arduino);
  • плата питания (вам придется ее сделать самим, к этому вопросу мы вернемся позже, он требует отдельного внимания);
  • блок питания (в данном случае используется блок питания компьютера);
  • компьютер для программирования вашего манипулятора (если вы используете для программирования Arduino, значит, среда Arduino IDE)

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

Сборка механической части

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

Длина первой части около 19 см; второй - около 17.5; длина переднего звена около 5.5 см. Остальные габариты подбирайте в соответсвии с размерами вашего проекта. В принципе, размеры остальных узлов не так важны.

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

Для установки ультразвукового датчика, используется акрил толщиной 2 мм. Тут же снизу можно установить светодиод.

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

Вам точно придется после завершения разработки механической части манипулятора удлинить кабели серводвигателей. Для этих целей в данном проекте использовались провода из интернет-кабеля. Для того, чтобы все это имело вид, не поленитесь и установите на свободные концы удлиненных кабелей переходники - мама или папа, в зависимости от выходов вашей платы Arduino, шилда или источника питания.

После сборки механической части, мы можем перейти к "мозгам" нашего манипулятора.

Схват манипулятора

Для установки схвата вам понадобится серводвигатель и несколько винтов.

Итак, что именно необходимо сделать.

Берете качалку от сервы и укорачиваете, пока она не подойдет к вашему схвату. После этого закручиваете два маленьких винта.

После установки сервы, проворачиваете ее в крайнее левое положение и сжимаете губки схвата.

Теперь можно установить серву на 4 болта. При этом следите, чтобы двигатель был все так же в крайнем левом положении, а губки схвата закрыты.

Можно подключить сервопривод к плате Arduino и проверить работоспособность схвата.

Учтите, что могут возникнуть проблемы с работой схвата, если болты/винты слишком сильно затянуты.

Добавление подсветки на манипулятор

Можно сделать ваш проект ярче, добавив на него подсветку. Для этого использовались светодиоды. Делается несложно, а в темноте выглядит очень эффектно.

Места для установки светодиодов зависят от вашего креатива и фантазии.

Электросхема

Можно использовать вместо резистора R1 потенциометр на 100 кОм для регулировки яркости вручную. В качестве сопротивлени R2 использовались резисторы на 118 Ом.

Перечень основных узлов, которые использовались:

  • R1 - резистор на 100 кОм
  • R2 - резистор на 118 Ом
  • Транзистор bc547
  • Фоторезистор
  • 7 светодиодов
  • Переключатель
  • Подключение к плате Arduino

В качестве микроконтроллера использовалась плата Arduino. В качестве питания использовался блок питания от персонального компьютера. Подключив мультиметр к красному и черному кабелям, вы увидите 5 вольт (которые используются для серводвигателей и ультразвукового датчика расстояния). Желтый и черный дадут вам 12 вольт (для Arduino). Делаем 5 коннекторов для сервомоторов, параллельно подключаем позитивные к 5 В, а негативные - к земле. Аналогично с датчиком расстояния.

После этого подключите оставшиеся коннекторы (по одному с каждой сервы и два с дальномера) к распаянной нами плате и Arduino. При этом не забудьте в программе в дальнейшем корректно указать пины, которые вы использовали.

Кроме того, на плате питания был установлен светодиод-индикатор питания. Реализуется это несложно. Дополнительно использовался резистор на 100 Ом между 5 В и землей.

10 миллиметровый светодиод на роботе тоже подключен к Arduino. Резистор на 100 Ом идет от 13 пина к к позитивной ноге светодиода. Негативный - к земле. В программе его можно отключить.

Для 6 серводвигателей использовано 6 коннекторов, так как 2 серводвигателя снизу используют одинаковый сигнал управления. Соответствующие проводники соединяются и подключаются к одному пину.

Повторюсь, что в качестве питания используется блок питания от персонального компьютера. Либо, конечно, вы можете приобрести отдельный источник питания. Но с учетом, того, что у нас 6 приводов, каждый из которых может потреблять около 2 А, подобный мощный блок питания обойдется недешево.

Обратите внимание, что коннекторы от серв подключаются к ШИМ-выходам Arduino. Возле каждого такого пина на плате есть условное обозначение ~. Ультразвуковой датчик расттояния можно подключить к пинам 6, 7. Светодиод - к 13 пину и земле. Это все пины, которые нам понадобятся.

Теперь мы можем перейти к программированию Arduino.

Перед тем как подключить плату через usb к компьютеру, убедитесь, что вы отключили питание. Когда будете тестировать программу, также отключайте питание вашей робо-руки. Если питание не выключить, Arduino получит 5 вольт от usb и 12 вольт от блока питания. Соответственно, мощность от usb перекинется к источнику питания и он немного "просядет".

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

Программирование и первый запуск

Для управления использовано 5 потенциометров (вполне можно заменить это на 1 потенциометр и два джойстика). Схема подключения с потенциометрами приведена в предыдущей части. Скетч для Arduino находится здесь.

Снизу представлены несколько видео робота-манипулятора в работе. Надеюсь, вам понравится.

На видео сверху представлены последние модификации арма. Пришлось немного изменить конструкцию и заменить несколько деталей. Оказалось, что сервы futuba s3003 слабоваты. Их получилось использовать только для схвата или поворота руки. Так что виесто них были установлены mg995. Ну а mg946 вообще будут отличным вариантом.

Программа управления и пояснения к ней

// управляются привода с помощью переменных резисторов - потенциометров.

int potpin = 0; // аналоговый пин для подключения потенциометра

int val; // переменная для считывания данных с аналогового пина

myservo1.attach(3);

myservo2.attach(5);

myservo3.attach(9);

myservo4.attach(10);

myservo5.attach(11);

pinMode(led, OUTPUT);

{ //servo 1 analog pin 0

val = analogRead(potpin); // считывает значение потенциометра (значение между 0 и 1023)

// масштабирует полученное значение для использования с сервами (получаем значение в диапазоне от 0 до 180)

myservo1.write(val); // выводит серву в позицию в соответствии с рассчитанным значением

delay(15); // ждет, пока серводвигатель выйдет в заданное положение

val = analogRead(potpin1); // серва 2 на аналоговом пине 1

val = map(val, 0, 1023, 0, 179);

myservo2.write(val);

val = analogRead(potpin2); // серва 3 на аналоговом пине 2

val = map(val, 0, 1023, 0, 179);

myservo3.write(val);

val = analogRead(potpin3); // серва 4 на аналоговом пине 3

val = map(val, 0, 1023, 0, 179);

myservo4.write(val);

val = analogRead(potpin4); //серва 5 на аналоговом пине 4

val = map(val, 0, 1023, 0, 179);

myservo5.write(val);

Скетч с использованием ультразвукового датчика расстояния

Это, наверное, одна из самых эффектных частей проекта. На манипулятор устанавливается датчик расстояния, который реагирует на препятствия вокруг.

Основные пояснения к коду представлены ниже

#define trigPin 7

Следующий кусок кода:

Мы присвоили всем 5-ти сигналам (для 6 приводов) названия (могут быть любыми)

Следующее:

Serial.begin (9600);

pinMode(trigPin, OUTPUT);

pinMode(echoPin, INPUT);

pinMode(led, OUTPUT);

myservo1.attach(3);

myservo2.attach(5);

myservo3.attach(9);

myservo4.attach(10);

myservo5.attach(11);

Мы сообщаем плате Arduino к каким пинам подключены светодиоды, серводвигатели и датчик расстояния. Изменять здесь ничего не стоит.

void position1(){

digitalWrite(led, HIGH);

myservo2.writeMicroseconds(1300);

myservo4.writeMicroseconds(800);

myservo5.writeMicroseconds(1000);

Здесь кое-что можно менять. Я задал позицию и назвал ее position1. Она будет использована в дальнейшей программе. Если вы хотите обеспечить другое движение, измените значения в скобках в диапазоне от 0 до 3000.

После этого:

void position2(){

digitalWrite(led,LOW);

myservo2.writeMicroseconds(1200);

myservo3.writeMicroseconds(1300);

myservo4.writeMicroseconds(1400);

myservo5.writeMicroseconds(2200);

Аналогично предыдущему куску, только в данном случае это position2. По такому же принципу вы можете добавлять новые положения для перемещения.

long duration, distance;

digitalWrite(trigPin, LOW);

delayMicroseconds(2);

digitalWrite(trigPin, HIGH);

delayMicroseconds(10);

digitalWrite(trigPin, LOW);

duration = pulseIn(echoPin, HIGH);

distance = (duration/2) / 29.1;

Теперь начинает отрабатывать основной код программы. Не стоит его изменять. Основная задача приведенных выше строк - настройка датчика расстояния.

После этого:

if (distance <= 30) {

if (distance < 10) {

myservo5.writeMicroseconds(2200); //открыть схват

myservo5.writeMicroseconds(1000); //закрыть схват

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

if(distance <=30){ // данная строка обеспечивает переход в position1, если расстояние меньше 30 см.

position1(); //по сути арм отработает все, что вы зададите между скобками { }

else{ // если расстояние больше 30 см, переход в position2

position()2 // аналогично предыдущей строке

Можно в коде поменять расстояние ну и творить все, что вы пожелаете.

Последние строки кода

if (distance > 30 || distance <= 0){

Serial.println("Out of range"); //вывод в серийном монитеоре сообщения, что мы вышли за заданный диапазон

Serial.print(distance);

Serial.println(" cm"); //расстояние в сантиметрах

delay(500); //задержка в 0.5 секунды

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

Вот, собственно и все. Наслаждайтесь, модернизируйте свои собственные манипуляторы, делитесь идеями и резутатами!

Общие сведения

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

По способу подключения джойстики подразделяются на джойстики с USB подключением и Game Port подключением. Можно ли самостоятельно сделать с нуля джойстик на USB мне неведомо, однако я полагаю, что это если и возможно, то только высококвалифицированным радиоинженерам. Иное дело переделать готовый USB джойстик под свой вкус и свои потребности. Это доступно практически каждому, умеющему держать в руках паяльник. Сделать с нуля джойстик на Game Port несложно, и вполне по силам каждому человеку, умеющему и любящему возиться с пластмассовыми и железными цацками. :-)

По типу датчиков джойстики подразделяются на джойстики, построенные на оптических датчика, на переменных резисторах и на магнитных резисторах. Каждый из перечисленных типов может быть сделан на Game Port. Единственное НО заключается в том, что я не имею ни малейшего представления о магнитных резисторах, поэтому буду рассказывать только об оптике и переменных резисторах.

Как джойстик сделать

На мой взгляд, самое пристальное внимание при создании собственного джойстика нужно уделить его механике. Главный враг на этом фронте - люфт. Как можно его побороть? Мое решение нельзя назвать простым, легким и дешевым. Однако можно назвать его механически совершенным. Заключается оно в том, что все поворотные узлы собираются на подшипниках качения с двойной опорой каждой детали. Такая конструкция обладает тремя достоинствами - полным отсутствием люфта, чертовской прочностью и высочайшей точностью позиционирования. Немаловажен еще и плавный ход, исключающий рывки и неравномерности движения.

Далее выбираем тип электронной начинки. Оптика или резисторы? Оптика точнее, она исключает дрожание. Однако оптика весьма непроста в установке и настройке. Резисторы проще в монтаже. Но нужно быть очень разборчивым в выборе резисторов, покупать импортные и не дешевые, иначе обеспечено дрожание, которое испортит все впечатление.

Начнем с механики. Вот посмотрите, здесь я нарисовал поворотный узел моего самодельного джойстика. Используются шариковые подшипники внешним диаметром 19 и внутренним 6 мм. Все подшипники вставлены и закреплены в выточенных круглых металлических шайбах, толщиной 12 мм.

Итак, мы видим, что весь узел состоит из трех основных узлов: узла крена, тангажа и качалки.

Пыльник покупается от шаровой Жигулей, но не большой, а маленький, с диаметром резинки 14 мм. Как раз под трубку ручки. Этот пыльник помимо защиты механизма от пыли и посторонних взглядов, подпружинивает ручку, и держит ее в среднем положении.

Чтобы воздействовать на качалку болт крепления трубки просверлен в центре, и в него вкручен болт с резьбой М3 без шляпки. Этот болт передает момент на качалку.

Накладки я делал из винипласта толщиной 10 мм. Далее сверлил в центре отверстие, и запрессовывал в нем подшипник (силой вдавливал. Держится превосходно). Сами подшипники извлекаются из 3.5 кулера (бловера), если он на подшипниках качения.

Вот снимок механики:

Сделав узел механики (на это может уйти несколько месяцев), нужно сделать корпус. Тут уж вам полный простор. Я для этого использую винипласт. Применяется он на промышленном производстве при монтаже электрических узлов. Толщина варьируется от 3 мм и до неизвестности. Самый толстый я видел 30 мм. Нам нужен толщиной не менее 8 мм для запаса прочности.

Винипласт очень прочный, эластичный, и хорошо обрабатывается. Из него можно склеить бокситкой любой корпус, на ваш вкус. Сгладите углы, покрасите - от заводского никто не отличит. Тут, правда, есть один нюанс. Для того, чтобы корпус был прочнее, и смотрелся более пристойно, я делаю так.

Берете отпиленный кусок винипласта нужного размера, намечаете карандашом линии сгибов. Теперь ищете любой электроприбор, который имеет поверхность накаливания порядка 400 и выше градусов (желательно чтобы при прикосновении кусочка винипласта к поверхности нагрева винипласт слегка плавился - тогда температура сойдет). Идеальный вариант - прут тэна, диаметром 8 - 15 мм. У меня есть неопознанный кулинарный электроприбор, у которого есть такая поверхность - круглый прут, который раскаливается до красна. Я использовал его. Держим некоторое время винипласт над этим прутом, чтобы от намеченной полоски карандаша до прута было минимальное расстояние, не позволяющее материалу плавиться. Когда отрезок винипласта достаточно прогревается, он становится эластичным, и легко сгибается на требуемый угол. В нашем случае это 90 градусов. Потом, выдерживая руками угол, охлаждаем сгиб под струей холодной воды из водопроводного крана, винипласт застывает, и это навечно:-). Также поступаем с противоположной поверхностью. Осталось выпилить из винипласта две боковые накладки, плотно подогнать их так, чтобы они без зазоров заходили вовнутрь, и склеить эпоксидной смолой. Далее делаем в верхней поверхности новоиспеченного корпуса требуемое отверстие для штока РУС, выпиливаем нижнюю крышку. Должно получиться примерно так:

Потом монтируем поворотный узел к корпусу, и сам джойстик почти готов.

Если конструкцию покрасить, и дополнить большим пыльником, то выйдет примерно это:

Как видите джойстик напольный. Сама ручка с военного Ми-8 (такие ставились и на Ми-24).

Но почему почти готов? А потому что нет педалей...

Самое сложное в педалях, это сделать их в пристойном облике, чтобы они не напоминали пыточный инструмент:-) Вот взгляните.

Технология проста. Берем нужный кусок текстолита, нагреваем ровно посередине, и перегибаем на острый угол (более 90 градусов). Угол нужен такой, чтобы торец педали в среднем положении был на минимальном расстоянии от поверхности, а в крайних положениях расстояние от торца до поверхности было равным. Далее делаем в вертикальной поверхности две вертикальные прорези на требуемый ход педалей. Потом берем две небольшие дверные петли, выпиливаем по их ширине и требуемой длине сами педали, и соединяем петли, педали и остов.

Потом делаем стальные направляющие, прикручиваем их к педалям. Стальные направляющие подвергаются токарной обработке - в нужных местах прослабляются, чтобы с них не спадала резинка (резинка залита синим), а в нужных утолщаются, поскольку сквозь эту толщину пойдет струна (на рисунке залита красным), обеспечивающая обратную связь педалей. Сама струна должна быть прочна и тонка. Я использовал для ее роли прочную матерчатую изоляцию электрического кабеля. Сойдет и бельевая капроновая веревка. Эту веревку нужно протянуть через два блока. Желательно чтобы эти блоки были собраны на шариковых подшипниках, и имели канавки, чтобы струна не спадала. Блоки крепятся на болтах диаметром 6 мм. Меньше нельзя, поскольку это несущий узел, работать будем ногами, и нужна прочность.

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

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

...прошло несколько месяцев...

Вот и пришел тот час, когда я могу приступить к описанию новых педалей.

Изрядно полетав (больше года) на педалетках (так я называю педали вышеприведенного типа, их еще можно обозвать автопедалями), я осознал, что созрел для повышения уровня реализма:-) Педалетки вышли в отставку, и были подарены товарищу.

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

Давайте определимся с сущностью хардкорных авиапедалей.

Хардкорные авиапедали:

  1. Работают по принципу обратной связи (давишь одну педаль от себя - вторая идет к тебе);
  2. Сами педали при нажатии не меняют горизонтальный угол установки;
  3. Расстояние между педалями должно соответствовать аналогичному расстоянию в реальных самолетах;
  4. Педали подпружинены, и имеют отчетливо ощущаемую ногами, нейтральную точку позиционирования.

Для того, чтобы такие педали работали, нужно:

  1. Большая площадь контакта основания педалей с полом для исключения опрокидывания конструкции;
  2. Исключить возможность скольжения основания педалей по полу;

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

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

Сам узел можно изготовить вручную, а можно заказать у токаря/фрезеровщика. В любом случае придется купить два подшипника, внешним диаметром 40 мм.

Сначала я сделал узел сам, из подручных материалов, которые нашел у себя в коробках с хламом. Это было достаточно затруднительно, поскольку невозможно подобрать болт с диаметром резьбы, соответствующему внутреннему диаметру подшипников, что влечет за собой утомительный процесс центровки подшипников на болте. Также непросто в домашних условиях просверлить болт М14 насквозь вдоль. Однако все делается. Сделав, я столкнулся с одной проблемой. Дело в том, что педали я подпаивал к микросхеме трастмастера TOP GUN FOX PRO 2 USB. Опрос резистора «педальной» оси в этом джое рассчитан на жесткую фиксацию полярности резистора. Иными словами - педальный резюк грамотно опрашивается только в том случае, если распайка крайних ног резюка идентична оригинальной. Однако, если резистор расположить под конструкцией (стаканом стойки педалей), то для достижения соответствия воздействия на педали и реакции руля направления в игре, нужно перепаять крайние контакты на резисторе. После перепайки опрос резистора искажается, появляется неравномерность в управлении, постоянно сбивается центровка.

Еще одной проблемой, которую не удалось решить с ходу, оказалась центровка педалей. Я попробовал два варианта. Реализуя первый, я попытался захватить пружинами саму штангу педалей с двух сторон. Однако это был неверный путь, поскольку пружины были тугие, и одна из сторон педалей всегда упиралась в пружину, которая была уже сжата. Во втором случае я просверлил штангу по центру горизонтально, и приделал туда болт, на который накинул пружину. Этот вариант оказался неплохим, разве что не обеспечивал точно ощущаемой нейтральной зоны. Как позже выяснилось, примененный для центровки болт диаметром 6 мм оказался недостаточно прочным, и подгибался.

Также веселая история произошла с ограничителями хода педалей. Я изначально задумал сделать ограничители, и потратил немало времени на их монтаж. Там тоже были свои варианты, свои ошибки и единственно-возможное решение. Однако, когда я однажды снял ограничители и попробовал педали без них, я пришел к выводу о ненужности ограничителей. Это обусловлено тем, что если подпружинить педали в достаточной степени, вывернуть их на критический для резистора угол просто невозможно, применяя разумные усилия на педалях - пружина не дает вывернуть больше, и начинает двигаться вся конструкция. Иными словами, чтобы своротить голову резюку, нужно специально задаться этой целью, и упереться в одну педаль всей массой. Однако в этом случае можно легко сломать и ограничитель, и всю систему подпружинивания. А раз так, то ограничители не нужны. Выглядело все так:

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

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

Быть или не быть? Вот каким вопросом озадачимся в первом абзаце. Нет, поймите меня правильно, РУД как таковой, безусловно, необходим на джойстике, дело в том, должен ли он быть отдельным от джойстика? Однозначный ответ можно дать только в том случае, если Ваш джойстик напольный. Если напольный - то отдельный РУД необходим. А если джой настольный? И для управления двигателем у него предусмотрен соответствующий рычажок (ползунок)? Тут уж дело каждого. Зависит от взглядов вирпила на жизнь его вирпильскую, на долю его горемычную:-) Мое мнение однозначно - если джой настольный, то водружать на стол еще одну коробку с рычагом для управления двигателем, есть не что иное, как повод для истерики в курятнике. Курам понравится, и они будут смеяться так, что может даже полопаются.

Почему я так категоричен в этом вопросе? Да потому что совершенно не вижу причин для появления отдельного РУДа рядом с настольным джоем. Что может выступить причиной? Необходимость в расширении функциональности? Смешно, поскольку основания современных джойстиков нашпигованы кнопками, расположенными достаточно удобно. А если не хватает, можно ненадолго убрать руку с основания и ткнуть перстом в клавиатуру, расположенную в паре сантиметров от основания джойстика. Кроме того, оперировать в бою большим пальцем левой руки куда сподручнее, нежели шуровать всей конечностью туды-сюды на отдельном руде. Проверено. Но может это благородное стремление к повышению реализма?? Тем более смешно, поскольку реализм в первую очередь заключен в авиапедалях, во вторую очередь в напольной РУС, и только в третью очередь - в отдельном РУД. Используя метафору, можно выразиться, что делать настольный РУД при настольном РУС это все равно, что «проапгрейдить» немощный старый компьютер покупкой нового «пацанского» корпуса баксов за 300:-) Однако это мое мнение, оно субъективно. Может кому-то важнее корпус.

Надеюсь Вы определились с необходимостью для вас отдельного РУД. Если жизнь Ваша без отдельного РУД представляется Вам серой и мрачной, то продолжаем прения:-)

Итак, каковы основные требования к РУД?

  1. Плавный ход без рывков, неравномерности в перемещении;
  2. Тугой ход. Тугой настолько, чтобы РУД удерживался в том положении, в котором Вы его отпустили, и не перемещался от колебаний эфира:-);
  3. Достаточный вес и размер основания, чтобы при манипуляциях РУД основание РУД не ерзало по столу (стулу);
  4. Удобная ручка;
  5. Достаточная амплитуда перемещения РУД.

Как будем реализовывать эти требования? Плавность обеспечим построением механизма на шариковых подшипниках. Тугого хода добьемся применением подтормаживающей системы. Вес увеличим грузами. Размеры сделаем достаточными. Наконец, амплитуду отрегулируем по потребностям.

Начнем, по традиции с блока механики.

Первым вопросом тут будет вариант базового крепления узла механики. Возможны следующие варианты:

  1. Верхнее крепление;
  2. Нижнее крепление;
  3. Боковое крепление.

Смотрим на рисунке:

Каждый вариант имеет свои плюсы и минусы.

Первый вариант предпочтительнее тем, что при его применении предельно облегчен доступ к содержимому РУД - снял нижнюю крышку и оперируй как Пирогов:-) Минусы заключаются в том, что, во-первых, сам корпус РУД должен быть достаточно прочным и толстым, во-вторых, на верхней панели появятся две шляпки болтов (нам, эстетам, это не пристало), и в третьих, длина штока РУД сокращается, и соответственно сокращению, закругляется траектория хода РУД.

Плюсом второго варианта является большая длина штока РУД, возможность использовать для корпуса основания РУД материал потоньше, отсутствуют шляпки болтов на верхней части основания, усилия на РУД распределяются более удачно в плане устойчивости конструкции. Недостатком второго варианта является затрудненный доступ в утробу основания. Для вскрытия потребуется открутить нижнюю крышку, и сам механизм от крышки. Да и механика будет частично скрыта гранью уголка-крепежа.

Третий вариант обладает всеми плюсами второго (если механизм крепить к нижней крышке). Единственный его крупный минус - необходимость изготавливать ограничители движения РУД (в первых вариантах амплитуда движения РУД ограничивается величиной прорези в корпусе), что касается мелкого минуса, то он заключается в том, что выглядит 2 вариант менее основательно, нежели первые два. Да, чуть не забыл - плюс еще в том, что нет прорези на верхней панели, и грязюка в корпус не попадает.

Я избрал третий вариант. Причина в том, что у меня вышел весь материал для изготовления нормального корпуса. Когда достану материал переделаю по варианту 2. А Вы решайте сами. Как говорится, исходя из способностей и потребностей:-)

Да, кстати, возможен еще один вариант, а именно:

Данный вариант предпочтительней для любителей «ретро»:-), он принципиально похож на РУД Як-3. Однако данная схема имеет один существенный минус - в рукоятках затруднительно разместить кнопки и дополнительные оси. И уж тем более сложно этими осями и кнопками пользоваться. Налицо ограниченная функциональность.

В общем ладно. С этим вроде закончили, выбор делать Вам, а я немножко его облегчил, поскольку указал на плюсы и минусы. Умываю руки:-)

Теперь перейдем к рассмотрению непосредственно блока механики РУД. Потребуются два шариковых подшипника внутренним диаметром 7 мм. Если Вы избрали нижнюю схему, то, соответственно, четыре подшипника. Также советую обзавестись уголком с гранями 70 мм, либо просто пластиной стали, толщиной не менее 5 мм (в этом случае придется при реализации верхней схемы № 3 крепить механику к крышке). Смотрим рисунок, вид сбоку:

Как видно на рисунке, на болт с резьбой М6 надет шток РУД, далее надета металлическая трубка (желательно чтобы ее внутренний диаметр позволял сесть на болт впритирку) длиной 10 мм, потом идет подшипник, снова трубка, но чуть подлиннее (20-30 мм), опять подшипник, и все это накрепко затянуто гайкой. Конец болта предварительно обработан на наждаке, чтобы его диаметр был 3-4 мм.

После сборки системы, на металлической пластине просверливаются четыре отверстия, и к пластине с помощью хомутов крепятся подшипники. Это видно на следующем рисунке:

Устройство тормозящей системы, думаю, очевидно. Сила торможения регулируется затяжкой гайки на шпильке. В качестве тормозящей прокладки я избрал полоски кожи (замши), поскольку кожа не крошится как резина и не замусоривает механизм. Тормоз действует достаточно долго, и не ослабляется.

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

Шток РУД можно сделать как из трубки (стального прута), так и из пластины. Я использовал полоску текстолита, толщиной 8мм, и шириной приблизительно 40 мм. Слегка изогнул ее на конце, и прикрепил к изогнутому концу ручку.

Теперь о корпусе. Корпус основания можно сделать самому, а можно взять готовую пластмассовую коробку нужных размеров. Если решили сделать, то я рекомендую руководствоваться советами в разделе Общие сведения. Механика , где я рассказывал как делаю корпуса.

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

Напоследок пару слов о непосредственно ручке РУД. Ее можно сделать по-разному. Руководствуйтесь собственными пожеланиями. Я избрал для ручки полый пластмассовый стакан и закручивающейся крышкой. Полый потому, что в нем я разместил кнопки и резистор управления шагом винта. Как это сделать посмотрите рисунок:

Итак, ручка руда - это такой «стакан» из полупрозрачной, белой пластмассы с толстыми стенками. Сей стакан я обнаружил случайно. В нем я у дома сверла хранил:-) Стакан сделан как конус, и в широкой части имеет резьбу, на которую накручивается крышка. Эту крышку я прикрепил (четырьмя болтами М4) к толстой полосе изогнутого текстолита, сделал отверстие чтобы пропустить многожильный провод. На крышку накручивается стакан - вот и весь руд.

В верхней (глухой) части стакан просверлен, и в него вделан резюк (отечественный, 150 кОм, подпаян вместо трастмастеровского к плате. У отечественного большая амплитуда поворота опрашивается, а у родного мизерный угол опроса). Далее на глухую часть с внешней стороны крепится (тремя болтами М4) самодельная шайба из толстого текстолита, призвание которой - скрыть гайку, крепящую резюк к стакану, и убрать зазор между маховичком резистора и торцом стакана. На шток резюка одет маховичок от узла фотоувеличителя, который (счастливое совпадение) подходит по диаметру к стакану. Вживую он выглядит так:

Вот как на нем лежит рука:

В заключение хочу добавить, что все, что я тут описал, делается без привлечения посторонних людей. Все что нужно - тиски, ножовка по металлу, дрель, слесарный набор (сверла, метчики и лерки). Я также использовал наждачный станочек собственного изготовления. Если у Вас его нет, то не отчаивайтесь - напильник и руки творят чудеса. Остальные инструменты (пассатижи, кусачки и проч.), думаю, у всех имеются.

Kelt (makkov at mail dot ru )

Доброго дня, мозгочины ! Век технологий подарил нам много интересных приборов, которые можно и нужно дорабатывать своими руками , например как в этом мозгоруководстве о беспроводном управлении роботизированной рукой.


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

Перчатка снабжена сенсорами для управления светодиодом и 5-ю моторами
передатчик на Arduino принимает сигналы сенсоров, а затем в виде команд управления по беспроводной связи отправляет их на приемник контроллера робо-руки
приемник контроллера на основе Arduino Uno получает команды и соответственно управляет робо-рукой

Особенности:

Поддержка все 5 степеней свободы (DOF) и подсветки
наличие экстренной красной кнопки которая при необходимости отключает все двигатели робо-руки во избежание поломок и повреждений
портативный модульный дизайн

Шаг 1: Компоненты


Для перчатки:

Шаг 2: Предварительная сборка


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

Сам проект содержит два сложных момента: первый — это настроить два приемника-передатчика nRF24 друг на друга для слаженного взаимодействия. Получается, что ни Nano, ни Uno не обеспечивают стабильные 3.3В для четкой работы модулей. Это решается добавлением конденсаторов 47мФ на выводы питания обоих модулей nRF24. В принципе желательно перед использованием модулей nRF24 ознакомится с их функционированием в IRQ и не-IRQ режимах, да и другими нюансами. И помогут в этом следующие ресурсы. nRF24. и nRF24 lib

И второй — довольно быстро заполняются контакты Uno, но это не удивительно ведь нужно контролировать 5-ь двигателей, подсветку, две кнопки и модуль связи. Поэтому пришлось задействовать сдвиговый регистр. Основываясь на том, что модули nRF24 используют SPI интерфейс, я решил для программирования сдвигового регистра также использовать SPI вместо функции shiftout(). И на удивление набросок кода заработал с первого раза. Вы можете проверить это по назначению контактов и рисункам.

И пусть макетная плата и перемычки станут вашими мозгодрузьями 🙂

Шаг 3: Перчатки


OWI Робо-рука имеет 6 пунктов для управления:

Светодиод подсветки расположенный Захвате
Захват
Запястье
Локоть — это часть манипулятора соединенная с Запястьем
Плечо – часть манипулятора, прикрепленная к Основе
Основа

Перчатка-поделка управляет всеми этими 6-ю пунктами, то есть подсветкой и движениями манипулятора с 5 степенями свободы. Для этого на перчатке установлен сенсор, обозначенный на фото, с помощью которого и происходит управление:

Захват контролируется кнопками на среднем пальце и мизинце, то есть при сведении вместе указательного пальца и среднего захват закрывается, а при сведении мизинца и безымянного открывается.
Запястье управляется гибким сенсором на указательном пальце — сгибание пальца на половину заставляет запястье опускаться, а полное сгибание пальца подниматься.
Локоть управляется акселерометром – наклон ладони вверх или вниз заставляет локоть подниматься или опускаться соответственно.
Плечо так же контролируется акселерометром – поворот ладони вправо или влево заставляет плечо перемещаться вверх или вниз соответственно.
Основа тоже управляется акселерометром – наклон всей ладони (лицевой стороной вверх) вправо или влево заставляет поворачиваться основу в правую или левую стороны соответственно.
Подсветка включается/отключается одновременным нажатием обеих кнопок управляющих захватом.
При этом кнопки срабатывают при удержании в 1/4 секунды, чтобы избежать отклика при случайном касании.

Во время размещения компонентов самоделки на перчатке придется поработать ниткой с иголкой, а именно пришить 2 кнопки, гибкий резистор, модуль с гироскопом и акселерометром, ну и провода, идущие от всего перечисленного к штекерному мозгоразъему .

На плате со штекерным разъемом смонтированы два светодиода: зеленый – индикатор питания, а желтый – индикатор передачи данных на контроллер манипулятора.

Шаг 4: Блок передатчика


Блок передатчика состоит из Arduino Nano, модуля беспроводной связи nRF24, штекерного разъема для ленточного кабеля и трех резисторов: два согласующих резистора по 10кОм для кнопок управления захватом на перчатке и делитель напряжения 20кОм для гибкого сенсора, отвечающего за управление запястьем.

Вся электронные компоненты спаяны на монтажной плате, при этом обратите внимание как модуль nRF24 «висит» над Nano. Я думал, что такое мозгоположение будет вызывать помехи, но нет, все нормально работает.

9В-я батарейка придает браслету громоздкости, но я не хотел «возиться» с литиевым аккумулятором, может быть позже.

Внимание!! Перед пайкой ознакомьтесь с распиновкой контактов!

Шаг 5: Контроллер манипулятора


Основа контроллера робо-руки — Arduino Uno, получающий посредством модулей беспроводной связи nRF24 сигналы от перчатки, и на их основе затем с помощью микросхем 3 L293D управляющий OWI манипулятором.

Так как почти все контакты Uno были задействованы, то мозгопровода, идущие к ним, едва умещаются в корпусе контроллера!

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

Подключение OWI

Робо-рука и контроллер соединяются ленточным кабелем с 14 дорожками, см. рисунок.

Светодиоды припаиваются к заземлению (-) и контакту а0 Arduino через резистор 220 Ом.
Все провода от двигателей подсоединяются к микросхеме L293D к выводам 3/6 или 11/14 (+/- соответственно). Каждая L293D поддерживает два двигателя, следовательно, две пары контактов.
Провода питания OWI расположены по краям 7-контактного штекера (левая крайний +6В и правый крайний GND) на задней желтой крышке, см. фото. Эта пара подсоединена к контакту 8 (+) и контактам 4,5,12,13 (GND) на всех трех микросхемах L293D.

Внимание!! Обязательно ознакомьтесь с распиновкой контактов в следующем шаге!

Шаг 6: Назначение контактов (распиновка)


5В — 5В для платы акселерометра, кнопок и гибкого сенсора
а0 – вход гибкого сенсора
а1 – желтый светодиод
а4 – SDA к акселерометру
а5 – SCL к акселерометру
d02 – прерывающий контакт модуля nRF24L01 (контакт 8)
d03 – вход кнопки открытия захвата
d04 – вход кнопки сжатия захвата
d09 — SPI CSN к модулю NRF24L01 (контакт 4)
d10 — SPI CS к модулю NRF24L01 (контакт 3)
d11 — SPI MOSI к модулю NRF24L01 (контакт 6)

d13 — SPI SCK к модулюNRF24L01 (контакт 5)
Vin – «+9В»
GND – масса, заземление

3,3V — 3,3В для модуля NRF24L01 (контакт 2)
5V — 5В к кнопкам
Vin – «+9В»
GND – масса, заземление
а0 – «+» светодиода на запястье
а1 — SPI SS контакт для выбора сдвига регистра – к контакту 12 на сдвиговом регистре
а2 – вход красной кнопки
а3 – вход зеленой кнопки
а4 – движение основы вправо — контакт 15 на L293D
а5 – светодиод
d02 — IRQ вход модуля nRF24L01 (контакт 8)
d03 – включение двигателя основы — контакт 1 или 9 на L293D
d04 – движение основы влево — контакт 10 на соответствующей L293D
d05 – включение двигателя плеча — контакт 1 или 9 на L293D
d06 — включение двигателя локтя — контакт 1 или 9 на L293D
D07 — SPI CSN к модулю NRF24L01 (контакт 4)
d08 — SPI CS к модулю NRF24L01 (вывод 3)
d09 – включение двигателя запястья — контакт 1 или 9 на L293D
d10 – включение двигателя захвата — контакт 1 или 9 на L293D
d11 — SPI MOSI к модулю NRF24L01 (контакт 6) и контакт 14 на сдвиговом регистре
d12 — SPI MISO к модулю NRF24L01 (контакт 7)
d13 — SPI SCK к модулю NRF24L01 (контакт 5) и контакт 11 на сдвиговом регистре

Шаг 7: Связь


Перчатка самоделки посылает 2 байта данных в контроллер манипулятора 10 раз в секунду, или когда получен сигнал от одного из сенсоров. Этих 2 байтов достаточно для 6 пунктов контроля, потому что нужно всего лишь послать:

Включить/выключить подсветку (1 бит) — я на самом деле использую 2 бита совместно с двигателями, но достаточно одного.
выключить/ вправо / влево для всех 5 двигателей – по 2 бита на каждый, то есть всего 10 бит

Получается что 11 или 12 бит достаточно.

Кодировка направлений:
Выкл: 00
Вправо: 01
Влево: 10

По битам управляющий сигнал выглядит так:

Байт 1 может быть удобно направлен непосредственно в регистр сдвига, так как это контроль вправо/влево двигателей с 1 по 4.

Задержка в 2 секунды выключает связь, и тогда двигатели останавливаются как будто нажата красная кнопка.

Шаг 8: Код

Код для перчаток содержит участки из следующих библиотек:

Добавлены еще два байта в структуре связи для отправки запрошенной скорости двигателей Запястья, Локтя, Плеча и Основы, которая определяется 5-битным значением (0..31) пропорционально угловому положению перчатки. Контроллер манипулятора распределяет полученное значение (0..31) на ШИМ значения соответственно для каждого мозгодвигателя . Это обеспечивает согласованное управление скорости оператора, и более точное манипулирование робо-рукой.

Новый набор жестов поделки :

  • Подсветка: Кнопка на среднем пальце – Включение, на мизинце — Выключение.
  • Гибкий сенсор управляет Захватом – полусогнутый палец – Открыть, полностью согнутый – Закрыть.
  • Запястье контролируется отклонением ладони относительно горизонтали Вверх и Вниз соответственно движению, и чем больше отклонение, тем больше скорость.
  • Локоть управляется отклонением ладони относительно горизонтали Вправо и Влево соответственно. Чем больше отклонение, тем больше скорость.
  • Плечо контролируется вращением ладони Вправо и Влево относительно вытянутой ладони лицевой стороной вверх. Вращение ладони относительно оси локтя, вызывает помахивание робо-рукой.
  • Основа контролируется также как и Плечо, но с положением ладони лицевой стороной вниз.

Шаг 9: Что же еще можно доработать?

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

Градиентное увеличение скорости: каждое движение двигателя начинается на минимальной скорости, которая затем постепенно увеличивается с каждой секундой, пока не достигнет необходимого максимума. Это позволит более точно управлять каждым двигателем, особенно двигателями Захвата и Запястья.
Более быстрое торможение: при получении команды остановки от контроллера двигатель еще меняет свое положение в течение примерно 50мс, поэтому «ломка» движения обеспечит более четкое управление.
А что еще?

Возможно, в дальнейшем и более сложные жесты можно будет применить для управления, или даже несколько жестов одновременно.

Но это в будущем, а сейчас удачи в вашем творчестве и надеюсь мое мозгоруководство было вам полезно!

Мы разработали робо-руку, которую любой желающий сможет собрать самостоятельно. В этой статье речь пойдем о том, как собрать механические части нашего манипулятора.

Обратите внимание! Это старая статья! Вы можете ознакомиться с ней, если вас интересует история проекта. Актуальная версия .

Манипулятор от сайт

Вот видео ее работы:

Описание конструкции

За основу мы взяли, манипулятор представленный на сайте Kickstarter, который назывался uArm . Авторы этого проекта обещали, что после завершения компании выложат все исходники, но этого не произошло. Их проект представляет собой отличное сочетание качественно сделанного как аппаратного, так и программного обеспечения. Вдохновившись их опытом мы решили сделать подобный манипулятор самостоятельно.
Большинство существующих манипуляторов предполагают расположение двигателей непосредственно в суставах. Это проще конструктивно, но выходит, что двигатели должны поднимать не только полезную нагрузку, но и другие двигатели. В проекте с Kickstarter’а этого недостатка нет, так как усилия передаются через тяги и все двигатели расположены у основания.
Второе преимущество конструкции в том, что площадка для размещения инструмента (захвата, присоски и т.д.) всегда расположена параллельно рабочей поверхности.

В итоге манипулятор имеет три сервопривода (три степени свободы), которые позволяют ему перемещать инструмент по всем трем осям.

Сервоприводы

Для нашего манипулятора мы использовали сервоприводы Hitec HS-485 . Это достаточно дорогие цифровые сервомашинки, но за свои деньги они обеспечивают честное усилие 4,8кг/см, точную отработку позиции и приемлемую скорость.
Их можно заменить на другие с такими же размерами

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

Для начала мы составили модель в SketchUp. Проверили конструкцию на собираемость и подвижность.

Нам пришлось немного упростить конструкцию. В оригинальном проекте использовались подшипники, которые сложно купить. Еще мы решили на начальном этапе не делать захват. Для начала мы планируем сделать из манипулятора управляемый светильник.
Изготавливать манипулятор мы решили из оргстекла. Оно достаточно дешево, хорошо выглядит и легко режется лазером. Для резки достаточно нарисовать требуемые детали в любом векторном редакторе. Мы сделали это в NanoCad:

Резка оргстекла

Мы заказываем резку оргстекла в компании , находящейся недалеко от Екатеринбурга. Они делают быстро, качественно и не отказываются от небольших заказов. Стоить резка таких деталей будет около 800 рублей. В результате вы получите вырезанные детали с обоих сторон которых находится полиэтиленовая пленка. Эта пленка нужна для защиты материала от образования окалины.

Эту пленку необходимо удалить с обоих сторон.

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

В итоге после удаления пленки и затирки у нас получилось вот это:

Сборка манипулятора

Для начала необходимо собрать пять частей:






В основании необходимо использовать винты с готовкой в потай. Придется немного рассверлить отверстия, чтобы рука могла поворачиваться.


После того как эти части собраны остается только прикрутить их к качалкам сервоприводов и накинуть тяги для позиционирования инструмента. Достаточно трудно прикрутить именно два привода в основании:

Сначала необходимо установить шпильку длиной 40мм (показана желтой линией на фото), а затем прикрутить качалки.
Для шарниров мы использовали обычные винты М3 и гайки с нейлоновой вставкой для предотвращения самораскручивания. Эти гайки хорошо видно на конце манипулятора:

Пока это просто плоская площадка на которую мы для начала планируем приделать лампочку.

Собранный манипулятор

Итоги

Сейчас мы работаем над электроникой и программным обеспечением и скоро расскажем вам о продолжении проекта, так что пока у нас нет возможности продемонстрировать его работу.
В перспективе мы планируем оснастить манипулятор захватом и добавить подшипники.
Если у Вас возникло желание сделать свой манипулятор — вы можете скачать файл для резки .
Список крепежа, который потребуется:

  1. М4х10 винт с головкой под внутренний шестигранник, 12шт
  2. М3х60 винт, 1шт
  3. М3х40 шпилька, 1шт (возможно придется немного укоротить напильником)
  4. М3х16 винт с гол. под в/ш, 4шт
  5. М3х16 винт с головкой в потай, 8шт
  6. М3х12 винт с гол. под в/ш, 6шт
  7. М3х10 винт с гол. под в/ш, 22шт
  8. М3х10 винт с головкой в потай, 8шт
  9. М2х6 винт с гол. под в/ш, 12шт
  10. М3х40 стойка латунная мама-мама, 8шт
  11. М3х27 стойка латунная мама-мама, 5шт
  12. М4 гайка, 12шт
  13. М3 гайка, 33шт
  14. М3 гайка с нейлоновым фиксатором, 11шт
  15. М2 гайка, 12шт
  16. Шайбы

UPD1

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

Всем привет!
Пару лет назад на 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, колесико изменяет высоту, ЛКМ/ПКМ - захват, ПКМ+колесико - поворот манипулятора. И это на самом деле удобно. Это было на видео в начале статьи.
Исходники проекта
error: