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

    filament sensor def. not very usable with PA

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    3
    11
    351
    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.
    • arhiundefined
      arhi
      last edited by arhi

      7/4/2020, 7:59:06 PM 	M591 D0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, no data received
      7/4/2020, 7:59:21 PM 	M32 "0:/gcodes/elephant2.gcode"
      File 0:/gcodes/elephant2.gcode selected for printing
      7/4/2020, 8:11:09 PM 	M591 D0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.121mm/pulse, measured minimum 0%, maximum 115% over 672.5mm
      7/4/2020, 8:39:27 PM 	M591 D0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.120mm/pulse, measured minimum 0%, maximum 117% over 2924.6mm
      7/4/2020, 8:50:36 PM 	M591 D0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.120mm/pulse, measured minimum 0%, maximum 120% over 3931.8mm
      7/4/2020, 9:06:13 PM 	M591 D0 P7 C"^e0stop" L0.119 R90:110 E3 S0 ; same data again to reset stat
      7/4/2020, 9:06:17 PM 	M591 D0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, no calibration data
      7/4/2020, 9:06:27 PM 	M591 D0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.120mm/pulse, measured minimum 87%, maximum 107% over 24.4mm
      7/4/2020, 9:22:46 PM 	M591 D0
      Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.122mm/pulse, measured minimum 76%, maximum 119% over 1688.1mm
      

      looks like pulsing with PA does not work 😞 ... I did not notice any reverse action other than retractions but this is just unreliable to use 😞

      as the print progresses the "sensitivity" value increses (real value here is ~0.118656), the min and max both decrease/increase so much that the measurements makes no sense 😞

      EDIT: references for earlier talks on this:
      RRF 3.1.1 M572 breaks M591

      When you enable pressure advance, depending on the speed and acceleration you use, the extruder may reverse during the last part of a printing move. So it's important that the filament monitor senses the direction of motion and passes it to the Duet along with the amount of motion, as the Duet3D filament monitors do. If the filament monitor just sends motion pulses with no direction information, then the reverse motion will be misinterpreted as forward motion; so it will appear to RRF that there is too much filament motion.

      Here's my printable optical encoder wheel filament sensor!

      no point in building one if using PA with current firmware; if and how to "fix" it might be better discussed in a dedicated thread leaving the warning here for now?

      1 Reply Last reply Reply Quote 1
      • fcwiltundefined
        fcwilt
        last edited by

        Hi,

        Well according to that dump the device is disabled. Is that true?

        Frederick

        Printers: a small Utilmaker style, a small CoreXY and a E3D MS/TC setup. Various hotends. Using Duet 3 hardware running 3.4.6

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

          @fcwilt said in filament sensor def. not very usable with PA:

          Well according to that dump the device is disabled. Is that true?

          yes, hence it did not pause the print when the read data went over 110% or below 90%, otherwise it behaves just like it's enabled

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

            @fcwilt this is not new, we already discussed it in different thread as the mechanism does not take filament direction into account. During retractions it just ignores input. PA speed/slow down the extruder (and reverse it in some cases) and while I never notice any reverse movement on my setup looks like the slowdown is also not followed up with the filament tracking module 😞

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

              @dc42 sorry I know you are now overloaded with new hw but if you can help out a bit maybe we can solve this 🙂

              I'm looking at the MagneticFilamentMonitor and it's sending a data word with 10bit "filament position". If I convert output of the encoder to a compatible output and send "filament position" that I track locally so increase in one direction, decrease in other (overflow?!) will this work with PA and DAA ? Is the only problem direction or there are other issues with PA/DAA not handling pulse inputs?

              I see that LaserFilamentMonitor is sending 11bit position with 100count/mm configured. Same question as magnetic one?

              It would be super simple to create a small board that takes AB from encoder and generates these signals for the RRF. I can go with ATtiny44A to be compatible with existing boards, should be quick and simple project, but makes no sense in doing it if it will not work. @omni has duet's laser sensor and he's getting similar span of min/max as I am with it with PA+DAA on so that's why I'm bugging you with questions

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

                looks like DDA is not a problem, filament monitor code fetches DDARing::GetAccumulatedExtrusion so it's just PA that's not in this chain 😞

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

                  @arhi said in filament sensor def. not very usable with PA:

                  looks like DDA is not a problem, filament monitor code fetches DDARing::GetAccumulatedExtrusion so it's just PA that's not in this chain 😞

                  GetAccumulatedExtrusion looks at the actual number of microsteps taken, so it does take PA into account.

                  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

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

                    @dc42 said in filament sensor def. not very usable with PA:

                    GetAccumulatedExtrusion looks at the actual number of microsteps taken, so it does take PA into account.

                    direction too? it reduce the number if PA reverses the direction of the extruder?

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

                      @arhi said in filament sensor def. not very usable with PA:

                      @dc42 said in filament sensor def. not very usable with PA:

                      GetAccumulatedExtrusion looks at the actual number of microsteps taken, so it does take PA into account.

                      direction too? it reduce the number if PA reverses the direction of the extruder?

                      Yes. However, there is a short delay between the filament monitor starting to take a reading and then sending it to the Duet, so PA does reduce the accuracy of the correlation a little.

                      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
                      • arhiundefined
                        arhi
                        last edited by

                        I found a bug in my design that allowed filament to slip, that's why I had those "zero" readings... now with fixed design it's much better:

                        Pulse-type filament monitor on pin e0stop, disabled, sensitivity 0.119mm/pulse, allowed movement 90% to 110%, check every 3.0mm, measured sensitivity 0.124mm/pulse, measured minimum 79%, maximum 131% over 9440.3mm
                        

                        this looks usable. If a get a clog/block the min will quickly drop below 50% and the print will pause.. so I just need to add a bigger span than original 90-110 and it should work.

                        Looking at the two "smart" sensors too, I think I'll make one attiny adapter for the encoder type to behave like laser or magnetic one or you think it is better to add a new type of sensor (smart encoder for e.g.) ?

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

                          def. works.. finished few prints with enabled sensor with PA working ..

                          Pulse-type filament monitor on pin e0stop, enabled, sensitivity 0.124mm/pulse, allowed movement 50% to 200%, check every 3.0mm, measured sensitivity 0.124mm/pulse, measured minimum 74%, maximum 117% over 3091.4mm
                          

                          so if PA is not reversing everything is ok. the 0% minimum was a hardware failure (fixed :D)

                          so def makes sense to add a converter to convert quadrature output to the position data to send like those smart sensors

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