SKR 1.3PRO laser and CNC

If I mount a laser, is there a method to set the offset of the laser compared to the router so that I can Home with the laser, but cut with the spindle. Really, I want to cut, and the burn also, without rehoming the device.
Also, newb, do I run the laser from a fan?
or better yet, is there suggestions for a build that allows laser and router or spindle?5

Lasers are all pretty custom installs. There are a lot of ways they can be connected. But I can answer your question about the coordinates.

If your laser was 50mm +X and 25mm -Y from the bit, you can do some gcode like this:

From bit to laser:

G1 Z10 F300 ; Go "up" to 10mm
G1 X0 Y0 F1200 ; Go to the origin with the bit
G1 X50 Y-25 F1200 ; Put the laser where the bit was
G92 X0 Y0 ; Tell Marlin, "This is your origin now"

To go from laser to bit, it is the same thing, but G1 X-50 Y25 to offset the other way.

You really need to understand what these moves do, or you could bump into some things. I worry most about having enough room to move to -25 and at a height of Z-10.

The other trick is going to be height though, because you usually set the Z height for a bit to the top of a workpiece, and the Z for the laser is based on focus height (and needs to be pretty precise).

thanks,
I have my laser focused at 25MM right now, I was hoping to set that when using the laser.

Well, when you have a bit that is has 25mm stick out, or a bit that has 35mm sticking out, you will need to set your Z=0 height to different values. The easiest way is to jog the machine until the bit is just touching the surface and reset the Z=0. But when you switch to a laser, you will need a way to know that the laser is 25mm from the surface. Either the GCode is meant to raise the laser up to Z=25mm, in which case, you need to set Z=0 touching the laser to the surface, or you need to have the gcode run the laser and Z=0, in which case, you have to have the Z=0 set when the laser is 25mm above the surface. You won’t be able to easily script that between laser and bit without doing some probing.

I had not considered that, thanks. I would need to focus the laser at a distance greater than the max bit depth I might on use.

Depends on your build - on my lowrider when I switch from spindle to laser I do it like a tool change but pop out the router. I have a macro setup for resetting zero with tool changes and a macro setup for “laser tool change” that sets my Y offset and resets Z to my focused height. I fried my SKR1.3 testing pins for my laser and have since upgraded to the SKR Pro 1.2 (also adding in a 4th axis). Still tweaking my settings on my current build…

If I pop out my router, then I guess I could design a laser holder that fits in the router mount, is that what you did?
I did the dual stop build (DualR - 2209) linked on the V1 page. The touchscreen has laser controls, but am not sure what pins etc drive the laser.
I am not sure what you mean by macro, I was not aware that feature is available in Gcode.
I have the pro 1.2 also and purchased a 6th stepper since I was making an order. But I am thinking that it is just as easy to drive the laser from a fan and use M107, common for the ender3 laser upgrade.
I was thinking about mounting my laser on the board to the side or router. Then adding Gcode XY software offsets for laser to spindle. Plan to set the laser to low power, homing x and y with a dot of light at less than 1 MM precision. Then of course, using the probe to home Z. If I am going to just burn with laser, do not add an offset to Gcode.

I wanted to mount the laser in the Dewalt holder but for now have printed out the Universal tool mount from thingiverse and modified it to be a magnetic quick connect. For the SKR Pro setup Tuco did a nice write up here:

https://forum.v1e.com/t/how-to-modify-marlin-to-control-a-laser-with-an-skr-pro/21712/17

In the firmware (config_adv.h) you can modify the CUSTOM_USER_MENUS section. For setting Z zero for tool changes I added this:
#define USER_DESC_2 “Set Z to zero”
#define USER_GCODE_2 “G38.2 Z-25 F50\nG4 S5\nG92 Z0.5\nG4 S2\nG1 Z5 F480”

The first line is the menu display and the second line probes down to -25 on Z (until it touches my touchplate) at a speed of 50, pauses for 5 seconds and sets Z to 0.05 (the thickness of my touchplate) pauses for 2 seconds and finally raises to Z5.

For Laser zero I have hot glues a bent paper clip in to the cooling fins on the laser and bent it over. I use a 20x20x20 3d printed test cube and place my touchplate on top to that for setting the laser zero with this menu item:

#define USER_DESC_4 “Set Laser zero”
#define USER_GCODE_4 “G38.2 Z-25 F50\nG4 S5\nG92 Y-145 Z-4.75\nG4 S2\nG1 Z5 F480”

This sets my Y offset and sets my Z zero at my focused point of 24mm

1 Like

thanks, this is great!
Plus I learn how to set custom menus!

1 Like