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

    Optimizing IDEX machine and Prusa Slicer

    Scheduled Pinned Locked Moved
    Firmware wishlist
    5
    31
    2.8k
    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.
    • oliofundefined
      oliof @yoshimitsuspeed
      last edited by

      @yoshimitsuspeed I havent tested this yet but you may be able to trick RRF by setting the mixing ratio to (1.75/1.74):(1.75/1.71) to get different effective flow rates.

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

      yoshimitsuspeedundefined 1 Reply Last reply Reply Quote 0
      • yoshimitsuspeedundefined
        yoshimitsuspeed @oliof
        last edited by

        @oliof
        I would be pretty disappointed if that is the best solution. Not only would it suck going into the firmware and calculating that every time I start a print but it also means I can't tweak on the fly.

        I am very confused by how this all works out.
        It seems like M568 overrides the extrusion factors sliders in the status panel which is nonsensical.

        I also don't understand why it has the extruders defined in M563 telling it to use both extruders, yet only one drives without M567.

        I just don't understand why there isn't a base option that allows both extruders to extrude the Gcode defined amount with the extrusion factor slider functioning normally. Locking the two together with M56 and disabling the extrusion factor seems redundant and overly complicated. If M563 says use both extruders why aren't both extruders just driven by the E Gcode by default?

        And or if someone decide that M567 is the required way to achieve that then why would it override the extrusion adjustment sliders?
        This makes no sense.

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

          @yoshimitsuspeed hey, I was just proposing a hack, by no means do I think its a good solution for your problem. You can adjust mixing ratio on the fly though, so it would be possible to do it dynamically....

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

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

            @yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:

            Oh yeah issue 5
            As far as I can tell with my current configuration and I think because of the M567 code on the duplicate mode it seems like I cannot adjust the extrusion factor of each tool separately. I would like to be able to do this for situations where say I have a spool of 1.73 filament and 1.77 filament and need to adjust extrusion independently. That 567 code was in the IDEX configuration I found.
            Can I just remove that and if so will it run both extruders and allow me to adjust extrusion factor properly?

            As well as changing the mix ratio using M567, you can adjust the extrusion factors independently using M221. See https://docs.duet3d.com/en/User_manual/Reference/Gcodes#m221-set-extrude-factor-override-percentage in particular the D parameter. I expect it is this command that the extrusion factor sliders in DWC change, but I have not verified that. You may wish to try using M221 from the command console.

            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

            yoshimitsuspeedundefined 1 Reply Last reply Reply Quote 0
            • yoshimitsuspeedundefined
              yoshimitsuspeed @oliof
              last edited by

              @oliof
              Sorry if my comment came across as unappreciative. I do appreciate input. It just seems like there should be better solutions integrated.
              I wasn't thinking about being able to apply changes through the console while printing which would make it less awful but still doesn't make sense that this isn't better designed for this application.

              1 Reply Last reply Reply Quote 0
              • yoshimitsuspeedundefined
                yoshimitsuspeed @dc42
                last edited by

                @dc42
                Thanks for the input.
                If M221 is in fact essentially the same as the sliders then it seems like it would not work either. I might play with it if I get a moment.

                I guess if that like the sliders is overridden by M567 then I guess using M567 via the console would be the best current working solution?
                In this case am I right in assuming that adding to my Gcode file, or typing in the console say M567 P2 E1.01:0.99 would be essentially the same as having the extrusion factor sliders set at E0 101% and E1 99% is that correct?

                oliofundefined dc42undefined 2 Replies Last reply Reply Quote 0
                • oliofundefined
                  oliof @yoshimitsuspeed
                  last edited by

                  @yoshimitsuspeed of course, thete is a case to be made that you could change extrusion factor per filament in the slicer. But I wont be making that case since a) RRF is supoosed to have built in filament management facilities and b) being able to adjust things dynamically has saved prints of mine more than once.

                  <>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
                  • dc42undefined
                    dc42 administrators @yoshimitsuspeed
                    last edited by

                    @yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:

                    I guess if that like the sliders is overridden by M567 then I guess using M567 via the console would be the best current working solution?

                    To calculate the required extrusion, assuming that the G1 command only has a single E value, RRF first applies the M567 mix ratio to get the requested extrusion on each extruder. Then, if the move is a normal printing move (not an extruder-only move) it multiplies those values by the extrusion factors set by M221. So M567 does not override M221.

                    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

                    yoshimitsuspeedundefined 1 Reply Last reply Reply Quote 0
                    • yoshimitsuspeedundefined
                      yoshimitsuspeed @dc42
                      last edited by

                      @dc42 said in Optimizing IDEX machine and Prusa Slicer:

                      @yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:

                      I guess if that like the sliders is overridden by M567 then I guess using M567 via the console would be the best current working solution?

                      To calculate the required extrusion, assuming that the G1 command only has a single E value, RRF first applies the M567 mix ratio to get the requested extrusion on each extruder. Then, if the move is a normal printing move (not an extruder-only move) it multiplies those values by the extrusion factors set by M221. So M567 does not override M221.

                      Does this mean that M221 does something different than the sliders in the web interface do? Or is there something else preventing my extrusion sliders from functioning properly? Because if I move those while printing in duplicate mode IE tool 2 the sliders don't do anything. Or at least the don't give independent control. I haven't tried sliding both to the same setting at the same time to see if I could increase or decrease flow on both extruders at the same time but if I set one at 99 and one at 101, or if I set one at zero and the other at 200 there is no change in extrusion.

                      yoshimitsuspeedundefined 1 Reply Last reply Reply Quote 0
                      • yoshimitsuspeedundefined
                        yoshimitsuspeed @yoshimitsuspeed
                        last edited by

                        I am slowly trying to work through issues in order of biggest priority and time likely required to solve.
                        I still haven't gotten around to figuring out what's going wrong when I have T2 duplicate selected before starting a print. It is easy enough to just select T0 or T1 then start.

                        This is leaving me with another annoying issue though and I think it might be more related to Prusa Slicer but I am wondering if there is anything I can do about it.
                        If I have say T0/heater 1 active and T1 in standby or off when I start the print the new M568 command does set temp for T2 H1 and H2 however T1/H1 stays in standby.
                        I haven't paid close enough attention but I think I remember it waiting to heat sometimes, but last time as I was watching it did not, it went straight to printing. In this example I had everything set to 220 before starting the print and first layer temp of 240. As soon as it gets to the T2 command T1 starts heating and in this case since it was already at 220 everything started fine.

                        The issue seems to be that the earlier G10 S240 P2, and M568 codes don't switch Heater 1 and Heater 2 into active mode so only the active heater starts heating.
                        It seems to me like P2 should switch both to active and heating. Is there something I can do about this on the firmware/Duet side of things?

                        ; generated by PrusaSlicer 2.6.0-alpha5+win64 on 2023-04-18 at 17:46:12 UTC

                        ;

                        ; external perimeters extrusion width = 0.76mm
                        ; perimeters extrusion width = 0.80mm
                        ; infill extrusion width = 0.65mm
                        ; solid infill extrusion width = 0.80mm
                        ; top infill extrusion width = 0.72mm
                        ; first layer extrusion width = 0.80mm

                        M201 X9000 Y9000 Z500 E10000 ; sets maximum accelerations, mm/sec^2
                        M203 X30000 Y30000 Z720 E7200 ; sets maximum feedrates, mm / min
                        M204 P1500 T1500 ; sets acceleration (P, T), mm/sec^2
                        M566 X600.00 Y600.00 Z12.00 E150.00 ; sets the jerk limits, mm/min
                        M107
                        G10 S240 P2 ; set temperature
                        ;TYPE:Custom
                        G21 ;metric values
                        G90 ;absolute positioning
                        M568 S240 ; set extruder temp
                        M140 S30 ; set bed temp
                        G28 ; home all axes
                        G1 Z5 F5000 ; lift nozzle
                        ;T1
                        ;X222
                        ;E20

                        G10 S240 P2 ; set temperature
                        M116 ; wait for temperature to be reached
                        G21 ; set units to millimeters
                        G90 ; use absolute coordinates
                        M83 ; use relative distances for extrusion
                        T2
                        ; Filament gcode
                        M592 D0 A-0.013507 B0.002903
                        M572 D0 S0.02
                        M107

                        1 Reply Last reply Reply Quote 0
                        • yoshimitsuspeedundefined
                          yoshimitsuspeed
                          last edited by

                          Also as an update I have found an acceptable workflow by setting filament diameter in Prusa Slicer to the larger of the two filaments and then using M567 P2 E1:0.985 for example to fine tune the balance. This does work and isn't a huge pain though it would be really nice if I could use the sliders in the interface instead.

                          I do also have one other question.
                          Can I install a filament sensor on each extruder and running in duplicate mode have it stop the print if either stops or runs out? Or would there be any foreseeable issues like we are seeing with extrusion ratio?

                          1 Reply Last reply Reply Quote 0
                          • yoshimitsuspeedundefined
                            yoshimitsuspeed
                            last edited by

                            No other thoughts on the extrusion ratio issue? Should I report any of these as bugs or feature requests? It seems to me like the extrusion rate sliders should work in IDEX mode but according to what everyone is saying it seems like that is not currently possible.

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

                              @yoshimitsuspeed said in Optimizing IDEX machine and Prusa Slicer:

                              feature requests?

                              Yes you can add it to github as a feature request. I can move this thread to the firmware wishlist category as well.

                              Z-Bot CoreXY Build | Thingiverse Profile

                              1 Reply Last reply Reply Quote 0
                              • Phaedruxundefined Phaedrux moved this topic from General Discussion
                              • yoshimitsuspeedundefined
                                yoshimitsuspeed
                                last edited by

                                It's hard for me to give this the attention it needs with everything else I have going on but I will try to keep posting info here as I'm not even exactly sure what specific bug/improvement requests are needed to properly address these issues.

                                To go back and try to consolidate some important info.
                                Tool 0 is right extruder.
                                M563 P0 S"Left" D0 H1 F0 L3 ; define tool 0
                                G10 P0 X0 Y0 Z0 ; set tool 0 axis offsets
                                G10 P0 S0 R0 ; set initial tool 0 active and standby temperatures to 0C

                                Tool 1 is left extruder.
                                M563 P1 S"Right" D1 H2 X3 F2 L6 ; define tool 1
                                G10 P1 X0 Y0.5 Z-.05 ; set tool 0 axis offsets Moved Y from 0.6
                                G10 P1 S0 R0 ; set initial tool 0 active and standby temperatures to 0C

                                Tool 2 is duplicate
                                ; Create a tool that prints 2 copies of the object using both carriages
                                M563 P2 S"Duplicate" D0:1 H1:2 X0:3 F0:2 L3:6 ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U
                                G10 P2 X57 Y0 U-57 S0 R0 ; set tool offsets and temperatures
                                M567 P2 E1:1 ; set mix ratio 100% on both extruders

                                For simplifying the math on the duplicate mode I made the center of the bed the origin. So after everything homes, extruder 1 should go to +57 and extruder 2 -57.

                                ; Create a tool that prints 2 copies of the object using both carriages
                                M563 P2 S"Duplicate" D0:1 H1:2 X0:3 F0:2 L3:6 ; tool 2 uses both extruders, hot end heaters and fans, and maps X to both X and U
                                G10 P2 X57 Y0 U-57 S0 R0 ; set tool offsets and temperatures
                                M567 P2 E1:1 ; set mix ratio 100% on both extruders

                                I also have M116 "wait for tool heaters to reach operating temp" disabled in my toolchange files. My extruders heat up so fast I don't want it waiting on every toolchange during printing. Unfortunately this seems to disable wait for heat up when a print starts as well.

                                I guess first I will go back to small wins.
                                Changing slicer start code from M104 to M568 was a big improvement and at least sets both heater temps.
                                There are still two problems with this.
                                If I set tool 2 manually before starting the duplicate print the printer will home but will not go to it's x57 u-57 duplicate position before printing. Instead it stays at it's homed position and then when it starts printing will go past the endstops and chatter the belts as it drives into the stops.

                                If I select tool 0 or tool 1 manually I can set heater 1 and heater 2 to active in T0 and T1 and set those to the temp I want to preheat.
                                So let's say for example I set T0 H1 and T1 H2 to 220C and set both heaters to active but with T0 selected so both heaters heat to 220. Now say first layer temp for the print is 240.
                                When I start a duplicate print this does properly home and then sends print heads to X57 U-57 like it should. Unfortunately with tool 0 selected before printing only heater 1 will switch to T2 settings.
                                So the printer homes, then moves both print heads to proper duplicate positions but this whole time only heater 1 is heating to 240, heater 2 still on it's T1 setting of 220.
                                As soon as the print actually starts heater 2 does at that point switch to T2 settings and starts heating to 240.
                                This workflow is working as a workaround but sucks.
                                Needing to remember to do this whole process of setting T0, then manually activating both heaters really sucks and if I forget and t2 is selected it crashes the machine.
                                Similarly if I resolve the T2 crashing problem it would still be best if T0 or T1 was selected that it would properly switch to T2 and have both heaters heating before homing starts.

                                1 Reply Last reply Reply Quote 0
                                • yoshimitsuspeedundefined
                                  yoshimitsuspeed
                                  last edited by yoshimitsuspeed

                                  The next big issue is that the extrusion factor sliders don't appear to work in duplicate mode. It sounds like they are over ridden by M567 in the T2 firmware code.

                                  If there was one clear bug/improvement from all this so far it would be that the extrusion factor sliders should not be overridden by the M567 code and that the sliders need to be able to adjust extruder 0 and extruder 1 independently while in duplicate mode.

                                  I thought I found a workaround by manually entering something like M567 P2 E1.02:1.0 into the console and I thought this was working but now I am wondering.
                                  Either it was not working and I have just been running spools close enough in diameter to work fine, or it is working if I enter this before starting a print but it does not seem to be changing extrusion on the fly.

                                  For example last night I was running a duplicate print and Extruder 0 was under extruding. I started the print at M567 P2 E1:1 so while running I tried M567 P2 E1.01:1.0 and say no noticeable change, then bumped it to M567 P2 E1.02:1.0, and still saw no noticeable change. A change in the extrusion factor sliders from 100% to 102% would have made a huge difference so I started wondering if M567 in the console or at least on the fly is even doing anything at all.

                                  1 Reply Last reply Reply Quote 0
                                  • yoshimitsuspeedundefined
                                    yoshimitsuspeed
                                    last edited by

                                    Oops mixed up left and right extruders in second to last post but trying to edit now is getting flagged as spam.

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