Промышленное производство
Промышленный Интернет вещей | Промышленные материалы | Техническое обслуживание и ремонт оборудования | Промышленное программирование |
home  MfgRobots >> Промышленное производство >  >> Manufacturing Technology >> Производственный процесс

Лазерная гравировка с роботом Arduino SCARA своими руками

<основной класс="главный сайт" id="главный">

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

Обзор проекта

Робот SCARA имеет 4 степени свободы, которые приводятся в движение 4 шаговыми двигателями NEMA 17 и управляются с помощью платы Arduino. В оригинальном видео я использовал плату Arduino UNO в сочетании с CNC Shield, но теперь мы будем использовать плату Arduino MEGA в сочетании с платой RAMP. Нам нужна эта комбинация, потому что мы будем использовать прошивку 3D-принтера Marlin для управления роботом.

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

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

Кроме того, рабочая зона впечатляет, учитывая небольшие размеры робота. Он может использовать область перед собой, а также с обеих сторон. На самом деле мы можем настроить его так, чтобы он использовал почти все 360 градусов вокруг робота в качестве рабочей зоны. Мы можем сделать это благодаря прошивке 3D-принтера Marling с открытым исходным кодом, которая имеет опции для лазерной гравировки и настройки робота SCARA.

Для генерации G-кодов я использую еще одно программное обеспечение с открытым исходным кодом, Inkscape и плагин для него под названием Inkscape-Lasertools. Мы можем генерировать G-коды только с контурами или с контурами и заполнением из одного и того же векторного изображения, и у нас есть различные параметры, такие как настройка лазерного луча, скорость перемещения, скорость заполнения, скорость периметра, команды включения и выключения лазера, включая ШИМ-управление лазер и так далее.

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

Дизайн и 3D-модель

Вот краткий обзор 3D-модели этого робота SCARA, чтобы вы могли увидеть, как он работает, если вы не смотрели оригинальное руководство, в котором я подробно объясняю, как я его построил.

Робот разработан таким образом, что большинство деталей можно легко распечатать на 3D-принтере. Суставы приводятся в движение шаговыми двигателями NEMA 17, скорость которых снижается с помощью ремней GT2 и некоторых подходящих шкивов GT2, напечатанных на 3D-принтере. Робот имеет 4 степени свободы, но в данном случае нам нужны только 3 степени свободы, два оборота для достижения любой точки рабочей зоны и одно линейное движение для регулировки высоты лазера.

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

Вы можете найти и скачать эту 3D-модель, а также изучить ее в своем браузере на Thangs:

Загрузите 3D-модель сборки с Thangs.

Спасибо Thangs за поддержку этого руководства.

Файлы STL для 3D-печати:

Спонсируется


Я спроектировал этого робота SCARA с помощью 3DEXPERIENCE SOLIDWORKS for Makers, которая также является спонсором этого видео. Да, вы не ослышались. Благодаря 3DEXPERIENCE SOLIDWORKS for Makers компания SOLIDWORKS наконец-то предлагает своим производителям самые передовые инструменты проектирования по невероятно низкой цене.

Создатели теперь могут получить доступ к лучшим инструментам проектирования SOLIDWORKS всего за 99 долларов в год, но для МОИХ зрителей SOLIDWORKS предлагает ограниченное по времени предложение, которое позволит вам получить эти инструменты еще дешевле!

Вот так. Зрители этого видео могут получить этот пакет уже сегодня, который включает в себя облачную версию SOLIDWORKS, а также браузерные инструменты проектирования, такие как 3D Creator и 3D Sculptor, со специальной скидкой 20 %, пока товар есть в наличии!

Все, что вам нужно сделать, это щелкнуть мою следующую ссылку и создать свой бесплатный идентификатор 3DEXPERIENCE ID, который позволит вам получить доступ к этому специальному предложению со скидкой 20%, чтобы вы могли начать работать с лучшими сегодня. Большое спасибо SOLIDWORKS за спонсирование и поддержку подобного образовательного контента.

Ознакомьтесь с SOLIDWORKS для производителей

Скидка 20 % на SOLIDWORKS для производителей


Установка лазерного модуля

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

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

Конкретный лазерный модуль, который у меня есть, работает от 12 В и может управляться с помощью ШИМ-сигнала всего двумя проводами:заземлением и VCC. Для подключения лазера я использовал разъем, который идет в комплекте с модулем, с 3 контактами. Левый черный провод — это Земля, а средний, белый провод в моем случае — это VCC. Я припаял к этим проводам два штекерных перемычки, чтобы их можно было легко подключить к проводам концевого зажима.

Затем я просто ставлю коннектор на место, пропускаю провод через одно из отверстий держателя и закрепляю лазерный модуль двумя болтами М3. С помощью четырех болтов M4 я прикрепил лазерный модуль к роботу.

Далее, как я упоминал ранее, вместо платы Arduino UNO, которую я использовал для управления роботом в исходном видео, теперь нам нужна плата Arduino MEGA и комбинация с платой RAMPS.

Здесь сначала нам нужно выбрать ступенчатое разрешение драйверов. Конечно, для более плавного движения мы должны выбрать максимально возможное разрешение, добавив по три перемычки для каждого драйвера шагового двигателя. Я использую драйвер шагового двигателя A4988 с разрешением 16 шагов, но мы также можем использовать драйвер шагового двигателя DRV8825 с разрешением 1/32 шага.

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

Схема робота SCARA Laser Engraver

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

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

Для управления лазерным модулем мы будем использовать контакт D9, который в настройках 3D-принтера используется для управления вентилятором. Этот контакт поддерживает ШИМ, поэтому с его помощью мы можем контролировать интенсивность лазера. Для питания всего необходимо блок питания 12В с минимальной силой тока 3А.

Вы можете получить компоненты, необходимые для этого проекта, по ссылкам ниже:

Что касается механических компонентов, вы можете проверить оригинальную статью.

После того, как я все подключил, как было объяснено, я немного сжал провода и накрыл электронику, чтобы все выглядело красиво и чисто.

Завершение сборки

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

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

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

Вот и все. Теперь робот SCARA готов к работе в качестве лазерного гравера, но, конечно, сначала нам нужно установить прошивку на плату Arduino.

См. также: Робот-манипулятор Arduino своими руками с управлением смартфоном

Прошивка Marlin для лазерной гравировки с роботом SCARA

Как я уже сказал, я буду использовать прошивку Marlin, которая является одной из наиболее широко используемых прошивок с открытым исходным кодом для 3D-принтеров, в которой также есть опции для лазерной гравировки и настройки робота SCARA. Мы можем скачать прошивку Marlin либо с официального сайта, либо с Github.com.

Чтобы установить прошивку Marlin на плату Arduino MEGA, мы будем использовать PlatformIO IDE вместо Arduino IDE. Поскольку прошивка Marlin большая и сложная, Arduino IDE иногда может выдавать ошибки и не сможет ее скомпилировать.

PlarformIO построен на основе редактора Visual Studio Code и может быть установлен как расширение к нему. Это означает, что сначала нам нужно установить Visual Studio Code, затем найти PlatformIO в диспетчере расширений и установить его оттуда.

После завершения установки мы можем нажать кнопку «Открыть проект», перейти к папке Marlin, которую мы скачали и разархивировали, и нажать «Открыть Marlin».

Это загрузит все файлы Marlin в редактор, и мы сможем открывать и редактировать их. Два основных файла, в которых мы делаем все настройки в соответствии с настройками нашего компьютера, — это файлы Configuration.h и Configuration_adv.h.

На самом деле, прежде чем мы откроем папку Marlin, мы должны сначала перейти в репозиторий конфигурации на Github.com, откуда мы можем загрузить некоторые предварительно протестированные файлы конфигурации, которые нам подходят. В папке «Примеры» мы должны перейти в папку «SCARA», скопировать эти два файла конфигурации и вставить их в нашу папку Marlin.

См. также: Как настроить GRBL & Управление станком с ЧПУ с помощью Arduino

Настройка прошивки Marlin

Итак, как только мы снова откроем папку Marlin с файлами конфигурации «SCARA», мы сможем открыть файл Configuration.h и отредактировать некоторые параметры в соответствии с нашей машиной. Прежде всего, нужно выбрать тип робота SCARA, который у нас есть.

/**
 * MORGAN_SCARA was developed by QHARLEY in South Africa in 2012-2013.
 * Implemented and slightly reworked by JCERNY in June, 2014.
 */
//#define MORGAN_SCARA

/**
 * Mostly Printed SCARA is an open source design by Tyler Williams. See:
 *   https://www.thingiverse.com/thing:2487048
 *   https://www.thingiverse.com/thing:1241491
 */
#define MP_SCARA

#if EITHER(MORGAN_SCARA, MP_SCARA)
  // If movement is choppy try lowering this value
  #define SCARA_SEGMENTS_PER_SECOND 100

  // Length of inner and outer support arms. Measure arm lengths precisely.
  #define SCARA_LINKAGE_1  228.15  // Arm 1 lenght - 228(mm)
  #define SCARA_LINKAGE_2 136.2    // Arm 2 lenght - 136.5(mm)

  // SCARA tower offset (position of Tower relative to bed zero position)
  // This needs to be reasonably accurate as it defines the printbed position in the SCARA space.
  #define SCARA_OFFSET_X    300       // (mm)
  #define SCARA_OFFSET_Y    150       // (mm)Code language: Arduino (arduino)

«MORGAN_SCARA» — для параллельного робота SCARA, а «MP_SCARA» — для последовательного робота SCARA, как и у нас. Это основано на разработке Тайлера Уильямса с открытым исходным кодом, которая реализует инверсную кинематику для G-кодов, сгенерированных для обычных декартовых систем.

В моем предыдущем уроке я уже объяснил, что такое инверсная кинематика и как она работает с этим роботом SCARA, поэтому для получения более подробной информации вы можете проверить этот урок. Вкратце, с инверсной кинематикой мы вычисляем, под каким углом должны располагаться две руки, чтобы достичь заданной координаты X, Y. Математика обратной кинематики основана на тригонометрии, и результат зависит исключительно от длины двух плеч.

При этом здесь нам нужно ввести длину манипуляторов робота, и в данном случае это 228 мм для первого манипулятора и 136,5 мм для второго манипулятора. Следующий параметр, который нам нужно задать, это нулевое положение рабочего стола. Это значение вводится вместе со значениями SCARA_OFFSET_X и Y и представляет собой расстояние от башни или первого стыка относительно нулевого положения пласта.

Есть еще один набор параметров, который нам нужно настроить в соответствии с нашей машиной, и это MANUAL_X_HOME_POS для X и Y. Эти значения представляют собой расстояния X и Y от концевого эффектора руки робота или лазера, когда он находится в исходном положении, относительно в нулевое положение кровати, которое мы ранее установили. Чтобы получить эти значения, я сделал простой эскиз в SOLIDWORKS с двумя линиями, представляющими две руки робота SCARA.

Отсюда можно установить желаемое нулевое положение кровати и получить значения для переменных MANUAL_X_HOME_POS.

Далее нам нужно определить концевые соединители. В нашем случае у нас есть один упор для каждой оси, который находится в минимальном положении.

#define USE_XMIN_PLUG
#define USE_YMIN_PLUG
#define USE_ZMIN_PLUGCode language: Arduino (arduino)

В дополнение к этому нам нужно определить X_HOME_DIR равным –1, что указывает направление конечных точек при возврате в исходное положение.

// Direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR -1
#define Z_HOME_DIR -1Code language: Arduino (arduino)

Здесь мы также должны проверить, установлены ли для всех переменных __MIN_ENDSTOP_INVERTING значение «FALSE».

Затем нам нужно настроить значения DEFAULT_AXIS_STEPS_PER_UNIT, чтобы они соответствовали нашей машине.

#define DEFAULT_AXIS_STEPS_PER_UNIT   { 177.7777777, 142.2222222, 400, 93 }Code language: Arduino (arduino)

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

Шаговые двигатели NEMA 17 делают 200 шагов для полного оборота, но поскольку мы используем разрешение 16 шагов, это означает, что нам нужно отправить драйверу 3200 шагов, чтобы двигатель совершил полный оборот на 360 градусов. Кроме того, для первого шарнира у нас есть снижение скорости 20:1, что означает, что нам нужно 64000 шагов для полного вращения. Если мы разделим это значение на 360, то получим число 177,777, которое на самом деле является количеством шагов, которые программа должна отправить водителю, чтобы повернуть шарнир на одну единицу или один градус.

Второй рычаг имеет снижение скорости 16:1, поэтому значение будет 142,222. Для оси Z у нас есть ходовой винт с шагом 8 мм, что означает, что один полный оборот двигателя приводит к линейному перемещению 8 мм. Одна единица здесь равна одному мм, поэтому нам нужно разделить 3200 шагов на 8, и мы получим значение 400, которое представляет собой количество шагов, необходимых для перемещения оси Z на одну единицу или один мм. Четвертое значение здесь для шагового двигателя экструдера, но поскольку у нас здесь нет экструдера, нам не нужно его менять.

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

// Invert the stepper direction. Change (or reverse the motor connector) if an axis goes the wrong way.
#define INVERT_X_DIR false
#define INVERT_Y_DIR false
#define INVERT_Z_DIR falseCode language: Arduino (arduino)

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

В scara.cpp, строка 75, я заменил MORGAN_SCARA на MP_SCARA. В motion.cpp мне пришлось закомментировать строки 1716 и 1717, в cofiguration.h прокомментировать VALIDATE_HOMING_ENDSTOPS, а в configuration_adv.h раскомментировать QUICK_HOME.

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

Тем не менее, теперь мы можем нажать кнопку «Загрузить», расположенную в левом нижнем углу редактора, и прошивка Marlin будет установлена ​​на плату Arduino. Вы загружаете эту конкретную прошивку Marlin со всеми изменениями, которые я сделал для работы с этим роботом SCARA ниже, или, конечно, вы можете загрузить оригинальную прошивку Marlin с Github.com и внести все изменения самостоятельно, как я объяснил.

Управляющее программное обеспечение — Rapetier-host

Итак, раз у нас установлена ​​прошивка Marlin, теперь нам нужна компьютерная программа для управления роботом и отправки ему G-кодов. Есть много вариантов, но я решил использовать Rapetier-host, популярное программное обеспечение для 3D-печати. Мы можем загрузить и использовать это программное обеспечение бесплатно. После того, как мы его установим, мы можем перейти в «Конфигурация»> «Настройки принтера» и настроить здесь несколько параметров.

Мы должны выбрать COM-порт, к которому подключен наш Arduino, и выбрать скорость передачи данных, которую мы установили в прошивке Marlin. На вкладке «Форма принтера» мы должны установить максимальные значения X и Y и область принтера.

Применив эти настройки, мы можем нажать кнопку «Подключиться», и программа должна подключиться к нашему роботу SCARA. Затем мы можем перейти к крану «Ручное управление» и отсюда попытаться переместить принтер.

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

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

Когда мы нажимаем кнопку «Домой», робот должен начать движение к концевым выключателям. Фактически, второй рычаг начнет двигаться к своему концевому выключателю, в то время как первый рычаг должен двигаться в противоположном направлении. Как только второй рычаг или ось Y коснутся своего концевого выключателя, первый рычаг или ось X также начнут двигаться к своему концевому выключателю. Как только концевой выключатель X будет достигнут, робот перейдет к концевому выключателю Z.

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

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

Тем не менее, если мы отправим команду G-кода G00 X0 Y0, робот должен перейти в нулевое положение, которое мы установили в файле Marlin Configuration.h.

Затем мы можем активировать лазер, отправив команду M106 S10. Значение позади S может быть от 0 до 255, и на самом деле это ШИМ-управление мощностью лазера от 0 до 100%. Итак, мы используем здесь значение S10, чтобы ничего не прожигалось, но было видно, чтобы мы могли видеть нулевое положение, а также настраивать фокус лазера.

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

Лазерная гравировка с помощью робота SCARA 

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

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

Итак, я загружаю G-код своего логотипа и заставляю робота выгравировать его.

Честно говоря, смотреть на этого робота SCARA, работающего как лазерный гравер, очень круто, но обратите внимание, что мы ДОЛЖНЫ использовать очки для защиты от лазерного излучения. что защитит наши глаза от ультрафиолетового света лазера, так как это очень опасно. Кроме того, мы должны использовать защитную респираторную маску. и работать на открытом пространстве или в хорошо проветриваемом помещении, так как пары, образующиеся при лазерной гравировке, также опасны для нашего здоровья.

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

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

Проведя десятки тестов, я скорректировал значения длины от 228 до 228,15 мм для первого плеча и от 136,5 до 136,2 мм для второго плеча. Это дало мне наиболее точный результат, и теперь квадратная форма была правильной. Хотя, в зависимости от места печати, полностью ли вытянута рука или нет, точность может варьироваться.

Генерация G-кода для лазерной гравировки

Наконец, позвольте мне показать вам, как я подготовил чертежи и сгенерировал G-коды для их лазерной гравировки. Для этой цели я использовал Inkscape, программу векторной графики с открытым исходным кодом.

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

Я скачал изображение логотипа Arduino и импортировал его в Inkscape. Используя функцию Trace Bitmap, сначала нам нужно преобразовать изображение в векторный формат. Мы можем генерировать G-коды только из векторных фигур, и для этой цели я использовал плагин Inkscape-Lasertools. Мы можем загрузить этот плагин с Github.com и установить его, скопировав файлы из zip-файла и вставив их в каталог расширений Inkscape.

Итак, как только мы установили плагин, мы можем перейти в «Расширения»> «Лазерные инструменты», чтобы открыть его и использовать для создания G-кода. Есть несколько параметров, которые можно установить и настроить с помощью этого плагина. Поскольку мы подключили наш лазер к контакту D9, который используется для управления вентилятором, мы можем активировать лазер, отправив команду M106.

Мы можем выбрать, будет ли G-код содержать только контуры формы или заполнение замкнутых контуров. Мы можем установить скорость перемещения лазера, скорость заполнения лазером и скорость периметра.

При выборе заполнения, если мы хотим снизить интенсивность лазера в области заполнения, мы можем добавить значение ШИМ к команде M106, чтобы установить интенсивность лазера, например, M106 S128 для 50% мощности лазера. Мы могли бы добиться аналогичного эффекта, если бы оставили мощность лазера равной 100%, но увеличили скорость перемещения в области заполнения. Итак, на самом деле это настройки, с которыми мы должны поиграть, чтобы увидеть, что лучше всего подходит для нас.

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

Итак, как только мы сгенерируем G-код, мы можем загрузить его в программу Repetier-Host. Поскольку это не 3D-печать, а просто перемещения, мы должны установить флажок «Показать перемещения», чтобы просмотреть наш G-код.

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

Хорошая особенность заключается в том, что он имеет регулируемую ось Z, что означает, что мы можем лазером гравировать более высокие объекты, как, например, этот деревянный ящик для моих бит Форстнера. Я выгравировал свой логотип на лицевой стороне и текст «Forstner bits» на обратной стороне коробки.

Вот пример гравировки той же векторной фигуры, в данном случае силуэта Бэтмена, только с контурами и с заполнением замкнутых контуров.

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

Наконец, позвольте мне показать вам, как я выгравировал этот огромный рисунок площадью 600x450 мм с помощью этого робота SCARA.

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

В прошивке Marlin я установил нулевую позицию в левом нижнем углу заготовки, которая находится на расстоянии 300 мм от робота по оси X и 150 мм по оси Y. Мы должны помнить о знаках при определении этих значений. В соответствии с этим я также изменил переменные MANUAL_X и Y_HOME_POS.

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

Отправляя команды G01, которые рисуют прямые линии, я мог проверить и настроить правильное положение заготовки.

Теперь, что касается подготовки G-кода для этой гравировки, я сделал шаблон с этой конфигурацией заготовки и робота в Inscape. Отсюда я вижу, куда робот может дотянуться лазером и в соответствии с ним изменить рисунок.

Для рисунка я загрузил изображение и преобразовал его в векторное изображение с помощью инструмента Trace Bitmap.

Затем я изменил масштаб и расположил изображение так, как хотел, и с помощью инструмента «Стереть» я удалил области, где находится робот, и область, которая находится вне досягаемости робота.

Затем я сгенерировал G-код, позволив машине делать свою работу. На лазерную гравировку этого рисунка ушло 4 часа.

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

Overall, this method requires some work for setting it up, but still it works great. I really like how this engraving turned out.

Wrap up

To wrap up, although there were some problems with the firmware, I managed to find workarounds to them get this SCARA robot working as laser engraver. If we take a closer look to the engraving, we can see that it’s far from perfect.

The robot is not that rigid and has some backlash, and therefore we cannot get precise and smooth movements. However, the things we learned in this tutorial can be implemented in any SCARA robot so you can definitely get better results.

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


Производственный процесс

  1. Самодельные простейшие часы Numitron IV9 с Arduino
  2. Робот с сервомотором избегает препятствий
  3. Управление роботом Roomba с помощью Arduino и устройства Android
  4. DIY вольтметр с Arduino и дисплеем Nokia 5110
  5. MobBob:самостоятельный робот Arduino, управляемый смартфоном Android
  6. Простое измерительное колесо с поворотным энкодером, сделанное своими руками
  7. Монитор качества воздуха своими руками с датчиком Sharp GP2Y1010AU0F
  8. DIY Arduino 1D Pong Game со светодиодной лентой WS2812
  9. Самодельная рука робота Arduino - управляемая жестами рук
  10. Управление манипулятором Arduino с помощью приложения для Android