False filament out issue again

  • Hi,

    I was doing a long print the other day ( 5 hours ) and at least 10 times I found my printer paused with a filament out message. A couple times I was there to see it happen. None of the times did the sensor indicate filament out.

    So, is there a way or could it be implemented in a future release to have a per pin de glitch timeout setting? Something where the pin has to be asserted/asserted# continuously for a settable amount of time before the pin function is triggered.


  • @Joel


    What sort of sensor are you using?


  • It's a simple micro switch type. I've opened it up and it's fully closed when the filament is in. Not at all on the edge of being opened or closed.

  • @Joel said in False filament out issue again:

    It's a simple micro switch type. I've opened it up and it's fully closed when the filament is in. Not at all on the edge of being opened or closed.


    Are you using the 3.1.1 firmware? It might be possible to do something like you are asking with that version.


  • I am on 3.1.1

  • @Joel said in False filament out issue again:

    I am on 3.1.1


    Roughly how much distance is there between your filament sensor and your hotend?

    The approach I'm thinking of would not yield instant notification of missing filament.


  • Hi,

    You can create a file in the sys directory called daemon.g which is invoked, it seems, at one second intervals.

    • use the actualValue property of a dummy fan as a variable
    • check the status of the filament sensor in the daemon.g file
    • if the sensor is not active reset the value to 0
    • If the sensor is active increment the value by one
    • if the value exceeds some limit treat that as the filament out condition


  • Not sure I think this will work. If I make the daemon.g file, does this override the internal filament checking? Is there an opportunity to clear the status before the internal mechanism triggers. Perhaps remove the filament sensor from config.g and just implement something in the daemon.g file.

    The other issue, though this would greatly reduce the odds is, if you are just polling the sensor, it is possible to trigger, go away and trigger again at the instant you double check.

    To be bullet proof, you need to check if filament out goes away after a flag is set and before the timer expires. How well this works depends on if these events are interrupt driven or polled. If polled, how often that loop is.

    I will look and see if I can find documentation to look deeper into your idea.


  • Hi,

    Sorry I wasn't clear. Yes you would use this in place of the normal filament sensor feature.

    On my printer I have some 750mm of filament from the filament sensor to the hot end.

    I could afford several seconds of delay and require 5 or 10 consecutive readings. This would reduce the odds of a false activation to almost zero.

    Assuming the docs are complete the action on a filament sensor detecting an filament issue is to pause the print and alert the use.

    This can, of course, be done in the daemon.g with appropriate handling to insure it only happens once per filament issue.


Log in to reply