- Самодельный ЧПУ станок
- Разделы сайта
- Интересное предложение
- Лучшее
- Статистика
- Дешевый и полнофункциональный робот-манипулятор своими руками
- Конкурентные решения на рынке
- Что же нам нужно купить?
- Сборка
- Делаем 3D модель
- А что с реальной рукой?
- Как подвигать наш манипулятор?
- Изготовление 6-осевой роботизированной руки
- Робототехника
- Электромеханика
- Программное обеспечение
Самодельный ЧПУ станок
Разделы сайта
Интересное предложение
Лучшее
Статистика
Designed by:
Оригинальное название этой книги «CNC Robotics. Build your own workshop bot».
В русскоязычном переводе это название звучит как «Создаем робота для своей домашней мастерской» 2006 год. Дж. Вильямс.
Переводчики, как всегда, перевели дословно, причем слово CNC выкинули из перевода. Я бы перевел название книги как Делаем самодельный ЧПУ станок в домашней мастерской.
В книге Дж. Вильямса на практическом примере описывается изготовление самодельного ЧПУ станка своими руками в домашней мастерской. Приведены схемы контроллера ЧПУ станка и уделено много времени построению механической части ЧПУ станка.
Все это сопровождается схемами, чертежами и фотографиями.
Скачать книгу по ЧПУ станкам «Создаем робота для своей домашней мастерской» можно в конце статьи.
Электронная схема контроллера более продвинутая чем описанная в статье Электроника самодельного ЧПУ станка, но поиск деталей может занять некоторое время. Впрочем, с современными возможностями интренет магазинов, можно заказывать любые микросхемы как в российских магазинах, так и зарубежных.
Данная книга хороша тем, что в ней разговор о самодельных ЧПУ станках начинается с азов. Сначала идет рассказ о шаговых двигателях, о том чем отличаются униполярные от биполярных шаговых двигателей.
Схема контроллера шаговых двигателей описана поэлементно — то есть рассказано зачем нужен практически каждая деталь на плате и за что она отвечает. Уделено время и микросхемам контроллеров шаговых двигателей с подробным описанием их работы в разных режимах (шаг, полушаг), приведены расположения выводов микросхемы и их структурные схемы.
Подробный рассказ может помочь тем, кто решит внести изменения в схему управления ЧПУ станком, заменив микросхемы на их аналоги. Или решит доработать схему контроллера ЧПУ станка до большего числа управляемых осей. При этом, описание настолько подробное, что книгу можно рекомендовать как пособие для тех, кто захочет проектировать схему контроллера самостоятельно.
Для травления платы используется ставший уже традиционным лазерно-утюжный метод переноса разводки платы и последующее травление в растворе хлористого железа.
После прочтения первой части книги, я ожидал, что в во второй части, посвященной изготовлению механической составляющей самодельного ЧПУ станка, будет столько же схем и примеров расчетов, но она более практическая, чем теоритическая.
Много фотографий и указаний, как и что куда прикручивать, куда ставить концевые выключатели и так далее.
Тем не менее, эта часть так же представляет интерес для тех, кто изготавливает ЧПУ станок своими руками.
В следующей части рассматривается использование программы управления самодельным ЧПУ станком KCam и подготовке чертежей в CorelDraw. Подход к описанию так же основательный. В книге «Создаем робота для своей домашней мастерской» не только только описывается как делается то или иное действие, но и дается подробное пояснение — почему делается именно так.
Такой подход вызывает уважение. 90% книг в последнее время описывают только то — как надо делать, но лишь в малом количестве говориться о том — почему надо делать именно так, а не иначе.
Последняя часть книги повествует о практическом использовании самодельного ЧПУ станка. Рассмотрены варианты крепления Дремеля, фрезы, графировальной машинки и работы станка в режиме плоттера. Приведен пример превращения фрезерного ЧПУ станка в токарный станок с ЧПУ управлением по дереву.
На мой взгляд книга «Создаем робота для своей домашней мастерской» это очень хороший и полезный материал для начинающего ЧПУ строителя. После ее прочтения отпадет множество вопросов, которые обычно возникают на начальном этапе.
Скачать книгу «Создаем робота для своей домашней мастерской» можно здесь или с нашего сайта.
Источник
Дешевый и полнофункциональный робот-манипулятор своими руками
Сразу оговоримся, что совсем дешево делать не будем, т.к. не хочется убивать нервные клетки, делая доморощенные энкодеры для моторчиков + хочется упростить создание 3D модели, которая нужна для управления через ROS (ссылка на готовую модель – ниже в статье).
На момент написания статьи ориентировочная конечная стоимость изделия составляет
70 000 руб. Если у вас есть 3D принтер, то можно смело вычесть из нее 20 000 руб. Если принтера нет, то его появление станет приятным бонусом. Все расходы я буду описывать исходя из того, что у нас нет ничего, кроме денег.
Как выглядит результат:
Также нужно отметить, что для программирования руки нам понадобится компьютер с установленными ОС Linux (я использую Ubuntu 18.04) и фреймворком ROS (я использую Melodic).
Может возникнуть вопрос «почему 70К рублей – это дешево?»
Отвечаю. Изначально я не хотел заморачиваться с созданием роборуки и думал просто купить что-нибудь простенькое, но достаточно функциональное в сборе.
Что являлось для меня критериями функциональности и минимальной допустимой простотой (т.е. почему НЕ подойдут манипуляторы с алиэкспресса) – можно обсудить в комментариях, чтобы не грузить тех, кому это очевидно и/или не интересно.
Конкурентные решения на рынке
Опишу, однако, кратко примеры того, что я рассматривал на рынке:
1) top3dshop.ru/robots/manipulators/dobot-magician-basic.html
176 000 руб. DOBOT можно купить не только в этом магазине, но обычно он стоит еще больше. Наверняка есть шанс найти его где-нибудь дешевле, но все равно это будет сильно дороже, чем 70 000 руб.
2) robotbaza.ru/product/robot-manipulyator-widowx-robotic-arm-mark-ii
280 000 руб. Еще дороже. Вообще, манипуляторы от TossenRobotics прямо у производителя стоят супервменяемых денег. Вот только доставку в Россию (а я-то именно тут) из их магазина не заказать.
Забегая немного вперед скажу, что делать мы будем копию робо-руки PhantomX Pincher Robot Arm Kit Mark II, которая производится именно компанией TossenRobotics.
Итого, видим, что 70 000 руб – это совсем не так дорого.
Что же нам нужно купить?
Все цены привожу на момент написания статьи (июль 2020 года):
1) 6 моторчиков DYNAMIXEL AX-12A
Я покупал по цене 7200 руб за 1 штуку, но, кажется, можно найти и за 6000 при большом желании. Будем считать, что вам не повезет и вы тоже купите за 7200.
Суммарная стоимость: 43 200 руб
Подойдет любой простенький, можно уложиться в 20 000 руб.
3) Arduino Uno + Power Shield
4) Опционально (но я очень рекомендую): Лабораторный источник питания
Сборка
Отлично! Мы закупили все, что нам нужно (вероятно, дольше всего ждали доставки моторчиков, мне их везли больше месяца).
1) Напечатаем детали для манипулятора на 3D принтере.
Качаем STL файлы отсюда
2) Собираем воедино с моторчиками. Проблем со сборкой быть не должно, но если они вдруг появятся, можно воспользоваться вот этой инструкцией
Делаем 3D модель
Класс! Рука у нас есть, но ведь ей же нужно как-то управлять. Хочется максимально использовать достижения человечества, поэтому установим себе ROS.
Для того, чтобы полноценно работать с манипулятором в ROS – нужно сделать его URDF модель. Она будет нам необходима для того, чтобы управлять робо-рукой с помощью пакета MoveIT!
На момент написания статьи последняя стабильная сборка доступна для Melodic/Ubuntu 18.04, чем и объясняется мой выбор версии системы и фреймворка в начале статьи.
Построение URDF модели – довольно трудоемкая (и, на мой взгляд, самая скучная) часть данного проекта. Нужно немного допилить напильником stl модели компонентов и соединить их воедино в XML-образном файле, вручную подбирая правильные коэффициенты смещения деталей друг относительно друга.
Кто хочет – может проделать работу самостоятельно, всем остальным поберегу нервы и просто дам ссылку на свой готовый файл:
В данной модели пока нет захватывающего устройства, однако, до того момента, чтобы захватывать предметы в реальном мире нам еще далеко. Для остальных задач этой модели более чем достаточно.
Выглядит модель вот так:
Из полученного URDF файла мы сделаем конфиг MoveIT!, который позволит нам моделировать движения манипулятора и отправлять управляющие команды на реальную робо-руку.
Для создания конфига есть отличный туториал (ссылка)
Тут я могу опять сэкономить время и предоставить свой конфиг. Лежит он вот тут:
Можно скачать конфиг с гитхаба и запустить следующей командой:
Примерно так можно будет управлять нашей реальной робо-рукой через rviz, когда мы подключим ее к ROS:
А что с реальной рукой?
Переместимся из мира 3D моделей в суровую реальность. У нас есть собранный ранее манипулятор. Хотелось бы его как-то подвигать. Сделаем это с помощью Arduino UNO и Power Shield.
Подключим первый моторчик манипулятора (который снизу) к Power Shield’у и блоку питания следующим образом:
Да, data pin моторчика мы соединим сразу с 3 и 4 выводом Arduino. Пытливый читатель мануала Dynamixel (вот он) сразу заметит, что связь с внешним миром у моторчика организована по Half Duplex Asynchronous Serial Communication, а это означает, что data pin используется сразу и для получения команд и для ответа.
По умолчанию, на аппаратном уровне Arduino умеет работать только с Full Duplex UART. Эту проблему можно обойти, используя Soft Serial библиотеку, что мы и сделаем. Именно использование Half Duplex режима объясняет подключение data pin мотора к 3 и 4 выводам шилда одновременно.
Помимо полудуплексного обмена работа с Dynamixel через Arduino имеет еще пару занимательных моментов, которые могут быть не совсем очевидны с самого начала. Сведем их все воедино.
Как подвигать наш манипулятор?
1) Сначала скачаем нужную библиотеку. Она называется ardyno и ее можно получить через Arduino Library Manager, либо тут (ссылка)
2) По умолчанию Dynamixel AX-12A хотят работать с baud rate = 1000000. Однако Software Serial Interface не потянет такую скорость, поэтому baud rate стоит снизить до 57600. Таким образом, начало файла с вашей программой будет выглядеть примерно вот так:
3) Все наши моторчики соединены друг с другом последовательно. Значит, чтобы обращаться к каждому из них — нужно знать его ID? Это действительно так, объект DynamixelMotor при инициализации получает два параметра: interface (одинаков для всех, его мы задали в предыдущем пункте) и id (должен быть у всех разный, иначе поведение будет у манипулятора весьма странное)
Id каждому моторчику придется задать вручную. Кажется, что будучи соединенными последовательно, они могли бы и сами рассчитаться по номерам от 1 до 6, но этого не предусмотрено. Поэтому нужно каждый моторчик отдельно подключить к Arduino (отключив от остальных) и выполнить следующую программу:
Изначально все моторчики имеют именно поэтому мы и указываем вверху
NEW_ID для каждого моторчика нужно заменить на число от 1 до 6 (да, ок, первый моторчик можно не трогать). Нумеруем их в порядке от нижнего к верхнему.
Ура! у нас есть полноценный манипулятор, который мы можем двигать, а также имеется 3D модель к нему. Можно брать ROS и программировать любые крутые штуки. Но это уже рассказ для отдельной статьи (и не одной). Данное же повествование подошло к концу, спасибо за внимание!
Источник
Изготовление 6-осевой роботизированной руки
Робототехника
Мне очень интересно взаимодействие компьютеров с реальным миром. То, что я выполняю для клиентов в основном заканчивается на экране компьютера или в виде проекта, и получается что, я не делаю следующий шаг в реальный физический мир. Так что это то, что я захотел сделать, чтобы научиться чему-то новому.
Я знал, что мне были необходимы еще некоторые инструменты, если я хочу сделать нечто большее. Поэтому в этом году, я сделал этот шаг и купил себе дешевые китайские металлообрабатывающие станки.
На станке с ЧПУ, я мог бы сделать все, что я когда-либо хотел, Таким образом, мне в голову пришла мысль, чтобы попытаться сделать промышленный 6-осевой манипулятор. Это было бы идеальным проектом, чтобы объединить свою вновь обретенную любовь к созданию физических вещей, со старой (но не исчезнувшей) любовью к программированию.
Я купил себе запас алюминия, подшипники, двигатели и т.д., и много всего для фрезерования, нарезания внутренней резьбы, сверления, завинчивания, печати, пайки и программирования. Вот что в результате всего этого появилось:
Я не документировал процесс на столько, на сколько я хотел бы это сделать, но я был достаточно умен, чтобы снять видео на каждом этапе.
Так что это своего рода видео о создании (пропустите ролик до конца, для того чтобы увидеть готового робота в действии).
Дальше по подробнее и немного фотографий:
Электромеханика
Я недооценил величину крутящего момента, требуемого для перемещения манипулятора. Предполагаю, что это стандартная ошибка начинающих. Мне потребовалось несколько переделок и большое количество разочарований, прежде чем я получил то что нужно. Для этого мне потребовалось улучшить дизайн и добавить больше коробок передач.
Было бы хорошо иметь планетарные редукторы но, к сожалению, они стоят целое состояние. Так что мне пришлось использовать несколько относительно дешевых червячных коробок передач. Они прекрасно работают, но у них есть довольно много проблем, которые влияют на точность робота. Но по крайней мере он имеет необходимую силу для перемещения.
Я использовал шаговые двигатели так как они позволяют держать определенное положение достаточно просто. Но мне нужно было что-то, чтобы синхронизировать начальное положение между роботом и компьютером. Поэтому я использовал индуктивные датчики на каждой из осей, чтобы получить какую-то начальную позицию.
Я напечатал руку на 3D принтере, с намерением использовать ее в качестве прототипа, но она так прекрасно работала, что я ее оставил.
Я использовал стандартный дизайн руки робота. Всего два серво-двигателя для открытия и закрытия. Я решил, что было бы хорошо, чтобы был какой-то датчик давления установленный так, чтобы рука знала о том что она что-то держит. Для этого я взял датчики давления из дешевых кухонных весов, и встроил их в руку.
Я не нашел много информации о том, как использовать такие датчики давления, которые у меня были (4 датчика, 3 провода на каждый) Мне потребовалось немного времени, чтобы выяснить как их подключить. У меня получилась такая схема:
Рука имеет свой собственный Arduino, потому что я хотел, чтобы она могла обмениваться информацией с чем-то еще.
Программное обеспечение
Робот управляется Arduino, который управляет шаговыми двигателями и ускорением.
Для руки я написал программу на C ++.
После всего этого робот мог делать заранее запрограммированные вещи. Но это было скучно, и поэтому я сделал простую программу, где робот искал случайно размещенные кубы и пытался построить из них башню.
Робот использует камеру на руке для фотографирования пола. После этого я сделал цветные кубики и края обнаружения, чтобы робот мог их найти.
Источник