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

    Duet 3 6HC with Openbuilds XYZ Probe

    Scheduled Pinned Locked Moved Solved
    CNC
    6
    51
    4.5k
    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.
    • Sindariusundefined
      Sindarius @Yveske
      last edited by

      @Yveske you’ll just need to install the current dwc to replace the dwc-cnc version

      Yveskeundefined 1 Reply Last reply Reply Quote 0
      • Yveskeundefined
        Yveske @Sindarius
        last edited by

        @Sindarius Thanks !!!

        1 Reply Last reply Reply Quote 0
        • Yveskeundefined
          Yveske @dc42
          last edited by

          @dc42 Success !!!
          It works but only after homing.

          Thanks a lot !!!

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

            Thanks, I'll add an error message if you use M675 before the axis is flagged as having been homed.

            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
            • Yveskeundefined
              Yveske
              last edited by

              Tested 3.3RC2 and the touch probe is still working 👍 👍 👍

              Just wanted to share my final version of my touch probe macro

              ; Touch probe.g
              ; called to find workpiece bottom left corner via G38.2 and M675
              ;
              ; If the printer hasn't been homed, home it
              if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
                G28
              
              ; Display message without time-out and allow to position the bit
              M291 T-1 S3 X1 Y1 Z1 P"Make sure the bit is positioned in the hole of the touch probe well beneath the top surface" R"Touch probe"
              
              ; Find center of cavity
              M675 X R8 F100 K0                 ; Find center in X axis
              M675 Y R8 F100 K0                 ; Find center in Y axis
              
              ; Set bit above center of probe
              G91                               ; relative positioning
              G0 Z15                            ; rapid move Z axis 15 mm
              G0 X27 Y27                        ; rapid move X and Y axis to middle of probe
              
              ; Probe Z component
              G38.2 Z-25                        ; seek until the probe circuit is closed Z-axis 25 mm
              
              ; Return bit to center of hole
              G0 Z15                            ; rapid move Z axis 15 mm
              G0 X-27 Y-27                      ; rapid move X and Y axis to center of cavity
              G0 Z-10                           ; rapid move Z axis -10 mm
              
              G10 P1 L20 X0 Y0 Z15              ; store relative probe offset for coordinates system 1
              
              
              CthulhuLabsundefined 1 Reply Last reply Reply Quote 2
              • CthulhuLabsundefined
                CthulhuLabs @Yveske
                last edited by CthulhuLabs

                @yveske In 3.3rc3 G38.2 moves towards an absolute machine position. So:

                G38.2 Z-25
                

                Is trying to move to absolute position -25 Z. It is not move down 25 millimeters. As such if you are at a position below -25 Z your G38.2 will actually move up and away from the probe not down. The way I fixed this is to set it to:

                G38.2 Z-500
                

                which is greater than my Z travel down. Only problem would be that if my probe does not trigger for some reason my spindle is going to crash into the work piece and try to keep going. Here is my version:

                var ProbeThickness = 13;
                var ProbeXWidth = 58;
                var ProbeYWidth = 58;
                var CoordSystem	= 20;
                
                ; If the printer hasn't been homed, home it
                if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
                	G28
                
                M291 P"Insert a Dowel Pin into your spindle and center it in the probes hole" R"Probing" S3 X1 Y1 Z1
                
                ; Find center of cavity
                M675 X R2 F300 K0						; Find center in X axis
                M675 Y R2 F300 K0						; Find center in Y axis
                
                G10 P1 L{var.CoordSystem} X0 Y0					; Store X and Y as zero in CoordSystem
                 
                ; Set bit above center of probe
                G91								; relative positioning
                G0 Z{var.ProbeThickness + 2}					; rapid move Z axis over the surface of the probe
                G0 X{var.ProbeXWidth / 2} Y{var.ProbeYWidth / 2}		; rapid move X and Y axis to middle of probe
                 
                ; Probe Z component
                G38.2 Z-500							; seek down till you hit the probe
                G0 Z5								; rapid move Z axis 5 mm
                
                G10 P1 L{var.CoordSystem} Z{var.ProbeThickness + 5}             ; store relative probe offset for coordinates system 1
                G0 X{(var.ProbeXWidth / 2) * -1} Y{(var.ProbeYWidth / 2) * -1}	; go back over the hole
                
                G90								; Absolute positioning
                

                @dc42 Is this intended behavior? If so would it be possible to add an option to do relative moves or for G38.2 to recognize whether you have the machine in relative positioning mode or absolute positioning mode. I would like G38.2 to only probe down by the thickness of the probe plus 2mm which should ensure it makes contact assuming everything is setup correctly. If not it should not really collide with anything.

                Yveskeundefined dc42undefined 2 Replies Last reply Reply Quote 0
                • Yveskeundefined
                  Yveske @CthulhuLabs
                  last edited by

                  @cthulhulabs Thanks, wouldn't have caught that !

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

                    @cthulhulabs said in Duet 3 6HC with Openbuilds XYZ Probe:

                    @dc42 Is this intended behavior? If so would it be possible to add an option to do relative moves or for G38.2 to recognize whether you have the machine in relative positioning mode or absolute positioning mode. I would like G38.2 to only probe down by the thickness of the probe plus 2mm which should ensure it makes contact assuming everything is setup correctly.

                    G38.2 uses absolute coordinates as defined by the NIST GCode standard, https://tsapps.nist.gov/publication/get_pdf.cfm?pub_id=823374. If you want to use relative coordinates in G38.2 then you can calculate the positions, something like this:

                    G38.2 Z{move.axes[2].userPosition-25}
                    

                    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

                    Yveskeundefined CthulhuLabsundefined 2 Replies Last reply Reply Quote 1
                    • Yveskeundefined
                      Yveske @dc42
                      last edited by

                      @dc42 & @cthulhulabs Tested old (just for fun) and new and of course the old was plain wrong and the new worked like a charm !

                      Thanks guys !

                      1 Reply Last reply Reply Quote 0
                      • CthulhuLabsundefined
                        CthulhuLabs @dc42
                        last edited by CthulhuLabs

                        @dc42 Thanks! I am really loving the flexibility that the object model and meta commands allow for.

                        @Yveske here is my final version:

                        var ProbeThickness = 13;
                        var ProbeXWidth = 58;
                        var ProbeYWidth = 58;
                        var CoordSystem	= 20;
                        
                        ; If the printer hasn't been homed, home it
                        if !move.axes[0].homed || !move.axes[1].homed || !move.axes[2].homed
                        	G28
                        
                        M291 P"Insert a Dowel Pin into your spindle and center it in the probes hole" R"Probing" S3 X1 Y1 Z1
                        
                        ; Find center of cavity
                        M675 X R2 F300 K0							; Find center in X axis
                        M675 Y R2 F300 K0							; Find center in Y axis
                        
                        G10 P1 L{var.CoordSystem} X0 Y0						; Store X and Y as zero in CoordSystem
                         
                        ; Set bit above center of probe
                        G91									; relative positioning
                        G0 Z{var.ProbeThickness + 2}						; rapid move Z axis over the surface of the probe
                        G0 X{var.ProbeXWidth / 2} Y{var.ProbeYWidth / 2}			; rapid move X and Y axis to middle of probe
                         
                        ; Probe Z component
                        G38.2 Z{move.axes[2].userPosition - (var.ProbeThickness + 2.25)}	; seek until the probe circuit is closed Z-axis 25 mm
                        G0 Z5									; rapid move Z axis 5 mm
                        
                        G10 P1 L{var.CoordSystem} Z{var.ProbeThickness + 5}			; store relative probe offset for coordinates system 1
                        G0 X{(var.ProbeXWidth / 2) * -1} Y{(var.ProbeYWidth / 2) * -1}		; go back over the hole
                        
                        G90									; Absolute positioning
                        
                        Yveskeundefined 1 Reply Last reply Reply Quote 1
                        • Yveskeundefined
                          Yveske @CthulhuLabs
                          last edited by

                          @cthulhulabs Love your use of variables, didn't know they were operational already, will definitely start using them also ! Thanks and have a nice one !

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