I’m a new Kipper user and I’m trying to setup a cartesian moving bed printer with 6 individual X axis carriages sharing a common Z axis.
Because IDEX currently only supports only two carriages I was hoping to emulate that functionality by using the Tool-Change Macro to issue a kind of Sync-Stepper command to selectively sync the carriage steppers to the motion planner’s X axis.
I have studied the documentation and the closest I can find is SYNC_EXTRUDER_MOTION however this only appears to function with extruder steppers.
Is there a undocumented way to Sync/Unsync steppers using gcode or macros during a print job?
yes the current IDEX implementation seems to be limited to two X axis Carriages,
My system has 6 independent X axis carriage’s (each with its own extruder) with 6 separate steppers on six separate motor drivers.
My goal is to have each carriage/extruder assigned as T0-T6
I want to achieve this by having a Macro selectively Sync the relevant X axis stepper with the motion planner’s “Real” x axis in the same way that SYNC_EXTRUDER_MOTION functions after preforming the necessary parking and unparking moves via other means.
Its less parking space than you would think. because 3 of carriages are mounted on a 2nd rail and can pass in-front of each other the maximum number of carriages that ever need to be parked on a side is 2.
the missing piece is the ability to select which of the X-Steppers is receives the step signals from the motion planner. the rest is just forced moves and offsets handled by macros
@bquirky You may be able to use SET_STEPPER_KINEMATICS command that is part of the proposed generic_kinematics that Kevin linked above. Note that this is not part of the official Klipper yet, but it is under testing now, so you could try it as well (see the first message in the thread linked by Kevin). Basically, you’d define [carriage x], [carriage y] and [carriage z] each, and then 6 steppers for X and corresponding Y and Z stepper(s) like
[printer]
kinematics: generic_cartesian
...
[stepper y]
kinematics: y
...
[stepper z]
kinematics: z
...
[stepper x]
kinematics: x
...
[stepper x1]
kinematics: x
...
[stepper x2]
kinematics: x
...
[stepper x3]
kinematics: x
...
[stepper x4]
kinematics: x
...
[stepper x5]
kinematics: x
...
[extruder]
...
[extruder1]
...
[extruder2]
...
...