• Tags
  • Documentation
  • Order
  • Register
  • Login
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.
  • undefined
    Sphyloid
    last edited by Sphyloid 23 Feb 2022, 05:41

    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
    • undefined
      rjenkinsgb
      last edited by rjenkinsgb 23 Feb 2022, 06:16

      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.

      undefined 1 Reply Last reply 23 Feb 2022, 15:41 Reply Quote 0
      • undefined
        Sphyloid @rjenkinsgb
        last edited by 23 Feb 2022, 15:41

        @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
        • undefined
          dc42 administrators
          last edited by dc42 23 Feb 2022, 16:48

          @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

          undefined 1 Reply Last reply 23 Feb 2022, 18:06 Reply Quote 0
          • undefined
            Sphyloid @dc42
            last edited by Sphyloid 23 Feb 2022, 18:06

            @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.

            undefined 1 Reply Last reply 23 Feb 2022, 20:45 Reply Quote 0
            • undefined
              dc42 administrators @Sphyloid
              last edited by dc42 23 Feb 2022, 20:45

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