mirror of
https://github.com/Klipper3d/klipper.git
synced 2026-01-09 00:07:48 -07:00
generic_cartesian: Added option 'axis' for primary carriages
This also enables arbitrary using names for primary carriages with generic_cartesian kinematics. Signed-off-by: Dmitry Butyugin <dmbutyugin@google.com>
This commit is contained in:
parent
0ba01beaa8
commit
79189203e2
12 changed files with 201 additions and 157 deletions
|
|
@ -1,35 +1,38 @@
|
|||
# Test config for generic cartesian kinematics with dual carriage
|
||||
[carriage x]
|
||||
[carriage carriage_x]
|
||||
axis: x
|
||||
position_endstop: 0
|
||||
position_max: 300
|
||||
homing_speed: 50
|
||||
endstop_pin: ^PE5
|
||||
|
||||
[carriage y]
|
||||
[carriage carriage_y]
|
||||
axis: y
|
||||
position_endstop: 0
|
||||
position_max: 200
|
||||
homing_speed: 50
|
||||
endstop_pin: ^PJ1
|
||||
|
||||
[carriage z]
|
||||
[carriage carriage_z]
|
||||
axis: z
|
||||
position_endstop: 0.5
|
||||
position_max: 100
|
||||
endstop_pin: ^PD3
|
||||
|
||||
[extra_carriage z1]
|
||||
primary_carriage: z
|
||||
[extra_carriage carriage_z1]
|
||||
primary_carriage: carriage_z
|
||||
endstop_pin: ^PD2
|
||||
|
||||
[dual_carriage u]
|
||||
primary_carriage: x
|
||||
[dual_carriage carriage_u]
|
||||
primary_carriage: carriage_x
|
||||
safe_distance: 70
|
||||
position_endstop: 300
|
||||
position_max: 300
|
||||
homing_speed: 50
|
||||
endstop_pin: ^PE4
|
||||
|
||||
[dual_carriage v]
|
||||
primary_carriage: y
|
||||
[dual_carriage carriage_v]
|
||||
primary_carriage: carriage_y
|
||||
safe_distance: 50
|
||||
position_endstop: 200
|
||||
position_max: 200
|
||||
|
|
@ -37,7 +40,7 @@ homing_speed: 50
|
|||
endstop_pin: ^PD4
|
||||
|
||||
[stepper a]
|
||||
carriages: x+y
|
||||
carriages: carriage_x+carriage_y
|
||||
step_pin: PF0
|
||||
dir_pin: PF1
|
||||
enable_pin: !PD7
|
||||
|
|
@ -45,7 +48,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper b]
|
||||
carriages: u-v
|
||||
carriages: carriage_u-carriage_v
|
||||
step_pin: PH1
|
||||
dir_pin: PH0
|
||||
enable_pin: !PA1
|
||||
|
|
@ -53,7 +56,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper c]
|
||||
carriages: x-y
|
||||
carriages: carriage_x-carriage_y
|
||||
step_pin: PF6
|
||||
dir_pin: !PF7
|
||||
enable_pin: !PF2
|
||||
|
|
@ -61,7 +64,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper d]
|
||||
carriages: u+v
|
||||
carriages: carriage_u+carriage_v
|
||||
step_pin: PE3
|
||||
dir_pin: !PH6
|
||||
enable_pin: !PG5
|
||||
|
|
@ -69,7 +72,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper z]
|
||||
carriages: z
|
||||
carriages: carriage_z
|
||||
step_pin: PL3
|
||||
dir_pin: PL1
|
||||
enable_pin: !PK0
|
||||
|
|
@ -77,7 +80,7 @@ microsteps: 16
|
|||
rotation_distance: 8
|
||||
|
||||
[stepper z1]
|
||||
carriages: z1
|
||||
carriages: carriage_z1
|
||||
step_pin: PG1
|
||||
dir_pin: PG0
|
||||
enable_pin: !PH3
|
||||
|
|
@ -104,8 +107,8 @@ max_temp: 250
|
|||
|
||||
[gcode_macro PARK_extruder]
|
||||
gcode:
|
||||
SET_DUAL_CARRIAGE CARRIAGE=x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=y
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_y
|
||||
G90
|
||||
G1 X0 Y0
|
||||
|
||||
|
|
@ -114,8 +117,8 @@ gcode:
|
|||
PARK_{printer.toolhead.extruder}
|
||||
SET_SERVO SERVO=my_servo angle=100
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||
SET_DUAL_CARRIAGE CARRIAGE=x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=y
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_y
|
||||
|
||||
[extruder1]
|
||||
step_pin: PC1
|
||||
|
|
@ -137,8 +140,8 @@ max_temp: 250
|
|||
|
||||
[gcode_macro PARK_extruder1]
|
||||
gcode:
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=v
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_v
|
||||
G90
|
||||
G1 X300 Y200
|
||||
|
||||
|
|
@ -147,8 +150,8 @@ gcode:
|
|||
PARK_{printer.toolhead.extruder}
|
||||
SET_SERVO SERVO=my_servo angle=50
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=v
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_v
|
||||
|
||||
[servo my_servo]
|
||||
pin: PH4
|
||||
|
|
|
|||
|
|
@ -10,12 +10,12 @@ G28
|
|||
G1 X10 Y20 F6000
|
||||
|
||||
# Activate alternate carriage
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=v
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_v
|
||||
G1 X170 Y190 F6000
|
||||
|
||||
# Go back to main carriage on X axis
|
||||
SET_DUAL_CARRIAGE CARRIAGE=x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_x
|
||||
G1 X20 F6000
|
||||
|
||||
# Save dual carriage state
|
||||
|
|
@ -24,7 +24,7 @@ SAVE_DUAL_CARRIAGE_STATE
|
|||
G1 Y150 F6000
|
||||
|
||||
# Go back to main carriage on Y axis
|
||||
SET_DUAL_CARRIAGE CARRIAGE=y
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_y
|
||||
G1 X10 Y50 F6000
|
||||
|
||||
# Restore dual carriage state
|
||||
|
|
|
|||
|
|
@ -1,38 +1,41 @@
|
|||
# Test config for generic cartesian kinematics with dual carriage
|
||||
[carriage x]
|
||||
[carriage carriage_x]
|
||||
axis: x
|
||||
position_endstop: 0
|
||||
position_max: 300
|
||||
homing_speed: 50
|
||||
endstop_pin: ^PE5
|
||||
|
||||
[carriage y]
|
||||
[carriage carriage_y]
|
||||
axis: y
|
||||
position_endstop: 0
|
||||
position_max: 200
|
||||
homing_speed: 50
|
||||
endstop_pin: ^PJ1
|
||||
|
||||
[extra_carriage y1]
|
||||
primary_carriage: y
|
||||
[extra_carriage carriage_y1]
|
||||
primary_carriage: carriage_y
|
||||
endstop_pin: ^PB6
|
||||
|
||||
[carriage z]
|
||||
[carriage carriage_z]
|
||||
axis: z
|
||||
position_endstop: 0.5
|
||||
position_max: 100
|
||||
endstop_pin: ^PD3
|
||||
|
||||
[extra_carriage z1]
|
||||
primary_carriage: z
|
||||
[extra_carriage carriage_z1]
|
||||
primary_carriage: carriage_z
|
||||
endstop_pin: ^PD2
|
||||
|
||||
[dual_carriage u]
|
||||
primary_carriage: x
|
||||
[dual_carriage carriage_u]
|
||||
primary_carriage: carriage_x
|
||||
position_endstop: 300
|
||||
position_max: 300
|
||||
homing_speed: 50
|
||||
endstop_pin: ^PE4
|
||||
|
||||
[stepper stepper_x]
|
||||
carriages: x+y
|
||||
carriages: carriage_x+carriage_y
|
||||
step_pin: PF0
|
||||
dir_pin: PF1
|
||||
enable_pin: !PD7
|
||||
|
|
@ -40,7 +43,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper dual_carriage]
|
||||
carriages: u-y1
|
||||
carriages: carriage_u-carriage_y1
|
||||
step_pin: PH1
|
||||
dir_pin: PH0
|
||||
enable_pin: !PA1
|
||||
|
|
@ -48,7 +51,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper stepper_y]
|
||||
carriages: 1*y+0.5*z
|
||||
carriages: 1*carriage_y+0.5*carriage_z
|
||||
step_pin: PF6
|
||||
dir_pin: !PF7
|
||||
enable_pin: !PF2
|
||||
|
|
@ -56,7 +59,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper stepper_y1]
|
||||
carriages: 1*y1-0.5*z1
|
||||
carriages: 1*carriage_y1-0.5*carriage_z1
|
||||
step_pin: PE3
|
||||
dir_pin: !PH6
|
||||
enable_pin: !PG5
|
||||
|
|
@ -64,7 +67,7 @@ microsteps: 16
|
|||
rotation_distance: 40
|
||||
|
||||
[stepper stepper_z]
|
||||
carriages: z
|
||||
carriages: carriage_z
|
||||
step_pin: PL3
|
||||
dir_pin: PL1
|
||||
enable_pin: !PK0
|
||||
|
|
@ -72,7 +75,7 @@ microsteps: 16
|
|||
rotation_distance: 8
|
||||
|
||||
[stepper stepper_z1]
|
||||
carriages: z1
|
||||
carriages: carriage_z1
|
||||
step_pin: PG1
|
||||
dir_pin: PG0
|
||||
enable_pin: !PH3
|
||||
|
|
@ -99,7 +102,7 @@ max_temp: 250
|
|||
|
||||
[gcode_macro PARK_extruder]
|
||||
gcode:
|
||||
SET_DUAL_CARRIAGE CARRIAGE=x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_x
|
||||
G90
|
||||
G1 X0
|
||||
|
||||
|
|
@ -108,7 +111,7 @@ gcode:
|
|||
PARK_{printer.toolhead.extruder}
|
||||
SET_SERVO SERVO=my_servo angle=100
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder
|
||||
SET_DUAL_CARRIAGE CARRIAGE=x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_x
|
||||
|
||||
[extruder1]
|
||||
step_pin: PC1
|
||||
|
|
@ -130,7 +133,7 @@ max_temp: 250
|
|||
|
||||
[gcode_macro PARK_extruder1]
|
||||
gcode:
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
G90
|
||||
G1 X300
|
||||
|
||||
|
|
@ -139,7 +142,7 @@ gcode:
|
|||
PARK_{printer.toolhead.extruder}
|
||||
SET_SERVO SERVO=my_servo angle=50
|
||||
ACTIVATE_EXTRUDER EXTRUDER=extruder1
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
|
||||
[servo my_servo]
|
||||
pin: PH4
|
||||
|
|
|
|||
|
|
@ -3,9 +3,9 @@ CONFIG generic_cartesian.cfg
|
|||
DICTIONARY atmega2560.dict
|
||||
|
||||
# Configure the input shaper
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
SET_INPUT_SHAPER SHAPER_TYPE_X=ei SHAPER_FREQ_X=50 SHAPER_TYPE_Y=2hump_ei SHAPER_FREQ_Y=80
|
||||
SET_DUAL_CARRIAGE CARRIAGE=x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_x
|
||||
SET_INPUT_SHAPER SHAPER_TYPE_X=ei SHAPER_FREQ_X=50 SHAPER_TYPE_Y=2hump_ei SHAPER_FREQ_Y=80
|
||||
|
||||
# Then home the printer
|
||||
|
|
@ -16,11 +16,11 @@ G28
|
|||
G1 X10 F6000
|
||||
|
||||
# Activate alternate carriage
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
G1 X190 F6000
|
||||
|
||||
# Go back to main carriage
|
||||
SET_DUAL_CARRIAGE CARRIAGE=x
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_x
|
||||
G1 X100 F6000
|
||||
|
||||
# Save dual carriage state
|
||||
|
|
@ -29,7 +29,7 @@ SAVE_DUAL_CARRIAGE_STATE
|
|||
G1 X50 F6000
|
||||
|
||||
# Go back to alternate carriage
|
||||
SET_DUAL_CARRIAGE CARRIAGE=u
|
||||
SET_DUAL_CARRIAGE CARRIAGE=carriage_u
|
||||
G1 X130 F6000
|
||||
|
||||
# Restore dual carriage state
|
||||
|
|
@ -46,8 +46,8 @@ G1 X20 E.2
|
|||
G90
|
||||
|
||||
# Test changing the stepper kinematics
|
||||
SET_STEPPER_CARRIAGES STEPPER=dual_carriage CARRIAGES=u+y1
|
||||
SET_STEPPER_CARRIAGES STEPPER=stepper_x CARRIAGES=x-y
|
||||
SET_STEPPER_CARRIAGES STEPPER=dual_carriage CARRIAGES=carriage_u+carriage_y1
|
||||
SET_STEPPER_CARRIAGES STEPPER=stepper_x CARRIAGES=carriage_x-carriage_y
|
||||
|
||||
G1 X30 E.2
|
||||
G1 Z3
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue