Робот для рисования для Arduino: 18 шагов (с изображениями)
Робот для рисования для Arduino: 18 шагов (с изображениями)
Anonim
Image
Image
Робот для рисования для Arduino
Робот для рисования для Arduino
Робот для рисования для Arduino
Робот для рисования для Arduino

Примечание: у меня есть новая версия этого робота, использующего печатную плату, более легкую в сборке и имеющую инфракрасное обнаружение препятствий! Проверьте это на

Я разработал этот проект для 10-часового семинара для ChickTech.org, цель которого - познакомить женщин-подростков с темами STEM. Цели этого проекта были:

  • Легко построить.
  • Легко программировать.
  • Сделал кое-что интересное.
  • Недорого, поэтому участники могут забрать его домой и продолжить обучение.

Имея в виду эти цели, вот несколько вариантов дизайна:

  • Совместимость с Arduino для простоты программирования.
  • Батарея AA по цене и доступности.
  • Шаговые двигатели для точного движения.
  • Напечатано на 3D-принтере для простоты настройки.
  • Построение пером с графикой черепахи для интересного вывода.
  • Открытый исходный код, чтобы вы могли создать свой собственный!

Вот робот, наиболее близкий к тому, что я хотел сделать: https://mirobot.io. У меня нет лазерного резака, и доставка из Англии была запрещена. У меня есть 3D-принтер, так что я думаю, вы видите, к чему все идет…

Пусть вас не смущает отсутствие 3D-принтера. Вы можете найти местных любителей, желающих помочь вам, на www.3dhubs.com.

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

Шаг 1: Детали

Запчасти
Запчасти
Запчасти
Запчасти
Запчасти
Запчасти
Запчасти
Запчасти

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

Электроника:

  • 1- Arduino UNO или аналогичный - adafruit.com/products/50

    Adafruit теперь является производителем подлинных Arduinos в США! Получите их из первоисточника

  • 2- Шаговый двигатель 5 В с редуктором- adafruit.com/products/858
  • 1- ULN2803 Драйвер Дарлингтона - adafruit.com/products/970
  • 1- Макет половинного размера- adafruit.com/products/64
  • 12- Джемперы мужчины-мужчины- adafruit.com/products/1956

    По крайней мере, два должны быть 6 дюймов, остальные могут быть 3 дюйма

  • 1- Микро серво- adafruit.com/products/169
  • 1- Штекерный разъем - digikey.com/short/t93cbd
  • 1-2 держателя AA - digikey.com/short/tz5bd1
  • 1-3 держателя AA - digikey.com/short/t5nw1c
  • Конденсатор 1-470 мкФ 25 В - www.digikey.com/product-detail/en/ECA-1EM471/P5155-ND/245014
  • Ползунковый переключатель 1 -SPDT - www.digikey.com/product-detail/en/EG1218/EG1903-ND/101726
  • 1- Микрокабель USB
  • 5 - батарейки типа АА

Аппаратное обеспечение:

  • 2-1 7/8 "ВД x 1/8" уплотнительное кольцо - mcmaster.com/#9452K96
  • 1- Ролик 5/8 "подшипник- mcmaster.com/#96455k58/=yskbki
  • Винт с полукруглой головкой M3 x 8 мм 10- mcmaster.com/#92005a118/=z80pbr
  • 4- Винт M3 x 6 мм с плоской головкой- mcmaster.com/#91420a116/=yskru0
  • 12- Гайка M3- mcmaster.com/#90591a250/=yskc6u3D
  • 2 - 1/4 "резьба для формирования 4-20 винтов

Печатные детали (посетите www.3dhubs.com, если у вас нет доступа к принтеру):

  • https://www.thingiverse.com/thing:1091401

    • 1 х шарикоподшипник
    • 1 х шасси
    • 2 x колеса
    • 2 x шаговый кронштейн
    • 1 x держатель ручки / кронштейн сервопривода
    • 1 х ручка воротник
  • Я использую низкое разрешение, 100% заливку и без поддержки. Это примерно 4 часа печати.

Запасы:

  • Отвертка Филлипс
  • Пистолет для горячего клея
  • Цифровой мультиметр
  • Острый нож
  • Цветные маркеры Crayola

Шаг 2: прошейте прошивку

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

  1. Загрузите программное обеспечение Arduino с сайта www.arduino.cc/en/Main/Software.
  2. Откройте программное обеспечение Arduino.
  3. Загрузите прикрепленный zip-файл и распакуйте его в папку для эскизов Arduino.

    Вы можете найти (или изменить) это местоположение в Arduino IDE: [Файл] -> [Настройки] -> «Местоположение Sketchbook»

  4. Загрузите тестовый скетч: [Файл] -> [Sketchbook] -> [TIRL_Arduino_TEST]
  5. Подключите Arduino к компьютеру с помощью USB-кабеля.
  6. В среде Arduino IDE:

    1. Установите тип платы: [Инструменты] -> [Доска] -> Тип вашей платы.
    2. Установите свой последовательный порт: [Инструменты] -> [Порт] -> Обычно последний в списке.
  7. Загрузите эскиз, используя значок стрелки.

Если у вас возникли проблемы, обратитесь за помощью на сайт www.arduino.cc/en/Guide/Troubleshooting.

Шаг 3. Держатель ручки и держатели батарей

Держатель ручки и держатели батарей
Держатель ручки и держатели батарей
Держатель ручки и держатели батарей
Держатель ручки и держатели батарей
Держатель ручки и держатели батарей
Держатель ручки и держатели батарей
Держатель ручки и держатели батарей
Держатель ручки и держатели батарей
  1. Вставьте гайки в верхнюю часть шасси (Изображение 1). Возможно, вам придется их вдавить.
  2. Установите держатель ручки с кронштейном сервопривода на верхней стороне корпуса (изображения 2 и 3).
  3. Прикрепите держатели батарей в нижней части корпуса с помощью винтов 3Mx6mm с плоской головкой (Изображение 4).

    • Вам нужно как минимум 5xAA для правильного питания Arduino через встроенный регулятор. Шесть тоже подойдут, поэтому я добавил отверстия для любого размера с обеих сторон.
    • Вы хотите, чтобы вес был смещен в сторону заклинателя, поэтому переместите 3xAA назад.
    • Расположите держатели так, чтобы выводы располагались как можно ближе к прямоугольным проложенным кабелям.
  4. Пропустите провода аккумулятора через прямоугольные кабельные трассы (Изображение 4).
  5. Повторите то же самое для другого держателя батареи.

Примечание. Если не указано иное, остальные винты представляют собой винты с полукруглой головкой 3Mx8 мм.

Шаг 4: Подставки для шагового двигателя

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

Шаг 5: заклинатель

Кастер
Кастер
Кастер
Кастер
  1. Вставьте шарикоподшипник в ролик.

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

  2. Прикрепите ролик к нижней стороне шасси перед держателем батареи.

Я пробовал другие круглые объекты, например, мрамор, но гладкие и тяжелые, кажется, работают хорошо. Если вам нужен другой диаметр, вы можете отредактировать файл openScad (https://www.thingiverse.com/thing:1052674), чтобы он соответствовал тому, что у вас есть под рукой.

Шаг 6: макет и мозг

Макет и мозги
Макет и мозги
Макет и мозги
Макет и мозги
Макет и мозги
Макет и мозги
  1. Снимите одну из шин питания с помощью острого ножа, разрезав нижний клейкий слой (Изображение 1).

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

  2. Удерживая макетную плату над направляющими шасси, отметьте, где они пересекаются с краем (Изображение 2).
  3. Используя линейку (например, снятую шину питания), наметьте линии и прорежьте подложку (Изображение 3).
  4. Поместите макетную плату на шасси так, чтобы направляющие касались открытого клея (Изображение 4).
  5. Прикрепите Arduino к другой стороне корпуса с помощью 4-20 винтов (Изображение 5).

Шаг 7: Размещение конденсатора и деталей

Размещение конденсатора и деталей
Размещение конденсатора и деталей
Конденсатор и размещение деталей
Конденсатор и размещение деталей
Конденсатор и размещение деталей
Конденсатор и размещение деталей
Размещение конденсатора и деталей
Размещение конденсатора и деталей
  1. Поместите драйвер Дарлингтона и выключатель питания на макетную плату (Изображение 1).

    • Я добавил оранжевые точки для наглядности, чтобы отметить следующее:

      • Контакт 1 драйвера Дарлингтона
      • Штырь аккумулятора микротроллера. Положение выключателя питания "включено".
  2. При необходимости обрежьте выводы конденсатора (более длинный - отрицательный) (Изображение 2).
  3. Вставьте конденсатор в правильные направляющие в верхней части макета (Изображение 3).

Шаг 8: Мощность

Власть
Власть
Власть
Власть
Власть
Власть
  1. С правыми выводами аккумулятора: подключите красную линию к первому контакту выключателя питания (Изображение 1).
  2. Подключите черный провод к пустому ряду между микроконтроллером и микросхемой Дарлингтона (Изображение 1).
  3. С левыми выводами батареи: подключите красную линию к тому же ряду, что и черный провод другой батареи (Изображение 2).
  4. Подключите черную линию к отрицательной шине макета (Изображение 2).
  5. Подключите питание к микроконтроллеру:

    1. Красная перемычка от плюсовой шины к контакту аккумулятора (оранжевая точка, Изображение 3).
    2. Черная перемычка от отрицательной шины к контакту с маркировкой «G» (Изображение 4).
  6. Установите батарейки и включите питание (Изображение 5).
  7. Вы должны увидеть, что на контроллере загорятся зеленый и красный индикаторы (Изображение 6).

Исправление проблем:

  • Если индикаторы микроконтроллера не загораются, немедленно выключите питание и устраните неисправность:

    • Батареи установлены в правильной ориентации?
    • Дважды проверьте расположение выводов аккумулятора.
    • Дважды проверьте положение выводов переключателя.
    • Используйте мультиметр для проверки напряжения батарей.
    • Используйте мультиметр для проверки напряжения на шине питания.

Шаг 9: шаговая мощность

Шаговая мощность
Шаговая мощность
Шаговая мощность
Шаговая мощность
Шаговая мощность
Шаговая мощность

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

  1. Подключите черную перемычку от верхнего левого штыря Дарлингтона к отрицательной стороне шины питания (Изображение 1).
  2. Подключите красную перемычку от нижнего левого штыря Дарлингтона к плюсовой стороне шины питания (Изображение 1).
  3. Соедините красную перемычку от нижней левой булавки Дарлингтона с одним рядом справа от Дарлингтона (Изображение 2).
  4. Вставьте контактные заголовки для белых разъемов JST степпера (Изображение 2).

Шаг 10: сигналы управления шаговым двигателем

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

Микроконтроллер подает сигналы 5 вольт на массив Дарлингтона, который, в свою очередь, обеспечивает VCC для шаговых катушек:

  1. Начните с контакта рядом с контактом заземления на драйвере Дарлингтона и установите оранжевый, желтый, зеленый и синий провода в указанном порядке (Изображение 1).
  2. Присоедините перемычки к следующим контактам Arduino (Изображение 2):

    1. оранжевый - цифровой контакт 4
    2. желтый - цифровой вывод 5
    3. зеленый - цифровой контакт 6
    4. синий - цифровой контакт 7
  3. Вернувшись в Дарлингтон, продолжайте перемычку для другого степпера в обратном порядке:

    синий, зеленый, желтый и оранжевый (Изображение 3)

  4. Присоедините перемычки к следующим контактам Arduino (Изображение 4):

    1. синий - цифровой вывод 9 (вывод 8 используется для сервопривода).
    2. зеленый - цифровой контакт 10
    3. желтый - цифровой контакт 11
    4. оранжевый - цифровой контакт 12

Шаг 11: Подключение шаговой катушки

Соединения шаговой катушки
Соединения шаговой катушки
Соединения шаговой катушки
Соединения шаговой катушки
Соединения шаговой катушки
Соединения шаговой катушки

Белые разъемы JST степпера присоединяются к штыревой головке. Красный провод - это питание, и он должен совпадать с красными перемычками питания, которые мы установили ранее (Изображение 1).

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

Шаг 12: сервопривод

Сервопривод
Сервопривод
Сервопривод
Сервопривод
Сервопривод
Сервопривод
  1. Установите рупор сервопривода, повернув сервопривод по часовой стрелке до упора, а рупор горизонтально (Изображение 1).
  2. Присоедините сервопривод к держателю так, чтобы рог был направлен в правую сторону шагового двигателя (Изображение 1).
  3. Подключите коричневую (заземление), красную (питание 5 В) и белую (сигнальную) перемычки к серворазъему в соответствии с цветами проводов сервопривода (Изображение 2).
  4. Подключите перемычки питания и заземления к земле и разъему 5V на Arduino (Изображение 3).
  5. Подключите белый сигнальный провод к цифровому выводу 8 Arduino (Изображение 4).

Шаг 13: колеса

Колеса
Колеса
Колеса
Колеса
  1. Поместите резиновое уплотнительное кольцо вокруг края колеса (Изображение 1).
  2. Если ступица не плотно прилегает к оси, вы можете использовать винт 3M, чтобы удерживать ее на месте (Изображение 2).

    Не затягивайте слишком сильно, иначе вы сорвете пластик

Шаг 14: Тестирование

Надеюсь, вы уже загрузили прошивку на шаге 2. Если нет, сделайте это сейчас.

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

  1. Поместите своего робота на гладкую, ровную и открытую поверхность.
  2. Включите питание.
  3. Смотрите, как ваш робот рисует квадраты.

Если вы не видите индикаторов на микроконтроллере, вернитесь и устраните неисправность питания, как в шаге 8.

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

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

Шаг 15: Калибровка

Калибровка
Калибровка
Калибровка
Калибровка
Калибровка
Калибровка
Калибровка
Калибровка

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

Измерьте диаметр вашего колеса (Изображение 1) и колесную базу (Изображение 2) в миллиметрах.

Ваши настройки калибровки в коде:

float wheel_dia = 63; // мм (увеличение = спираль наружу)

float wheel_base = 109; // мм (увеличение = спираль в) int steps_rev = 128; // 128 для коробки передач 16x, 512 для коробки передач 64x

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

В конце концов я пришел к значению 63 мм (Изображение 4). Вы можете видеть, что все еще существует некоторая внутренняя ошибка из-за зазора шестерни и тому подобного. Достаточно близко, чтобы сделать что-нибудь интересное!

Шаг 16: подъем и опускание ручки

Подъем и опускание пера
Подъем и опускание пера
Подъем и опускание пера
Подъем и опускание пера

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

  1. Поместите кольцо на ручку (Изображение 1).

    Если он болтается, закрепите его липкой лентой

  2. Убедитесь, что он касается бумаги при опускании сервомеханизма.
  3. Убедитесь, что при поднятии он не касается бумаги.

Углы сервопривода можно отрегулировать, сняв рог и переставив его, или с помощью программного обеспечения:

int PEN_DOWN = 20; // угол сервопривода, когда ручка опущена

int PEN_UP = 80; // угол сервопривода, когда перо вверх

Команды пера:

penup ();

pendown ();

Если вы хотите использовать ручки разных размеров, вам придется изменить держатель ручки (www.thingiverse.com/thing:1052725) и воротник ручки (www.thingiverse.com/thing:1053273) на правильный диаметр.

Шаг 17: получайте удовольствие

Image
Image

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

Пришло время исследовать. Если вы посмотрите на тестовый набросок, то увидите, что я предоставил вам несколько стандартных команд «Черепаха»:

вперед (расстояние); // миллиметры

назад (расстояние); левый (угол); // градусы вправо (угол); penup (); pendown (); сделано(); // отпускаем шаговый двигатель для экономии заряда батареи

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

  • https://code.org/learn
  • https://codecombat.com/

Шаг 18: другие платформы

Другие платформы
Другие платформы

Можно ли сделать этого робота с помощью?

Да! Эта платформа очень гибкая. В основном вам нужно будет просто изменить шасси.

Я сделал это с помощью Raspberry Pi (Изображение 1) и Брелка Adafruit (www.instructables.com/id/Low-Cost-Arduino-Compatible-Drawing-Robot/) (Изображение 2).

Дайте мне знать, что вы придумали!