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

    Tool Specific M675 For Automatic XY tool offsets

    Scheduled Pinned Locked Moved
    Gcode meta commands
    3
    6
    345
    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.
    • Sphyloidundefined
      Sphyloid
      last edited by Sphyloid

      Title says it all, I want a version of M675 that stores tool specific offsets. As you are printing you cannot keep re-homing each time you change a tool, you would collide with the part.

      One way this could work is the first tool is homed using "M675 Y T0 R2 F1200" which acts like a normal homing. If a tool other than 0 is used for initial homing, then it becomes the arbitrary 'true home' the tool from which all the rest are relative too. Then say tool 2 is homed with: "M675 Y T1 R2 F1200" next T2, T3 etc. Instead of homing the next tools, their offset from the original homing would be recorded.

      Please add this functionality or give me a brief high level description of how I would implement something like this in my own fork.

      1 Reply Last reply Reply Quote 0
      • rjenkinsgbundefined
        rjenkinsgb
        last edited by rjenkinsgb

        Each tool already has its own individual XYZ offsets, as well as other individual settings??

        If they are set correctly, once the machine is homed, it does not matter which (if any) tool is selected, the nozzle positions will always be correct?

        I don't follow what you are asking for beyond what it already does??

        eg. In my toolchanger machine, I have three printing tools at present; I don't have X & Y set precisely with these so far as I'm using them for different materials and not changing tools within a single print job.

        The Z offsets are each individually set though, to give each its correct zero height:

        ; Tools
        ; T0
        M563 P0 S"Hem-HT" D0 H1 F0                   ; define tool 0: Heater 1, Print cooling fan = Fan 0
        G10 P0 X0 Y0 Z-2.94                          ; set tool 0 axis offsets
        G10 P0 R0 S240                               ; set initial tool 0 active and standby temperatures
        M572 D0 S0.03                                ; Pressure advance - Direct drive
        M207 P0 S2.0 F2400 Z0.075                    ; Firmware retraction setting
        
        ; T1
        M563 P1 S"V6"  D1 H2 F2                      ; define tool 1: Heater 2, Print cooling fan = Fan 2
        G10 P1 X0 Y0 Z-1.75                          ; set tool 1 axis offsets
        G10 P1 R0 S210                               ; set initial tool 1 active and standby temperatures
        M572 D1 S0.4                                 ; Pressure advance - Long bowden
        M207 P1 S2.0 F2400 Z0.075                    ; Firmware retraction setting
        
        ; T2
        M563 P2 S"Hemera" D2 H3 F4                   ; define tool 2: Heater 3, Print cooling fan = Fan 4
        G10 P2 X0 Y0 Z-3.35                          ; set tool 2 axis offsets
        G10 P2 R0 S210                               ; set initial tool 2 active and standby temperatures
        M572 D2 S0.03                                ; Pressure advance - Direct drive
        M207 P2 S2.0 F2400 Z0.075                    ; Firmware retraction setting
        
        

        Robert J.

        Printers: Overlord pro, Kossel XL+ with Duet 6HC and "Frankentron", TronXY X5SA Pro converted to E3D toolchange with Duet 6HC and 1LC toolboards.

        Sphyloidundefined 1 Reply Last reply Reply Quote 0
        • Sphyloidundefined
          Sphyloid @rjenkinsgb
          last edited by

          @rjenkinsgb It seems you missed the "automatic" part of what I was saying. The user should never have to manually set offsets, they change over time and it is a giant pain. Sure you can design a sufficiently precise printer that does not change, but that is too expensive which is why it has not been done.

          I have a circle with a center point at a known location cut into my build plate. I want to drop the nozzle in the hole and capacitive home all the tools at the start of each print. If I home them consecutively in the hole with M675 as the command works now only the last tool homed will print in the "right" place relative to the hole.

          Maybe I do not want to home in this way before every print, it would be nice to additionally save the offsets generated by this.

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

            @sphyloid can you explain why you want to use M675? Do you always have a cavity to probe after changing tool?

            We think that the function of M675 could be replicated by a M675.g macro, so we are considering removing it in RRF 3.5 and providing a sample macro instead. It may be that we need to extend the object model a little to make this possible.

            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

            Sphyloidundefined 1 Reply Last reply Reply Quote 0
            • Sphyloidundefined
              Sphyloid @dc42
              last edited by Sphyloid

              @dc42 The whole point of what I am asking is that the tool offsets are found automatically without the need for the user to print a veneer or any other shenanigans. The cavity is only available on the first layer.

              775eb304-498a-4b44-ac44-cf6c443f9483-image.png

              This is a machine that has an identical feature. They allow the user to run probing on that cavity when the machine falls out of calibration instead of having to waste tons of time finding offsets. The machine then stores these values.

              My idea behind running this homing at the start of each print is simply so that the user never has to worry about the machine falling out of calibration, making the alignment completely hands-free, completely automatically. The user simply has effortless dual material printing experience.

              The next step is enabling servo lifting on the two nozzles so that they automatically maintain themselves in that axis.

              In my case I have 10 idex machines. I have not ever considered using dual material mode as maintaining an accurate calibration on 10 machines is completely unsustainable without it being automatic or wasting tons and tons of time. Adding a cavity to probe? Now that is a cakewalk.

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

                @sphyloid I think you can already do what you want in a macro, like this:

                1. Home the axis.
                2. Using one tool, use M675 to probe the centre of the cavity.
                3. Extract the position of that axis from the object model.
                4. Subtract the extracted position from where the cavity centre ought to be, and add that to the offset of that tool.
                5. Repeat steps 2 to 4 for the other axis, and again using the other tool.

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