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

Cura Startup G-code for multi-tool FDM process

Scheduled Pinned Locked Moved
General Discussion
e3d toolchanger cura 4.4.0
5
12
946
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.
  • undefined
    greenlee
    last edited by greenlee 12 Oct 2019, 15:20 10 Dec 2019, 15:19

    Hello all,
    I am trying to figure out a way to automate Z-probe and mesh leveling using Cura 4.4.0 with an E3D tool changer.
    In case your not familiar with the E3D tool changer machine, it has a microswitch Z-probe on the tool carrier assembly and needs to park any tool heads before probing the bed.
    So obvious setups won't work as Cura will pre-mount the first tool used in the job and I would need to unload the tool, probe the bed and reload the same tool. The catch is, the tool is not always tool 0.
    so, is there a command in RRF that would let me remember the last tool used and reload that tool letter on in startup g-code?
    Any other ideas to do this?
    Thanks,

    1 Reply Last reply Reply Quote 0
    • undefined
      Danal
      last edited by Danal 12 Oct 2019, 17:44 10 Dec 2019, 17:43

      I have a similar situation. I have a Jubilee. It also has a z probe that would not work properly with any tool mounted. I.E. the tool carrier must be bare.

      I wrote a macro to "prep the printer". That macro unmounts all tools (i.e. T-1), homes all axis, levels the bed, etc, etc. At the end of this macro, everything is ready and no tools are mounted.

      Note that depending on the power-cycle status of the printer, and several other things, I may choose to manually unmount any tools, even before I run the prep macro. This is normally only needed at first power up of the day.

      After the "prep the printer" macro, then I start the job (from whatever slicer). Of course, I could invoke that macro as the very first thing in the slicer G-Code. The main reason I don't depend on this is because I use several different slicers. Including Cura.

      Anyway, this whole process adds up to no need for the G-Code to "remember" anything.

      Delta / Kossel printer fanatic

      undefined undefined 2 Replies Last reply 10 Dec 2019, 23:07 Reply Quote 0
      • undefined
        greenlee @Danal
        last edited by 10 Dec 2019, 23:07

        @Danal
        the "prep the printer" macro you described is basically what I'm doing now.
        Unfortunately in Cura 4.4.0 the slicer added the call for the first tool head before inserting the Start G-code, so adding anything to Start G-code that uses the Z axis limit sensor is off the table unless you first unload the previously loaded tool.

        1 Reply Last reply Reply Quote 0
        • undefined
          Phaedrux Moderator
          last edited by 10 Dec 2019, 23:43

          Could you use the start.g macro? It gets run at the start of every print before the sliced gcode gets executed.

          Z-Bot CoreXY Build | Thingiverse Profile

          undefined 1 Reply Last reply 11 Dec 2019, 02:30 Reply Quote 0
          • undefined
            Danal
            last edited by 11 Dec 2019, 02:25

            1. Cura menu: Extensions -> Post Processing -> Modify G-Code

            2. Use "Add a script" drop down to add "Search and Replace".

            3. Search for ";FLAVOR:RepRap" (Look at a G-Code file you've created in the past and verify this is the very first line in the file).

            4. Replace with whatever G-Code you wish, such as T-1, or a call to the prep macro, or whatever.

            This will be the VERY FIRST line in the G-Code file; therefore, I believe it will defeat the issues you are having caused by commands that occur before the regular start g-codes.

            Delta / Kossel printer fanatic

            undefined 1 Reply Last reply 11 Dec 2019, 03:23 Reply Quote 0
            • undefined
              greenlee @Phaedrux
              last edited by 11 Dec 2019, 02:30

              @Phaedrux start.g is a good idea but doesn't have an option to pull the heater temps out of the gcode. that I know of.
              I

              1 Reply Last reply Reply Quote 0
              • undefined
                greenlee @Danal
                last edited by 11 Dec 2019, 03:23

                @Danal looks like a good idea. Same issue with heating as start.g as far as i can tell.

                1 Reply Last reply Reply Quote 0
                • undefined
                  TC @Danal
                  last edited by 11 Dec 2019, 06:18

                  @Danal Hi Danal, how does your macro know which tool is connected after power up (I assume unmounting means to park it)?

                  undefined 1 Reply Last reply 11 Dec 2019, 14:02 Reply Quote 0
                  • undefined
                    Danal @TC
                    last edited by 11 Dec 2019, 14:02

                    @TC said in Cura Startup G-code for multi-tool FDM process:

                    @Danal Hi Danal, how does your macro know which tool is connected after power up (I assume unmounting means to park it)?

                    It doesn't. T-1 will unmount whatever tool is mounted. For example, if the prior print job left a tool mounted.

                    Additionally, there are circumstances where the printer itself does not 'know' which tool is mounted. The most common occurrence is a power down or full reset with a mounted tool. At the next restart, the printer will act as though no tool is mounted. This is a fundamental constraint that no amount of firmware, g-code, macro, etc. can get around.

                    The correct answer is to manually unmount the tool after a power up or restart. Note: I do not mean "manually issue the unmount command". I mean manually unlock the tool (on my printer, homing axis U will accomplish this), remove the tool from the carriage by hand and place the tool back on its parking posts by hand.

                    I don't know of any other feasible sequence of actions, after a power or reset.

                    Delta / Kossel printer fanatic

                    undefined 1 Reply Last reply 11 Dec 2019, 14:04 Reply Quote 0
                    • undefined
                      dc42 administrators @Danal
                      last edited by 11 Dec 2019, 14:04

                      @Danal said in Cura Startup G-code for multi-tool FDM process:

                      The correct answer is to manually unmount the tool after a power up or restart. Note: I do not mean "manually issue the unmount command". I mean manually unlock the tool (on my printer, homing axis U will accomplish this), remove the tool from the carriage by hand and place the tool back on its parking posts by hand.
                      I don't know of any other feasible sequence of actions, after a power or reset.

                      When we have conditional GCode in RRF3 (for which I did some more preparatory work over the weekend), it could be done automatically if each tool dock had a switch to sense when the tool is docked.

                      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
                      • undefined
                        Danal
                        last edited by Danal 12 Nov 2019, 14:47 11 Dec 2019, 14:46

                        @dc42 said in Cura Startup G-code for multi-tool FDM process:

                        if each tool dock had a switch to sense when the tool is docked.

                        There has also been some discussion about a switch (or other) on the carriage. The E3D toolchanger architecture is very reliable*; however, it does on very rare occasion drop a tool. The carriage switch could be used to stop if a tool mount ends with a tool NOT mounted... and be used to modify startup, maybe full auto, maybe "stop and ask for help", if a tool IS mounted.

                        Lots of options if there are switches (sensors) on the carriage and/or the parking slots.

                        *I have only had a toolchange printer for a couple of months, and I'm already doing prints with 3 and 4 thousand toolchanges in that single print. After a solid commissioning the whole thing has proven itself very reliable.

                        Delta / Kossel printer fanatic

                        1 Reply Last reply Reply Quote 1
                        • undefined
                          dc42 administrators
                          last edited by dc42 12 Dec 2019, 10:43 12 Dec 2019, 10:42

                          Yes, a switch on the carriage and a switch on each dock wold be ideal. The carriage switch would confirm that a tool is loaded, and the dock switches would indicate which one it was.

                          I've been working with my tool changer yesterday and today. I've managed to get stall homing working on the coupler, and I am developing a set of configuration files for RRF3 on Duet 2. I'll also be moving the origin to the centre of the bed, which is what I use on all my 3D printers.

                          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
                          5 out of 12
                          • First post
                            5/12
                            Last post
                          Unless otherwise noted, all forum content is licensed under CC-BY-SA