Upper limit of Z-axis working incorrect [Delta]
-
Hi, community!
The problem is that I can move outside upper Z limit on Delta printer configuration.
- Configure Delta:
M665 L361.858:361.858:361.858 R181.089 H452 B145.0 X-0.148 Y-0.130 Z0.000
- Setup sensorless endstop configuration
M574 X2 S3 M574 Y2 S3 M574 Z2 S3 ; Configure motor stall detection M915 X Y Z R0 F0
- Do G28
Some part of homedelta.g:
M400 G91 ; use relative positioning ; first pass G1 H1 X500 Y500 Z500 F3000 ... M400 G1 Z-10 F2000 ; down a few mm so that we can centre the head
The coordinates after homing has been finished:
M114 X:0.000 Y:0.000 Z:441.996 E:0.000 E0:-0.0 Count 151321 151321 151321 Machine 0.000 0.000 441.996 Bed comp 0.000
Setting the current Z coord as upper limit:
M208 Z442 Axis limits (mm) X-145.0:145.0, Y-145.0:145.0, Z0.0:442.0
Moving up:
G91 G0 Z100 M114 X:0.000 Y:0.000 Z:451.043 E:0.000 E0:-0.0 Count 153133 153133 153133 Machine 0.000 0.000 451.043 Bed comp 0.000
The Z coordinate is outside the limit of 442. Axes were stopped a bit lower than set in M665 command. There was no error message, despite that previous Z (442) + movement +100 = 542.
Trying repeat the movement:
G91 G0 Z100 Error: G0: target position not reachable from current position
Now there was the message.
So, the question is: how to limit upper Z coords to arbitrary value ?
RepRapFirmware for Duet 2 WiFi/Ethernet version 3.5.2 (2024-06-11 17:13:43) running on Duet WiFi 1.02 or later
Will appreciate for help.
-
@wackyfrog on delta machines the Z upper limit is set automatically from the M665 parameters because it varies with XY position. The lower limit is set using M208 as usual.
-
@dc42 Thank you for answer, David! The reason I'd like decrease limit is because when using sensorless homing (stall detection) the carriages almost hits the corners at the ends of the axes when the printer moves to the top position. So, It would be better to have some gap at the most top position for movements after homing done.
-
@wackyfrog I suggest you create a feature request for subtracting a margin from the calculated maximum height. I can see that this would be needed when using stall detection endstops.
Meanwhile it may be possible to achieve your aim by recording the position after homing and moving down a few mm, using M665 to reduce the H parameter, then using G92 to assert the position previously recorded.
It's rare to use stall detection endstops on a delta. They are much to inaccurate to use on their own, however if you have a good Z probe and homing is always followed by 2 auto calibration cycles before printing then they are usable.
-
@dc42 After calling M665 the homing is required. And after that the top position again at the end of axis.
The probe is built-in delta smart effector, before each print I do bed probing (G32) with controlling max deviation less than 0.03
-
@wackyfrog said in Upper limit of Z-axis working incorrect [Delta]:
After calling M665 the homing is required.
@dc42 said in Upper limit of Z-axis working incorrect [Delta]:
then using G92 to assert the position previously recorded
@wackyfrog Using G92 would force the position and home the axis without re-homing.