CoreXY Laser Engraver 3D Printer Model

Author: @
License:
File formats: STL
Download type: zip
Size:1.1MB

The file 'CoreXY Laser Engraver 3D Printer Model' is (STL) file type, size is 1.1MB.

Summary

Update

Check out my update/remix that adds a Z axis and further improvements to this engraver!
https://www.thingiverse.com/thing:3123030

Introduction

Some time ago I built a small DVD-Laser engraver but it wasn't really usable. Now this new one became reality by chance. When I upgraded my 3D printer Prusa i3 MK2 to the newer MK2S version I had a few spare parts, namely linear rods and bearings. Additionally, a 1 W blue laser from eBay was lying around unused... this is the result. ;-)

Disclaimer

This is the obligatory warning. Lasers with such high powers are dangerous and can burn or blind you, even from reflections. Don't attempt to build this if you are not familiar with high power lasers.
Good quality laser protection goggles are a must! Don't use cheap ones. And always wear them! Beware that the laser might turn on unexpectedly when the Arduino is booting (it shouldn't, but don't rely on it).

Design specs

With the spare Prusa linear rods (370 mm and 330 mm) this engraver has a usable work area of 210x220 mm. You might even be able to get a few millimetres more.
The CoreXY system is loosely inspired by other systems, especially the excellent 3D printers Hypercube by Tech2C and Hypercube Evolution by SCOTT_3D. Some other details are also modeled after these printers, such as the belt spanner system on the X carriage.
While these two systems guide their belt on the inside of the printer I decided to move the belts on the outside to get the most usable area. Instead of proper belt pulleys or idlers I used 625 ZZ ball bearings to divert the belt. For now this is working fine.

The limit switches on the X carriage were originally supposed to be triggered by the Y carriage itself. However, when the switches finally arrived they differed from the my 3D model so the additional switch activators were added... it's not elegant, but works. ;-)

Firmware

The engraver is controlled by an Arduino Mega + Ramps 1.4 board running GRBL 1.1f. These were spare parts I had in my drawer and I wasn't aware of the Arduino CNC shield when I began this build. Plus, the Ramps board seemed like an excellent choice. However, in retrospect, I would not use this board for GRBL again. There are several drawbacks compared the regular CNC shield.

  • no Hardware limits (the limit switches are placed on pins that are not available for external interrupts)
  • the spindle PWM defaults to a 12 V output. The laser driver however expects a 5 V TTL signal for power control (solved with a small GRBL patch)

Be aware that the GRBL version for the Arduino Mega has an issue when homing a CoreXY machine. It's axis locking mechanism prevents both motors to be moved at the same time when homing, i.e. the machine will move diagonally. There's a quick-fix available.

The modifications I made to GRBL are available in this fork on GitHub:
GRBL CoreXY Laser engraver

Software

To actually use the engraver you'll need to generate the proper GCode somehow. So far I've found the following tools quite useful.

Parts list

In addition to the printed parts you'll need the following parts, too. If anything is missing please let me know.

Electronics:

  • 1x Arduino Mega / Uno
  • 1x Ramps / Arduino CNC Shield
  • 2x Pololu Stepper driver (A4498, DRV8825, SilentStepStick)
  • 4x Endstops (Makerbot)
  • 1x Laser with TTL driver
  • 1x Power supply (e.g. old ATX)
  • 1x Fan 12V (for the laser)
  • 2x Nema 17 stepper motor

Mechanics:

  • 2x 8mm Rod, 370 mm (Y axis)
  • 2x 8mm Rod, 330 mm (X axis)
  • 8x LM8UU linear bearing
  • 16x Ball bearing 625 ZZ
  • 6x 5mm steel rod, 40 mm
  • 2x GT2 Pulley, 20 teeth
  • ca. 4m GT2 belt
  • 2x Aluminum profile, 30x30 B (8 mm slot), 325 mm (parallel to Y axis)
  • 4x Aluminum profile, 30x30 B (8 mm slot), 150 mm (for the corners)
  • 2x Aluminum profile, 30x60 B (8 mm slot), 360 mm (parallel to X axis)
  • 12x Corner mounting brackets 30x30
  • M6 T-slot nuts
  • M6x12 screws
  • M3x16 countersunk head
  • M3x16 head cap screw
  • M3x20 head cap screw
  • M3x25 head cap screw
  • TP screws, 2.5 mm (endstops, Arduino mounting, 2.5W laser driver)
  • M3 square nuts
  • M3 hex nuts

Note: The 5 mm linear rods I bought from eBay to mount the bearings had to be sanded down a bit to fit. Your mileage might vary.

Summary

After about a month of testing and tinkering I am quite satisfied with how this thing turned out. There are however a few changes / modifications I will probably implement some time in the future.

  • Larger working distance
    The laser is placed quite close to the workpiece. This is not bad as such but unfortunately I have to move the lens so far out that it sits quite loose, probably does not capture the whole beam anymore and one cannot engrave larger objects.
  • Better end-stop placement
    I really should have incorporated them at an earlier stage in the design process... ;-)
  • Motorized Z-axis
    I did not implement it in this design because it would have reduced the work area. Manually adjusting the lens works fine, however, a motorized z axis will make it a lot easier.
  • Cable chains
    While these were initially planned I chose to drop it in order to get the engraver done quicker.

ChangeLog

  • 2019-09-21
    Changed license to GPLv3.

  • 2018-03-29
    Uploaded a new laser tool mount for the common 2.5 W blue laser module.

  • 2018-02-24
    Initial upload
Arduino_Ramps_mount_v1.STL 812.7KB
ATX_PSU_mount_v1.STL 267.3KB
Belt_clamp_v1.STL 254.1KB
Belt_diverter_mount_v1.STL 1.1MB
Belt_pusher_v1.STL 263.9KB
Laser_tool_mount_2.5W_v1.STL 2.2MB
Laser_tool_mount_v1.STL 1.5MB
Limit_switch_activator_X_v1.STL 374.7KB
Limit_switch_mount_X_mirrored_v1.STL 458.8KB
Limit_switch_mount_X_v1.STL 457.7KB
Limit_switch_mount_Y_v1.STL 416.3KB
Linear_rod_mount_Y_v1.STL 742.0KB
Nema17_mount_mirrored_v1.STL 925.9KB
Nema17_mount_v1.STL 926.0KB
X_carriage_back_v1.STL 2.7MB
X_carriage_front_v1.STL 1.2MB
Y_carriage_inside_v1.STL 1.5MB
Y_carriage_outside_mirrored_v1.STL 1.8MB
Y_carriage_outside_v1.STL 1.8MB