Help me fix my laser cutter - $100/hr

I have purchased a 700x500 ebay/chinese 100w laser running ruida controller and rdworks. I have a problem with the x-axis and I have tried many things to fix it over the last couple of weeks and cannot get it solved.

If you are a cnc / laser guru I will pay you $100/hr for days work if you will come to Coppell (15min from Makerspace) to help me fix my machine. I work during the week so we would need to work on it on weekends.

While appreciated, I’m not looking for free advice - I really want to pay someone who knows what they are doing to solve this so I can use this machine asap.

Here are details on my problem:

I can cut a 100mm square block on the left side of the machine which measures with a digital caliber perfectly, but the same 100mm square on the right side of the bed will measure 99.5mm on x-axis. Y Axis is perfect in all corners. The machine is consistent. I can do the same cut over and over and it repeats exactly the same. Makes me assume the stepper isn’t skipping.

Things I have checked / verified:

  1. Mirrors aligned well and step length calibrate in top / left corner - machine is cutting material very well
  2. Machine is square - verified by cutting large square and checking with large square
  3. Rails are tight and very smooth - verified by removing belt and sliding head
  4. Problem is isolated to the X axis. Y axis cuts perfectly 100mm on all corners.
  5. I have replaced the X axis stepper, pulley, and driver with a 2 phase 1.2degree motor - no improvement
  6. I have replaced the X axis belt - and tried loosening and tightening
  7. I have slowed the machine way down.

See Attached: The step loss is linear across the bed it appears. To eliminate Y axis completely and demonstrate problem, I have create dots across the x-axis every 10mm. As you can see in attached, on left side of bed 10 dots = 100.03mm. But as you move across X-axis, 10 dots becomes 99.58mm in the center of the bed and 99.34 on right side of bed.

Not a laser guy, but here’s two things I would check on a cnc router:

  1. I’d cut 2 large squares and lay them on top of each other in mirror image to confirm your large square is indeed giving you good info.

  2. I’d look at whatever determines X-axis travel. Example: if it is a linear screw system, do the threads have the same spacing at each end? It really sounds to me that a turn of the stepper is producing a different movement at differing points along the axis and that’s probably a problem with machining precision on your travel mechanism.

If that solves the mystery, you can buy me a beer sometime!

If you’ve got electronics ability, I would also figure out some way to measure the signals going to the stepper and count steps… The linear trend makes me suspect there could be some hidden calibration “feature” that’s mucking with things.

Some other quick test ideas: swap x and y axis cables, see if the problem moves to y axis. Unplug x axis and manually move to left/right side before cutting test squares.

I’d be happy to take a look. I may have some time in the evening tomorrow. A good way to try to rule out a software issue would be to try lightburn. It’s free for 1 month.

If the bed was not level to X-axis of the gantry, could the gantry be climbing the Z-axis as it moves right? Confirm the distance from the laser head to the table on each side of the table is the same.

There should be some local company that offers on-site laser cutter maintenance.

I have wondered with the DMS laser cutters being frequently out of service, if DMS should evaluate paying for weekly/bi-weekly/monthly maintenance service.

Ruida controller does have calibration settings that let you dial in X/Y and step frequency. But that should be consistent across the bed, not linearly off.

I’ve replaced the X cable, but Y cable is different in this machine. I’ve also manually slid the head to try what you are doing. No matter where head starts, problem is consistent.

Good thought - one I thought of early on and made adjustments. Bed is perfectly level on all corners. Head is perfectly square to the bed as well…

I actually think you are on to something, and this is my latest theory after working on it all night last night: The x-axis is belt driven, but the stepper pulley and the idler pulley on the other side of the gantry are not level. If the belt is a little out of level, maybe its possible the belt is stretching a little bit as it travels across x-axis?

Unfortunately this machine the pulley’s are not adjustable up and down. May take some engineering to figure this one out.

Before I start engineering a solution here, do you think my theory is possible?

I tried LightBurn already as well on this machine - no difference. I’m fairly convinced this is a mechanical issue.

I actually plan on using LightBurn eventually with this machine but am sticking with RDWorks as I know it well for now.

I’ll ping you on PM on your offer to help.

Just don’t have any experience with belt drive systems like yours, so consider that … belt stretching (within reason) shouldn’t change the movement since that is a gear action of teeth and notches, right?
Back to the original suggestion … do the teeth in your long belt truly have uniform spacing or do they creep closer together along the circumference of the belt?

If your drive motion is pulling at an angle that isn’t parrallel to the travel motion, it will introduce an error that is equal to the cosine of the angle. If the drive is pulling colinear to the motion, it forms a zero degree angle where 1mm pull is 1mm motion. If the drive is raised, it’s pulling the hypotanuse of the angle where 1mm pull is less than 1mm motion, but they are closer to equal the shallower the angle (when the head and drive are furthest apart).

If the drive is pulling the belt at an angle because it’s too high, I would expect the error to grow exponentionally as the head gets closer to the drive and the belt angle increases.

Measure a few more spacing zones on that board, like 5 or 7, and figure the difference between each of the zones. I’d it’s an angle thing it should be non-linear, although it’ll look linear at one end.

Have you put an accurate level on the surface the laser is on? On the top of the laser? And on the bed?

If the pulley is off on the right, is it because the overall level is off?

That’s a big error isn’t it? If the long leg is 700mm (hypotenuse) and the second longest is 699.3mm, that requires an offset of ~31.3mm. I’d think nearly 1.25" would stick out like a sore thumb.

You’re thinking of x/y, not x/z. Let’s say when the head is as far away from the motor it’s 750mm out, and the motor is 1/4" too high. That’s nearly a zero degrees. When they’re as close together as possible, it’s still a 1/4" rise but over 50mm. That’s a fairly big angle (in comparison).

It appears uniform. I have changed the belt as well as part of my experiments as well.

Not sure I understand why the machine being level is important. As long as the gantry rail is perpendicular to the bed what difference does it make if the overall machine is level or not.

In terms of the pulleys being not level, I’m simply measuring the distance between the pulley and the gantry rail and making that comment.

I was convinced this was the issue. I leveled the pulleys to the gantry rail but no improvement.

Got it. I agree. If there is 50 mm delta in length per your example (700mm bed and 750mm belt distance), about 1/2" error in height would create the error seen.

@Jason_Chancellor … you say the pulleys are not level … is a 1/2" delta possible?

Edit: my note and your reply above came at about the same time.

I assume you have a calibration factor that determines how much movement equates to a motor step. Multiply whatever you are currently using by 1.0024 and see if that resolves your problem.

Edit: see next post for revision of this suggestion

Actually, you probably have to apply that factor in the post processor so that it is X value dependent.

Refining further: If you can get into the post-processor and add a formula to make X = 1.003x-0.3 you should have a very good fit. I make some assumptions based on what I could see of your photo such as first dot is at 50, last dot is at 640.

If you force the post processor to modify the X signal going to the machine (Required X), the net result of the formula will be as follows:

Target X Reqd X Actual X
0 0.0 -0.3
50 50.0 49.9
150 150.0 150.2
320 320.3 320.4
420 420.7 420.2
540 541.4 540.0
640 642.0 639.6

If you compare 1st and 3rd columns, you will see very little error in the actual position reached in the travel.

Obviously, it best to find the underlying culprit, but when all else yields to a deadline, a workaround might be worth using.