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

    bowden drive to direct drive set up, but how do I configure it?

    Scheduled Pinned Locked Moved
    Duet Hardware and wiring
    6
    21
    998
    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.
    • Gordon Linundefined
      Gordon Lin
      last edited by

      @JLink33 I wanted to send you a PM but I don't quite know how, so here it is 🙏

      Voron 2.4, with Revo hot end, duet 6hc + 3hc + raspberry pi
      latest unstable versions of firmware + dwc version
      (sorry but I am away from my printer so I will post my config file first thing tomorrow if necessary)
      all of my prints are single-color only (not into multi-color prints)
      I like the Revo system very much and would like to stick with it
      had multiple printers that were Bowden driven, switched to direct drive, and would never look back

      Goal---to add the ability to print with dedicated support material and remain direct drive.

      I looked at the palette (too expensive, not reliable enough)
      I looked at the ERCF (too finicky, too extreme)
      I looked at the Prusa MMU2 (nope, just nope)

      This here perfectly describes the solution:
      https://forum.duet3d.com/topic/12939/dual-color-direct-drive-switching-extruder
      @JLink33 would you like to be a superhero and share your config file? what you did exactly matches my need and I would greatly appreciate your help and any extra info/tips you can provide

      Do you have a GitHub page for your above setup by any chance?

      I assume to get this going properly there will be other macros / special slicer settings needed, would you mind sharing those as well?

      If you would like some payment in exchange for your time/info I am more than happy to discuss further.

      PS:
      this here also perfectly matches my need, but it is klipper:
      https://github.com/HelgeKeck/rome

      this here almost perfectly matches my need, also very interesting:
      https://www.printables.com/model/436830-voron-stealthburner-taichi-bowden-assembly

      Gordon Linundefined 1 Reply Last reply Reply Quote 0
      • Gordon Linundefined
        Gordon Lin @Gordon Lin
        last edited by

        @deckingman can you give some guidance? you are the mixing master right?? 🙂

        normally when printing with main filament, direct extruder 1 (DX1) and working in sync with bowden extruder 1 (BX1),
        when changing filament----DX1 and BX1 working in sync to back up filament a certain amount
        then DX1 and BX2 working in sync to push filament forward to load / print support material

        I can set up 3 extruders in the config file, but for the life of me I can't figure out how to make DX1, BX1 and BX2 working together as described above.

        Thanks for your help

        deckingmanundefined Gordon Linundefined 2 Replies Last reply Reply Quote 0
        • deckingmanundefined
          deckingman @Gordon Lin
          last edited by

          @Gordon-Lin It's true that I've done a fair bit of work using multi-input hot ends but I wouldn't describe myself as a master of anything. If I understand what you are trying to do, it isn't mixing but rather swapping between two filaments.

          But I'll have a stab. I'm using my phone right now so can't easily tell you the exact commands to use.

          Let's start by referring to the extruders correctly. As I understand it, you have a direct drive extruder which is being fed by one of two Bowden extruders in a "push-pull" arrangement. So define the 3 extruders using M584 in the order Direct Drive, Bowden1, Bowden2. From now on, in your configuration they will be "known" as D0, D1 and D2.

          Now you define two tools. Tool 0 will use extruders D0 and D1 (so D0:1). Tool 1 will use extruders D0 and D2 (so D0:2). Both tools will use the same heater and fan(s).

          Then you need to set the mixing ratio for each tool to use 100% of both extruders. I can't offhand remember the gcode to use but it will be in the format 1.00:1.00.

          So now when you extrude or retract using tool 0, extruder drives 0 and 1 will turn at the same speed, and when you extrude or retract using tool 1, extruder drives 0 and 2 will turn.

          Does that help?

          Ian
          https://somei3deas.wordpress.com/
          https://www.youtube.com/@deckingman

          Exerqtorundefined Gordon Linundefined 2 Replies Last reply Reply Quote 0
          • Exerqtorundefined
            Exerqtor @deckingman
            last edited by

            @Gordon-Lin I would strongly recomend you to pay extra focus when e-step calibrating on all the extruders to avoid issues.

            • After setting it up like @deckingman described over, remove the nozzle from your revo, enable cold extrusion (M302 P1).

            • Remove the bowden tube connected to the extruder mounted on the revo.

            • Select/activate T0, then first e-step calibrate the extruder that feeds for T0.

            • Unload the feed extruder for T0, put the filament directly in the revo. And calibrate that.

            • Input the e-step values you end up with. Unload everything again, then connect the bowden to the Revo extruder. Load filament once again and try to extrude and see if everything goes smooth.

            • Once thats done repeat those step on T1.

            • With all the e-step calibration done (and values input in config.g restart the printer.

            • Mount the nozzle, heat up to the temp you use with your filament and start tuning extrusion/flow multiplier.

            1 Reply Last reply Reply Quote 0
            • Gordon Linundefined
              Gordon Lin @Gordon Lin
              last edited by

              @deckingman Thanks! that does help a lot.

              My mind set was stuck in only having 1 tool defined because the the printer only has 1 hot end, then it is just all wrong from there 😵

              What you described makes perfect sense and I am will give it a go from there.

              Once again thank you 🙂

              1 Reply Last reply Reply Quote 0
              • Gordon Linundefined
                Gordon Lin @deckingman
                last edited by

                @Exerqtor Thank you for the advice.

                I have only ever printed using 1 extruder at a time, but realized working out e-steps on paper based on gear ratio + datasheets of stepper motor only gets you in the ball park, where I still have to fine tune/calibrate by doing actual extrusion measurement tests like you described.

                My initial plan is to have D0 (the original CW2 extruder for voron stealthburner) working in tandem with 2 x orbiter 2.0 extruders as D1 and D2, but since your suggestion, I now have more questions:

                1. in your opinion would it be easier to have D0 as orbiter 2.0 as well? I assume since we are calibrating e-steps it won't matter to have different extruders for D0, D1 and D2?
                2. I assume even the same brand and batch of extruders will have different e-steps? so I will calibrate e-steps for all 3?
                3. how close/accurate do I have to calibrate the e-steps to? currently for a single extruder I extrude 100mm of filament then cut it as consistently as possible and measure as best as possible, but maybe only to +/-0.25mm. I can see this being a problem if we have 2 extruders working in tandem over long prints. Any tips and tricks to calibrate more accurately?

                Thank you again for your advice 🙂

                jens55undefined 1 Reply Last reply Reply Quote 0
                • jens55undefined
                  jens55 @Gordon Lin
                  last edited by

                  @Gordon-Lin, I am thinking that you will likely have to plan in some slippage for the feed motors. Enough slippage that the direct drive extruder can overcome the friction introduced by the feeder motor. In my mind (and only guessing here), it is impossible to match the feed rate of the two motors 100%. As an example, feed rate changes based on how much pressure is applied to the feed rollers. An increase in pressure results in the teeth digging in just a tad more which changes the effective diameter of the feed roller which changes the effective circumference which changes how much filament is fed for one turn of the feed rollers.
                  Now maybe I am over-thinking this but in my mind even a minute difference in feed between the two motors will, over a lengthy print, result in problems. I would think the the feed extruder needs to feed just a tad less than the direct drive extruder at the nozzle so that you don't end up compressing (and possibly screwing things up) in the section between the two motors.
                  Under the assumption that the feed extruder doesn't need to have very much feeding power just to move the filament, it would make sense to me to reduce the pressure of the feed rollers onto the filament to allow some slippage.
                  If it was me, I would use an older style single pressure roller mechanism for the feed motor which, by the nature of the mechanism, will always be less powerful than a double roller BMG style feed mechanism.

                  Gordon Linundefined 1 Reply Last reply Reply Quote 0
                  • Gordon Linundefined
                    Gordon Lin @jens55
                    last edited by

                    @jens55 thanks for your advice.

                    Yeah what you said is bang on. I think having some slippage on the Bowden extruders is a good thing---like you said, impossible to calibrate them 100% equal and over longs prints the difference will add up, and something has to give.

                    I was planning on splashing out to buy 3 x orbiter 2.0 extruders, in light of your advice I think I will stick with the current CW2 extruder as the main directive drive extruder, then use something cheap like this for the Bowden extruders.
                    df60932c-b438-41bc-a69d-b58d2a0d5bed-image.png

                    what do you think?

                    jens55undefined deckingmanundefined 2 Replies Last reply Reply Quote 0
                    • jens55undefined
                      jens55 @Gordon Lin
                      last edited by

                      @Gordon-Lin, that extruder is exactly what I was thinking about. Please note that I have not tried any of this so I might be totally wrong!

                      Gordon Linundefined 1 Reply Last reply Reply Quote 0
                      • deckingmanundefined
                        deckingman @Gordon Lin
                        last edited by

                        @Gordon-Lin Push-pull arrangements are tricky to do for the reasons that have been pointed out. "Built-in slippage" is one approach that could work. Another is to calibrate the "push" extruder so that it always pushes very slightly more than the "pull" extruder. That way, there will always be some slack in the filament between the two. Of course, over a very long print, this slack will form a loop which will need to be accommodated somehow. You'd need to do the maths but let's say you use 100 metres of filament between colour changes. If the push extruder was calibrated to give 0.1 % more than the pull extruder, then you'd end up with a loop of 0.1 metres or 100mm (about 4 inches in old money), which shouldn't be too difficult to accommodate. IIRC, a full 1Kg spool is about 300 metres (depending on filament) so even that would only make a loop of about 300mm or about a foot in old money.

                        Ian
                        https://somei3deas.wordpress.com/
                        https://www.youtube.com/@deckingman

                        Gordon Linundefined 1 Reply Last reply Reply Quote 0
                        • deckingmanundefined
                          deckingman
                          last edited by

                          Another approach is to have sensor in the filament between the two extruders. It could be a simple micro switch that gets triggered when the filament is taut and not triggered when it is slack. You set the switch up as a trigger and run a macro that feeds (say) 100mm of filament from the "push" extruder whenever that trigger occurs.

                          Ian
                          https://somei3deas.wordpress.com/
                          https://www.youtube.com/@deckingman

                          jens55undefined OwenDundefined 2 Replies Last reply Reply Quote 0
                          • jens55undefined
                            jens55 @deckingman
                            last edited by

                            I keep picturing computer tape drives that old main frame computers used. These used a system just like that. There was a loop of tape and if the loop got too small, more tape would be fed into that 'buffer' loop.
                            I would hate to be the person trying to come up with all the macros required for feeding filament or retracting filament and all the edge cases that might occur. My brain is hurts just thinking about it .... Still, that would be the 'proper' way of doing it rather than the much simpler slippage system.

                            deckingmanundefined 1 Reply Last reply Reply Quote 0
                            • OwenDundefined
                              OwenD @deckingman
                              last edited by OwenD

                              In my day job I sell high end welding equipment, some of which has two or more feed motors.
                              In some cases the torch motor also changes direction, much like retraction, but at a much higher frequency.
                              They way it is handled is to have a "boomerang" shaped buffer between the main motor and the torch motor.
                              Inside is a section of ptfe tube attached to a pivoting arm.
                              So as @deckingman has suggested, if the front motor retracts the tube will "bulge" out and the speed of the rear motor is reduced or stopped.
                              If the rear motor lags, it hits a limit and either speeds up the main motor or stops and alarms.
                              The torch motor is a servo and the main motor is a DC unit, so they don't bother trying to get fully coordinated movements.
                              One could probably also use a potentiometer with an arm.
                              You could monitor the value in daemon.g and adjust the steps per mm based on its position.

                              Gordon Linundefined 1 Reply Last reply Reply Quote 0
                              • deckingmanundefined
                                deckingman @jens55
                                last edited by deckingman

                                @jens55 said in bowden drive to direct drive set up, but how do I configure it?:

                                .....................I would hate to be the person trying to come up with all the macros required for feeding filament or retracting filament and all the edge cases that might occur. .....................

                                There isn't all that much to worry about. If you use firmware retraction (G10/G11), any and all extruders that are associated with a tool get retracted and un-retracted simultaneously. That's how it works with a multi-input hot end because retracting one filament simply pulls filament from one or more of the unused inputs rather than the nozzle tip. So if the OP uses firmware retraction on his push-pull setup, he doesn't have to worry.

                                EDIT. This is just like using a mixing hot end - the only difference is that one must ensure that the sum of the mixing ratios adds up to one (or 100% if you prefer) whereas in a push-pull arrangement, both extruders must be set to 1 or 100%.

                                Ian
                                https://somei3deas.wordpress.com/
                                https://www.youtube.com/@deckingman

                                1 Reply Last reply Reply Quote 0
                                • Gordon Linundefined
                                  Gordon Lin @jens55
                                  last edited by

                                  @jens55 all good, I understand the nature of all this, nothing is guaranteed---I proceed at ma own risk 🙂

                                  1 Reply Last reply Reply Quote 0
                                  • Gordon Linundefined
                                    Gordon Lin @deckingman
                                    last edited by Gordon Lin

                                    @deckingman wow, the math really puts it in perspective how little bit of difference really adds up

                                    yeah, imma dial back the tension of the push extruders so they can push filament down but would slip if encountered "too much" resistance. How much is too much is yet to be determined.

                                    I just thought of another way--------instead of using mechanical slippage by dialing back extruder pinch tension, we keep the pinch tension as normal, but artificially limit the extruder motor current to deliberately let the motor skip steps when necessary, like a "electrical slippage" to "take up the slack".

                                    I assume deliberately making the extruder skipping steps won't harm the motor drivers? @dc42 any input/thoughts on this? Thank you for your time 🙂

                                    1 Reply Last reply Reply Quote 0
                                    • Gordon Linundefined
                                      Gordon Lin @OwenD
                                      last edited by

                                      @OwenD thanks for your input. that welding system is smart and interesting, quite logical if you ask me.

                                      I am not Gcode wizard so I think I will stick with what I know best which is mechanical design----so I will keep it simple at first, build in slippage on the push extruder it is 😀

                                      1 Reply Last reply Reply Quote 0
                                      • Gordon Linundefined
                                        Gordon Lin
                                        last edited by

                                        guys, thank you for your input, I truly appreciate it.

                                        I have ordered the extruders and will pick them up this avo...I will start experimenting / testing when I can (in a day or so) and will keep updating this thread to keep you guys in the loop 😁

                                        Gordon Linundefined 1 Reply Last reply Reply Quote 0
                                        • Gordon Linundefined
                                          Gordon Lin @Gordon Lin
                                          last edited by

                                          @deckingman @Exerqtor @jens55 @OwenD I got it roughly configured and working----3 stepper motors on the bench and if I select T0, D0+D1 spins, if I select T1, D0+D2 spins. Thanks again for your help 🙂

                                          the next part is to add icing on the cake, and this will be a filament Y splitter, with microswitch on all 3 paths + a bit of (maybe a lot of) conditional G code to make this idiot proof 😃

                                          I have attached my config.g here, hopefully this can serve as a starting point for someone 🙂

                                          jens55undefined DavidG_68kg_PLAundefined 2 Replies Last reply Reply Quote 3
                                          • jens55undefined
                                            jens55 @Gordon Lin
                                            last edited by

                                            @Gordon-Lin, glad you got it going! BTW, no such thing as idiot proof 🙂

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