Drawbot на arduino своими руками

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

Нашел в сети более-менее дизайнерский вариант, вот такой:

drawbot на arduino своими руками

eggbot на thingiverse

Ссылка на модель:  http://www.thingiverse.com/thing:1683764

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

Прикинул в уме что потребуется:

2шт Nema17 или анлоги
2шт драйвера A4988 или аналоги
1шт серва SG90
1шт arduino uno
1шт cnc shield
2шт подшипников 623 (в крайнем случае, можно обойтись и без них..)

  • пара пружинок,резинка,болтики, гайки… маркер с тонким жалом.
  • Распечатал все детали и собрал агрегат воедино:

drawbot на arduino своими руками

конструкция яйцебота

Осталось установить маркер и шар.

Первая засада:

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

Вот так выглядит cnc шилд:

drawbot на arduino своими руками

cnc shield

Если хотим максимальное качество прорисовки узоров, то ставим все перемычки M0,M1,M2 для осей X и Y, устанавливаем на свои места драйвера А4988.

Далее заливаем прошивку GRBL:

Прошивку берем тут: https://github.com/robottini/grbl-servo

Заливается прошивка через Arduino IDE. Файл для заливки через IDE спрятан тут (как и инструкция, как это сделать): https://github.com/robottini/grbl-servo/tree/master/examples/grblUpload

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

файл grblUpload.ino копируем в папку с остальными файлами grbl-servo-master
переименовываем файл grblUpload.ino в grbl-servo-master.ino

  1. внутри файла grbl-servo-master.ino заменяем строчку
  2. #include
    на
  3. #include «grbl.h»

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

Следующую процедуру можно не делать, но желательно (указываем кол-во шагов для каждого двигателя ):
Правим в файле defaults_generic.h (в каталоге defaults) вот эти две строки:

#define DEFAULT_X_STEPS_PER_MM 250.0 //заменяем на 32
#define DEFAULT_Y_STEPS_PER_MM 250.0 //заменяем на 32

откуда берется 32:

3200 — это количество шагов двигателя на один полный оборот при всех выставленных перемычках драйвера А4988 (микрошаг 1/16) и двигателе 1,8 гр/шаг

Предполагаем, что длина окружности 100мм (по Х и У), поэтому считаем, что на 1мм приходится 32 микрошага (3200/100=32). Можно выставить любые другие значения, от этого зависит только масштаб картинки в редакторе.

Либо заливаем прошивку как есть и потом правим из программы gcodesender при помощи команды $$ (выводит текущие настройки), забегая вперед, покажу как это сделать:

после команды $$ терминал должен выдать примерно следующее:

$100=314.961 (x, step/mm)
$101=314.961 (y, step/mm)
$102=314.961 (z, step/mm)
$110=635.000 (x max rate, mm/min)
$111=635.000 (y max rate, mm/min)
$112=635.

000 (z max rate, mm/min)
$120=50.000 (x accel, mm/sec^2)
$121=50.000 (y accel, mm/sec^2)
$122=50.000 (z accel, mm/sec^2)
$130=225.000 (x max travel, mm)
$131=125.000 (y max travel, mm)
$132=170.

000 (z max travel, mm)

Чтобы задать новое кол-во шагов для оси Х пишем: $100=32
Все, новые значения заданы и ничего не надо править в прошивке..

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

Засада вторая:

  • По идее, шим сигнал для сервы берется с платы с вывода SpnEn(управление шпинделем), но не все так просто.
  • В новой прошивке GRBL 0,9 сделали переназначение пинов и теперь шим сигнал управления выводится на пин Z+ из ряда пинов END STOPS.
  • Поэтому подключаем серву вот к этим выводам (про +5V и GND не забываем):

drawbot на arduino своими руками

подключение сервы к CNC shield

Вроде все готово.

Как управлять:

Обычный Pronterface тут не подходит.. Поэтому качаем любую программу по работе с лазерным гравировщиком,фрезером или простой gcode sender. Я взял вот этот вариант: https://github.com/grbl/Universal-G-Code-Sender

Здесь версия поновее: http://winder.github.io/ugs_website/

  1. Выставляем com-порт и скорость соединения 115 200 бод.
  2. Все должно подключиться.
  3. Картинка примерно вот такая:

drawbot на arduino своими руками

gcode sender

Осталось выяснить, какой ширины картинку можно нарисовать на шаре/яйце..

Переводим руками маркер в крайнее левое положение как на картинке:

drawbot на arduino своими руками

конструкция яйцебота

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

Теперь, у нас есть размер поля в мм. По Х — 100мм, а по Y — примерно 30мм.

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

Подготавливаем GCODE:

Управление сервой производится командой M3 S254 (повернуть серву на 360гр) и M3 S0 (повернуть в исходное положение) (либо M5 — выключение сервы). Для лазерных резаков эта команда задает мощность лазера, а для шпинделя фрезера — кол-во оборотов.
Можно пользоваться любым преобразователем векторной графики в gcode, который умеет вставлять нужную нам команду  управления  M3.

Самый удобный из легко-доступных редакторов векторной графики — Inkscape (качаем тут)

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

Просто копируется все содержимое плагина в папку «..inkscapeshareextensions».

Запускаем inkscape и далее по шагам:

1. устанавливаем размер рабочего поля:

drawbot на arduino своими руками

шаг 1

2.Выставляем размеры

drawbot на arduino своими руками

установка размеров

3. Рисуем или пишем что-либо:

drawbot на arduino своими руками

шаг 3

4.Оконтуриваем (преобразуем в кривые):

drawbot на arduino своими руками

шаг 4

5. Применяем плагин:

шаг 5

6. Настраиваем плагин:

шаг 6

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

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

7. Получаем вот такую картинку и файл в нашем каталоге:

шаг 7

8. В программе GcodeSender во вкладке File Mode выбираем наш файл output.gcode и жмем кнопку Send и смотрим на процесс рисования:

Ну и результат на фото:

diylife

Текст деформирован, т.к. для шара таких размеров возникает несоосность оси Y и центра шара.

Максимальный диаметр шара, который можно установить в этот агрегат — 68мм. С небольшими переделками можно увеличить до 75-80мм.

Можно менять маркеры и делать цветные узоры.

Сразу отвечу на вопрос, почему не стал использовать готовую программу-плагин Inkscape для EggBot-а, с помощью которого можно рисунок сразу отправлять «на печать» из inkscape одним нажатием кнопки.

Плагин установился, но вот заставить его работать никак не получилось — постоянно выдавал ошибку com-порта. Разбираться было лень, поэтому решил использовать 100% работающий плагин..

Примеры:

Вот еще фото того, что получилось сделать на яцеботе:

рисуем снежинку

Самое сложное — найти тонкий маркер (0,3-0,5мм). Толстым маркером не так красиво.

узоры на шарике

Немного красных шаров:

разрисовка красных шаров

Результат:

готовые шары

  • И видосы:
  • Кто хочет приобрести готовый набор для сборки, милости прошу в мой магазин.

Источник: http://diylife.ru/diy/sobiraem-znamenityj-yajtsebot-eggbot.html

Арт-робот на базе Ардуино своими руками

Перевёл alexlevchenko для mozgochiny.ru

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

drawbot на arduino своими руками

Для его изготовления понадобится 3D-принтер, набор стандартных инструментов + Arduino.

Читайте также:  Алюминиевые сани своими руками

drawbot на arduino своими руками

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

Шаг 1: Немного о роботе

drawbot на arduino своими руками

Арт-робот — двухосевая самоделка, которая может наносить рисунок на большинстве сферических поверхностей. Робот настраивается под определённый тип предмета (шары для пинг-понга, рождественские украшения, лампочки и яйца (утиные, гусиные, куриные …).

drawbot на arduino своими руками

Для вращения сферического предмета и перемещения манипулятора используются высокоточные шаговые двигатели с высоким крутящим моментом, а для подъёма механизма ручки — тихий и надежный сервопривод SG90.

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

drawbot на arduino своими руками

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

  • 2x подшипника 623;
  • Шпилька диаметром 3 мм и длиной 80-90 мм;
  • 1x пружина (длиной 10 мм и диаметром 4,5 мм);
  • 2x шаговых двигателя NEMA 17 (крутящий момент 4,4 кг / см);
  • Кабели для двигателей (длиной 14 + 70 см);
  • USB-кабель;
  • 1x сервопривод SG90;
  • Arduino Leonardo;
  • shield JJRobots;

drawbot на arduino своими руками

  • 2xA4988 драйвера для шаговых двигателей;
  • Блок питания 12В / 2A;
  • 11x винтов M3 6 мм ;
  • 4x винта M3 16 мм;
  • 4x гайки M3;
  • 2x 20-мм присоски;
  • 1x гайка-барашек M3;
  • 1x маркер;
  • Части напечатанные на 3D-принтере.

drawbot на arduino своими руками

Шаг 3: Общая схема

drawbot на arduino своими руками

В качестве «шпаргалки» можете воспользоваться данной схемой.

Шаг 4: Давайте начинать!

drawbot на arduino своими руками

Робот двигает манипулятором, с закрепленным на нём маркером, что приводится в действие шаговым двигателем. Другой шаговый двигатель отвечает за поворот объекта, на который наносится рисунок (яйцо, шарик …). Для удерживания предмета на месте используются две присоски: одна, прикрепленная к шаговому двигателю, а другая на противоположной стороне предмета. Маленькая пружина будет давить на присоску, помогая ей удерживать предмет. Для поднятия/опускания маркера используется сервопривод SG90.

Шаг 5: Манипулятор

drawbot на arduino своими руками

Установим гайку в отверстие, подготовленное для неё и закрутим 16 мм винт. Сделаем то же самое для держателя предметов (справа на изображении выше). При создании шарнира для манипулятора использовались 2 16 мм винта. Этот шарнир должен свободно вращаться после закручивания винтов.

    Шаг 6: Присоски

    Установим одну из присосок внутрь отверстия в держателе предметов.

    Шаг 7: Крепление шаговых двигателей

    • Закрепим оба шаговых двигателя к основной раме с помощью 8-ми винтов.

    Шаг 8: Ось вращения

    Разместим все элементы, как показано на изображении выше.

    • Присоска;
    • Гайка;
    • Верхняя часть;
    • Пружина;
    • Подшипник 623 (должен быть встроен в левую чашку);
    • Левая чашка;
    • Свободное пространство для основной рамы;
    • Правая чашка;
    • Подшипник 623;
    • Разделительное кольцо;
    • Гайка-барашек (M3).

    Шаг 9: Размещаем все по своим местам

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

    ПРИМЕЧАНИЕ: Сервопривод потребует корректировок. Нужно будет повторно установить его угол во время процесса калибровки.

    Шаг 10: Электроника

    • Закрепим электронику на тыльной стороне основной рамы с помощью винтов (2-х будет достаточно).
    • Подключим кабеля.

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

    Шаг 11: Программирование Arduino Leonardo

    Запрограммируем Arduino Leonardo с помощью программной среды Arduino IDE (v 1.8.1).

    • Загрузим Arduino IDE (v 1.8.1) и установим программу;
    • Запустим программное обеспечение. Выберем плату Arduino Leonardo и соответствующий COM-ПОРТ в меню «tools-> board»;
    • Откроем и загрузим код Sphere-O-Bot. Распакуем все файлы внутрь одной папки и назовём её «Ejjduino_ARDUINO».

    Шаг 12: Арт-робот готов к созданию произведений искусства

    Шаг 13: Управление роботом

    Программное обеспечение Inkscape. Загрузим и установим программное обеспечение Inkscape (рекомендую стабильную версию 0.91).

    Загрузим и установим расширение EggBot Control (версия 2.4.0 была полностью протестирована).

    Расширение EggBot Control для Inkscape — это инструмент, который необходимо использовать при тестировании и калибровке EggBot, а также перенесении рисунки на яйцо. Сначала нужно запустить Inkscape.

    После запуска Inkscape появится меню «Расширения», а в нём уже нужно выбрать подменю «Eggbot». Если не видите подменю Eggbot, то вы неправильно установили расширения.

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

    1. На этом всё, спасибо за внимание!)
    2. Sphere-O-Bot-CODE_ARDUINO — программное обеспечение
    3. Sphere-O-Bot_eggbot_MOD
    4. Руководство по сборке на англ
    5. (A-z Source)

    Источник: http://mozgochiny.ru/electronics-2/art-robot-na-baze-arduino-svoimi-rukami/

    Робот-художник на Arduino

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

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

    Необходимые элементы

    • Mechanix kit — железный конструктор
    • Болты и гайки
    • Держатель для карандаша (в данном случае — прищепка)
    • 2 колеса для опор
    • Плата Arduino uno
    • Макетная плата
    • Источник питания (адаптер на 5 вольт 2 ампера)
    • USB Кабель
    • Arduino IDE
    • Matlab (с установленным Arduino IO)
    • Половина из перечисленного выше у вас вполне может найтись дома. Остальное можно приобрести за небольшие деньги.
    • Можно использовать любые серводвигатели с крутящим моментом более 7 кг*см (например, дешевый и сердитый вариант вроде MG995). Да, кстати, для любителей макеток — вам, конечно же пригодятся коннекторы.

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

    1. Просверлите два отверстия в качалках от привода. При этом необходимо выдержать расстояние, приведенное на рисунке.
    2. Следующая наша задача — сделать крепеж для основания с приводом. Просверлите 4 отверстия на расстоянии, равном расстоянию между винтами привода и установите его на основание. Мы используем этот привод в качестве неподвижного основания для нашей механической руки.
    3. Прикрепите алюминиевые звенья из конструктора к качалкам приводов. Желательно, чтобы расстояние между двумя качалками примерно было равно 20 сантиметрам.
    4. Прикрепите качалку к неподвижному сервоприводу основания, вторую качалку — ко второму приводу. Перед фиксацией качалок, откалибруйте сервопривода. Установите их таким образом, чтобы положение вала соответствовало 90 градусам, серводвигатель у основания был установлен параллельно звеньям, а серводвигатель на свободном конце — перпендикулярно.
    1. После этого возьмите еще звенья из конструктора и прикрепите их параллельно к свободному концу и серве.
    2. Прикрепите колеса к нижней части механической руки для балансировки и обеспечения поддержки нашей конструкции
    3. Последний серводвигатель должен быть подключен к концу второго звена из 5 пункта.

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

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

    Электрическая часть проекта

    drawbot на arduino своими руками

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

    Программирование платы Arduino для манипулятора

    drawbot на arduino своими руками

    Эта часть проекта самая интересная и, наверное, самая важная.

    Давайте вкратце разберемся, что именно происходит в программной части.

    Сначала мы берем изображение и находим его границы. После начинаем рисовать. Процесс рисования состоит из двух частей.

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

    Читайте также:  Светодиодный фонарик своими руками

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

    Теперь перейдем к настройке Matlab и Arduino для отрабатывания кода.

    Для начала установите Arduino IO плагин в Matlab.

    После этого замените файл arduino.m тем, что прикреплен к проекту под тем же именем.

    Скачайте и сохраните finaldraw.m и draw.m в директорию с матлабом.

    Загрузите файл adioes.ino на плату Arduino.

    Проверьте, к какому порту подключена ваша плата Arduino, после чего откройте finaldraw.m и измените COM3 на ваш порт.

    Измените расширение рисунка, который вы хотите нарисовать на .png. Это можно сделать с посощью большинстве графических редакторов. Сохраните полученный файл в директорию с Matlab. Откройте finaldraw.m и измените emma.png на название вашего рисунка с рисширением .png. Схраните файл emma.png.

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

    На этом все. Подключите вашу плату Arduino к персональному компьютеру, пропишите в командной строке Matlab слово finaldraw и играйтесь.

    • finaldraw.m — 735 bytes
    • draw.m 1 KB
    • arduino.m 96 KB
    • adioes.ino 25 KB

    Программирование продолжается

    drawbot на arduino своими руками

    Алгоритм работы нашего манипулятора достаточно простой. Давайте немного разберемся в этом вопросе.

    Сначала мы конвертируем изображение, которое хотим нарисовать в формат png и сохраняем его в папке с Matlab. После этого наш алгоритм преобразовывает рисунок в формат ч/б пикселей, как это показано на рисунке выше. Самая интересная часть — это прорисовка полученных пикселей.

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

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

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

    Результат всех приведенных выше пунктов приведен на видео ниже:

    Источник: http://arduino-diy.com/arduino-robot-khudozhnik

    Drawbot

    drawbot на arduino своими руками

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

    Drawbot состоит из нескольких частей:
    — DC Boarduino (Arduino клон)
    — 2х сервопривода непрерывного вращения.
    — 2х серво колеса.
    — Небольшая макетная плата.
    — Разъем для батареи 9В с выключателем и штекером 2,1 мм.

    — Провода с BLS штырьками.

    Вместо Boarduino можно использовать любую плату Arduino. Я использовал Boarduino из-за маленьких размеров.

    Также вам понадобится несколько маркеров (Я рекомендую брать набор маркеров разных цветов), батарея 9В и основа.

    drawbot на arduino своими руками

    Сборка Drawbot довольно проста. Сначала я соединил два сервопривода с колесами скотчем и измерил расстояние между колесами. Ширина основы должна быть немного меньше расстояния между колесами.

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

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

    drawbot на arduino своими руками

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

    Как и везде в этом проекте, я использовал провода с BLS штырьками для подключения сервоприводов к макетной плате.

    drawbot на arduino своими руками

    Когда я закончил сбору, я захотел проверить его работу. Я хотел найти или написать код для непрерывного вращения сервопривода. Поискав, я нашел статью Управление сервоприводом непрерывного вращения Parallax (Futaba) при помощи Arduino. Я максимально упростил свой код. Сейчас Drawbot просто ездит по кругу. Да, это примитивно, но это хороший старт и основа для дальнейшего развития.

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

    drawbot на arduino своими руками

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

    drawbot на arduino своими руками

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

    Мы подумали, что два маркера будет лучше, чем один, и прикрепили его. Результат был хорошим. Круги начали пересекаться. Интересно будет попробовать запустить робота на большем листе бумаги, чтобы посмотреть, как он ведет себя дальше.

    Код:

    int servoPinL = 9;
    int servoPinR = 10;

    void setup() {
    pinMode(servoPinL,OUTPUT);
    pinMode(servoPinR,OUTPUT);
    }

    void loop() {
    digitalWrite(servoPinL,HIGH);
    digitalWrite(servoPinR,HIGH);
    delayMicroseconds(1500);
    digitalWrite(servoPinL,LOW);
    digitalWrite(servoPinR,LOW);
    delay(50);
    }

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

    drawbot на arduino своими руками

    Оригинал статьи

    Источник: https://cxem.net/uprav/uprav36.php

    Делаем самобалансирующего робота на Ардуино

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

    drawbot на arduino своими руками

    Сигвей от англ. Segway – двухколесное средство передвижения стоя, оснащенное электроприводом. Еще их называют гироскутерами или электрическими самокатами.

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

    Как работает балансировка?

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

    Элемент обратной связи — гироскоп-акселерометр MPU6050, который обеспечивает как ускорение, так и вращение во всех трех осях (основы MP26050 I2C). Ардуино использует это, чтобы знать текущую ориентацию робота.

    Корректирующим элементом является комбинация двигателя и колеса.

    drawbot на arduino своими руками

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

    Сначала подключите MPU6050 к Ардуино и проверьте соединение, используя коды в этом учебном руководстве по интерфейсу IMU. Если данные теперь отображаются на последовательном мониторе, вы молодец!

    Продолжайте подключать остальные компоненты, как показано выше. Модуль L298N может обеспечить +5В, необходимый для Ардуино, если его входное напряжение составляет +7В или выше. Тем не менее, мы выбрали отдельные источники питания для двигателя и схемы.

    1. Обратите внимание, что если вы планируете использовать напряжение питания более 12 В для модуля L298N, вам необходимо удалить перемычку чуть выше входа +12 В.
    2. Корпус робота изготовлен в основном из акрилового пластика с двумя редукторными двигателями постоянного тока:
    3. drawbot на arduino своими руками
    4. Основная печатная плата, состоящая из Arduino Nano и MPU6050:
    5. drawbot на arduino своими руками
    6. Модуль драйвера двигателя L298N:
    Читайте также:  Динамометрический ключ своими руками

    drawbot на arduino своими руками

    Мотор редуктора постоянного тока с колесом:

    drawbot на arduino своими руками

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

    Источник: https://ArduinoPlus.ru/delaem-samobalansiruyushhego-robota-na-arduino/

    Arduino Drawbot

    In some of my previous Arduino instructurables I have show to the Arduino beginers on how to control servos in different ways.

    And in my last instructurable I have show the modification of a Parallax servo for a 360º rotation.
    So in this one I will show Arduino beginers the use of those 360º rotation servos.

    With that in mind we will make our first ROBOT. It will be a simple bot called The DrawBot

    For the some of the materials just look around the house and recycle it for the DrawBot to be made

    NOTE: The code and the idea was taken from around the internet. And again there are tutorials showing you this simple DrawBot or the 5 Minute Drawbot but they’re not clear enough for the beginner. All the electronics were bought @ RADIOSHACK.

    Step 1: Materials

    drawbot на arduino своими руками

    The following will be divided in categories and in no particular order:

    Tools:
    1.  Drill with a drill bit (size depends on the diameter of the marker)

    2.  Screwdriver to attach the wheels to the servos.

    Hardware:
    1. (X2) spray paint can caps.
    2. (X2) small screws
    3. (X3) rubber bands
    4.  Piece of wood ( size, shape and thickness could be any to fit all the parts)
    5. Arduino UNO Rev3
    6. Breadboard
    7. (9V) battery
    8.

    (9V) connection harness to provide power to the Arduino.
    9. (X4) wires for all the connections.
    10. A marker ( any color)
    11. (X2) Parallax Servos with the 360º MOD
    12. 12 pin connector
    13. USB cable to prgram the Arduino.

    14. Something to add traction to the wheels ( I have use from lego, two rubber tires, but you can use any electrical tape also).

    READ  BaW-Bot Part 2: Build the motor-controller & body

    Software:
    Arduino software (to upload the code)

    Step 2: Step 1

    Cut a piece of wood. Mine is 8 inches long. Then drill a hole in one of the sides ( I was drilling and measuring with the marker so it could fit in the hole.

    But the key is not to make the hole too big so the marker would’nt be loose as you see on the picture. If is loose in the hole the just add a piece of tape around it to make the marker more thick for the hole).

    The piece of wood I am using is a 2” wide by 1/4” of thickness.

    You can use whatever you got (plastic, metal or even a good piece of cardboard)

    Step 3: Step1 (Bread board)

    Use the rubberband to hold the breadboard in place as you see on the picture.

    Step 4: Step 3 (Arduino)

    And again use the rubberband  for the Arduino as well.

    Step 5: Step 4 (Servos)

    Attach the two servos to the base (wood piece).
    Also it is a good practice to write in the back of the base the letters L and R to make the final connections of the servos easy.

    Источник: https://duino4projects.com/arduino-drawbot/

    Универсальный образовательный набор (mDrawBot Kit)

    mDrawBot  — это робототехнический набор 4 в 1. Из набора можно собрать 4-х различных рисующих робота: mScara, mSpider, mEggBot и mCar. 

     

    Набор состоит из более чем 60 компонентов Makeblock (балок, креплений, пластин и др.) и бесчисленных винтов и гаек. На рисунке ниже показан состав набора. Также компания Makeblock разработала программное обеспечение под названием mDraw для управления роботами. 

    drawbot на arduino своими руками

    mScara

    mScara — это производная от абревиатуры SCARA (Selective Compliance Articulated Robot Arm). Манипулятор, приводимый в движение  шаговыми двигателями. Если в mScara установить ручку (маркер), можно создавать рисунки на плоской поверхности. Замена ручки на лазерный диод превращает манипулятор в лазерный гравер.

    mSpider

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

    mEggBot

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

    mCar

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

    Как пользоваться набором mDrawBot?

    Сборка

    Из каждого набора можно собрать 4-х рисующих роботов различной конфигурации. К набору прилагаются подробные инструкции по сборке, с помощью которых Вы сможете собрать любого робота из набора всего за 1 час. Также инструкци по сборке можно скачать здесь: https://github.com/Makeblock-official/mDrawBot.

    Вместо платы Makeblock Orion Вы можете использовать свою собственную Arduino UNO. Процесс соединения с помощью проводов будет немного сложнее, но все равно будет хорошо работать.

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

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

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

    mDraw  — открытый проект, размещенный на Github. Исходник здесь: https://github.com/Makeblock-official/mDrawBot.

    A Drawbot это что-то больше ..

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

    Maceblock также подготовил два расширения для набора mDrawBot: Bluetooth модуль и лазерный гравер на 500 мВт.

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

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

    ПРЕДУПРЕЖДЕНИЕ! В связи с особенностями лазера, сфера применения лазерного гравера и его комплектующих ограничена. Ограничения заключаются в следующем:

    • Лазерный гравер может быть использован только с:
    • — mScara (такого робота можно собрать из набора mDrawbot), 
    • — XY Plotter Robot Kit с электроникой (для комплектов включающих лазерный гравер предоставляется подробная инструкция),
    • — 3D принтер.

    Источник: http://neobot.ru/products/universalnyj-obrazovatelnyj-nabor-mdrawbot-kit

    Ссылка на основную публикацию
    Adblock
    detector