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

99p filament monitor

Scheduled Pinned Locked Moved
Filament Monitor
4
10
2.5k
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
    robm
    last edited by 25 Apr 2018, 13:45

    • full disclosure: I paid £2.40 to source from the UK instead of China 😃

    M591 D0 Pulse-type filament monitor on endstop input 3, disabled, sensitivity 0.69mm/pulse, allowed movement 0% to 10%, check every 5.0mm, current position 0.0, measured sensitivity 0.689mm/pulse, measured minimum 97%, maximum 103% over 220.4mm

    0_1524661785250_filament_monitor_99p.JPG

    This is a(n) 'LM393 IR speed sensor' add-on for an Arduino. Conveniently it works with 3.3V and you can wire it straight to a Duet endstop connector to use as a pulse-type filament monitor.

    Various web pages (and postings on this forum) indicate that LM393 based encoder modules suffer from noisy edges, so I added a 0.01uF capacitor between the GND and D0 connections; this changed the measured sensitivity from +/-4% to +/-3%. Probably there's a better value cap to use? 0.01uF was the only one I could find locally which seemed reasonable.

    To use it you will need to make some sort of clamp-hob system similar to the design for the rotating magnet filament monitor to rotate the encoder wheel as the filament passes by. The photo shown is of an extruder I'm developing which uses the idler wheel for this purpose.

    The encoder wheel is here on Thingiverse, I used the 35 x 0.8 slits and wheel diameter exactly as in that file for my first try. It turns out that (my?) PETG filament is transparent to IR at this thickness (surprise! 😁) so you might test your own material before printing.

    A benefit of this design is that it should be possible to increase sensitivity/accuracy by making the encoder wheel larger with more slits (so more pulses per mm of filament). A similar design might work for the laser filament sensor (sensing the edge of a wheel as it turns); this would have direction information for the Duet and not be sensitive to individual filament characteristics.

    1 Reply Last reply Reply Quote 0
    • undefined
      resam
      last edited by 25 Apr 2018, 14:14

      FYI: basically this: https://www.aliexpress.com/wholesale?SearchText=HC-020K&opensearch=true

      I have one sitting on my bench, waiting to be installed!

      undefined 1 Reply Last reply 25 Apr 2018, 15:03 Reply Quote 0
      • undefined
        robm @resam
        last edited by 25 Apr 2018, 15:03

        or this is the FC-03 like the one I used

        1 Reply Last reply Reply Quote 0
        • undefined
          mrehorstdmd
          last edited by mrehorstdmd 25 Apr 2018, 15:20

          I made an even cheaper/simpler filament run-out sensor for a printer. It's just a printed plastic mount for a snap action switch- the same type used for endstops. Completely passive, just 2 wires. It's as reliable as the switch.

          It won't detect extruder slipping, only run-out, so it's best placed on the printer's frame so that when the filament runs out and the machine stops, there will be a tail of filament coming out of the extruder to make it easy to remove for filament change.

          https://drmrehorst.blogspot.com/

          undefined 1 Reply Last reply 25 Apr 2018, 15:30 Reply Quote 0
          • undefined
            resam @mrehorstdmd
            last edited by 25 Apr 2018, 15:30

            @mrehorstdmd yes - you built a run-out sensor.
            With the HC-02 and FC-03 we can actually detect nozzle clogs and extruder gear slip!

            undefined 1 Reply Last reply 25 Apr 2018, 16:49 Reply Quote 0
            • undefined
              dc42 administrators
              last edited by 25 Apr 2018, 16:48

              Don't use a capacitor to remove the noise, add a resistor between the output and the non-inverting input of the LM393 instead. Last time someone had this problem I think I suggested about 47K and he ended up using 45K; but lower (e.g. 22k) should work too.

              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 2 Replies Last reply 25 Apr 2018, 16:58 Reply Quote 0
              • undefined
                robm @resam
                last edited by 25 Apr 2018, 16:49

                @resam Yes, and with the info from the M591 diagnostic calibrate filament (extrusion speed vs. temperature) without having to measure off segments as they move into the extruder.

                1 Reply Last reply Reply Quote 0
                • undefined
                  robm @dc42
                  last edited by 25 Apr 2018, 16:58

                  This post is deleted!
                  1 Reply Last reply Reply Quote 0
                  • undefined
                    robm @dc42
                    last edited by 25 Apr 2018, 18:20

                    @dc42 said in 99p filament monitor:

                    Don't use a capacitor to remove the noise, add a resistor between the output and the non-inverting input of the LM393 instead. Last time someone had this problem I think I suggested about 47K and he ended up using 45K; but lower (e.g. 22k) should work too.

                    with the 0.01 uF cap in place the best I got was 97% - 103%
                    adding a 33k resistor I got to 99% - 102%
                    removing the cap (testing resistor only) I got 98% - 104%

                    so (a) probably both are of benefit, and (b) probably all of these measures are noisy and overlap.

                    undefined 1 Reply Last reply 25 Apr 2018, 18:33 Reply Quote 0
                    • undefined
                      dc42 administrators @robm
                      last edited by 25 Apr 2018, 18:33

                      @robm said in 99p filament monitor:

                      @dc42 said in 99p filament monitor:

                      Don't use a capacitor to remove the noise, add a resistor between the output and the non-inverting input of the LM393 instead. Last time someone had this problem I think I suggested about 47K and he ended up using 45K; but lower (e.g. 22k) should work too.

                      with the 0.01 uF cap in place the best I got was 97% - 103%
                      adding a 33k resistor I got to 99% - 102%
                      removing the cap (testing resistor only) I got 98% - 104%

                      so (a) probably both are of benefit, and (b) probably all of these measures are noisy and overlap.

                      The resistor is the technically correct solution. That board must have been designed by an amateur, because a professional electronics engineer would have included the resistor in the design.

                      Lower value resistors will give more noise immunity, but if the resistor is too low then it won't respond at all.

                      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
                      6 out of 10
                      • First post
                        6/10
                        Last post
                      Unless otherwise noted, all forum content is licensed under CC-BY-SA