Спаять робота своими руками

Добавил пользователь Евгений Кузнецов
Обновлено: 05.09.2024

Как сделать робота

Необходимые материалы

  • 2 куска провода
  • 1 моторчик
  • 1 батарейка AA
  • 3 канцелярские кнопки
  • 2 кусочка пенокартона или похожего по свойствам материала
  • 2-3 головки старых зубных щеток или несколько скрепок

Материалы для робота

1. Прикрепляем батарейку к мотору

С помощью клеящего пистолета прикрепляем кусочек пенокартона к корпусу мотора. Затем к приклеиваем к нему батарейку.

Прикрепляем батарейку

Прикрепляем батарейку

2. Дестабилизатор

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

Дестабилизатор

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

Дестабилизатор

3. Ноги

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

Ноги робота

Ноги робота

Ноги робота

Ноги робота

4. Провода

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

Провода

5. Подключение батарейки

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

Подключаем мотор

Подключаем мотор

6. Глаза

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

Подключаем мотор

7. Запуск

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

Запуск робота

Робот готов

А вот как может выглядеть наш самодельный робот, если проявить больше фантазии:

робот из подручных средств

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

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

Необходимые детали и инструменты

Что же нам понадобится для изготовления нашего детища? Поскольку идея состоит в сборе робота из подручных средств , нам понадобится монтажная плата или просто обычная плотная картонка. В картонке шилом можно проделать дырочки для крепления всех деталей. Мы же будем использовать монтажку, поскольку под рукой оказалась именно она, а картонку в моем доме днем с огнем не сыщешь. Она сыграет роль шасси, на которое мы будем монтировать весь остальной обвяз робота, крепить двигатели и датчики. В качестве движущий силы мы используем трех- или пятивольтовые моторчики, которые можно выковырять из старой машинки. Колесики мы сделаем из крышек от пластиковых бутылок, например от сосасола :).

собираем робота

В качестве датчиков мы задействуем трехвольтовые фототранзисторы или фотодиоды. Их можно вынуть из старой оптомеханической мышки. В ней стоят инфракрасные датчики (в нашем случае они черненькие). Они там спарены, то есть два фотоэлемента - в одном флаконе. При наличии тестера ничего не мешает выяснить, какая ножка для чего предназначена. Управляющим элементом у нас будут отечественные транзисторы 816Г. В качестве источников питания заюзаем три пальчиковых батарейки, спаянных между собой. Можно взять батарейный отсек от старой машинки, как это сделали мы. Для монтажа нужны будут проводочки. Для этих целей идеально подходят провода из витой пары, которых в доме любого уважающего себя хакера должно быть завались. Для закрепления всех деталей удобно использовать термоклей с термопистолетом. Это прекрасное изобретение быстро плавится и так же быстро схватывается. Штука идеально подходит для таких поделок, и dlinyj не раз использовал ее в своих статьях. Еще нам понадобится жесткая проволока, на роль последней вполне сгодится обычная канцелярская скрепка.

Монтируем схему

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

Берем кусок монтажки и обрезаем его по размерам будущего макета. Для резки текстолита используй ножницы по металлу. Мы сделали квадрат со стороной примерно 4-5 см. Главное, чтобы на нем уместилась наша крохотная схемка, батарейки питания, два двигателя и крепеж для переднего колеса. Чтобы плата не лохматилась и была ровной, можно обработать ее напильником и убрать острые края.

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

паяем

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

Впаянные транзисторы и датчики.

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

Отладка электрики

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

Сборка девайса

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

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

схема для робота из подручных срества

Прикрепляем моторы к шасси.

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

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

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

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

Подводные камни и настройка

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

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

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

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

Усовершенствования

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

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

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

Далее - можно убрать обычные постоянно садящиеся батарейки и поставить солнечную батарею, которая сейчас легко покупается в магазине аксессуаров к мобильным телефонам. Чтобы избежать полной потери дееспособности робота в этом режиме, в случае если он случайно заедет в тень, параллельно солнечной батареи можно подключить электролитический конденсатор очень большой емкости (тысячи микрофарад). Поскольку напряжение там у нас не превышает 5 В, подойдет конденсатор, рассчитанный на 6,3 В. При такой емкости и таком напряжении он будет достаточно миниатюрен. Кондер можно купить или выкорчевать из старого блока питания.

Ну а остальные усовершенствования придумывай сам. Если будет что-то интересное – обязательно напиши нам!

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

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





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

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

Шаг 1: Необходимые материалы



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

Для изготовления каркаса робота использован кусок плексигласа (оргстекла) 12х9,5 см. Можно сделать каркас из дерева или металла, или даже из компакт-дисков.

  • Дрель
  • Суперклей
  • Отвертка
  • Клеевой пистолет (опционально)

Для питания робота используется батарейка 9В (крона), она достаточно компактная и дешевая, но разрядится уже примерно через час. Возможно, вы захотите сделать питание от аккумулятора на 6 В (минимум) или 7 В (максимум). Аккумулятор мощнее батарейки, но и дороже и больше по габаритам.

Шаг 2: Делаем каркас робота



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

На нижней стороне пластины плексигласа приклейте на суперклей электромоторы. Они должны быть параллельны друг другу, с помощью линейки-угольника проверьте их положение прежде чем клеить (фото 2). Затем приклейте на суперклей отсек для батарейки.

Можно также просверлить отверстия под провода электромоторов и питания.

Шаг 3: Монтируем электронику




Закрепите на каркасе плату контроллера и драйвер двигателей, используя стойки для печатных плат, винты и гайки. Миниатюрная макетная плата клеится на липкий слой (уже есть на нижней стороне) (фото 1).

Теперь делаем заднее опорное колесо из скрепки и бусины (фото 2). Концы проволоки закрепите на нижней стороне каркаса суперклеем или термоклеем.



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

Шаг 5: Схема подключений



Теперь приступаем к подключению электронных компонентов. Подключение компонентов происходит согласно схеме на рисунке 1.

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

Шаг 6: Код


Код, который приведен ниже, сделан с помощью Codebender.

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

Если робот не двигается, может изменить контакты электромоторов (motorA1 и motorA2 или motorB1 и motorB2).

Шаг 7: Завершенный робот


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

Рассказываю как сделать какую-либо вещь с пошаговыми фото и видео инструкциями.

Сразу оговоримся, что совсем дешево делать не будем, т.к. не хочется убивать нервные клетки, делая доморощенные энкодеры для моторчиков + хочется упростить создание 3D модели, которая нужна для управления через ROS (ссылка на готовую модель – ниже в статье).

На момент написания статьи ориентировочная конечная стоимость изделия составляет ~70 000 руб. Если у вас есть 3D принтер, то можно смело вычесть из нее 20 000 руб. Если принтера нет, то его появление станет приятным бонусом. Все расходы я буду описывать исходя из того, что у нас нет ничего, кроме денег.

Как выглядит результат:


Также нужно отметить, что для программирования руки нам понадобится компьютер с установленными ОС Linux (я использую Ubuntu 18.04) и фреймворком ROS (я использую Melodic).

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

Что являлось для меня критериями функциональности и минимальной допустимой простотой (т.е. почему НЕ подойдут манипуляторы с алиэкспресса) – можно обсудить в комментариях, чтобы не грузить тех, кому это очевидно и/или не интересно.

Конкурентные решения на рынке

Опишу, однако, кратко примеры того, что я рассматривал на рынке:

Забегая немного вперед скажу, что делать мы будем копию робо-руки 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 000 руб

4) Опционально (но я очень рекомендую): Лабораторный источник питания


Стоимость: ~3 500 руб

Сборка

Отлично! Мы закупили все, что нам нужно (вероятно, дольше всего ждали доставки моторчиков, мне их везли больше месяца).

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 и программировать любые крутые штуки. Но это уже рассказ для отдельной статьи (и не одной). Данное же повествование подошло к концу, спасибо за внимание!

Читайте также: