Манипулятор на шаговых двигателях своими руками

Изготовление 6-осевой роботизированной руки

Робототехника

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

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

На станке с ЧПУ, я мог бы сделать все, что я когда-либо хотел, Таким образом, мне в голову пришла мысль, чтобы попытаться сделать промышленный 6-осевой манипулятор. Это было бы идеальным проектом, чтобы объединить свою вновь обретенную любовь к созданию физических вещей, со старой (но не исчезнувшей) любовью к программированию.

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

Я не документировал процесс на столько, на сколько я хотел бы это сделать, но я был достаточно умен, чтобы снять видео на каждом этапе.

Так что это своего рода видео о создании (пропустите ролик до конца, для того чтобы увидеть готового робота в действии).

Дальше по подробнее и немного фотографий:

Электромеханика

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

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

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

Я напечатал руку на 3D принтере, с намерением использовать ее в качестве прототипа, но она так прекрасно работала, что я ее оставил.

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

Читайте также:  Двигатель после 2000 не набирает оборот

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

Рука имеет свой собственный Arduino, потому что я хотел, чтобы она могла обмениваться информацией с чем-то еще.

Программное обеспечение

Робот управляется Arduino, который управляет шаговыми двигателями и ускорением.

Для руки я написал программу на C ++.

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

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

Источник

Искуственная рука или что управляет манипуляторами

Продолжаем знакомится с визуальным программированием контроллера Arduino в программе XOD IDE .

Ш аговый двигатель 28BYJ-48

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

Двигатель 28BYJ-48 относится к бюджетным четырёх фазным шаговым двигателям и работает с драйвером на микросхеме ULN2003.

Я не буду вдаваться в подробности и принцип работы шагового двигателя, так как всё это можно найти в интернете, причём в статьях, очень похожих друг на друга.

Хочется уже подключить и опробовать.

Подключил по такой схеме.

Вам потребуются компоненты:

Светодиоды и резисторы на 220 Ом можно не использовать, но я их установил для индикации состояния кнопок.

Питание на плату драйвера необходимо подавать не с платы Arduino +5V (на схеме обозначено) .

Ток шагового двигателя 28BYJ-48 , каждая обмотка 160 мА (в 4-шаговом режиме 320 мА, при быстром вращении 200 мА), не стоит рисковать.

Максимальный выходной ток пина 5V: 800 мА .

Теперь сам алгоритм подключения в программе XOD IDE, но сначала нужно скачать библиотеку шагового двигателя 28BYJ-48.

Как установить подобную библиотеку описано здесь.

Хочется добавить кое что по поводу узла stepper-28byj48.

Правильнее было назвать пины не по цветам, а как обозначено на драйвере.

Это будет в таком порядке:

  • IN1- голубой BLU
  • IN2 — розовый PNK
  • IN3 — жёлтый YLL
  • IN4 — оранжевый ORG

Так было бы на много удобнее.

Ну а теперь сам алгоритм для управления шаговым двигателем 28BYJ-48

Скачать готовый скетч можно здесь .

Теперь стоит описать как работает алгоритм.

Работа алгоритма шагового двигателя 28BYJ-48

При включении контроллера Arduino загорается красный и жёлтый светодиоды .

Это означает, что драйвер двигателя отключен (о чём информирует красный светодиод ), но при включении драйвера (после нажатия на кнопку button 3) , красный светодиод погаснет , а шаговый двигатель при нажатии на кнопки button 1 будет вращаться против часовой стрелки.

Кнопка button 2 переключает триггер flip-flop меняя значение правда-ложь , соответственно меняет направление вращения шагового двигателя.

Читайте также:  Магнитола включается только при запуске двигателя

Если проще управление такое:

  • Button 1 — при удержании кнопки вращается двигатель;
  • Button 2 — переключает направление вращения двигателя, включает и отключает поочередно желтый и зеленый светодиоды, которые сигнализируют о направлении вращения;
  • Button 3 — Включает и отключает драйвер управления двигателем.

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

Скачать скетч можно здесь .

Немного надо сказать об узле clock

В строке IVAL инспектора узла clock по умолчанию установлено значение 1, что соответствует 1 секунде. Такое значение дает оооочень медленное вращение, нужно устанавливать значение не выше 0,1 сек.

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

Для прочтения статей о программировании в XOD IDE рекомендую перейти по ссылке в меню канала:

А на этом сегодня всё.

Спасибо, что дочитали статью до конца.

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

Понравилась статья, ставьте палец вверх.

Впереди ещё много интересного!

Вы можете помочь проекту в развитии:

Источник

Проектирование антропоморфного манипулятора c 7 степенями

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

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

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

  • Количество степеней: 7
  • Грузоподъемность/Рабочий вес: 2 – 3 кг
  • Длинна манипулятора: 90 см
  • Вес манипулятора: 6-8 кг

Почему именно такие характеристики? Ну, начнем с веса… Так как манипулятор планируется ставить на мобильную платформу, то его масса является существенным критерием и чем легче будет манипулятор, тем лучше.

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

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

Самым интересным было определиться с количеством степеней. Для успешного захвата предмета в пространстве достаточно минимум 4-х степеней свободы. Но так как мы уже успели освоить ПО для управления манипулятором с 6 – 7 степенями и очень хотелось опробовать его на деле, то решили собрать железку для него. Такое количество степеней позволяет выполнять более сложные и функциональные движения. Как говориться, больше — не меньше.

Читайте также:  Чем покрывают двигатель после мойки

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

Принципиальная схема

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

  1. Электроприводы
  2. Пневмоприводы/гидроприводы

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

  1. Сервоприводы
  2. Шаговые двигатели
  3. Двигатели постоянного тока

Использование сервоприводов отмели сразу, т.к. те, что более доступны не подходят для заявленных характеристик по грузоподъемности, а промышленные стоят слишком дорого. С шаговыми двигателями тоже не все так гладко — они достаточно массивные в сравнении с ДПТ. В итоге, было решено остановиться на последних.
Следующим шагом мы рассмотрели различные конструкции, использующие двигатели постоянного тока, и выделили следующие варианты:

  1. Приводы установлены непосредственно в узлах манипулятора (места изгиба или вращения сочленений)
  2. Приводы вынесены за пределы узла

В последнем случае крутящий момент от двигателя может передаваться несколькими вариантами:

  • Ременная передача
  • Посредством тросов
  • Посредством валов

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

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

Работа закипела: расчеты, чертежи, размышления… Спроектировав весь манипулятор, закралось сомнение… Удастся ли нивелировать погрешность растяжения тросов и обеспечить достаточную жесткость передачи крутящего момента?

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

Ну и конечно же общий вид манипулятора.

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

Источник

Adblock
detector