kinematics: Add deltesian printers (#5743)

Initial push of the working deltesian kinematics after some successful tests.

Signed-off-by: Fabrice GALLET <tircown@gmail.com>
This commit is contained in:
Tircown 2022-09-01 21:56:31 +02:00 committed by GitHub
parent ec4ecd7a70
commit 354915d2ad
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
6 changed files with 384 additions and 6 deletions

View file

@ -85,8 +85,7 @@ The printer section controls high level printer settings.
kinematics:
# The type of printer in use. This option may be one of: cartesian,
# corexy, corexz, hybrid_corexy, hybrid_corexz, rotary_delta, delta,
# polar, winch, or none. This
# parameter must be specified.
# deltesian, polar, winch, or none. This parameter must be specified.
max_velocity:
# Maximum velocity (in mm/s) of the toolhead (relative to the
# print). This parameter must be specified.
@ -318,6 +317,81 @@ radius:
# just prior to starting a probe operation. The default is 5.
```
### Deltesian Kinematics
See [example-deltesian.cfg](../config/example-deltesian.cfg) for an
example deltesian kinematics config file.
Only parameters specific to deltesian printers are described here - see
[common kinematic settings](#common-kinematic-settings) for available
parameters.
```
[printer]
kinematics: deltesian
max_z_velocity:
# For deltesian printers, this limits the maximum velocity (in mm/s) of
# moves with z axis movement. This setting can be used to reduce the
# maximum speed of up/down moves (which require a higher step rate
# than other moves on a deltesian 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.
#min_angle: 5
# This represents the minimum angle (in degrees) relative to horizontal
# that the deltesian arms are allowed to achieve. This parameter is
# intended to restrict the arms from becomming completely horizontal,
# which would risk accidental inversion of the XZ axis. The default is 5.
#print_width:
# The distance (in mm) of valid toolhead X coordinates. One may use
# this setting to customize the range checking of toolhead moves. If
# a large value is specified here then it may be possible to command
# the toolhead into a collision with a tower. This setting usually
# corresponds to bed width (in mm).
#slow_ratio: 3
# The ratio used to limit velocity and acceleration on moves near the
# extremes of the X axis. If vertical distance divided by horizontal
# distance exceeds the value of slow_ratio, then velocity and
# acceleration are limited to half their nominal values. If vertical
# distance divided by horizontal distance exceeds twice the value of
# the slow_ratio, then velocity and acceleration are limited to one
# quarter of their nominal values. The default is 3.
# The stepper_left section is used to describe the stepper controlling
# the left tower. This section also controls the homing parameters
# (homing_speed, homing_retract_dist) for all towers.
[stepper_left]
position_endstop:
# Distance (in mm) between the nozzle and the bed when the nozzle is
# in the center of the build area and the endstops are triggered. This
# parameter must be provided for stepper_left; for stepper_right this
# parameter defaults to the value specified for stepper_left.
arm_length:
# Length (in mm) of the diagonal rod that connects the tower carriage to
# the print head. This parameter must be provided for stepper_left; for
# stepper_right, this parameter defaults to the value specified for
# stepper_left.
arm_x_length:
# Horizontal distance between the print head and the tower when the
# printers is homed. This parameter must be provided for stepper_left;
# for stepper_right, this parameter defaults to the value specified for
# stepper_left.
# The stepper_right section is used to desribe the stepper controlling the
# right tower.
[stepper_right]
# The stepper_y section is used to describe the stepper controlling
# the Y axis in a deltesian robot.
[stepper_y]
```
### CoreXY Kinematics
See [example-corexy.cfg](../config/example-corexy.cfg) for an example