stepper precision
-
I would go with simple first to validate your experiment.
Skip the closed-loop mode completely, set for full steps and do 200 steps and see if you get the same encoder reading.
Do 200 steps, encoder read, 200 steps, encoder read.
If you cannot get the same (+/-2) reading, then there's something to look at.
-
@alankilian said in stepper precision:
Skip the closed-loop mode completely, set for full steps and do 200 steps and see if you get the same encoder reading.
I have the file with "less" steps but I have no clue "how much exactly" as source and documentation does not coincide so probably 1/4 steps
S42B does not support full step
so I'll concentrate on TMC2088 driver as this one is just too ...
-
raw data that "should" make sense
-
something is wrong in my math here... look how straight these two lines are only different angle .. maybe it should be /65536 not /65535
-
Yes, the encoder counts 65536 steps per revolution.
-
damn
now they align
error is rather big still but.. at least not as messed up as with /65535
-
@arhi That's a Moire pattern (beat pattern) between the stepper steps and the encoder steps. When both have fixed integer resolution, and they are incommensurate, you will see something like this.
-
@mendenmh isn't moire supposed to be much more subtle, these are rather large values ?! I originally assumed that pattern like this will have bottoms (less error) at full/half ste positions but since this is halfstepping already all positions should be at full/half step... and the whole graph is ~250 steps so tad more then half of full rotation it makes me wonder. Also, one step is 0.9 ° (halfstepping a 200 step/rev motor), 0.2 ° error here is imho huge and the peaks at over 0.4 ° are innecceptable. I believe there's some offset here when the motor "started moving" so between the reset, not started stepping and first step, see that jump from 0 to 0.25 - I think there's a 0.12 ° offset from somewhere, I might ignore first few steps and regraph from there as it's impossible to have error that is that much offsetted to either side, if the error is only on one side of zero there's a problem in setup IMHO and I'm not using ABS() here
-
@arhi There's no particulars limit to the amplitude of a Moire pattern. You can get 100% modulation. Usually, when talking about the surface of a 3d print, it is subtle because it is heavily attenuated by things like the frequency response of the filament flow. Reading an encoder, with an offset between steps and encoder period, has no such limits.
-
@arhi
As you already pointed out yourself: if you shift the offset on the left to 0 in the middle of the "wave", then you have only +-0.1 which would be not that much for a 1.8° Stepper? -
@LB said in stepper precision:
@arhi
As you already pointed out yourself: if you shift the offset on the left to 0 in the middle of the "wave", then you have only +-0.1 which would be not that much for a 1.8° Stepper?yes, only I'm not sure where these offsets originally come from but I'll redo those analysis as soon as I get out of the pickle with the bread and butter stuff
-