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

    0% measured minimum

    Scheduled Pinned Locked Moved Solved
    Filament Monitor
    4
    15
    912
    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.
    • osteracundefined
      osterac
      last edited by

      Hi, I have a DIY filament movement sensor I built from these instructions. It has an optical sensor that monitors a wheel that the filament will spin as it moves through the device. I've tried to calibrate it, but the mm/pulse measurement seems to be fairly random. Not only that, there is a 0% measured minimum - so it's always going to think there is too little movement on the sensor. Despite that, it is getting readings within 2% accuracy. Here's what the calibration message says:

      4/17/2022, 5:24:16 PM 	m591 d0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 1.000mm/pulse, allowed movement 50% to 150%, check every 5.0mm, measured sensitivity 38.186mm/pulse, measured minimum 0%, maximum 19% over 725.5mm
      

      The extruder had pushed out 736.9mm of filament, so it's pretty close. If I set the mm/pulse to what it says, it will just say something different the next time I calibrate it, and always 0% measured minimum.

      These are my settings:

      M591 D0 P7 C"e0_stop" S0 E5 L1.0 R50:150 A1
      

      Any Idea what's going on here?
      Thanks.

      fractalengineerundefined 1 Reply Last reply Reply Quote 0
      • osteracundefined osterac marked this topic as a question
      • osteracundefined
        osterac @dc42
        last edited by

        @dc42 figured it out I think. The mounting screws for the sensor were too long so they weren't properly seating the sensor. Now that the sensor is in nice and tight the blinking is consistent. Haven't calibrated yet though.

        1 Reply Last reply Reply Quote 2
        • Phaedruxundefined
          Phaedrux Moderator
          last edited by

          Your M591 command looks a bit different than the one recommended by @fractalengineer in the instructions.

          M591 D0 P7 C"io6.in" S0 E51 L2.1 R50:150

          Z-Bot CoreXY Build | Thingiverse Profile

          osteracundefined 1 Reply Last reply Reply Quote 1
          • fractalengineerundefined
            fractalengineer @osterac
            last edited by fractalengineer

            @osterac Yep as @Phaedrux said (thank you for the ping) there is a notable discrepancy with your setting

            Can you try changing E5 to E51? This helps averaging out the pulses over a whole turn of the wheel; smoothes out printing artifacts of your encoder wheel

            L value also depends on which encoder wheel model you chose to go with, you could get a base value by dividing that 51mm perimeter by the amount of slots, but eventually you would replace it with the closest measured value

            --> in your case 38mm is abnormally high; I would check that the rubber wheel has a good grip on the filament and nothing is rubbing

            Railcore II ZL

            1 Reply Last reply Reply Quote 1
            • osteracundefined
              osterac @Phaedrux
              last edited by osterac

              @phaedrux
              I set those values and I got this

              Pulse-type filament monitor on pin e0stop, disabled, sensitivity 2.100mm/pulse, allowed movement 50% to 150%, check every 51.0mm, measured sensitivity 23.145mm/pulse, measured minimum 7%, maximum 14% over 671.2mm
              

              Better!
              RTFM I guess. I'll fool around with it some more.

              @fractalengineer
              Will do. Thanks so much for your replies.

              I think I just printed Axle_A.stl, not 8x, 12x, 24x, or revision 3.

              I used 95a tpu for the rubber wheel.

              fractalengineerundefined 1 Reply Last reply Reply Quote 0
              • fractalengineerundefined
                fractalengineer @osterac
                last edited by

                @osterac hmm that's still way off; ideally you would get as near to 100% on both min/max

                You did print the revision 2 right? With the schmitt-trigger sensor?

                If so you might want to check if the axle is spinning properly when you're feeding filament through the sensor;

                Just take a piece by hand, feed it through the sensor and watch for the axles spinning/sensor blipping.

                On V2 you can also pinch the axle while it spins to feel how well does it grips

                Railcore II ZL

                osteracundefined 1 Reply Last reply Reply Quote 1
                • osteracundefined
                  osterac @fractalengineer
                  last edited by osterac

                  @fractalengineer
                  On Thingiverse it says version 1.2 and various parts have various revision numbers - the parts for the body do not have revision numbers. I found it hard to tell which file to print because there are stl files with no revision numbers and 3mf files that do have revision numbers. I just printed the stl files. I do have the schmitt-trigger that is linked to on thingiverse.
                  I checked out the grip of the wheel and there is one spot on the wheel that doesn't grip quite as well as the rest. Could be that it is slipping during retraction.
                  Here's my sensor:
                  20220424_150213.jpg

                  edit I cracked it open and there seems to be a very slight indentation on the rubber wheel. I'll try printing a new one.

                  fractalengineerundefined 1 Reply Last reply Reply Quote 0
                  • fractalengineerundefined
                    fractalengineer @osterac
                    last edited by

                    @osterac Ok I just updated the whole files on the thing; there's only one version now for clarity

                    And yep you really need your seams to be well tuned on that wheel; if they're protruding a bit you can still trim them with flush cutters or a razor blade

                    Railcore II ZL

                    osteracundefined 1 Reply Last reply Reply Quote 1
                    • osteracundefined
                      osterac @fractalengineer
                      last edited by osterac

                      @fractalengineer
                      Finally got my printer to make a decent wheel. Here's the result of calibration now:

                      m591 d0
                      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 25.992mm/pulse, allowed movement 55% to 95%, check every 51.0mm, measured sensitivity 24.010mm/pulse, measured minimum 87%, maximum 177% over 33326.1mm
                      

                      Look okay? Is 177% too high?

                      dc42undefined 1 Reply Last reply Reply Quote 0
                      • dc42undefined
                        dc42 administrators @osterac
                        last edited by dc42

                        @osterac you have a very high mm per pulse value (24mm). So you can only measure filament lengths to the nearest multiple of 24mm. This means that in order to get accurate measurements, the length of filament sampled must be many times 24mm. You are using only 51mm, so you can expect to get large variations. If you increase the sampling length to 100mm or more, the variation will reduce.

                        The instructions on the page you linked to say that the mm per pulse should be 1.2mm, so I don't think you can have built it correctly.

                        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

                        osteracundefined 1 Reply Last reply Reply Quote 0
                        • osteracundefined
                          osterac @dc42
                          last edited by

                          @dc42

                          Thanks for explaining that, always helps to know how things work.

                          I could try re-printing the sensor wheel... Or
                          maybe my sensor is defective? There are some models of the sensor wheel with fewer teeth but that seems like it would decrease accuracy?
                          Could it still be a problem with slippage?

                          Sorry for all the questions... Hope I'm not bothering you...

                          1 Reply Last reply Reply Quote 0
                          • Phaedruxundefined
                            Phaedrux Moderator
                            last edited by

                            It's no bother at all. We're here to try and help people figure it all out.

                            Can you make a video of your extruder in use?

                            Z-Bot CoreXY Build | Thingiverse Profile

                            osteracundefined 1 Reply Last reply Reply Quote 0
                            • osteracundefined
                              osterac @Phaedrux
                              last edited by

                              @phaedrux

                              Here's a YouTube link
                              https://youtu.be/xuf4eaktg_w

                              dc42undefined 1 Reply Last reply Reply Quote 0
                              • dc42undefined
                                dc42 administrators @osterac
                                last edited by

                                @osterac thanks. It appear s to me that the flashing of the red light in the filament monitor is in frequent (so the 24mm per pulse value is believable) but is also somewhat erratic. Perhaps there isn't a clear path between the opto switch transmitter and receiver through the slots in the wheel?

                                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

                                osteracundefined 1 Reply Last reply Reply Quote 0
                                • osteracundefined
                                  osterac @dc42
                                  last edited by

                                  @dc42 figured it out I think. The mounting screws for the sensor were too long so they weren't properly seating the sensor. Now that the sensor is in nice and tight the blinking is consistent. Haven't calibrated yet though.

                                  1 Reply Last reply Reply Quote 2
                                  • osteracundefined osterac has marked this topic as solved
                                  • osteracundefined
                                    osterac
                                    last edited by

                                    Yeah, looks good. Here's the calibration:

                                    Pulse-type filament monitor on pin e0stop, disabled, sensitivity 4.141mm/pulse, allowed movement 95% to 103%, check every 51.0mm, measured sensitivity 4.186mm/pulse, measured minimum 97%, maximum 101% over 1837.5mm
                                    

                                    I used the 12x sensor wheel rather than the default 24x wheel (fewer teeth), not sure if that helps or not.

                                    Anyway, thanks for your help guys. I appreciate it.

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