Steps per mm 10x error

Hi, many hours of my life have been lost trying to solve this one but I’m stuck. Hopefully someone can point me in a new direction. I’ve purchased a used Chinese 60w CO2 laser. It is running a M3 Nano control board but i want to use lightburn. And so purchased a Monport Nano 2 board. apart from the 24v / 5v incompatible issue install has been pretty good. It runs GRBL. But i’ve hit a issue. The stepper motors on my machine are 0.9deg, Running off a pair off YM422-D stepper drivers. They are set to 16 x microsteps, so 400 x 16 = 6400 steps per rev. The belt is a MXL 9.5mm 2.032 pitch and the pulley is a 20 tooth so 20 x 2.032 = 40.64mm. 6400/40.64 = 167.48 steps per mm. If I enter this into $100 and $101 the axis barely move. i.e if i jog 100mm the head moves 10mm ish. I can kind of work around the issue by putting 1600 steps per mm in but I’m sure this will cause me other issues with acceleration, speed etc. Any ideas for area to look into? I’ve recheck the stepper driver microstep setting several times. Everything look correct to me but there is obviously something throwing it off. My next problem (but possible related so I’ll briefly mention it) if i jog left 10mm then jog right 10mm it does not return to the same location by about 25%. i’m guessing this would be lost steps in one direction but its not running fast. 1000 mm/min and 500mm/sec^2 acceleration. does anyone have a similar setup that i could look at their GRBL settings (just as a starting point)? Thanks for any comments, i’m stuck at the moment.

This may be a typo but that shoudl be 157.48 steps per mm. That wouldn’t account for the entirety of the deviation you’re seeing, however.

Here are the scenarios I can think of that would cause this: I’m going to guess you’ve physically measured/confirmed the pulley and belt. If you have not, please do so before proceeding.

  1. You’re not actually asking for 100mm of travel. How are you doing this?
  2. Your motor is not actually a 0.9 degree step angle motor. What specific motor is this?
  3. Your driver configuration isn’t actually set to 1/16. Can you take a photo of the configuration?

However, you’re dealing with a 10x difference in expected vs actual distances which may be hard to explain with any one obvious mistake. One thing that’s odd is that if anything, I would have expected the measured distances to be longer than the requested distance, not the other way around.

What happens if you attempt to burn the perimeter of a square shape in a single go?
What does the controller indicate as position at the start and end of each movement?

What happens if you dramatically reduce this? Let’s say to 50mm/sec^2?

Thanks for your reply. any ideas thrown around are appreciated.

That was a Typo, They were set to 157. I’m just using the move Tab and clocking the displayed “X” coordinate. the jog steps are set to 10 (I’ll double check it states mm and not microns later). so… I’m just clicking left jog once. the distance moved is barely anything if the steps per mm is set to 157 (which I’ve physically calculated). If i set the steps per mm to 1600 it moves about the expected 10mm. Its a strange one. its as if I’m completely wrong on my micro steps. I’ve reconnected the old board and have no issues so convinced its in the GRBL machine settings. Driver is defiantly set to 1/16


I’ll check again later but I had looked up the motor part number to confirm 0.9 deg. even if the motor was a 1.8deg it would be half not 10x. I’ll try dropping the acceleration down to something really low to try and isolate it. its a shame i cant pull the settings from the 2M Nano board.

reading up some more the “more one way than the other” might be PWM rising edge value" so will try that later. to test i had started at X0, jogged 10mm left, 10mm right. lightburn display shows I’m back at X0 but its only travels back about 2 thirds. you can repeat the process until you slowly creep further and further left.

Is it possible that the order of the dip switches on the driver are in reverse order from what you expect?

Meaning it’s ordered from SW6->SW1?

That would have your current at 2.2A and microsteps at 32.

worth a go, the dip switch is numbered but i cant see the China QA stick on it so probably wasn’t checked. i think its either from SUMTOR or a rip off one way or another. I’m struggling to find details on YM422-D
https://www.aliexpress.com/item/32957770699.html

I’ve emailed to try and get a manual

In the link that you provided I can clearly see the numbers on the dip switches so I think that’s a dead end.

The DIP switch label suggests the ON position is upward, so the settings would be:
SW1-3 = OFF OFF ON = 2.0 A Peak
SW4-6 = ON ON ON = Standby Mode

The 2.0 A value seems reasonable for a NEMA 17 size motor, but the motor in the picture (Aliexpress from the link) says 1.3 A, so it’s likely overcooked.

I don’t know what “Standby Mode” might be, but it’s evidently not one of the actual microstep modes.

Also, the motor in the picture says 1.8°, not the 0.9° you mentioned earlier, so it’s really 200 full step/rev.

Set the switches to:
SW1-3: ON OFF ON = 1.2 A
SW4-6: OFF OFF OFF = 32 microstep = 6400 step/rev

Then it should behave better; you can crank the current upward later if it seems too feeble.

Also, is the link provided the stepper motor/driver combo that you bought? It lists the stepper motor as 1.8 degree angle in that case.

Note that the microstepping is SW1-3, where current is SW4-6.

There will be brief pause while I pry the footgun bullet out of my instep …

Don’t worry. I did the exact same thing… did a double take… and proceed to do the same thing every time I look at the photo.

One other thing to check is to make sure that $13=1 is not enabled which will report inches.

Assuming that it’s not I don’t think there’s any real harm in empirically determining the proper steps/mm. However, your back and forth test indicates there may be something else going on that you need to address. However, it’s possible that calibrating the axis may subsequently affect that behavior.

Thanks for the replies. The link was just an example for the closest match i could find for the stepper driver. couldn’t find anything under the part number but google image search found me this suppler. Motor part number is 17HA803H-1A

It is set to mm not inches
“pwm rising edge valid” appears to have disappeared between 1.1v and 1.4v

I do have a couple of DM422-D stepper driver that i though i might give a go. I’m thinking the system is thinking its doing the right thing but just at a smaller scale so either some sort of axis scaling (but cant see any options in lightburn) or its the numbe of steps. The stepper is re branded but i cant imagine they would try to lock it up by changing the dip switch settings as a form of revers engineering protection. I’ll try the other stepper driver if i can to see if i can isolate it further.

Thanks again!

FYI for anyone chasing the same issue. I’ve setup an Arduino Uno GRBL and so far looks like it has resolved the issue. So… it is pointing in the direction of the Monport nano board. the issue is very consistent so would guess a fundamental problem in hardware or software. doesn’t feel like a quality issue, more like every board would have the same problem. possibly a dirty step pulse, but if it was i wouldn’t expect the consistency. hey ho… i’ll keep setting up the arduino and see where i get to. maybe come back to the monport board once i have a working setup, maybe RMA the PCB.

1 Like

Because it’s a GRBL machine, you flip the STEP pulse polarity with the $2 parameter:

You can use Edit → Machine Settings to flip each axis separately: does the same thing using different words.