How to interpret M591 D0



  • I have a filament pulse sensor configured as follows:

    M591 D0 P7 C"e0stop" L7 R75:125 E15 S1        ;BIGTREETECH Smart Filament Sensor
    

    In the middle of a print job I ran

    M591 D0
    

    and get the following

    Pulse-type filament monitor on pin e0stop, enabled, sensitivity 7.000mm/pulse, allowed movement 75% to 125%, check every 15.0mm, measured sensitivity 7.263mm/pulse, measured minimum 91%, maximum 101% over 704.5mm

    How do I interpret this, in particular the percentages?

    Should I change the L setting to 7.2 ?

    Thanks in advance.


  • administrators

    The measured sensitivity is the average value over the print, or since you last paused the print. If you are sure that the extruder hasn't missed any steps during that period, then 7.2mm/pulse would be a better setting to use.



  • Are the percentages the low and high values around the measured sensitivity ?
    In this example the lowest recorded was .91x7.263 (6.61) and the highest was 1.01x7.263 (7.34) or is it more sophisticated than that? A question of curiosity but related to additional question below ....

    More importantly - given E15 (in order to cover 2 "lost" pulses?). This suggests that a filament jam or out of filament situation would not be detected until 15mm of filament failed to extrude. Would not that cause a gap in the print if it was resumed ?

    I realize that it depends on the reliability of the sensor - but assuming zero missed pulses (possible quite an assumption!) - would something like E8 be a better value relative to resuming prints?

    Thanks in advance - I'm the type of guy that just wants to understand the how and why 🙂


  • administrators

    @stuartofmt said in How to interpret M591 D0:

    Are the percentages the low and high values around the measured sensitivity ?

    They are around the average measured pulses per mm.

    More importantly - given E15 (in order to cover 2 "lost" pulses?). This suggests that a filament jam or out of filament situation would not be detected until 15mm of filament failed to extrude. Would not that cause a gap in the print if it was resumed ?

    If filament suddenly stopped extruding completely, then it would take up to 15mm of commanded extrusion to detect this. As your sensor only generates one pulse per 7mm of extrusion, there's nothing you can do to improve this.

    I realize that it depends on the reliability of the sensor - but assuming zero missed pulses (possible quite an assumption!) - would something like E8 be a better value relative to resuming prints?

    No, because with only 1 pulse per 7mm you can't really measure over less than about 15mm.


  • administrators

    @stuartofmt said in How to interpret M195 D0:

    Are the percentages the low and high values around the measured sensitivity ?
    In this example the lowest recorded was .91x7.263 (6.61) and the highest was 1.01x7.263 (7.34) or is it more sophisticated than that? A question of curiosity but related to additional question below ....

    The % values reported as allowed movement 75% to 125% when you send M591 Dn are the ones configured when the M591 Dn Rxx:yyy is sent where xx is the low % and yyy is the high%. The ones reported as measured minimum 91%, maximum 101% are the minimum and maximum that were seen during the part of the print that has progressed since you last paused the print (or started the print if you have not paused).

    Its generally a good idea to set these a bit wider than those reported by M591

    That said you should get a "representative" or even worst case set of readings for min and maximum before setting the boundaries too tight. with 7mm between pulses you should see what results you get with a print with a lot of retractions.

    More importantly - given E15 (in order to cover 2 "lost" pulses?). This suggests that a filament jam or out of filament situation would not be detected until 15mm of filament failed to extrude. Would not that cause a gap in the print if it was resumed ?

    This is the compromise when using a monitor with a lot of distance between pulses. of course thats worst case. If you havd a minimum of 75% and have a jam 2/3rs through the configured L parameter then at the next check it will be below the minimum..

    I realize that it depends on the reliability of the sensor - but assuming zero missed pulses (possible quite an assumption!) - would something like E8 be a better value relative to resuming prints?

    you will need to test to see how likely you are to get missed pulses.

    Edited: see @dc42's response above!



  • Thanks - making more sense now. So I am at about hour 15 of a long print and had a failure. I'm not too sure when 😞 I resumed the print and will see what happens ......

    In any case - the M591 D0 now reports

    Pulse-type filament monitor on pin e0stop, enabled, sensitivity 7.000mm/pulse, allowed movement 75% to 125%, check every 15.0mm, measured sensitivity 7.854mm/pulse, measured minimum 80%, maximum 93% over 369.1mm

    Nothing has been changed except this print does have a fair number of retracts. Several questions:

    Does the measured sensitivity going down suggest slippage in the sensor (it's two wheels one of which "encoded" with holes) ?

    Looks maybe like the minimum % threshold may have been triggered -- hard to tell as I took the above measurement after the restart (was not thinking)?

    Beyond checking the mechanical aspects of the sensor - would setting to E21 (i.e. say 3 x nominal sensitivity) tend to make sense for tuning or does that seem a bit course ?


Log in to reply