M591 P7 - figuring out the other numbers
-
I made my own rotating disk sensor with an optical endstop. I connected the endstop to E0.
I am not sure about the other numbers, this is what I have so far, I did not try it yet because I am not sure if it's going to work.
M591 D0 P7 C3 S1 R70:130 L1.26 E10I don't understand the R & L and E parameters
R - looks like an error percentage... but for how long? what I mean is, if the L parameter is not accurate, and the filament goes at 90% does this mean that after an hour (or whatever the time) it will pause eventually?
I extruded 100 mm of filament, and i counted 126 pulses, so I did 126/100 = 1.26 for the L parameter, If I understood the documentation correctly -> Filament movement per pulse in mm
Or is it the other way around? 100/126 = 0.79 ?E - "minimum extrusion length before a commanded/measured comparison is done" - so I put 10, does this mean that it calculates if it should pause or not every 10 mm ?
Last question: In most cases it's fine to pause, but I want the option to switch to another extruder and continue printing. I have a Cyclops extruder 2 in 1 out. So when end of filament is detected, I want it to run a g code specific file to retract, and push the filament on the other extruder. Is this possible?
-
@cvmichael said in M591 P7 - figuring out the other numbers:
R - looks like an error percentage... but for how long?
It's averaged over the extrusion distance specified in the E parameter.
I extruded 100 mm of filament, and i counted 126 pulses, so I did 126/100 = 1.26 for the L parameter, If I understood the documentation correctly -> Filament movement per pulse in mm
Correct.
E - "minimum extrusion length before a commanded/measured comparison is done" - so I put 10, does this mean that it calculates if it should pause or not every 10 mm ?
Also correct.
-
Thank you!
Actually 126/100 = 1.26 is wrong, a few seconds after printer started I got this message: "Extruder 0 reports too much movement"
So I did the reverse 100/126 = 0.7936 and I put that in the config, now it's perfect
M591 D0 P7 C3 S1 R70:130 L0.7936 E10
But it takes a bit long until it detects the filament stopped, I will lower it to E5 mm
Here is a fresh upload on YouTube with it working:
https://youtu.be/XXCyZhsfCfsThanks again!
-
@cvmichael said in M591 P7 - figuring out the other numbers:
M591 D0 P7 C3 S1 R70:130 L0.7936 E10
But it takes a bit long until it detects the filament stopped, I will lower it to E5 mmAs your sensor resolution is around 0.8mm of filament, you will need to allow (0.8/5) = 16% tolerance just to allow for the limited resolution.
-
I don't really understand your post. Is the 16% tolerance something I should enter in the M591 parameters?
I tried changing the E10 to E5, but it did not seem to make a difference...maybe it did, but I did not notice.
I will redesign the wheel to have double the teeth, that should improve the resolution.
Also, is there a way to run a g-code file instead of the pause?
-
@cvmichael said in M591 P7 - figuring out the other numbers:
I don't really understand your post. Is the 16% tolerance something I should enter in the M591 parameters?
What I mean is that the R parameter will have to allow an additional +/-16% compared to a sensor with higher resolution; or an additional 8% compared to using 10mm length on the same sensor.
I tried changing the E10 to E5, but it did not seem to make a difference...maybe it did, but I did not notice.
It should have increased the reported variability under the same conditions by 8%.
Also, is there a way to run a g-code file instead of the pause?
Not yet.