-
@Yveske said in Duet 3 6HC with Openbuilds XYZ Probe:
Uploaded the zip and during install complains about some missing SDiap.bin file
You will find that file in the official 3.3beta1 and 3.3beta2 releases on Github (it's the same file in both releases). Upload that file first, then uploading and installing the new Duet3Firmware_MB6HC.bin file should work.
-
@dc42 Installation went ok this time.
The probe doesn't move while executing M675 (not from macro and not from DWC) and displays a red popup "Probe was not triggered during probing move"; Touch probe.g ; called to find workpiece bottom left corner via G38.2 ; ; 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 P0 ; Find center in X axis M675 Y R8 F100 P0 ; Find center in Y axis ; Set bit above center of probe 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-15 F100 ; seek until the probe circuit is closed Z-axis -15 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-15 ; rapid move Z axis -15 mm G10 P0 L20 X0 Y0 Z10 ; store relative probe offset for coordinates system 0
-
Odd, it's working for me. Have you checked that the Z probe reading in DWC reads 0 when the probe is not triggered, and 1000 when it is triggered?
-
@dc42 Sorry, will have to check further this afternoon, have to run now...
-
@dc42 I don't see the probe on screen with the new (beta) CNC UI.
Is there a way to revert to the old CNC UI? -
@Yveske you’ll just need to install the current dwc to replace the dwc-cnc version
-
@Sindarius Thanks !!!
-
@dc42 Success !!!
It works but only after homing.Thanks a lot !!!
-
Thanks, I'll add an error message if you use M675 before the axis is flagged as having been homed.
-
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
-
@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.
-
@cthulhulabs Thanks, wouldn't have caught that !
-
@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}
-
@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 !
-
@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
-
@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 !