Laser cutter arduino

Самодельный миниатюрный лазерный гравер на Arduino Uno

Лазерный гравер в действии и процесс сборки устройства

Материалы и инструменты

Для создания гравера вам понадобятся следующие основные компоненты:

  • Arduino UNO (с USB-кабелем).
  • 2 шаговых двигателя от DVD-приводов.
  • 2 контроллера для шаговых двигателей A4988 и соответствующая плата расширения для Arduino.
  • Лазер мощностью 250 мВт с настраиваемой оптикой.
  • Блок питания (минимум — 12В, 2А).
  • 1 N-канальный полевой транзистор IRFZ44N.

Вот список необходимых инструментов:

  • Паяльник.
  • Дрель.
  • Напильник по металлу.
  • Наждачная бумага.
  • Кусачки.
  • Клеевой пистолет.

Шаг 1. Шаговый двигатель

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

Винты на корпусе DVD-привода

DVD-привод со снятой крышкой

Необходимые нам части DVD-приводов

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

  • Откручиваем все винты, воспользовавшись отвёрткой с профилем Phillips.
  • Отключаем все кабели.
  • Открываем корпус и откручиваем винты, крепящие шаговый двигатель и соответствующий механизм.
  • Извлекаем двигатель и присоединённый к нему механизм.

В результате в нашем распоряжении окажется два 4-пиновых биполярных шаговых двигателя.

Шаг 2. Изучаем шаговый двигатель

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

Шаг 3. Подготовка шаговых двигателей

Кабель для подключения шагового двигателя к контроллеру

Кабель для подключения шагового двигателя к контроллеру

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

Я подготовил 2 пары проводов разного цвета, одну пару для подключения к катушке А, вторую — для подключения к катушке B.

Шаг 4. Сборка стола гравера

Сборка стола гравера

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

Шаг 5. Сборка держателя для лазера

Сборка держателя для лазера

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

Шаг 6. Прикрепление лазера к держателю

Лазер, стол гравера и лазер, закреплённый на держателе

В этом проекте используется лазерный модуль мощностью 200-250 мВт (длина волны — 650 нм). Оптическая система этого модуля позволяет сфокусировать лазер на нужном расстоянии.

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

Шаг 7. Подключение электронных компонентов

Подключение электронных компонентов

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

Шаг 8. Загрузка и установка Benbox Laser Engraver, Arduino IDE и драйвера CH340

Материалы Benbox Laser Engraver

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

  • Benbox Laser Engraver 3.7.99.
  • Arduino IDE.
  • Драйвер CH340 для Arduino (входит в состав дистрибутива Benbox Laser Engraver).

После установки программного обеспечения нужно перезагрузить компьютер и подключить Arduino к компьютеру по USB.

Шаг 9. Установка прошивки для Arduino Nano

Окно обновления прошивки

Теперь в окне Benbox Laser Engraver нужно нажать на кнопку с изображением молнии (она находится в верхнем ряду кнопок, справа). Далее, в появившемся окне надо выбрать подходящий COM-порт, выбрать устройство (UNO(328p)) и указать путь к .hex-файлу прошивки. Теперь надо нажать на кнопку с галочкой. После успешного завершения прошивки Arduino в заголовке окна появится зелёная галочка.

Шаг 10. Настройка параметров Benbox Laser Engraver

Настройка параметров программы

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

После этого надо щёлкнуть по кнопке со стрелкой, направленной влево, и выбрать порт, к которому подключён гравер.

Шаг 11. Первый сеанс гравировки

Создание простого изображения для проверки работы системы

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

Шаг 12. Работа с гравером

Если у вас получилось всё то, о чём мы говорили выше, это значит, что теперь у вас есть собственный лазерный гравер.

Источник

ThomasHeb/2AxisLaserCutter

Use Git or checkout with SVN using the web URL.

Work fast with our official CLI. Learn more.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching GitHub Desktop

If nothing happens, download GitHub Desktop and try again.

Launching Xcode

If nothing happens, download Xcode and try again.

Launching Visual Studio Code

Your codespace will open once ready.

There was a problem preparing your codespace, please try again.

Latest commit

Git stats

Files

Failed to load latest commit information.

README.md

  • G0 commands for seeking with laser off implemented (for use with Lightburn software)

What is coming next?

  • Please let me know, if you have ideas or need improvements
  • Arduino based CNC laser cutter with display and SD-Card.
  • Shared firmware with 4AxisFoamCutter
  • Ruby Script for SketchUp Make 2017 to generate gcode.

My goal was to build semi scale balsa glider based on old fmt plans. It is a lot of effort to copy the plans on the balsa, cut it, and sand it. Especially for small models, very accurate working is necessary. This brought my to the idea to build a laser cutter and do the glider design in SketchUp.

The base idea ist very simple. Two independent linear axis with NEMA 17 stepper and belts on 2020/2040 v-slot rails and Arduino Mega / Ramps, based on a modified grbl 8c2, which I am using in my FoamCutter, too. There are some special requests for the grbl, when working with a laser, especially when using as an engraver. The firmware modifications will be mentioned in the „Firmware“ section below.

I have a lot old paper plans for gliders. So I take some photos of the plans, imports these to SketchUp Make 2017, redraw and scale the plan. For generating the gcode, I wrote a small script. Description is below in section „Working with SketchUp“.

Due to the specific characteristics of laser radiation and the biological and physical effects this has, special protection and cautionary measures are required in the use of lasers.

  • Do not look into the beam or direct reflections, also do not look with optical instruments.
  • wear special protection googles for the laser you are using
  • Clear marking of the laser area with warning signs at all access points.
  • Route the laser beam clearly below or above eye level, but not at eye level.
  • Refer to the manuals and safety instructions of your laser module
  • Refer to the manuals and safety instructions of other used equipment (Ramps, Arduino, DC/DC Converter, power supply, …)
  • Please keep all standards and safety topics in mind, when handling with high voltage on power supply, best is to contact an authorised specialist.
  • 2x linear v-slot actuator with NEMA 17 stepper
  • 2020 and 2040 profiles, screws, nuts
  • plates for stepper and connecting the profiles
  • Neje Laser
  • 3D-printed parts for mounting the hardware on the rails

A bill of material (including hardware and electronics) and detailed photos are in the folder 01_Mechanics

  • Arduino Mega with Ramps 1.4 board
  • Display and SD card reader for loacl operation

A block diagramm is provided in the folder 02_Hardware

  • The Firmware is based on GRBL 8c2
  • Special modifications for local operation
  • Special operation for synchron power regulation of the laser

More Details here: 03_Firmware

First operation / setup

In this chapter you find some recommendations how to get started and how to setup the laser cutter.

First test of Arduino.

The Arduino and the Ramps board are working without the stepper driver or motors.

  • Mount the Ramps on the Arduino
  • Connect the display to the Ramps
  • Connect the Arduino with the USB
  • Connect to USB and load the firmware and check if you get a welcome screen (you need an Arduino IDE installed).

Adjusting and first operation of stepper

  • Adjust the driver link
  • Place the jumper and the stepper driver on the Ramps
  • Connect the NEMA 17 stepper motor to E0 / E1
  • Connect 12V DC to Ramps 3/4
  • Connect the Arduino to USB.
  • Go to position menu and check the operation of the stepper motor
  • Disconnect power supply and USB

Operation of limit switches and e-stopp

  • Place each a jumper on S and — for X- and X+
  • Connect 12V DC to Ramps 3/4
  • Optional: Pull one jumper, Arduino should go to Error. Reset the Arduino
  • Optional: Pull the other jumper, Arduino should go to Error. Reset the Arduino
  • Connect D68 to GND, Arduino should go to Error
  • Disconnect power supply and USB

Mechanic meets hardware

  • Assemble the mechanic
  • Connect the hardware
  • Do NOT connect the laser
  • Wire the NEMA 17 stepper motor
  • Optional: Wire the limit switches
  • Wire the e-stopp
  • Connect 12V DC to Ramps 3/4
  • Connect the Arduino to USB.
  • Go to position menu and check movement of the axis
  • Check direction of the axis,
    • Otherwise open the parameters in the Serial Monitor of the Arduino IDE with $$
    • Adjust parameter $7
  • Calculate the Steps per mm, adjust parameter $0 and $1
    • Equation is : (USER_STEP_PER_REVOLUTION x USER_MICROSTEPS) / (USER_PITCH_BELT x USER_GEAR)
    • Example: (200 steps/rpm x 16 Microsteps) / (2mm x 20) = 80
    • Best is to adjust the defaults.h, compile and download and set parameter to default with $R
  • Operate the e-stopp, Arduino should go to Error. Reset the Arduino
  • Optional: Operate the limit switches, Arduino should go to Error. Reset the Arduino
  • Optional using limit switches: Go to homing menu and start a homing cycle.
    • Check if axis are moving to the right direction, otherwise adjust parameter $19
  • Check and adjust other parameters. refer to grbl parameter settings online.
  • Disconnect power supply and USB

First operation of the laser

  • Assemble and connect the laser
  • Operate all the safety measures / steps required, refer to the safety instructions and manuals of your laser
  • Connect 12V DC to Ramps 3/4
  • Go to position menu and toggle the laser dot. you should see a laser to on your table (0.2% of laser power, you can change this in defaults.h, DEFAULT_LASER_DOT, compiler run and firmware upload is required)
  • adjust the focus of the lens of your laser
  • Operate the e-stopp, Arduino should go to Error, laser should switch off. Reset the Arduino
  • Optional: Operate the limit switches, Arduino should go to Error, laser should switch off. Reset the Arduino
  • Optional using limit switches:
    • Go to position menu and toggle the laser dot on.
    • Move the laser to your prefers mechanical zero position.
    • Push the back button (stop button on display)
    • Go to homing menu and select «set as new pull-off?», acknowledge by pushing the rotary knob
    • This position is stored and accessed with the next homing cycle

Find best settings for the laser

  • To achieve good cutting results, you must find the right settings for each material type and thickness
  • I recommend to start with a 2mm balsa sheet
    • Take a 1mm balsa sheet and adjust the focus of the laser in the position menu with the dot
    • Make several test cuts with different power settings and feed speeds and repeats
    • A good result is where the complete wood is cut through and corners are sharp
    • My preferred setup is 2xS40F400 (2 repeats with 40% power and a feed rate of 400mm/min), or 3xS40F500, especially when the density of the balsa is a bit higher
    • The resulting dimension is at the beginning not very important, because this can be adjusted in the design.
    • You can use the «test_01.gcode» file from the 06_Example folder (1xS15F500 is used for the text)
    • You can generate your own test pattern with SketchUp and the laser cutter script.

I use SketchUp for generating the stl-files for my 3D printed parts. I decided to write a small script which allows me to generate gcode for laser cutting. Currently I use only linear extrapolation in combination. The results are good.

  • SketchUp (I am using SketchUp Make 2017)
  • Ruby Code Editor
  • Download lasercutter.rb from the code section

Functionality and usage of laser.rb

  • Download the script from the folder /04_SketchUp/lasercutter.rb
  • Open the ruby code editor first and load and execute the lasercutter.rb. This adds 2 menus to the PlugIn menu.
    • LaserCutter Settings: you can define some general settings, like inch/mm, used decimals.
    • LaserCutter Tool: Generates gcode for all selected edges and face surfaces and exports it.
      • The red axis is used as horizontal
      • The green axis is used as vertical
      • The algorithm converts surfaces to surrounding edges
      • Searches all edge and generates gcode along the edges
      • There is no algorith for optimizing travel distances

Check out the tutorial video

About

Arduino based CNC laser cutter with display and SD-Card

Источник

Adblock
detector