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

    Inconsistent results with optical encoder wheel filament sensor

    Scheduled Pinned Locked Moved Solved
    Filament Monitor
    9
    168
    11.7k
    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.
    • JohnOCFIIundefined
      JohnOCFII @arhi
      last edited by

      @arhi said in Inconsistent results with optical encoder wheel filament sensor:

      btw looking at this: https://github.com/Duet3D/RepRapFirmware/pull/176

      they are mentioning shitty pulse generation from optical encoder

      If you have a scope, checking out how a single impulse looks like might explain stuff, ignore duet, just attach scope to the output of the endstop and rotate the wheel manually and look how signal looks like 🙂

      A shame that the OP didn't reply since 2018 to give an update. I'll certainly try that and report back when I get a chance.

      arhiundefined 1 Reply Last reply Reply Quote 0
      • arhiundefined
        arhi @JohnOCFII
        last edited by

        @JohnOCFII I Don't have any black scrap that are 1-2mm thick and no pla at all but I just tested 2 pieces of nontransparent PETG, 1mm (silver) and 2mm (red) and oh boy they are transparent to IR ...

        take a remote controller and your mobile phone and look at the front of the remote with the camera, press "volume+" or some other "non stop going" button and you should see it strobing with your camera. now put a piece of plastic 1mm thin between the camera and remote and ...

        this is my test with PETG
        https://youtu.be/97H7YQFgKSw

        and phone camera has IR filter and my remote led is not very strong (some old remote from drawer with batteries from who knows when)... on the other hand the IR receiver on the gap sensor is much more sensitive to IR .. dunno if PLA (if you printed that with PLA) is more transparent but..

        JohnOCFIIundefined 1 Reply Last reply Reply Quote 0
        • JohnOCFIIundefined
          JohnOCFII @arhi
          last edited by

          @arhi said in Inconsistent results with optical encoder wheel filament sensor:

          @JohnOCFII I Don't have any black scrap that are 1-2mm thick and no pla at all but I just tested 2 pieces of nontransparent PETG, 1mm (silver) and 2mm (red) and oh boy they are transparent to IR ...

          take a remote controller and your mobile phone and look at the front of the remote with the camera, press "volume+" or some other "non stop going" button and you should see it strobing with your camera. now put a piece of plastic 1mm thin between the camera and remote and ...

          this is my test with PETG
          https://youtu.be/97H7YQFgKSw

          and phone camera has IR filter and my remote led is not very strong (some old remote from drawer with batteries from who knows when)... on the other hand the IR receiver on the gap sensor is much more sensitive to IR .. dunno if PLA (if you printed that with PLA) is more transparent but..

          Fascinating! I just tested with some cut apart vase-mode prints and an IR webcam in a dark room. The light easily shined through 1 layer (about 0.42mm) and was somewhat viewable through 2 layers. I'll print up some larger disks (not in vase mode -- just to replicate what I have now in the encoder wheel) and use that with various coverings to see what happens. I have some thick "liquid electrical tape" that might work well.

          https://www.homedepot.com/p/Gardner-Bender-Black-Liquid-Electrical-Tape-4-oz-LTB-400/100119178

          arhiundefined 1 Reply Last reply Reply Quote 0
          • arhiundefined
            arhi @JohnOCFII
            last edited by

            @JohnOCFII dunno how the liquid tape will do against IR, note that the sensor in the end stop is much more sensitive than your phone's camera as it does not have an IR filter. ALU tape is always my go-to for these type of things. It's good for so many things around 3d printing I always stock it. 🙂

            https://www.amazon.com/aluminum-tape/s?k=aluminum+tape

            JohnOCFIIundefined 1 Reply Last reply Reply Quote 0
            • JohnOCFIIundefined
              JohnOCFII @arhi
              last edited by

              @arhi said in Inconsistent results with optical encoder wheel filament sensor:

              @JohnOCFII dunno how the liquid tape will do against IR, note that the sensor in the end stop is much more sensitive than your phone's camera as it does not have an IR filter. ALU tape is always my go-to for these type of things. It's good for so many things around 3d printing I always stock it. 🙂

              https://www.amazon.com/aluminum-tape/s?k=aluminum+tape

              Turns out -- I had purchased a roll of copper tape to try to resolve some other 3D printing related issue a couple of years ago. I assume that'll work here in place of aluminum?

              IMG_2011.jpeg

              1 Reply Last reply Reply Quote 0
              • arhiundefined
                arhi
                last edited by

                same thing only tad heavier 🙂 .. will work for this purpose

                JohnOCFIIundefined 1 Reply Last reply Reply Quote 0
                • JohnOCFIIundefined
                  JohnOCFII @arhi
                  last edited by JohnOCFII

                  @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                  same thing only tad heavier 🙂 .. will work for this purpose

                  The encoder wheel in this design is so small -- just not sure how well any tape will work.

                  I'm currently running the encoder wheel in the middle - 12 spokes.IMG_2013.jpeg

                  1 Reply Last reply Reply Quote 0
                  • arhiundefined
                    arhi
                    last edited by

                    should work ok with the middle one, glue the tape over the back side, then cut the "windows" open with a scalpel knife, should work like a charm

                    JohnOCFIIundefined 2 Replies Last reply Reply Quote 0
                    • JohnOCFIIundefined
                      JohnOCFII @arhi
                      last edited by

                      @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                      should work ok with the middle one, glue the tape over the back side, then cut the "windows" open with a scalpel knife, should work like a charm

                      Thanks for the advice. I'll try a fresh blade and give that a shot -- likely tomorrow.

                      1 Reply Last reply Reply Quote 0
                      • JohnOCFIIundefined
                        JohnOCFII @arhi
                        last edited by

                        @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                        should work ok with the middle one, glue the tape over the back side, then cut the "windows" open with a scalpel knife, should work like a charm

                        That wasn't as tricky as I thought it'd be. I do think I'll try it again with a fresh X-Acto blade.

                        IMG_2017.jpeg

                        1 Reply Last reply Reply Quote 0
                        • arhiundefined
                          arhi
                          last edited by

                          that should work like a charm, no transparency there now. the only question now is, will it provide a better readout now - was this transparency a problem or there's something else in play here.

                          JohnOCFIIundefined 1 Reply Last reply Reply Quote 0
                          • JohnOCFIIundefined
                            JohnOCFII @arhi
                            last edited by

                            @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                            that should work like a charm, no transparency there now. the only question now is, will it provide a better readout now - was this transparency a problem or there's something else in play here.

                            I prepared the new axle and wheel with the copper tape. I used two coats of a black Sharpie to "paint" the shiny copper and installed the new axle. Sadly, the results are very similar. This is also from the vase mode print with no PA and no retraction.

                            Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 3.000mm/pulse, allowed movement 30% to 1500%, check every 10.0mm, measured sensitivity 0.581mm/pulse, measured minimum 70%, maximum 2543% over 1021.1mm
                            

                            Next test will be in a few days when the new Saleae logic analyzer shows up - or if I decide to try the BitScope logic analyzer in a VM.

                            arhiundefined 1 Reply Last reply Reply Quote 0
                            • arhiundefined
                              arhi @JohnOCFII
                              last edited by

                              @JohnOCFII damn, so it was not transparency issue, damn, well, one idea out of the window 😞

                              dunno how to test for filament slipping on the tpu wheel

                              JohnOCFIIundefined 1 Reply Last reply Reply Quote 0
                              • JohnOCFIIundefined
                                JohnOCFII @arhi
                                last edited by

                                @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                                @JohnOCFII damn, so it was not transparency issue, damn, well, one idea out of the window 😞

                                😖

                                dunno how to test for filament slipping on the tpu wheel

                                By removing the optical sensor, I can visually watch the wheel move during the test print I was using. As it was a vase mode cylinder, it was easy to confirm the wheel was moving continuously and (within the calibration of my MARK 1 EYEBALL) consistently. So, while it is possible during a "normal" print where I might have moves at 250mm/sec or other such changes in filament movement, I don't think that is an issue with this particular test.

                                Next will be to try to get a sense of what data is coming out of that sensor.

                                arhiundefined 1 Reply Last reply Reply Quote 0
                                • arhiundefined
                                  arhi @JohnOCFII
                                  last edited by

                                  @JohnOCFII I'd still do that test without hotend

                                  • remove hotend so you have only extrder drive and sensor
                                  • disable "heating" in the g-code
                                  • allow "cold extrusion" in the firmware
                                  • do a print of a simple long extrusion g-code
                                  JohnOCFIIundefined 2 Replies Last reply Reply Quote 0
                                  • JohnOCFIIundefined
                                    JohnOCFII @arhi
                                    last edited by

                                    @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                                    @JohnOCFII I'd still do that test without hotend

                                    • remove hotend so you have only extrder drive and sensor
                                    • disable "heating" in the g-code
                                    • allow "cold extrusion" in the firmware
                                    • do a print of a simple long extrusion g-code

                                    Yes -- good idea. I will do that tomorrow.

                                    1 Reply Last reply Reply Quote 0
                                    • JohnOCFIIundefined
                                      JohnOCFII @arhi
                                      last edited by

                                      @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                                      @JohnOCFII I'd still do that test without hotend

                                      • remove hotend so you have only extrder drive and sensor
                                      • disable "heating" in the g-code
                                      • allow "cold extrusion" in the firmware
                                      • do a print of a simple long extrusion g-code

                                      I disconnected the extruder from the hot-end and set up some GCode to run so I could measure filament. I started with a test at 100mm, but M591 D0 is showing no data. Curious if not having the printer homed is causing the data collection to be ignored. Maybe I missed something.

                                      Here's my GCode:

                                      ; Test Extrusion 
                                      ;
                                      M302 P1                                            ; Allow cold extrusion
                                      G92 X0Y0Z0                                         ; duet now assume we are homed
                                      M82                                                ; extruder absolute position
                                      G92 E0                                             ; reset extruder to 0
                                      M591 D0 P7 C"connlcd.encb" S0 R50:1500 L1.2 E5 A1  ; config filament sensor
                                      ; G1 E1000 F120                                     ; extrude 1000mm at 2mm/sec, so will be extruding around 8 minutes
                                      G1 E100 F120                                       ; extrude 100mm at 2mm/sec, so will be extruding around 1.2 minutes
                                      M591 D0                                            ; query filament sensor
                                      

                                      Time for some yard work! Got to go rake leaves.

                                      arhiundefined JohnOCFIIundefined 2 Replies Last reply Reply Quote 0
                                      • arhiundefined
                                        arhi @JohnOCFII
                                        last edited by

                                        @JohnOCFII you have to save that script as a file and make RRF print that file, you can't just execute the script as in that case filament monitor is disabled

                                        1 Reply Last reply Reply Quote 0
                                        • JohnOCFIIundefined
                                          JohnOCFII @JohnOCFII
                                          last edited by

                                          @JohnOCFII said in Inconsistent results with optical encoder wheel filament sensor:

                                          @arhi said in Inconsistent results with optical encoder wheel filament sensor:

                                          @JohnOCFII I'd still do that test without hotend

                                          • remove hotend so you have only extrder drive and sensor
                                          • disable "heating" in the g-code
                                          • allow "cold extrusion" in the firmware
                                          • do a print of a simple long extrusion g-code

                                          I disconnected the extruder from the hot-end and set up some GCode to run so I could measure filament. I started with a test at 100mm, but M591 D0 is showing no data. Curious if not having the printer homed is causing the data collection to be ignored. Maybe I missed something.

                                          Here's my GCode:

                                          ; Test Extrusion 
                                          ;
                                          M302 P1                                            ; Allow cold extrusion
                                          G92 X0Y0Z0                                         ; duet now assume we are homed
                                          M82                                                ; extruder absolute position
                                          G92 E0                                             ; reset extruder to 0
                                          M591 D0 P7 C"connlcd.encb" S0 R50:1500 L1.2 E5 A1  ; config filament sensor
                                          ; G1 E1000 F120                                     ; extrude 1000mm at 2mm/sec, so will be extruding around 8 minutes
                                          G1 E100 F120                                       ; extrude 100mm at 2mm/sec, so will be extruding around 1.2 minutes
                                          M591 D0                                            ; query filament sensor
                                          

                                          Yes, I saved it as ColdExtrusioTest.g and "printed" it same as I would any other file.
                                          There must be something else I'm missing. I'll have to think about it.

                                          10/31/2020, 3:10:14 PM	M591 D0
                                          Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no calibration data
                                          10/31/2020, 3:07:37 PM	Finished printing file 0:/gcodes/Calibration/ColdExtrusionTest.g, print time was 0h 0m
                                          10/31/2020, 3:06:47 PM	M32 "0:/gcodes/Calibration/ColdExtrusionTest.g"
                                          File 0:/gcodes/Calibration/ColdExtrusionTest.g selected for printing
                                          Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no data received
                                          10/31/2020, 3:05:50 PM	M591 D0
                                          Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no calibration data
                                          10/31/2020, 3:03:59 PM	Finished printing file 0:/gcodes/Calibration/ColdExtrusionTest.g, print time was 0h 0m
                                          10/31/2020, 3:03:09 PM	M32 "0:/gcodes/Calibration/ColdExtrusionTest.g"
                                          File 0:/gcodes/Calibration/ColdExtrusionTest.g selected for printing
                                          Pulse-type filament monitor on pin (connlcd.encb,connlcd.3), disabled, sensitivity 1.200mm/pulse, allowed movement 50% to 1500%, check every 5.0mm, no data received
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • JohnOCFIIundefined
                                            JohnOCFII
                                            last edited by

                                            I homed the printer, then ran this file while it was still homed - no change in output.

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