• Tags
  • Documentation
  • Order
  • Register
  • Login
Duet3D Logo Duet3D
  • Tags
  • Documentation
  • Order
  • Register
  • Login

Feature Request: Track filament usage per spool in software

Scheduled Pinned Locked Moved
Duet Web Control
6
9
653
Loading More Posts
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • undefined
    andreas3Dy
    last edited by 8 Jul 2020, 13:22

    Hello there!
    In 2018 there was a discussion about it:
    https://forum.duet3d.com/topic/7133/filament-remaining-sensor
    Here is an example from that topic:
    https://plugins.octoprint.org/plugins/filamentmanager/

    The goal is to have a rough estimate by counting the used filament.

    1 Reply Last reply Reply Quote 1
    • undefined
      ahmetipkin
      last edited by ahmetipkin 7 Aug 2020, 13:38 8 Jul 2020, 13:38

      I think this would be a great addition. Companies like colorFabb specify the 'length' of the filament they sell so basically a counter that 'adds' every extruder move and provides this data in object model would work I believe. What do you think @dc42 ? 🙂

      1 Reply Last reply Reply Quote 0
      • undefined
        Colten
        last edited by 7 Sept 2020, 14:21

        This has been requested many times. I even went so far as to provide a patch. while not perfect, it did work. Filament has to be counted "per filament type". While useful, this is not as useful as counting per filament roll.

        undefined 1 Reply Last reply 7 Sept 2020, 16:22 Reply Quote 0
        • undefined
          mitch @Colten
          last edited by mitch 9 Jul 2020, 16:23 7 Sept 2020, 16:22

          @Colten couldn't you create a filament "type" per roll/color. ? Then you could use the M701 commands to switch between rolls+types and track usage per spindle.

          Ideally you could tie the slicer into it by having the slicer G-code issue the correct M701 S"PETG-Prusa-Orange" command based on the selected filament in the slicer. Then you could just choose the filament from the slicer, send, and print.

          1 Reply Last reply Reply Quote 0
          • undefined
            dc42 administrators
            last edited by 7 Sept 2020, 16:32

            The complicated part is defining exactly how this should work. Some of the issues are:

            • How exactly should it interact with the existing filament management system? For example, should it work at all if you do not use the filament management system?
            • Should it track offline spools as well as whatever spools are currently loaded?
            • How will you tell it that you have started a new spool? Or that you have loaded a part-used spool?
            • How often should it update the usage data on the SD card? If it updates it too often, it will wear out the SD card too quickly.

            Duet WiFi hardware designer and firmware engineer
            Please do not ask me for Duet support via PM or email, use the forum
            http://www.escher3d.com, https://miscsolutions.wordpress.com

            undefined undefined 2 Replies Last reply 7 Sept 2020, 16:37 Reply Quote 0
            • undefined
              mitch @dc42
              last edited by 7 Sept 2020, 16:37

              @dc42 I wonder if this would be better running on an external device like a Rpi or a docker container on a server? I know the duet products are moving towards a plugin architecture with the pi.

              We would just need the appropriate APIs into the duet boards to be notified on print events and filament changes. This would relieve the duet and DWC from all of the user interface overhead.

              1 Reply Last reply Reply Quote 0
              • undefined
                dc42 administrators
                last edited by 7 Sept 2020, 16:39

                It would be easier to implement on a Pi attached to a Duet, however I don't want to rule it out from implementation on a standalone Duet.

                Duet WiFi hardware designer and firmware engineer
                Please do not ask me for Duet support via PM or email, use the forum
                http://www.escher3d.com, https://miscsolutions.wordpress.com

                1 Reply Last reply Reply Quote 0
                • undefined
                  BoA
                  last edited by 7 Sept 2020, 16:44

                  I think that viable solution would be to use NFC tags and a spool holder with reader. With new spool just put a nfc sticker (can be bought easily) and set a filament length when spool used for a first time.

                  Then each time spool in put on spoolholder read the tag, and update legth when print finished/tool change/ etc

                  Easy to implement - nfc readers are available with many intercaes, tags can be bought without problems.

                  1 Reply Last reply Reply Quote 3
                  • undefined
                    andreas3Dy @dc42
                    last edited by andreas3Dy 21 Mar 2021, 20:24

                    @dc42 said in Feature Request: Track filament usage per spool in software:

                    The complicated part is defining exactly how this should work. Some of the issues are:

                    • How exactly should it interact with the existing filament management system? For example, should it work at all if you do not use the filament management system?
                    • Should it track offline spools as well as whatever spools are currently loaded?
                    • How will you tell it that you have started a new spool? Or that you have loaded a part-used spool?
                    • How often should it update the usage data on the SD card? If it updates it too often, it will wear out the SD card too quickly.

                    It could work as a very simple plugin for DWC.
                    It should not interact with anything except the filament usage data of a running print job.

                    Users can add multiple counters. One per spool.
                    A counter is defined by some name + length of a full spool.
                    Once enabled it monitors filament usage until a pending print job needs more filament.
                    A warning should be shown in this case.
                    The SD card write frequency should be user defined.

                    It is for manual use. If you forget to change the counter you have to start from scratch and correct the counter values on sd card manually.

                    The analogy of a stop watch is quite helpful.

                    1 Reply Last reply Reply Quote 0
                    • First post
                      Last post
                    Unless otherwise noted, all forum content is licensed under CC-BY-SA