Привет! В этой статье я расскажу о нашем участии в первом российском фестивале мейкеров и о нашем проекте – картонных роботизированных манипуляторах.
В свободное от основной работы время я занимаюсь детским образованием, несколько лет преподавал курсы по робототехнике и программированию, а совсем недавно мы с коллегой открыли свой образовательный центр. Узнав о фестивале, я сразу захотел принять в нем участие, собрал команду из ребят, которые не разъехался на лето, взял отпуск на две недели, и мы начали работу.
Над проектом работали мы работали вчетвером, практически всё ребята сделали самостоятельно, я занимался только закупкой необходимых материалов и организацией, а также помогал с некоторыми техническими вопросами.
Идею проекта и чертежи для него мы нашли в интернете и немного модифицировали. Манипуляторы представляют из себя конструкцию из картона с деревянной основой, достигают двух метров в длину. Каждый манипулятор имеет три степени свободы, движение осуществляется с помощью шаговых двигателей, управление — джойстиками с пульта, связь по радиоканалу. Для подсветки используется светодиодная лента. Ниже несколько фотографий с тем, что получилось в итоге, ссылки на код и чертежи доступны в конце статьи.
Список необходимых материалов для одного манипулятора
- Картон (два листа 2x1м)
- Скотч (три рулона)
- Клей, способный хорошо склеить картон
- Несколько деревянных панелей для основы
- Три шаговых двигателя Nema 17 (42BYGHW609 с моментом 4кг*см)
- Три драйвера для управления двигателям (TB6560)
- Зубчатый ремень GT2 (1 метр)
- Три шкива для зубчатого ремня
- 2-3 пружины для натяжки ремня
- Два контроллера (Arduino Uno для манипулятора и Arduino Nano для пульта)
- Два радио-модуля (nRF24L01+)
- Винты, гайки, саморезы
- 30-35м двужильных проводов
- Два аналоговых джойстика
- Источник питания на 6-10А (мы использовали компьютерный блок питания 450вт)
- Два метра светодиодной ленты (необязательно)
Бюджет проекта (на два манипулятора) получился около 20 000 руб. Основную цену составили двигатели и драйверы.
Сборка
Деревянная основа
Для начала необходимо собрать деревянную основу, на которой будет держаться картонная часть манипулятора.
Для основы используется вращающийся поднос из Икеи, который называется (кто бы мог подумать) Снудда. К подносу саморезами прикручена деревянная панель 40х13см.
Основные картонные части
Далее из картона нужно вырезать все необходимые части по чертежам, прикрутить к ним два двигателя. Прямоугольные части скрепляем скотчем, полукруглые склеиваем, на фотографиях понятно, о чем речь.
Собираем вместе картонные части манипулятора и деревянную основу, для этого в панели нужно просверлить отверстие, в которое можно вставить винт.
Система вращения манипулятора
Основные сложности у нас возникли на этом этапе. По изначальной задумке, на вал двигателей должна была крепиться пластиковая муфта. Далее к краю корпуса привязывается толстая нитка, наматывается несколькими витками на муфту и закрепляется с другой стороны.
Фото из оригинального проекта
Первые проблемы возникли с муфтой. Я нигде не смог купить подходящую за адекватные деньги (нам нужно было шесть штук, по три на каждый манипулятор), тогда мы решили распечатать ее на 3D-принтере. Мой коллега сделал модель и попытался обратиться в какую-нибудь из студий по 3D-печати, но мы так и не нашли никого, кто смог бы оперативно распечатать модель, а время поджимало. Помимо проблемы с муфтой была еще одна: во время тестов нитка постоянно запутывалась и переплеталась. Из-за этого натяжения то ослабевало, то усиливалось, нормально работать манипулятор заставить не получилось.
Мы думали, как решить эту проблему, ребята предлагали разные идеи, в итоге остановились на варианте с зубчатым ремнем. Купили ремень и шкивы для двигателей, начали пробовать, но и тут было множество проблем. Изначально мы пытались закрепить ремень прямо на картоне, из-за чего он начинал деформироваться и рваться. Так же из-за неровностей картонного корпуса, натяжение ремня было разным в разных местах, из-за чего двигатели постоянно проскальзывали. В итоге ремень мы закрепили на деревянную деталь от конструктора, ее приклеили и пришили нитками к картону. Проблему с натяжением ремней частично решили пружинами.
Электроника
Для управления шаговыми двигателями используются драйверы TB6560, они обеспечивают ток до 3А, чего вполне хватает. Для связи с пультом управления используется радио-модуль nRF24L01+, в качестве контроллера – Arduino Uno. В качестве источника питания мы выбрали компьютерный блок питания на 450Вт, он обеспечивает необходимую мощность и при этом стоит гораздо дешевле обычных импульсных блоков. Из минусов можно отметить большой размер и активную систему охлаждения, что в нашем случаи не играет существенную роль.
Для электроники был сделан корпус из картона, в нем закрепили блок питания, Arduino, радио-модуль и драйверы. Вывели провода с разъемами для подключения двигателей наружу, это позволило удобно транспортировать корпус отдельно от манипуляторов.
Пульт управления
Пульт представляет из себя два джойстика, в одном из них задействованы оси X и Y, в другом только X, они используются для управления вращением манипулятора. По клику на одном из джойстиков меняется цвет подсветки. Для пульта так же был сделан корпус из картона, источник питания — батарейка Крона.
Программирование
Параллельно с разработкой железной части, ребята писали прошивку для контроллеров манипулятора и пульта. С пульта по радиоканалу посылается номер команды, манипулятор ее принимает и выполняет. Список возможных команд:
- Поворот по часовой стрелки
- Поворот против часовой стрелки
- Поднять центральную часть
- Опустить центральную часть
- Поднять конечную часть
- Опустить конечную часть
- Открыть/закрыть захват
- Сменить цвет подсветки
Захват
Свой захват мы изготовить не успевали, поэтому купили готовый на сервоприводе. В тестах он у нас заработал, но на фестивали при подключение – нет. Быстро починить его так и не получилось, условия фестиваля не позволяли нормально разобраться. Мы предполагаем, что дело в том, что из-за большой длины провода (около 3м) затухает импульс модуляции сервопривода.
В итоге, окончательную сборку манипуляторов мы с коллегой заканчивали в 2 часа ночи в день, перед фестивалем (детей отпустили раньше).
Манипуляторы вплотную поместились на задние сидения машины, разбирать их не пришлось.
Фестиваль
На фестивали мы были два дня, ребята демонстрировали свою работу и давали «порулить» посетителем, в основном детям. Поскольку захват у нас не работал, придумали конкурс: нужно было сбить манипулятором бутылки с водой, это было не очень просто, учитывая проскальзывания ремней, но почти все справлялись, за что получали конфетку. Судя по расходу конфет, наш стенд за два дня посетило около 400 человек, несколько раз наш проект снимали и у ребят брали интервью, в том числе мы засветились в новостях на первом канале.
Исходный код и чертежи доступны на github: https://github.com/MikD1/CardboardManipulator
Автор: MikhailD