CO2 laser on a Pro- or How I Blew My Shapeoko Warranty in 3428 Easy Steps

Hi, all. Long time lurker, first time poster.

Things have lately escalated to the point I feel like my Pro XXL needed a name. I pondered Frank in a nod to Mary Shelley, but decided I find Gene Roddenberry more interesting, so I went with V’ger.

I bought my Pro about a year and a half ago, and I LOVE it. What a machine! Fancying myself a future custom guitar amp builder, I bought it to cut parts for finger jointed cabinets. I also knew I wanted a laser on it for other parts of an amp. Meanwhile, my daughter and I realized the thing should be able to produce a revenue stream to support my tube amp aspirations. What I found was that while it was a lot of fun and produced impressive results, a CO2 laser could do SO MUCH MORE, SO MUCH FASTER, and so I undertook the project of adding an 80-watt tube to the already-diode-equipped Pro. So, summoning all the pride and arrogance I could muster, I decided to write about it here so that anyone who might find it interesting can glean from it, or more appropriately, see my journey and think better of it. It’s a work in progress, but it has successfully produced some very promising speed-power charts. That is until it didn’t. And thus the event that escalated the tale to this point- I blew a Y- driver.

Not going to go blow by blow right now. Anybody want to see more detail about anything so far just speak up. I’ll probably order the 6HC tonight or tomorrow. Once I have it I’ll download the Vcarve trial and post about how it goes.

I’ll throw up some photos in a bit and then babble some more.


I know it’ll be cold comfort to the Carbide guys, but so far I’ve done it all without drilling or cutting any original part of the machine.

I don’t know what caused the Y2 drive to go. I ran it over a year with the diode on it with no issues. When I started on the CO2 system, I also added missing pulse detectors to the PWM line to drive SSRs for the router and shop vac. Think bitrunner, but with support for the vac. When I added these I also added opto-isolators. Either it just gave up or I cracked something when I pulled the board to add the header for D13, +5v, PWM, and ground. Either way, I was already looking at Vcarve pro for 3D, so now I’m looking at a Duet 6HC controller. That way I also get additional drives for a rotary. Feel free to chime in on my decision.

2 Likes

All electronic parts have a mean time between failure (MTBF). When the engineers that designed the part test and try to predict the MTBF. Some parts never seem to fail and others off the same assembly line fail 5 minutes after installation. It is just a throw of the dice. So maybe your laser had nothing to do with the failure and was just bad luck or maybe the extra weight finally got the Y motor. Either way replace the motor and keep going.

Neat project. Any Z-axis control or are you just relying on tight beam convergence and high power for lasering work with variable z-height?

How hard was it pulling together the tube, cooler, tube driver, controller, mirrors,etc? (Did you gut a self-contained laser or buy piece-parts?)

You have that rig in a laser-safe enclosure?

-Mark

Jesus man this looks like the best way I can think of to either burn your shop down, go blind, or get severe burns. I own an 80W laser and have been hit by the beam. It does not tickle. I cannot imagine having it open to the world like that.

gdon, I think you’re spot on about the cause of the failure. The law of averages catches everybody sooner or later. I thought about the extra weight, but then considered how much more an HDZ with a spindle or full size router must weigh. I could put it down to the really quick movements scanning the small text on the speed/ power test, but I think it first showed up facing off a maple round and low speed, so… Anyway, I’ve got a Duet 6HC coming from Matter Hackers in a few days. So much more robust drivers.

It took me a bit of time and research. I pulled together parts. The diode rides the Z. Couldn’t think of a simple, elegant way to run the CO2 nozzle up and down. It could be done, but the upper assembly would need to ride the gantry to maintain the beam alignment while the lens tube rides the Z. A little more than I felt was worth it. If I had to do variable height I suppose I’d switch to a 104mm lens.

I started with the mirror and a red dot in the nozzle just to prove the concept. Then bought the tube, power supply, etc. I’ve got a PIC microcontroller monitoring water outlet temperature and interlocking the power supply. May be obsoleted by the new Duet board. Its got a lot more of the automation built in. Also need to improve cooling. that experiment isn’t really even worth detailing here. As before, it’s a work in progress.

I’m happy to hear from you. You figured prominently in a thread that helped me decide on the Duet board.

You’re not even close to wrong about the enclosure!! It most definitely needs to happen, and most assuredly WILL. In the meantime, I keep everybody out and keep my handy- dandy laser- rated ocular radiation shields firmly in place. Not a great deal of danger right now with that blown Y2 driver. I have everything wired with staged power interlock relays that start with 5-volts from the motion board. When it goes down, EVERYTHING goes down. I thought about getting hit with the beam, but decided I’d prefer to learn from the mistakes of others and avoid it.

I very much appreciate the insights you and others had to share about that Duet board. I’m looking forward to getting in to it.

1 Like

I am glad you are thinking about safety.

Ok, so this is the part where I go sailing right past Alice on my decent into madness. The Duet will be here this weekend, and I’ve been studying posts and macros. Does anybody have a canned RRF3 macro for bitsetter? I’ve written code for PIC microcontrollers, so if I have to write it myself I’m sure I can learn. Thing is, my confidence isn’t through the roof. The code I write for PICs flips relays and blinks lights. This moves expensive parts around (:wink:

I can send you my complete RRF3 config. It is for a S03 but it should mostly carry over. I just need to power the system back up.

A few things to keep in mind:

  1. I am running my 6HC in SBC mode
  2. I have a ODrive controlling my spindle
  3. I have a custom Carbide Create post processor for controlling that ODrive
  4. I have some custom Macros for doing things like surfacing parts without generating a gcode file
  5. Pretty sure there isn’t a bitsetter macro. There is a tool change macro.

Here you go.

shapeoko3-rrf3.4.5-config.zip.nc (18.6 KB)

Had to rename the zip file to end with .nc so I could upload it here. Just remove the .nc from the end and extract the zip file. Inside are my /macro and /sys config folders.

I was mistaken there is a BitSetter macro as well as several BitZero macros. The X Half and Y Half macros go along with my edge finder and are for finding the middle of pieces with it. There are also multiple versions of my surfacing Macro. I was waiting for RRF 3.5 to come out to make version 4 which was going to have prompts for things like DOC and number of passes rather than hard coding those in the macro.

Hope these help.

EDIT: I should note this config is for 3.4.5 and 3.5 is out so if you are using 3.5 be sure to adjust the config as necessary.

1 Like

Thank You so much!! I’ll download all that this evening when I get home. I’m looking forward to looking through them and learning how you made it all work. Sometimes the education is worth as much as the product!

Feel free to ask me questions. I left out the stuff for the ODrive. It has a custom set of Gcodes using the DSF API so if you find anything weird in the tool change stuff that is probably why.

Ok, so I looked through some of these config files and macros last night. What concerns me is that the code is starting to make sense to me. I had to keep a g-code listing handy, but I’m starting to get it, possibly well enough to be able to make necessary tweaks for my machine. THANKS AGAIN!!

1 Like

Yeah the Duet is extremely flexible, but once you understand what is going on it is fairly easy to program for. I just wish it had some string operators.

I’m excited about it. USPS says I should have it tomorrow. I got a stash of micro fits and started building new cables last night. I figured if I was going to have to re-terminate anyway, I may as well make new ones with 18 ga wire for the motors. I did avionics install work for a while, and kinda developed a thing for wire bundles in snake skin. Plus, I get to continue my theme of no irreversible mods to the original machine. I have no idea why that matters to me.

Ok, so the Duet board showed up on time. I’ve been radio silent working on it, and by that I mean flying right past Alice and the cat on my way down the rabbit hole. I don’t even think the #$&^ rabbit comes down here. I’ll put up a couple of gratuitous progress shots shortly. I do have it moving and homing. I’ve got Lightburn talking to it, sort of.

I’ve been picking apart the macros and such and have managed to understand enough to get the homeall.g trimmed for the machine. I’ve turned my attention to the bitsetter macro, and the floor of the hole just gave way. I’m at the part, about line nine, where it says “var ZBeginPos = move.axes[2].userPosition”. From context i more or less get what’s going on here, but I can’t quite get my head all the way around it. I get that “var ZBeginPos” defines a variable named “ZBeginPos” which is to hold the starting Zposition. Is the expression “move.axes[2]” user defined, or does it have a fixed definition in RepRap? If it has a fixed definition, Where can I find a description of it and a list of similar expressions defined in the firmware? I hope that question made sense. I really struggled with how to word it. I suspect that if I could get my head around this, the rest of it will make sense and I’ll understand it well enough to customize it for my setup. Then I get to move on to a post processor. Woohoo!!


I took the opportunity to make new 18Ga motor and 22Ga limit switch cables. I love snake skin.

1 Like

[

My Brain hurts. It’s been a year and a half. Or A week. The 7-11’s out of energy shots. I thought I smelled 6, but it was just the dogs barking…

Anyway, I should have called this "Everything I never wanted to know about G-code and was stupid enough to ask. BUT- The lasers are firing! Lightburn said they didn’t support Duet. HA!! Seems Marlin over USB is close enough for now. Did a test engraving on a piece of mirror. Holy Cow! I’ll put the video up as soon as I figure out how. Also got the bitsetter macro tuned in and wrote an M6 macro to call it. Got the controls working for the router motor and vac. I think I even got the post processor for Vcarve sorted out where I can have tool change calls that use the Bitsetter. I’ll share more of how I did it if anyone’s interested, and if I can remember how! More to come!!!

4 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.