@fcwilt Triggers can't stop motion in a controlled manner, so at best you can call an emergency stop and lose system calibration. This is why endstop circuitry needs to exist inside the motion control loop - the endstop triggers need to be interrupts that can cancel motion at very low latency without losing position.
Best posts made by Terry
-
RE: Auto Tool Height Measurement
-
RE: Auto Tool Height Measurement
Just as a legacy of testing that machinePosition and userPosition were the same, which they are in this instance.
-
RE: Auto Tool Height Measurement
For clarity, I home in the positive direction (but physically downwards) for my axis and reference this as the highest axis distance. I then swap out the high end endstop for the low end endstop and probe in the negative direction (physically upwards) until the switch hits the tool.
This recalibrates the axis position to the target value that was in the move command, losing the information about how far I have actually moved in the original coordinate system.
Latest posts made by Terry
-
RE: Possible missing dependency
@chrishamm Yes, I was reporting because it isn't fixed in v3.4-rc2 as implied in the notes, so wanted to be sure that something hadn't been left out of the imminent release.
-
Possible missing dependency
Just updated a Duet 3 / RPi system with apt update+upgrade from 3.4-b5 to 3.4-rc2 and spotted the following error in the output:
Unpacking duettools (3.4-rc2) over (3.4-b5) ... Preparing to unpack .../024-duetpimanagementplugin_3.4-rc2_armhf.deb ... Error: An assembly specified in the application dependencies manifest (PluginManager.deps.json) was not found: package: 'runtimepack.Microsoft.NETCore.App.Runtime.linux-arm', version: '6.0.2' path: 'System.Net.Quic.dll' Unpacking duetpimanagementplugin (3.4-rc2) over (3.4-b5) ...
Installation appeared to proceed normally.
-
RE: Auto Tool Height Measurement
Good, that seems to confirm that it's an issue with the 3HC firmware.
-
RE: Auto Tool Height Measurement
Just as a legacy of testing that machinePosition and userPosition were the same, which they are in this instance.
-
RE: Auto Tool Height Measurement
Axis setup is:
M569 P1.1 S0 M584 V1.1 M208 V0:100 M92 V400 M350 V16 I1 M566 V400 M203 V10000 M201 V6000 M906 V1500 M574 V2 S1 P"1.io1.in"
Test macro is:
M558 K1 P8 C"!1.io2.in" F1000 G38.2 V1 P1 M117 {move.axes[4].userPosition}
-
RE: Auto Tool Height Measurement
Just found G38.2, which appears to be more suitable.
After testing with
M558 K1 P8 C"!1.io2.in" F1000 G38.2 V1 P1
I get the same problem! There appears to be a bug where the machine and user positions are always updated to be equal to the requested destination move, even though the move was interrupted by an endstop or probe trigger.
-
RE: Auto Tool Height Measurement
Ideally, what is needed is a generic probing command that supports motion on any axis. This would be necessary for a 3 degrees of freedom probe mounted in a spindle if you wanted to touch off on a workpiece in X, Y and Z, in any case.
-
RE: Auto Tool Height Measurement
For clarity, I home in the positive direction (but physically downwards) for my axis and reference this as the highest axis distance. I then swap out the high end endstop for the low end endstop and probe in the negative direction (physically upwards) until the switch hits the tool.
This recalibrates the axis position to the target value that was in the move command, losing the information about how far I have actually moved in the original coordinate system.