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

    Filament diameter tolerance compensation

    Scheduled Pinned Locked Moved
    Firmware wishlist
    7
    11
    1.3k
    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.
    • NitroFreakundefined
      NitroFreak
      last edited by

      Hi,
      I want to implement a tolerance compensation via continuously measuring the diameter with a caliper and changing the extrusion factor based on that information.
      What would be easier ?

      1. Implement a diameter measurement system separately with an arduino and have that feed the information via an unused I/O Pin into the Duet to change the Extrusion factor
      2. Implement directly in the Duet. ( I would not know where to start though)

      The reason to why is that I work with some very high temperature materials like PPSU, which is not available in very tight tolerances. My typical filament has 1.75+0.05-0.07mm tolerance.
      Because the filament is so expensive and I still want good quality prints, i thought about the diameter compensation.

      Any help or point in the right direction would be great

      Thank you
      Max

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

        Maybe with a device like this?

        https://www.tindie.com/products/JasonKits/3d-printer-filament-diameter-sensing-assembled-2/

        Z-Bot CoreXY Build | Thingiverse Profile

        Alex.crundefined 1 Reply Last reply Reply Quote 0
        • T3P3Tonyundefined
          T3P3Tony administrators
          last edited by

          We have considered this in the past and there are probably a few forum discussions if you look back. Broadly there are two issues to overcome before it makes sense to tackle the job of changing the firmware:

          1. Measuring the diameter accurately enough to have a sensible value for the diameter, this would need to be done on two planes as filament that is poor enough to benefit from this can also be oval in cross section, not round.

          2. Characterising the elasticity in the system between the measuring device and the extruder output accurately enough that the compensation is applied the right point of any pressure change due to the change in filament diameter.

          Those are both hard problems to solve, before we get to the firmware modification that would be required to handle this and synchronise it with pressure advance and non linear extrusion etc.

          Every time we discussed this before we came to the conclusion that the way forward was to purchase filament with a consistent diameter.

          www.duet3d.com

          NitroFreakundefined 1 Reply Last reply Reply Quote 1
          • NitroFreakundefined
            NitroFreak @T3P3Tony
            last edited by

            @t3p3tony

            Hi Tony,
            Thanks for the considerations.
            Unfortunately buying different filament is not an option for me, i have to print PPSU which is extremely difficult to make into filament and to keep good tolerances. It is this filament. https://www.solvayamshop.com/ccrz__ProductDetails?viewState=DetailView&cartID=&sku=Z58-39679&isCSRFlow=true&portalUser=&store=&cclcl=en_US

            My idea for the mechanical side of things was to use one or a pair of calipers with ball bearings screwed to them and tensioned with a spring, that the filament runs through. It is very easy to latch on to the calipers with an arduino and read out the measurements. I can then turn the measurements into a comparison of the area and compare it to the should-be area, which then can be converted into an extrusion factor, which the arduino could then tell the Duet via a PWM signal to adjust, say 0 was a 0.8 extrusion factor, 127 was a 1.0 extrusion factor and 255 was a 1.2 extrusion factor. This would then provide a "good enough" resolution.
            @Phaedrux Thank you for the link, it is interesting. However, i dont know how accurate that optical measurement would be. I think i would trust a pair of calipers more
            I have found that Marlin can do a similar thing, just within the firmware. found here
            http://marlinfw.org/docs/gcode/M405.html
            They have a setting for adjusting the distance between the measurement point and the hot end

            In the Duet it would be a simple read of an Input pin and allocate that value to the extrusion factor.
            Could you maybe point me in the right direction of where to do that?

            Thank you
            Max

            1 Reply Last reply Reply Quote 1
            • koreandiundefined
              koreandi
              last edited by

              Dear DUET-Team and DUET-Users,

              I don´t want to grab out such an old topic...
              But I am standing on a point to decide wheter I keep on going with DUET or Marlin/SKR.
              I need to print parts with highly metallic-filled filament. The parts will be debindered and sintered and need to be filled by 100% in volume.
              Having am Filament with 1,75 mm +/- 0,05 mm means the deviation can be 12 %. Most of the filament I tested so far do even have higher deviation within small sections on the spool.

              Is there any way to use a softwarecompensation triggered by any kind of sensor?

              There is M221 or M404 to influence it. But compared to Marlin there is no M405 to set the distance.

              It would be nice to hear about any solution.
              I want to stay with DUET and know a printer-developer that highly want to use such a feature.

              Greetings
              Andreas

              oliofundefined 1 Reply Last reply Reply Quote 0
              • oliofundefined
                oliof @koreandi
                last edited by oliof

                Hi @koreandi, another option might be a custom extruder that adjusts forward purely based on the mechanical principle of driving the filament. According to its inventor, the VDE or Schnekenstruder is such a design.

                It is not commercially available, but you can find out more about it -- including BOM and how to build it -- at the venerable RepRap forum. Look around in that section of the forum, there are more postings about it.

                <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                koreandiundefined 1 Reply Last reply Reply Quote 1
                • koreandiundefined
                  koreandi @oliof
                  last edited by koreandi

                  @oliof said in Filament diameter tolerance compensation:

                  Schnekenstruder

                  Thanks oliof for your quick reply.

                  The printers extruder is based on two belts transporting the material. The Belts eliminate any grabbing into the material and the feedrate is not influenced by any change in filamentdiameter that results to another circumference on the driving wheel.
                  The filament used is a WC-Co-filled fialement which is extremly brittle. I am not sure if such a rotaryextruder (simmilar to fuselab-design) might work.

                  oliofundefined 1 Reply Last reply Reply Quote 1
                  • oliofundefined
                    oliof @koreandi
                    last edited by

                    @koreandi yeah that might be a bit of a challenge since the Schnekenstruder would be cutting a tiny groove into the filament (less than normal hobbed gear deformation for most plastics, but tungsten/cobalt filled is kind of a special case ...).

                    <>RatRig V-Minion Fly Super5Pro RRF<> V-Core 3.1 IDEX k*****r <> RatRig V-Minion SKR 2 Marlin<>

                    1 Reply Last reply Reply Quote 0
                    • Alex.crundefined
                      Alex.cr @Phaedrux
                      last edited by

                      @phaedrux said in Filament diameter tolerance compensation:

                      Maybe with a device like this?

                      https://www.tindie.com/products/JasonKits/3d-printer-filament-diameter-sensing-assembled-2/

                      Or this:
                      https://www.prusaprinters.org/prints/57154-infidel-inline-filament-diameter-estimator-lowcost

                      Voron2.4/Duet3 SBC+6HC+3HC+1LC+1HCL(x2) - Delta/Duet2 Wifi - CubePro/Duet2 Wifi+Duex5 - Laser/Duet3 Mini5+ - Cel Robox - U̶p̶3̶0̶0̶+/D̶u̶e̶t̶3̶ ̶6̶H̶C̶+̶LC1̶ - F̶T̶-̶5̶/̶D̶u̶e̶t̶2̶ ̶W̶i̶f̶i̶ - S̶o̶l̶i̶d̶o̶o̶d̶l̶e̶

                      koreandiundefined 1 Reply Last reply Reply Quote 0
                      • koreandiundefined
                        koreandi @Alex.cr
                        last edited by

                        @alex-cr

                        The hardware should not be the problem.
                        It is the firmware/software implementation.

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

                          I'll add this to the firmware wish list. What is the preferred communication method between the filament width measuring system and the Duet: async serial, or something else?

                          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
                          • Phaedruxundefined Phaedrux moved this topic from General Discussion
                          • T3P3Tonyundefined T3P3Tony referenced this topic
                          • First post
                            Last post
                          Unless otherwise noted, all forum content is licensed under CC-BY-SA