filament sensing - retractions



  • I added some poor exuse for filament sensing to my duet

    M591 D0 P7 C"^e0stop" L0.07853981634 R90:110 E3 S0
    

    It's 600 steps encoder, works nice, I have some weird output for the moment

    Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.079mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.090mm/pulse, measured minimum 41%, maximum 124% over 165.9mm
    

    now, the sensor is not properly mounted and hangs off a filament box and is maybe slipping so maybe that is the reason for this 40-125% span, the sensitivity "measured" is close to calculated so that's also cool. How do you measure it anyway? But, question is, how are the retractions handled? This is quadrature encoder, I'm using only one output (A) to feed to the e0stop so there is no way duet can know if it measured movement in one or other direction, it will generate steps both for extrusion and retraction. How is this handled by duet?



  • @arhi said in filament sensing - retractions:

    I added some poor exuse for filament sensing to my duet

    M591 D0 P7 C"^e0stop" L0.07853981634 R90:110 E3 S0
    

    It's 600 steps encoder, works nice, I have some weird output for the moment

    Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.079mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.090mm/pulse, measured minimum 41%, maximum 124% over 165.9mm
    

    now, the sensor is not properly mounted and hangs off a filament box and is maybe slipping so maybe that is the reason for this 40-125% span, the sensitivity "measured" is close to calculated so that's also cool. How do you measure it anyway? But, question is, how are the retractions handled? This is quadrature encoder, I'm using only one output (A) to feed to the e0stop so there is no way duet can know if it measured movement in one or other direction, it will generate steps both for extrusion and retraction. How is this handled by duet?

    Duet wants to see pulses from the sensor when it 'knows' it has turned the E motor. If it pushes more then 3mm of filament with no pulse, it flags filament out. I am about 90% sure it does not count retracts in any way when tracking this.

    In your case, feed and retract create the same pulses... which should be OK. More pulses when filament is present; will still be absent pulses when filament runs out, everything should "just work".

    Again, this is a 90% answer, not a "i've done this" answer...



  • @Danal I usually approach projects that have something similar to what I also do with the assumption that it works the same way I'd do it. And since I made so many firmwares for so many contraptions in the past 40+ years I, of course, approach this with "I'd do it like this it must be the only way, best way, and by default the way everyone else sees it". I learned the hard way that it's almost never the case, but I'm still stubborn. Anyhow, I'm trying to ask rather than wasting time as I am very pressed with time these months so can't afford too many mistakes and setbacks. My assumptions here would be / the way I'd go about it would be

    • "measured sensitivity" would be average or medium value for whole print
    • pulse input would be ignored during retractions

    I'm going to be using this in disabled mode (super option) for a while looking at statistic before I decide to turn it on 🙂


Log in to reply