mirror of https://github.com/Desuuuu/klipper.git
delta: max z-accel and speed ratio calculation for deltas (#4689)
Adding a possibility to use a lower z- acceleration. Signed-off-by: Martin Malmqvist <volcomosq@gmx.com>
This commit is contained in:
parent
2b7d0bba42
commit
54acca37ba
|
@ -250,6 +250,11 @@ max_z_velocity:
|
|||
# maximum speed of up/down moves (which require a higher step rate
|
||||
# than other moves on a delta printer). The default is to use
|
||||
# max_velocity for max_z_velocity.
|
||||
#max_z_accel:
|
||||
# This sets the maximum acceleration (in mm/s^2) of movement along
|
||||
# the z axis. Setting this may be useful if the printer can reach higher
|
||||
# acceleration on XY moves than Z moves (eg, when using input shaper).
|
||||
# The default is to use max_accel for max_z_accel.
|
||||
#minimum_z_position: 0
|
||||
# The minimum Z position that the user may command the head to move
|
||||
# to. The default is 0.
|
||||
|
|
|
@ -30,6 +30,8 @@ class DeltaKinematics:
|
|||
self.max_z_velocity = config.getfloat(
|
||||
'max_z_velocity', self.max_velocity,
|
||||
above=0., maxval=self.max_velocity)
|
||||
self.max_z_accel = config.getfloat('max_z_accel', self.max_accel,
|
||||
above=0., maxval=self.max_accel)
|
||||
# Read radius and arm lengths
|
||||
self.radius = radius = config.getfloat('delta_radius', above=0.)
|
||||
print_radius = config.getfloat('print_radius', radius, above=0.)
|
||||
|
@ -130,7 +132,8 @@ class DeltaKinematics:
|
|||
limit_xy2 = -1.
|
||||
if move.axes_d[2]:
|
||||
z_ratio = move.move_d / abs(move.axes_d[2])
|
||||
move.limit_speed(self.max_z_velocity * z_ratio, move.accel)
|
||||
move.limit_speed(self.max_z_velocity * z_ratio,
|
||||
self.max_z_accel * z_ratio)
|
||||
limit_xy2 = -1.
|
||||
# Limit the speed/accel of this move if is is at the extreme
|
||||
# end of the build envelope
|
||||
|
|
Loading…
Reference in New Issue