Sudden Step Size Change

I have a ruida contoller

The issue I have is that at seemingly random times the scale of my X axis changes to 50%.
The step count per unit on my X axis has halved. So the controller thinks its at 1300 but its sitting at 650 the lightburn interface tells mee 1300 as does the coordintates on the controller display.

If I restart the machine a couple times this will reset and I can continue. I have gone through configuring the axis but after a while it resets itself and then I get a double the desired steps per unit.

The error occurs in the middle of a cut and sometimes after a “project” the machine homes but then it only comes back half way for the next project (I mean that I have pressed start), so it starts cuttin gthe material in an unexpected place…

I often see the issue when I am cutting off a series, say 100 circles or simiilar. However this is not exclusive, it happens with images too and sometimes when I power up the machine it has the issue right out of the gate.
I never get memory errors or any other error for that matter.
I generally run via network but just to check I used the USB connection and got issue there too.

I have not updated the firmware.
It has never happened to the Y axis.
It is always the X axis and it is always 50%
All my files are drawn in lightburn.
I have the issue for a while now so its been over a couple updates of lightburn.
I am open to trouble shooting ideas or if someone else has this issue.
I have have had this happen from time to time over two years, but more recently it happens every session.

Thanks for any input

This is a long shot, but stepper motor drivers have a row of DIP switches to set the number of steps per revolution. If one switch in that row has become intermittent, the step/rev setting will flip between the two values it selects.

The X axis driver in my OMTech 60 W has four switches to set the step/rev value: SW5 to SW8. Switch SW5 selects between pairs of values differing by a factor of two:

Find the X axis driver brick, take a picture of it (to eliminate the conversation starting with “I don’t remember which way it was”), flip it back and forth a few dozen times, then set it the way it was.

That should either cure it or kill it.

I have had DIP switches get flaky, but not often.

Sorry for the late reply, I was hoping to say I found a fault.

I did look at my driver, there is no obvious issue with the switches.

I did however install RDworks V8 and run the machine for a while, it seemed promising at first but it too scaled to 50% .

Is there anyway to test a driver?

Basically, you’re already doing it. :grin:

Although it’s tedious, you can work through the switch combinations to verify all the toggle switches do something.

The least awful way to do this is directly from the machine’s display, without involving LightBurn, using the manual jog arrows. Set the controller to jog 20 mm for each arrow push, which on mine is Menu → Manual Set, select Manual mode (instead of Continue), enter 20 mm for the distance, and save it. Then you can use a metric scale to verify it moves exactly 20 mm in X and Y when you push the left/right and up/down arrows:

Now you change the stepper driver’s DIP switches, one at a time, measure the distance, and see if the result matches what should happen according to that table on the side.

My X axis stepper has switches SW5 through SW8 set thusly:

  • OFF OFF ON OFF = 5000 step/rev

Change SW5 from OFF to ON:

  • ON OFF ON OFF = 4000 step/rev

The Ruida controller doesn’t know anything changed, so when you poke its buttons, it sends the same number of pulses to the stepper driver. The driver, however, now takes only 4000 pulses to turn the motor one revolution, which means the extra pulses move the motor farther:

25 mm = 20 mm × 5000 / 4000

And, according to my metric scale, it does exactly that.

Then I set SW5 OFF again!

So you do the same thing for each switch:

  • Find the new switch configuration in the table
  • Write down the step/rev value, which I’ll call newstep
  • Flip the switch
  • Poke the jog button
  • Measure the distance
  • Poke the opposite jog button to return to the start
  • Flip the switch back to its original setting

Then verify the motion:

new distance = 20 mm × 5000 / newstep

You will do that four times, once for each switch, so it’s not as intimidating as it may seem.

One of the switches will double the number of steps required for one revolution, which is almost certainly the failing switch, because doubling the step/rev means the axis moves half as far for a specific number of steps.

This definitely suggests one of the configuration switches is flaky.

If you were deep into suffering, you could swap the X and Y axis stepper drivers. If the problem moves to the Y axis, well, then you know which driver is bad.

If you’re not into suffering, you may as well buy another stepper driver for the X axis and be done with it.

Thank you for such a detailed answer,
I have ordered a replacement driver.

The results were interesting: I followed your instructions and got expected results all the way through my DIP switches Everything was like it should be.
I went back to repeat the process, everything was halved. I had 4000 steps to 20 mm motion, now I have 2000 steps per 20mm. And all the other configurations match that now, so it seems to me the entire driver is having issues…

Sherlock would have made a pretty good debugger: “When you have eliminated all which is impossible, then whatever remains, however improbable, must be the truth.”

That’s not strictly true, but it’s close enough to be workable …

In order to rule out the possibility of an x-pulse output issue with the controller, it could still be worth swapping the drivers to check if the problem moves.

This needn’t cause deep suffering, at the stepper drivers it should be simple to switch the input signals (X with Y) and the motor outputs (X with Y).

The folks who wired my OMTech trimmed those wires to leave barely any slack: the only way to swap the driver bricks is to … swap the driver bricks.

They get some points for neatness, though.