mirror of
https://github.com/mkuf/prind.git
synced 2025-10-26 15:56:18 +01:00
add example printer.cfg
This commit is contained in:
@@ -1,350 +1,83 @@
|
|||||||
## Sparkcube
|
# This file is an example config file.
|
||||||
##
|
# See https://github.com/Klipper3d/klipper/blob/master/docs/Config_Reference.md for a description of parameters.
|
||||||
|
|
||||||
|
[mcu]
|
||||||
|
serial: /dev/ttymxc3
|
||||||
|
|
||||||
[printer]
|
[printer]
|
||||||
kinematics: cartesian
|
kinematics: cartesian
|
||||||
max_velocity: 500
|
max_velocity: 500
|
||||||
max_accel: 3000
|
max_accel: 3000
|
||||||
max_z_velocity: 8
|
max_z_velocity: 25
|
||||||
max_z_accel: 100
|
max_z_accel: 30
|
||||||
|
|
||||||
[input_shaper]
|
|
||||||
shaper_freq_x: 98.8
|
|
||||||
shaper_freq_y: 72.2
|
|
||||||
shaper_type: 2hump_ei
|
|
||||||
|
|
||||||
[mcu]
|
|
||||||
serial: /dev/ttymxc3
|
|
||||||
baud: 115200
|
|
||||||
restart_method: command
|
|
||||||
|
|
||||||
[pause_resume]
|
|
||||||
recover_velocity: 225
|
|
||||||
|
|
||||||
[respond]
|
|
||||||
|
|
||||||
[virtual_sdcard]
|
[virtual_sdcard]
|
||||||
path: /opt/gcode
|
path: /opt/gcode
|
||||||
|
|
||||||
[display_status]
|
[display_status]
|
||||||
|
|
||||||
## Stepper
|
[pause_resume]
|
||||||
[stepper_x]
|
|
||||||
step_pin: PA7
|
|
||||||
dir_pin: PC1
|
|
||||||
enable_pin: !PD6
|
|
||||||
rotation_distance: 40
|
|
||||||
microsteps: 16
|
|
||||||
endstop_pin: ^PD3
|
|
||||||
position_min: -27
|
|
||||||
position_endstop: -27
|
|
||||||
position_max: 211
|
|
||||||
homing_speed: 80
|
|
||||||
homing_retract_dist: 5.0
|
|
||||||
second_homing_speed: 25
|
|
||||||
homing_positive_dir: false
|
|
||||||
|
|
||||||
[dual_carriage]
|
[gcode_macro PAUSE]
|
||||||
axis: x
|
description: Pause the actual running print
|
||||||
step_pin: PC5
|
rename_existing: PAUSE_BASE
|
||||||
dir_pin: !PD2
|
# change this if you need more or less extrusion
|
||||||
enable_pin: !PD0
|
variable_extrude: 1.0
|
||||||
rotation_distance: 40
|
|
||||||
microsteps: 16
|
|
||||||
endstop_pin: ^PC2
|
|
||||||
position_min: 4
|
|
||||||
position_endstop: 241.85
|
|
||||||
position_max: 241.85
|
|
||||||
homing_speed: 80
|
|
||||||
homing_retract_dist: 5.0
|
|
||||||
second_homing_speed: 25
|
|
||||||
homing_positive_dir: true
|
|
||||||
|
|
||||||
[stepper_y]
|
|
||||||
step_pin: PA12
|
|
||||||
dir_pin: PA13
|
|
||||||
enable_pin: !PB26
|
|
||||||
rotation_distance: 40
|
|
||||||
microsteps: 16
|
|
||||||
endstop_pin: ^PC4
|
|
||||||
position_min: -1
|
|
||||||
position_endstop: 215
|
|
||||||
position_max: 215
|
|
||||||
homing_speed: 80
|
|
||||||
homing_retract_dist: 5.0
|
|
||||||
second_homing_speed: 25
|
|
||||||
homing_positive_dir: true
|
|
||||||
|
|
||||||
[stepper_y1]
|
|
||||||
step_pin: PA15
|
|
||||||
dir_pin: !PA14
|
|
||||||
enable_pin: !PD1
|
|
||||||
rotation_distance: 40
|
|
||||||
microsteps: 16
|
|
||||||
|
|
||||||
[stepper_z]
|
|
||||||
step_pin: PB25
|
|
||||||
dir_pin: !PC28
|
|
||||||
enable_pin: !PD5
|
|
||||||
rotation_distance: 2
|
|
||||||
microsteps: 16
|
|
||||||
endstop_pin: ^PD10
|
|
||||||
position_min: 0
|
|
||||||
position_endstop: 0
|
|
||||||
position_max: 205
|
|
||||||
homing_speed: 8
|
|
||||||
homing_retract_dist: 5.0
|
|
||||||
second_homing_speed: 2
|
|
||||||
homing_positive_dir: false
|
|
||||||
|
|
||||||
## Extruder
|
|
||||||
[extruder]
|
|
||||||
step_pin: PA2
|
|
||||||
dir_pin: PA3
|
|
||||||
enable_pin: !PB17
|
|
||||||
rotation_distance: 21.9392
|
|
||||||
microsteps: 16
|
|
||||||
nozzle_diameter: 0.400
|
|
||||||
filament_diameter: 1.75
|
|
||||||
max_extrude_only_distance: 700
|
|
||||||
heater_pin: PB27
|
|
||||||
sensor_type: ATC Semitec 104GT-2
|
|
||||||
sensor_pin: PA16
|
|
||||||
pullup_resistor: 4700
|
|
||||||
smooth_time: 6.0
|
|
||||||
control: pid
|
|
||||||
pid_Kp=26.868
|
|
||||||
pid_Ki=1.410
|
|
||||||
pid_Kd=127.958
|
|
||||||
min_extrude_temp: 5
|
|
||||||
min_temp: 5
|
|
||||||
max_temp: 290
|
|
||||||
max_extrude_only_accel: 10000
|
|
||||||
max_extrude_only_velocity: 150
|
|
||||||
|
|
||||||
[extruder1]
|
|
||||||
step_pin: PB19
|
|
||||||
dir_pin: !PB18
|
|
||||||
enable_pin: !PB20
|
|
||||||
rotation_distance: 21.9392
|
|
||||||
microsteps: 16
|
|
||||||
nozzle_diameter: 0.400
|
|
||||||
filament_diameter: 1.75
|
|
||||||
max_extrude_only_distance: 700
|
|
||||||
heater_pin: PD8
|
|
||||||
sensor_type: ATC Semitec 104GT-2
|
|
||||||
sensor_pin: PA24
|
|
||||||
pullup_resistor: 4700
|
|
||||||
smooth_time: 6.0
|
|
||||||
control: pid
|
|
||||||
pid_Kp: 15
|
|
||||||
pid_Ki: 1
|
|
||||||
pid_Kd: 25
|
|
||||||
min_extrude_temp: 5
|
|
||||||
min_temp: 5
|
|
||||||
max_temp: 290
|
|
||||||
max_extrude_only_accel: 10000
|
|
||||||
max_extrude_only_velocity: 150
|
|
||||||
|
|
||||||
## TMC2130 Driver
|
|
||||||
[tmc2130 stepper_x]
|
|
||||||
cs_pin: PC16
|
|
||||||
run_current: 0.4
|
|
||||||
hold_current: 0.25
|
|
||||||
|
|
||||||
[tmc2130 dual_carriage]
|
|
||||||
cs_pin: PC9
|
|
||||||
run_current: 0.4
|
|
||||||
hold_current: 0.25
|
|
||||||
|
|
||||||
[tmc2130 stepper_y]
|
|
||||||
cs_pin: PC18
|
|
||||||
run_current: 0.8
|
|
||||||
hold_current: 0.4
|
|
||||||
|
|
||||||
[tmc2130 stepper_y1]
|
|
||||||
cs_pin: PC17
|
|
||||||
run_current: 0.8
|
|
||||||
hold_current: 0.4
|
|
||||||
|
|
||||||
[tmc2130 stepper_z]
|
|
||||||
cs_pin: PC19
|
|
||||||
run_current: 0.6
|
|
||||||
hold_current: 0.3
|
|
||||||
|
|
||||||
[tmc2130 extruder]
|
|
||||||
cs_pin: PA20
|
|
||||||
run_current: 1.0
|
|
||||||
hold_current: 0.6
|
|
||||||
|
|
||||||
[tmc2130 extruder1]
|
|
||||||
cs_pin: PA19
|
|
||||||
run_current: 1.0
|
|
||||||
hold_current: 0.6
|
|
||||||
|
|
||||||
## Heatbed
|
|
||||||
[heater_bed]
|
|
||||||
heater_pin: PC23
|
|
||||||
sensor_type: EPCOS 100K B57560G104F
|
|
||||||
sensor_pin: PA6
|
|
||||||
control: pid
|
|
||||||
pid_Kp: 66.069
|
|
||||||
pid_Ki: 2.736
|
|
||||||
pid_Kd: 398.889
|
|
||||||
min_temp: 0
|
|
||||||
max_temp: 120
|
|
||||||
|
|
||||||
## Fans
|
|
||||||
[heater_fan hotends]
|
|
||||||
pin: PC22
|
|
||||||
max_power: 1.0
|
|
||||||
heater: extruder,extruder1
|
|
||||||
heater_temp: 50.0
|
|
||||||
fan_speed: 0.75
|
|
||||||
|
|
||||||
[output_pin fan_extruder]
|
|
||||||
pin: PC21
|
|
||||||
pwm: True
|
|
||||||
value: 0
|
|
||||||
shutdown_value: 0
|
|
||||||
scale: 255
|
|
||||||
|
|
||||||
[output_pin fan_extruder1]
|
|
||||||
pin: PD7
|
|
||||||
pwm: True
|
|
||||||
value: 0
|
|
||||||
shutdown_value: 0
|
|
||||||
scale: 255
|
|
||||||
|
|
||||||
## Generic Macros
|
|
||||||
[gcode_macro LOAD_FILAMENT]
|
|
||||||
gcode:
|
gcode:
|
||||||
|
##### read E from pause macro #####
|
||||||
|
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
||||||
|
##### set park positon for x and y #####
|
||||||
|
# default is your max posion from your printer.cfg
|
||||||
|
{% set x_park = printer.toolhead.axis_maximum.x|float - 5.0 %}
|
||||||
|
{% set y_park = printer.toolhead.axis_maximum.y|float - 5.0 %}
|
||||||
|
##### calculate save lift position #####
|
||||||
|
{% set max_z = printer.toolhead.axis_maximum.z|float %}
|
||||||
|
{% set act_z = printer.toolhead.position.z|float %}
|
||||||
|
{% if act_z < (max_z - 2.0) %}
|
||||||
|
{% set z_safe = 2.0 %}
|
||||||
|
{% else %}
|
||||||
|
{% set z_safe = max_z - act_z %}
|
||||||
|
{% endif %}
|
||||||
|
##### end of definitions #####
|
||||||
|
PAUSE_BASE
|
||||||
G91
|
G91
|
||||||
G1 E600 F6000
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
||||||
G90
|
G1 E-{E} F2100
|
||||||
|
{% else %}
|
||||||
[gcode_macro UNLOAD_FILAMENT]
|
{action_respond_info("Extruder not hot enough")}
|
||||||
gcode:
|
{% endif %}
|
||||||
G91
|
{% if "xyz" in printer.toolhead.homed_axes %}
|
||||||
G1 E-650 F6000
|
G1 Z{z_safe} F900
|
||||||
G90
|
G90
|
||||||
|
G1 X{x_park} Y{y_park} F6000
|
||||||
[gcode_macro SWAP_FILAMENT]
|
{% else %}
|
||||||
gcode:
|
{action_respond_info("Printer not homed")}
|
||||||
G28
|
|
||||||
G1 Z50 F480
|
|
||||||
G1 X110 Y110 F30000
|
|
||||||
|
|
||||||
[gcode_macro WAIT_FOR_HEATER]
|
|
||||||
gcode:
|
|
||||||
M109 S{printer.extruder.target} T0
|
|
||||||
M109 S{printer.extruder1.target} T1
|
|
||||||
M190 S{printer.heater_bed.target}
|
|
||||||
|
|
||||||
## IDEX Macros
|
|
||||||
[gcode_macro ACTIVATE_TOOL]
|
|
||||||
gcode:
|
|
||||||
{% set tool_carriage = {'extruder': 0, 'extruder1': 1} %}
|
|
||||||
|
|
||||||
## Disable FAN, Activate carriage+extruder, Reactivate FAN
|
|
||||||
SET_TOOL_FAN SPEED=0
|
|
||||||
ACTIVATE_EXTRUDER EXTRUDER={params.TOOL}
|
|
||||||
SET_DUAL_CARRIAGE CARRIAGE={tool_carriage[params.TOOL]}
|
|
||||||
SET_TOOL_FAN SPEED={printer["gcode_macro TOOL_FAN_STATE"].speed}
|
|
||||||
|
|
||||||
[gcode_macro CHANGE_TOOL]
|
|
||||||
gcode:
|
|
||||||
{% set velocity = printer.configfile.config['printer']['max_velocity']|int*60 %}
|
|
||||||
{% set tool_config = {
|
|
||||||
'extruder': {
|
|
||||||
'park_pos': printer.configfile.config['stepper_x']['position_min'],
|
|
||||||
'stepper': 'stepper_x',
|
|
||||||
'offset': {'x': 0, 'y': 0, 'z': 0}
|
|
||||||
},
|
|
||||||
'extruder1': {
|
|
||||||
'park_pos': printer.configfile.config['dual_carriage']['position_max'],
|
|
||||||
'stepper': 'dual_carriage',
|
|
||||||
'offset': {'x': 0, 'y': 0.52, 'z': -0.075}
|
|
||||||
}
|
|
||||||
}
|
|
||||||
%}
|
|
||||||
|
|
||||||
## Only Move if Printer is homed
|
|
||||||
{% if params.TOOL != printer.toolhead.extruder %}
|
|
||||||
{% if printer.toolhead.homed_axes == 'xyz' %}
|
|
||||||
## Move current Tool to parking position,
|
|
||||||
SAVE_GCODE_STATE NAME=park
|
|
||||||
G90
|
|
||||||
G1 X{tool_config[printer.toolhead.extruder]['park_pos']} F{velocity}
|
|
||||||
RESTORE_GCODE_STATE NAME=park
|
|
||||||
|
|
||||||
## Activate new Tool
|
|
||||||
ACTIVATE_TOOL TOOL={params.TOOL}
|
|
||||||
SET_GCODE_OFFSET X={tool_config[params.TOOL]['offset']['x']} Y={tool_config[params.TOOL]['offset']['y']} Z={tool_config[params.TOOL]['offset']['z']}
|
|
||||||
|
|
||||||
## Safely move new Tool to last known Location
|
|
||||||
{% if (
|
|
||||||
printer.configfile.config[tool_config[params.TOOL]['stepper']]['position_min']|int <= printer.gcode_move.gcode_position.x and
|
|
||||||
printer.configfile.config[tool_config[params.TOOL]['stepper']]['position_max']|int >= printer.gcode_move.gcode_position.x and
|
|
||||||
printer.configfile.config['stepper_y']['position_min']|int <= printer.gcode_move.gcode_position.y and
|
|
||||||
printer.configfile.config['stepper_y']['position_max']|int >= printer.gcode_move.gcode_position.y and
|
|
||||||
printer.configfile.config['stepper_z']['position_min']|int <= printer.gcode_move.gcode_position.z and
|
|
||||||
printer.configfile.config['stepper_z']['position_max']|int >= printer.gcode_move.gcode_position.z) %}
|
|
||||||
SAVE_GCODE_STATE NAME=unpark
|
|
||||||
G90
|
|
||||||
G1 X{printer.gcode_move.gcode_position.x} Y{printer.gcode_move.gcode_position.y} Z{printer.gcode_move.gcode_position.z} F{velocity}
|
|
||||||
RESTORE_GCODE_STATE NAME=unpark
|
|
||||||
{% endif %}
|
|
||||||
{% else %}
|
|
||||||
## Activate new Tool
|
|
||||||
ACTIVATE_TOOL TOOL={params.TOOL}
|
|
||||||
{% endif %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
|
|
||||||
## Overrides for T0/T1
|
[gcode_macro RESUME]
|
||||||
[gcode_macro T0]
|
description: Resume the actual running print
|
||||||
|
rename_existing: RESUME_BASE
|
||||||
gcode:
|
gcode:
|
||||||
CHANGE_TOOL TOOL=extruder
|
##### read E from pause macro #####
|
||||||
|
{% set E = printer["gcode_macro PAUSE"].extrude|float %}
|
||||||
[gcode_macro T1]
|
#### get VELOCITY parameter if specified ####
|
||||||
gcode:
|
{% if 'VELOCITY' in params|upper %}
|
||||||
CHANGE_TOOL TOOL=extruder1
|
{% set get_params = ('VELOCITY=' + params.VELOCITY) %}
|
||||||
|
{%else %}
|
||||||
## FAN Macros
|
{% set get_params = "" %}
|
||||||
### Save Fan State globally
|
|
||||||
[gcode_macro TOOL_FAN_STATE]
|
|
||||||
variable_speed: 0
|
|
||||||
gcode:
|
|
||||||
|
|
||||||
### Set the pin_value for the currently active extruder
|
|
||||||
### Update speed in TOOL_FAN_STATE
|
|
||||||
[gcode_macro SET_TOOL_FAN]
|
|
||||||
gcode:
|
|
||||||
SET_PIN PIN=fan_{printer.toolhead.extruder} VALUE={params.SPEED|int}
|
|
||||||
SET_GCODE_VARIABLE MACRO=TOOL_FAN_STATE VARIABLE=speed VALUE={params.SPEED|int}
|
|
||||||
|
|
||||||
### Override Default M106 and M107 to use SET_TOOL_FAN
|
|
||||||
[gcode_macro M106]
|
|
||||||
gcode:
|
|
||||||
{% set fan_gcode_speed = 255 %}
|
|
||||||
{% if params.S is defined %}
|
|
||||||
{% set fan_gcode_speed = params.S|int %}
|
|
||||||
{% endif %}
|
{% endif %}
|
||||||
{% if fan_gcode_speed < 0 %}
|
##### end of definitions #####
|
||||||
{% set fan_gcode_speed = 0 %}
|
{% if printer.extruder.can_extrude|lower == 'true' %}
|
||||||
{% endif %}
|
G91
|
||||||
{% if fan_gcode_speed > 255 %}
|
G1 E{E} F2100
|
||||||
{% set fan_gcode_speed = 255 %}
|
{% else %}
|
||||||
{% endif %}
|
{action_respond_info("Extruder not hot enough")}
|
||||||
SET_TOOL_FAN SPEED={fan_gcode_speed}
|
{% endif %}
|
||||||
|
RESUME_BASE {get_params}
|
||||||
|
|
||||||
[gcode_macro M107]
|
|
||||||
gcode:
|
|
||||||
SET_TOOL_FAN SPEED=0
|
|
||||||
|
|
||||||
## Required by Fluidd
|
|
||||||
[gcode_macro CANCEL_PRINT]
|
[gcode_macro CANCEL_PRINT]
|
||||||
|
description: Cancel the actual running print
|
||||||
rename_existing: CANCEL_PRINT_BASE
|
rename_existing: CANCEL_PRINT_BASE
|
||||||
gcode:
|
gcode:
|
||||||
TURN_OFF_HEATERS
|
TURN_OFF_HEATERS
|
||||||
CANCEL_PRINT_BASE
|
CANCEL_PRINT_BASE
|
||||||
Reference in New Issue
Block a user