M122 meaning
-
I would like to better understand the M122 detailed information. I know the information changes between the firmware versions, but then a version specific information is necessary.
To start discussion, can someone please explain the meaning of SG max value? When the value is high (above 1000), does this mean the stepper was under heavy load and high risk of loosing steps, or what does it mean? Does a value always under eg 200 mean, the stepper could be replaced by a weaker (and lighter) one?
-
@joergs5 the meaning of the SG value register is described in the TMC2660 data sheet. It's actually the other way round; high values indicate light load, low values indicate heavy load.
SG 10-bit unsigned integer stallGuard2
measurement value. A higher value indicates
lower mechanical load. A lower value indicates
a higher load and therefore a higher load angle.
For stall detection, adjust SGT to return an SG
value of 0 or slightly higher upon maximum
motor load before stall.
0… 1023 0: highest load
low value: high load
high value: less load -
@dc42 thank you for explanation, that was surprising.
-
Another question I have is about hiccups: does they mean lost steps or microsteps? Which value is acceptable and is it useful to check for hiccups after every layer and rehome before proceeding if there were hiccups?
-
@joergs5 said in M122 meaning:
Which value is acceptable
In cases where it's shown as a problem in the print it's been in the hundreds of thousands or even millions. From what I gather it's basically when the step generation has been overwhelmed and a tiny micro pause is inserted to allow it to catch up. Usually that wouldn't be detectable, but if it happened an excessive amount you'd start to get degraded motion.
You can try and simulate it yourself by setting your microstepping on all axis to x265, then print a very high resolution model at high speed.
@joergs5 said in M122 meaning:
is it useful to check for hiccups after every layer and rehome before proceeding if there were hiccups?
I would say no, because a hiccup doesn't necessarily mean that a full step has been lost and position has been impacted. You could also have sources of lost steps that don't have anything to do with hiccups at all and wouldn't show up in the count.
-
@phaedrux thank you for explanations, so its main purpose will be to detect wrong config or wrong stepper dimensioning. Not a means for quality improvement during print.