Update Klipper config files (#56)

* printer busy checks for macros

adds safeguards to macros that will interrupt a print

* printer busy checks for macros - 300mm

* printer busy checks for macros  - 350

* updated config descriptions

* style harmonization

* fix z min switch pos
This commit is contained in:
DunarDolorgiet 2019-11-03 17:11:00 +01:00 committed by John Jardine
parent 738d83cce1
commit 7b5cec8396
3 changed files with 714 additions and 296 deletions

@ -37,29 +37,29 @@
# E1_STEP_PIN ar36
# E1_DIR_PIN ar34
# E1_ENABLE_PIN ar30
# D10 ar10
# D9 ar9
# D8 ar8
# D10 ar10
# D9 ar9
# D8 ar8
# TEMP_0_PIN analog13
# TEMP_1_PIN analog14
# TEMP_2_PIN analog15
# SERVO 1 (TOP) D11
# SERVO 2 D6
# SERVO 3 D5
# SERVO 4 D4
# TEMP_2_PIN analog15
# SERVO 1 (TOP) D11
# SERVO 2 D6
# SERVO 3 D5
# SERVO 4 D4
# use the following modifiers before the pin definition (ex: ^!ar99)
# ! invert the logic
# ^ activate 5v pullup (does not apply to all pins)
# mcu_name: use pins on additional MCU (ex: z:ar10)
# ! invert the logic
# ^ activate 5v pullup (does not apply to all pins)
# mcu_name: use pins on additional MCU (ex: z:ar10)
# *** THINGS TO CHANGE/CHECK: ***
# Arduino paths [mcu] section
# Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
# Microswitch (z endstop) location [homing_override] section
# Microswitch (z endstop) offset for Z0 [stepper_z] section
# Microswitch (z endstop) location [homing_override] section
# Microswitch (z endstop) offset for Z0 [stepper_z] section
# Probe points [quad_gantry_level] section
# Min & Max gantry corner positions [quad_gantry_level] section
# Min & Max gantry corner positions [quad_gantry_level] section
# PID tune [extruder] and [heater_bed] sections
# Fine tune E steps [extruder] section
@ -215,6 +215,16 @@ heater_pin: ar10
# D10 on mcu_xye
max_power: 1.0
sensor_type: ATC Semitec 104GT-2
# use "ATC Semitec 104GT-2" for Trianglelab 104GT-2 and 104NT-4-R025H42G sensors
# Other sensor types
# "EPCOS 100K B57560G104F"
# "ATC Semitec 104GT-2"
# "NTC 100K beta 3950"
# "Honeywell 100K 135-104LAG-J01"
# "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad)
# "AD595"
# "PT100 INA826"
sensor_pin: analog13
# T0 on mcu_xye
smooth_time: 3.0
@ -225,13 +235,13 @@ pid_Kd: 89.337
min_extrude_temp: 170
min_temp: 0
max_temp: 270
pressure_advance: 0
# pressure_advance: 0
# The amount of raw filament to push into the extruder during
# extruder acceleration. An equal amount of filament is retracted
# during deceleration. It is measured in millimeters per
# millimeter/second. The default is 0, which disables pressure
# advance.
pressure_advance_lookahead_time: 0.010
# pressure_advance_lookahead_time: 0.010
# A time (in seconds) to "look ahead" at future extrusion moves when
# calculating pressure advance. This is used to reduce the
# application of pressure advance during cornering moves that would
@ -408,9 +418,9 @@ sensor_pin: z:analog15
smooth_time: 3.0
max_power: 0.75
control: pid
pid_Kp=47.690
pid_Ki=1.556
pid_Kd=365.338
pid_Kp: 47.690
pid_Ki: 1.556
pid_Kd: 365.338
min_temp: 0
max_temp: 110
@ -456,11 +466,10 @@ set_position_z: 0
gcode:
G90
G0 Z5 F600
G90
G28 X Y
G0 X179 Y250 F3600
# XY Location of the FSR Switch. Update to your machines XY location.
G28 Z0
# XY Location of the FSR Switch
G28 Z
G0 Z10 F1800
G0 X125 Y125 Z20 F3600
@ -488,19 +497,19 @@ retry_tolerance: 0.0075
# if retries are enabled then retry if any z_stepper movement was greater
# than the retry_tolerance
[display]
# RepRapDiscount 128x64 Full Graphic Smart Controller
lcd_type: st7920
cs_pin: z:ar16
sclk_pin: z:ar23
sid_pin: z:ar17
# LCD connector on mcu_z
menu_timeout: 40
# Timeout for menu. Being inactive this amount of seconds will exit the menu
# Default is 0 seconds (disabled)
encoder_pins: ^z:ar33, ^z:ar31
click_pin: ^!z:ar35
kill_pin: ^!z:ar41
# [display]
# # RepRapDiscount 128x64 Full Graphic Smart Controller
# lcd_type: st7920
# cs_pin: z:ar16
# sclk_pin: z:ar23
# sid_pin: z:ar17
# # LCD connector on mcu_z
# menu_timeout: 40
# # Timeout for menu. Being inactive this amount of seconds will exit the menu
# # Default is 0 seconds (disabled)
# encoder_pins: ^z:ar33, ^z:ar31
# click_pin: ^!z:ar35
# kill_pin: ^!z:ar41
### Macros ###
@ -508,13 +517,17 @@ kill_pin: ^!z:ar41
[gcode_macro G32]
gcode:
G28
QUAD_GANTRY_LEVEL
G28 Z0
G0 X125 Y125 Z20 F6000
{% if printer.toolhead.status == "Ready" %}
G28
QUAD_GANTRY_LEVEL
G28 Z0
G0 X125 Y125 Z20 F6000
{% else %}
{ printer.gcode.action_respond_info("G32 is disabled while printing!") }
{% endif %}
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - please customize for your slicer of choice
# Use PRINT_START for the slicer starting script - PLEASE CUSTOMISE THE SCRIPT FOR YOUR SLICER OF CHOICE
gcode:
M117 Homing... ; display message
G28 ; home all axes
@ -522,7 +535,7 @@ gcode:
M117 Preheat (Print) ; display message
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - please customize for your slicer of choice
# Use PRINT_END for the slicer ending script - PLEASE CUSTOMISE THE SCRIPT FOR YOUR SLICER OF CHOICE
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
@ -539,25 +552,26 @@ gcode:
[gcode_macro UNLOAD_FILAMENT]
# Extrusion lengths must be adjusted for your particular configuration before use
gcode:
M83 ; set extruder to relative
G1 E10 F300 ; extrude a little to soften tip
G1 E-780 F1800 ; retract filament completely
M82 ; set extruder to absolute
{% if printer.toolhead.status == "Ready" %}
M83 ; set extruder to relative
G1 E10 F300 ; extrude a little to soften tip
G1 E-780 F1800 ; retract filament completely
M82 ; set extruder to absolute
{% else %}
{ printer.gcode.action_respond_info("Filament unloading disabled while printing!") }
{% endif %}
[gcode_macro LOAD_FILAMENT]
# Extrusion lengths must be adjusted for your particular configuration before use
gcode:
M83 ; set extruder to relative
G1 E750 F1800 ; quickly load filament to down bowden
G1 E30 F300 ; slower extrusion for hotend path
G1 E15 F150 ; prime nozzle with filament
M82 ; set extruder to absolute
{% if printer.toolhead.status == "Ready" %}
M83 ; set extruder to relative
G1 E750 F1800 ; quickly load filament to down bowden
G1 E30 F300 ; slower extrusion for hotend path
G1 E15 F150 ; prime nozzle with filament
M82 ; set extruder to absolute
{% else %}
{ printer.gcode.action_respond_info("Filament loading disabled while printing!") }
{% endif %}
# Sensor Types
# "EPCOS 100K B57560G104F"
# "ATC Semitec 104GT-2"
# "NTC 100K beta 3950"
# "Honeywell 100K 135-104LAG-J01"
# "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad)
# "AD595"
# "PT100 INA826"

@ -37,29 +37,29 @@
# E1_STEP_PIN ar36
# E1_DIR_PIN ar34
# E1_ENABLE_PIN ar30
# D10 ar10
# D9 ar9
# D8 ar8
# D10 ar10
# D9 ar9
# D8 ar8
# TEMP_0_PIN analog13
# TEMP_1_PIN analog14
# TEMP_2_PIN analog15
# SERVO 1 (TOP) D11
# SERVO 2 D6
# SERVO 3 D5
# SERVO 4 D4
# TEMP_2_PIN analog15
# SERVO 1 (TOP) D11
# SERVO 2 D6
# SERVO 3 D5
# SERVO 4 D4
# use the following modifiers before the pin definition (ex: ^!ar99)
# ! invert the logic
# ^ activate 5v pullup (does not apply to all pins)
# mcu_name: use pins on additional MCU (ex: z:ar10)
# ! invert the logic
# ^ activate 5v pullup (does not apply to all pins)
# mcu_name: use pins on additional MCU (ex: z:ar10)
# *** THINGS TO CHANGE/CHECK: ***
# Arduino paths [mcu] section
# Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
# Microswitch (z endstop) location [homing_override] section
# Microswitch (z endstop) offset for Z0 [stepper_z] section
# Microswitch (z endstop) location [homing_override] section
# Microswitch (z endstop) offset for Z0 [stepper_z] section
# Probe points [quad_gantry_level] section
# Min & Max gantry corner positions [quad_gantry_level] section
# Min & Max gantry corner positions [quad_gantry_level] section
# PID tune [extruder] and [heater_bed] sections
# Fine tune E steps [extruder] section
@ -81,10 +81,23 @@ restart_method: arduino
[printer]
kinematics: corexy
max_velocity: 350
max_accel: 3000
max_z_velocity: 25
max_z_accel: 350
# Velocities and accels may be increased for better performance
# but should be tested and increased incrementally
max_velocity: 250
max_accel: 2500
max_z_velocity: 35
max_z_accel: 800
square_corner_velocity: 8.0
# The maximum velocity (in mm/s) that the toolhead may travel a 90
# degree corner at. The default is 5mm/s.
# For more information, refer to Klipper docs.
[idle_timeout]
gcode:
TURN_OFF_HEATERS
M84 ; disable steppers
# 30 min
timeout: 1800
[stepper_x]
# B Stepper
@ -100,7 +113,9 @@ position_min: 0
position_endstop: 300
position_max: 300
homing_speed: 100
second_homing_speed: 25
homing_retract_dist: 5
homing_positive_dir: true
[stepper_y]
# A Stepper
@ -116,7 +131,9 @@ position_min: 0
position_endstop: 300
position_max: 300
homing_speed: 100
second_homing_speed: 25
homing_retract_dist: 5
homing_positive_dir: true
[stepper_z]
# Z0 Stepper - Front Left
@ -128,14 +145,16 @@ step_distance: 0.00250
# 400 steps per mm - 1.8 deg - 1/16 microstepping
endstop_pin: ^!z:ar18
# Z_MIN on mcu_z
position_endstop: -.05
# Offset (in mm) for nozzle to bed off z switch, For MY PRINTER the further negative, the bigger Z gap from bed.
position_max: 300
position_min: -3
# Set to -2 to allow room for squaring gantry with quad_gantry_level
homing_speed: 5.0
second_homing_speed: 1.0
position_endstop: 0
# Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0)
# (+) value = endstop above Z0, (-) value = endstop below
position_max: 290
position_min: -5
# Set to -5 to allow room for squaring gantry with quad_gantry_level
homing_speed: 15.0
second_homing_speed: 1.5
homing_retract_dist: 3.0
homing_positive_dir: false
[stepper_z1]
# Z1 Stepper - Rear Left
@ -170,15 +189,43 @@ dir_pin: ar28
enable_pin: !ar24
# E0 on mcu_xye
step_distance: 0.00180180
# 555 steps per mm - 1.8 deg - 1/16 microstepping (Mobius2)
# 555 steps per mm - 1.8 deg - 1/16 microstepping (Mobius3)
# This must be calibrated to your specific machine for best results
nozzle_diameter: 0.400
filament_diameter: 1.750
max_extrude_only_distance: 780.0
max_extrude_only_distance: 780
# This is set high to allow the load/unload filament macros to run
# Adjust to match your approximate filament path length
#max_extrude_cross_section:
# Maximum area (in mm^2) of an extrusion cross section (eg.
# extrusion width multiplied by layer height). This setting prevents
# excessive amounts of extrusion during relatively small XY moves.
# If a move requests an extrusion rate that would exceed this value
# it will cause an error to be returned. The default is: 4.0 *
# nozzle_diameter^2
#max_extrude_only_velocity:
#max_extrude_only_accel:
# Maximum velocity (in mm/s) and acceleration (in mm/s^2) of the
# extruder motor for retractions and extrude-only moves. These
# settings do not place any limit on normal printing moves. If not
# specified then they are calculated to match the limit an XY
# printing move with a cross section of 4.0*nozzle_diameter^2 would
# have.
heater_pin: ar10
# D10 on mcu_xye
max_power: 1.0
# use "ATC Semitec 104GT-2" for Trianglelab 104GT-2 and 104NT-4-R025H42G sensors
sensor_type: ATC Semitec 104GT-2
# use "ATC Semitec 104GT-2" for Trianglelab 104GT-2 and 104NT-4-R025H42G sensors
# Other sensor types
# "EPCOS 100K B57560G104F"
# "ATC Semitec 104GT-2"
# "NTC 100K beta 3950"
# "Honeywell 100K 135-104LAG-J01"
# "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad)
# "AD595"
# "PT100 INA826"
sensor_pin: analog13
# T0 on mcu_xye
smooth_time: 3.0
@ -188,79 +235,185 @@ pid_Ki: 0.755
pid_Kd: 89.337
min_extrude_temp: 170
min_temp: 0
max_temp: 300
max_temp: 270
# pressure_advance: 0
# The amount of raw filament to push into the extruder during
# extruder acceleration. An equal amount of filament is retracted
# during deceleration. It is measured in millimeters per
# millimeter/second. The default is 0, which disables pressure
# advance.
# pressure_advance_lookahead_time: 0.010
# A time (in seconds) to "look ahead" at future extrusion moves when
# calculating pressure advance. This is used to reduce the
# application of pressure advance during cornering moves that would
# otherwise cause retraction followed immediately by pressure
# buildup. This setting only applies if pressure_advance is
# non-zero. The default is 0.010 (10 milliseconds).
[probe]
# Inductive Probe
# Z height probe. One may define this section to enable Z height
# probing hardware. When this section is enabled, PROBE and
# QUERY_PROBE extended g-code commands become available. The probe
# section also creates a virtual "probe:z_virtual_endstop" pin. One
# may set the stepper_z endstop_pin to this virtual pin on cartesian
# style printers that use the probe in place of a z endstop.
pin: ^!z:ar19
# Z_MAX on mcu_z
x_offset: 0.0
y_offset: 25.0
z_offset: 0.00
# Offset (in mm) for inductive probe Y direction from nozzle
z_offset: 0.0
# Offset (in mm) for inductive probe in Z height
speed: 2.0
# Speed (in mm/s) of the Z axis when probing. The default is 5mm/s.
samples: 4
# Number of times to probe a point
sample_retract_dist: 2
sample_retract_dist: 3.0
# How far to retract (in mm) from the probe point for multi-probe samples
samples_result: average
# The calculation method when sampling more than once - either
# "median" or "average". The default is average.
#samples_tolerance: 0.100
# The maximum Z distance (in mm) that a sample may differ from other
# samples. If this tolerance is exceeded then either an error is
# reported or the attempt is restarted (see
# samples_tolerance_retries). The default is 0.100mm.
#samples_tolerance_retries: 0
# The number of times to retry if a sample is found that exceeds
# samples_tolerance. On a retry, all current samples are discarded
# and the probe attempt is restarted. If a valid set of samples are
# not obtained in the given number of retries then an error is
# reported. The default is zero which causes an error to be reported
# on the first sample that exceeds samples_tolerance.
[fan]
# Print cooling fan
pin: ar9
# D9 on mcu_xye
max_power: 1.0
# The maximum power (expressed as a value from 0.0 to 1.0) that the
# pin may be set to. The value 1.0 allows the pin to be set fully
# enabled for extended periods, while a value of 0.5 would allow the
# pin to be enabled for no more than half the time. This setting may
# be used to limit the total power output (over extended periods) to
# the fan. If this value is less than 1.0 then fan speed requests
# will be scaled between zero and max_power (for example, if
# max_power is .9 and a fan speed of 80% is requested then the fan
# power will be set to 72%). The default is 1.0.
shutdown_speed: 0
# The desired fan speed (expressed as a value from 0.0 to 1.0) if
# the micro-controller software enters an error state. The default
# is 0.
cycle_time: 0.010
# The amount of time (in seconds) for each PWM power cycle to the
# fan. It is recommended this be 10 milliseconds or greater when
# using software based PWM. The default is 0.010 seconds.
hardware_pwm: false
# Enable this to use hardware PWM instead of software PWM. The
# default is False.
kick_start_time: 0.500
cycle_time: 0.001
# Time (in seconds) to run the fan at full speed when first enabling
# it (helps get the fan spinning). The default is 0.100 seconds.
# See the "fan" section in example.cfg for a description of the
# above parameters.
[heater_fan hotend_fan]
# Hotend fan
# See the "heater_fan" section in example-extras.cfg for a complete
# description of this sections parameters.
pin: z:ar9
# D9 on mcu_z
max_power: 1.0
shutdown_speed: 1.0
cycle_time: 0.010
hardware_pwm: false
kick_start_time: 0.500
heater: extruder
heater_temp: 50.0
heater_temp: 75.0
# A temperature (in Celsius) that the heater must drop below before
# the fan is disabled. The default is 50 Celsius.
fan_speed: 1.0
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when its associated heater is enabled. The default
# is 1.0
[heater_fan controller_fan]
[controller_fan controller_fan]
# Controller fan
# See the "controller_fan" section in example-extras.cfg for a complete
# description of this sections parameters.
pin: z:ar10
# D10 on mcu_z
max_power: 1.0
shutdown_speed: 0
cycle_time: 0.010
hardware_pwm: false
kick_start_time: 0.500
heater: heater_bed
heater_temp: 40
idle_timeout: 30
# The ammount of time (in seconds) after a stepper driver or heater
# was active and the fan should be kept running. The default
# is 30 seconds.
idle_speed: 0.4
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when a heater or stepper driver was active and before
# the idle_timeout is reached. This must be greater or equal
# max_power. The default is max_power
heater: extruder,heater_bed
# Name of the config section defining the heater that this fan is
# associated with. If a comma separated list of heater names is
# provided here, then the fan will be enabled when any of the given
# heaters are enabled. The default is "extruder".
#[controller_fan my_controller_fan]
#pin: z:ar10
## D10 on mcu_z
#max_power: 1.0
#shutdown_speed: 0
#kick_start_time:0.500
## See the "fan" section in example.cfg for a description of the
## above parameters.
#idle_timeout: 30
## The ammount of time (in seconds) after a stepper driver or heater
## was active and the fan should be kept running. The default
## is 30 seconds.
#idle_speed: 1.0
## The fan speed (expressed as a value from 0.0 to 1.0) that the fan
## will be set to when a heater or stepper driver was active and before
## the idle_timeout is reached. This must be greater or equal
## max_power. The default is max_power
#heater: extruder, heater_bed
## Name of the config section defining the heater that this fan is
## associated with. If a comma separated list of heater names is
## provided here, then the fan will be enabled when any of the given
## heaters are enabled. The default is "extruder".
[heater_fan exhaust_fan]
# Exhaust fan
pin: z:ar8
# D8 on mcu_z
kick_start_time: 0.500
heater: heater_bed
heater_temp: 60.0
# [temperature_fan chamber]
# # Chamber temp and Exhaust fan
# # See the "temperature_fan" section in example-extras.cfg for a complete
# # description of this sections parameters.
# pin: z:ar8
# # D8 on mcu_z
# max_power: 1.0
# shutdown_speed: 0
# cycle_time: 0.010
# hardware_pwm: false
# kick_start_time: 0.500
# sensor_type: ATC Semitec 104GT-2
# sensor_pin: analog15
# min_temp: 0
# max_temp: 100
# # The maximum range of valid temperatures (in Celsius) that the
# # sensor must remain within. This controls a safety feature
# # implemented in the micro-controller code - should the measured
# # temperature ever fall outside this range then the micro-controller
# # will go into a shutdown state. Set this range just wide enough so
# # that reasonable temperatures do not result in an error. These
# # parameters must be provided.
# target_temp: 50
# # A temperature (in Celsius) that will be the target temperature.
# # The default is 40 degrees.
# max_speed: 1.0
# # The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# # will be set to when the sensor temperature exceeds the set value.
# # The default is 1.0.
# min_speed: 0
# # The minimum fan speed (expressed as a value from 0.0 to 1.0) that
# # the fan will be set to for PID temperature fans.
# # The default is 0.3.
# control: pid
# pid_Kp: 40
# pid_Ki: 0.2
# pid_Kd: 0.1
# pid_deriv_time: 2.0
# #pid_integral_max:
# # The maximum "windup" the integral term may accumulate. The default
# # is to use the same value as max_power.
# gcode_id: C
# # If set, the temperature will be reported in M105 queries using the
# # given id. The default is to not report the temperature via M105.
[heater_bed]
heater_pin: z:ar11
# D11 (servo) on mcu_z
sensor_type: NTC 100K beta 3950
sensor_type: NTC 100K MGB18-104F39050L32
# NTC 100K MGB18-104F39050L32 is for Keenovo thermistors
sensor_pin: z:analog15
# T2 on mcu_z
smooth_time: 3.0
@ -270,15 +423,43 @@ pid_Kp: 47.690
pid_Ki: 1.556
pid_Kd: 365.338
min_temp: 0
max_temp: 115
[idle_timeout]
# 30 min
timeout: 1800
max_temp: 110
[verify_heater heater_bed]
hysteresis: 0.5
check_gain_time: 120
max_error: 120
# The maximum "cumulative temperature error" before raising an
# error. Smaller values result in stricter checking and larger
# values allow for more time before an error is reported.
# Specifically, the temperature is inspected once a second and if it
# is close to the target temperature then an internal "error
# counter" is reset; otherwise, if the temperature is below the
# target range then the counter is increased by the amount the
# reported temperature differs from that range. Should the counter
# exceed this "max_error" then an error is raised. The default is
# 120.
check_gain_time: 60
# This controls heater verification during initial heating. Smaller
# values result in stricter checking and larger values allow for
# more time before an error is reported. Specifically, during
# initial heating, as long as the heater increases in temperature
# within this time frame (specified in seconds) then the internal
# "error counter" is reset. The default is 20 seconds for extruders
# and 60 seconds for heater_bed.
hysteresis: 5
# The maximum temperature difference (in Celsius) to a target
# temperature that is considered in range of the target. This
# controls the max_error range check. It is rare to customize this
# value. The default is 5.
heating_gain: 2
# The minimum temperature (in Celsius) that the heater must increase
# by during the check_gain_time check. It is rare to customize this
# value. The default is 2.
[verify_heater extruder]
max_error: 120
check_gain_time: 20
hysteresis: 5
heating_gain: 2
[homing_override]
axes: z
@ -288,7 +469,7 @@ gcode:
G0 Z5 F600
G28 X Y
G0 X222 Y300 F3600
# XY Location of the FSR Switch
# XY Location of the FSR Switch. Update to your machines XY location.
G28 Z
G0 Z10 F1800
G0 X150 Y150 Z10 F3600
@ -296,81 +477,102 @@ gcode:
[quad_gantry_level]
# Use QUAD_GANTRY_LEVEL to level a gantry.
gantry_corners:
-60,-10
360,310
-60,-10
360,310
# Min & Max gantry corners - measure from nozzle at MIN (0,0) and MAX (250,250) to respective belt positions
points:
60,60
60,240
240,240
240,60
60,60
60,240
240,240
240,60
# Probe points
speed: 100
horizontal_move_z: 10
speed: 200
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5
retries: 5
# number of times to retry if the stepper movements aren't within tolerance
retry_tolerance: 0.0075
# if retries are enabled then retry if any z_stepper movement was greater
# than the retry_tolerance
#[display]
## RepRapDiscount 128x64 Full Graphic Smart Controller
#lcd_type: st7920
#cs_pin: z:ar16
#sclk_pin: z:ar23
#sid_pin: z:ar17
## LCD connector on mcu_z
#menu_timeout: 40
#encoder_pins: ^z:ar33, ^z:ar31
#click_pin: ^!z:ar35
#kill_pin: ^!z:ar41
# [display]
# # RepRapDiscount 128x64 Full Graphic Smart Controller
# lcd_type: st7920
# cs_pin: z:ar16
# sclk_pin: z:ar23
# sid_pin: z:ar17
# # LCD connector on mcu_z
# menu_timeout: 40
# # Timeout for menu. Being inactive this amount of seconds will exit the menu
# # Default is 0 seconds (disabled)
# encoder_pins: ^z:ar33, ^z:ar31
# click_pin: ^!z:ar35
# kill_pin: ^!z:ar41
### Macros ###
[gcode_macro G32]
gcode:
G28
QUAD_GANTRY_LEVEL
G28 Z0
G0 X125 Y125 Z20 F6000
{% if printer.toolhead.status == "Ready" %}
G28
QUAD_GANTRY_LEVEL
G28 Z0
G0 X125 Y125 Z20 F6000
{% else %}
{ printer.gcode.action_respond_info("G32 is disabled while printing!") }
{% endif %}
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - PLEASE CUSTOMISE THE SCRIPT FOR YOUR SLICER OF CHOICE
gcode:
M117 Homing... ; display message
G28 ; home all axes
G1 Z20 F3000 ; move nozzle away from bed
M117 Preheat (Print) ; display message
M117 Homing... ; display message
G28 ; home all axes
G1 Z20 F3000 ; move nozzle away from bed
M117 Preheat (Print) ; display message
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - PLEASE CUSTOMISE THE SCRIPT FOR YOUR SLICER OF CHOICE
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-4.0 F3600 ; retract
G91 ; relative positioning
G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing
M104 S0 ; turn off hotend
M140 S0 ; turn off bed
M106 S0 ; turn off fan
G1 Z2 F3000 ; move nozzle up 2mm
G90 ; absolute positioning
G0 X150 Y300 F3600 ; park nozzle at the center rear
M117 Finished! ; display message
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-4.0 F3600 ; retract filament
G91 ; relative positioning
G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing
TURN_OFF_HEATERS
M107 ; turn off fan
G1 Z5 F3000 ; move nozzle up 5mm
G90 ; absolute positioning
G0 X150 Y300 F3600 ; park nozzle at rear
M117 Finished! ; display message
[gcode_macro UNLOAD_FILAMENT]
# Extrusion lengths must be adjusted for your particular configuration before use
gcode:
M83
G1 E10 F300
G1 E-780 F1800
M82
{% if printer.toolhead.status == "Ready" %}
M83 ; set extruder to relative
G1 E10 F300 ; extrude a little to soften tip
G1 E-780 F1800 ; retract filament completely
M82 ; set extruder to absolute
{% else %}
{ printer.gcode.action_respond_info("Filament unloading disabled while printing!") }
{% endif %}
[gcode_macro LOAD_FILAMENT]
# Extrusion lengths must be adjusted for your particular configuration before use
gcode:
M83
G1 E750 F1800
G1 E30 F300
G1 E15 F150
M82
{% if printer.toolhead.status == "Ready" %}
M83 ; set extruder to relative
G1 E750 F1800 ; quickly load filament to down bowden
G1 E30 F300 ; slower extrusion for hotend path
G1 E15 F150 ; prime nozzle with filament
M82 ; set extruder to absolute
{% else %}
{ printer.gcode.action_respond_info("Filament loading disabled while printing!") }
{% endif %}

@ -37,29 +37,29 @@
# E1_STEP_PIN ar36
# E1_DIR_PIN ar34
# E1_ENABLE_PIN ar30
# D10 ar10
# D9 ar9
# D8 ar8
# D10 ar10
# D9 ar9
# D8 ar8
# TEMP_0_PIN analog13
# TEMP_1_PIN analog14
# TEMP_2_PIN analog15
# SERVO 1 (TOP) D11
# SERVO 2 D6
# SERVO 3 D5
# SERVO 4 D4
# TEMP_2_PIN analog15
# SERVO 1 (TOP) D11
# SERVO 2 D6
# SERVO 3 D5
# SERVO 4 D4
# use the following modifiers before the pin definition (ex: ^!ar99)
# ! invert the logic
# ^ activate 5v pullup (does not apply to all pins)
# mcu_name: use pins on additional MCU (ex: z:ar10)
# ! invert the logic
# ^ activate 5v pullup (does not apply to all pins)
# mcu_name: use pins on additional MCU (ex: z:ar10)
# *** THINGS TO CHANGE/CHECK: ***
# Arduino paths [mcu] section
# Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
# Microswitch (z endstop) location [homing_override] section
# Microswitch (z endstop) offset for Z0 [stepper_z] section
# Microswitch (z endstop) location [homing_override] section
# Microswitch (z endstop) offset for Z0 [stepper_z] section
# Probe points [quad_gantry_level] section
# Min & Max gantry corner positions [quad_gantry_level] section
# Min & Max gantry corner positions [quad_gantry_level] section
# PID tune [extruder] and [heater_bed] sections
# Fine tune E steps [extruder] section
@ -81,10 +81,23 @@ restart_method: arduino
[printer]
kinematics: corexy
max_velocity: 350
max_accel: 3000
# Velocities and accels may be increased for better performance
# but should be tested and increased incrementally
max_velocity: 250
max_accel: 2500
max_z_velocity: 25
max_z_accel: 350
max_z_accel: 300
square_corner_velocity: 8.0
# The maximum velocity (in mm/s) that the toolhead may travel a 90
# degree corner at. The default is 5mm/s.
# For more information, refer to Klipper docs.
[idle_timeout]
gcode:
TURN_OFF_HEATERS
M84 ; disable steppers
# 30 min
timeout: 1800
[stepper_x]
# B Stepper
@ -100,7 +113,9 @@ position_min: 0
position_endstop: 350
position_max: 350
homing_speed: 100
second_homing_speed: 25
homing_retract_dist: 5
homing_positive_dir: true
[stepper_y]
# A Stepper
@ -116,7 +131,9 @@ position_min: 0
position_endstop: 350
position_max: 350
homing_speed: 100
second_homing_speed: 25
homing_retract_dist: 5
homing_positive_dir: true
[stepper_z]
# Z0 Stepper - Front Left
@ -128,14 +145,16 @@ step_distance: 0.00250
# 400 steps per mm - 1.8 deg - 1/16 microstepping
endstop_pin: ^!z:ar18
# Z_MIN on mcu_z
position_endstop: -.05
# Offset (in mm) for nozzle to bed off z switch, For MY PRINTER the further negative, the bigger Z gap from bed.
position_max: 350
position_min: -3
# Set to -2 to allow room for squaring gantry with quad_gantry_level
homing_speed: 5.0
second_homing_speed: 1.0
position_endstop: 0
# Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0)
# (+) value = endstop above Z0, (-) value = endstop below
position_max: 340
position_min: -5
# Set to -5 to allow room for squaring gantry with quad_gantry_level
homing_speed: 15.0
second_homing_speed: 1.5
homing_retract_dist: 3.0
homing_positive_dir: false
[stepper_z1]
# Z1 Stepper - Rear Left
@ -170,15 +189,42 @@ dir_pin: ar28
enable_pin: !ar24
# E0 on mcu_xye
step_distance: 0.00180180
# 555 steps per mm - 1.8 deg - 1/16 microstepping (Mobius2)
# 555 steps per mm - 1.8 deg - 1/16 microstepping (Mobius3)
# This must be calibrated to your specific machine for best results
nozzle_diameter: 0.400
filament_diameter: 1.750
max_extrude_only_distance: 780.0
max_extrude_only_distance: 780
# This is set high to allow the load/unload filament macros to run
# Adjust to match your approximate filament path length
#max_extrude_cross_section:
# Maximum area (in mm^2) of an extrusion cross section (eg.
# extrusion width multiplied by layer height). This setting prevents
# excessive amounts of extrusion during relatively small XY moves.
# If a move requests an extrusion rate that would exceed this value
# it will cause an error to be returned. The default is: 4.0 *
# nozzle_diameter^2
#max_extrude_only_velocity:
#max_extrude_only_accel:
# Maximum velocity (in mm/s) and acceleration (in mm/s^2) of the
# extruder motor for retractions and extrude-only moves. These
# settings do not place any limit on normal printing moves. If not
# specified then they are calculated to match the limit an XY
# printing move with a cross section of 4.0*nozzle_diameter^2 would
# have.
heater_pin: ar10
# D10 on mcu_xye
max_power: 1.0
sensor_type: ATC Semitec 104GT-2
# use "ATC Semitec 104GT-2" for Trianglelab 104GT-2 and 104NT-4-R025H42G sensors
# Other sensor types
# "EPCOS 100K B57560G104F"
# "ATC Semitec 104GT-2"
# "NTC 100K beta 3950"
# "Honeywell 100K 135-104LAG-J01"
# "NTC 100K MGB18-104F39050L32" (Keenovo Heater Pad)
# "AD595"
# "PT100 INA826"
sensor_pin: analog13
# T0 on mcu_xye
smooth_time: 3.0
@ -188,79 +234,185 @@ pid_Ki: 0.755
pid_Kd: 89.337
min_extrude_temp: 170
min_temp: 0
max_temp: 300
max_temp: 270
# pressure_advance: 0
# The amount of raw filament to push into the extruder during
# extruder acceleration. An equal amount of filament is retracted
# during deceleration. It is measured in millimeters per
# millimeter/second. The default is 0, which disables pressure
# advance.
# pressure_advance_lookahead_time: 0.010
# A time (in seconds) to "look ahead" at future extrusion moves when
# calculating pressure advance. This is used to reduce the
# application of pressure advance during cornering moves that would
# otherwise cause retraction followed immediately by pressure
# buildup. This setting only applies if pressure_advance is
# non-zero. The default is 0.010 (10 milliseconds).
[probe]
# Inductive Probe
# Z height probe. One may define this section to enable Z height
# probing hardware. When this section is enabled, PROBE and
# QUERY_PROBE extended g-code commands become available. The probe
# section also creates a virtual "probe:z_virtual_endstop" pin. One
# may set the stepper_z endstop_pin to this virtual pin on cartesian
# style printers that use the probe in place of a z endstop.
pin: ^!z:ar19
# Z_MAX on mcu_z
x_offset: 0.0
y_offset: 25.0
z_offset: 0.00
# Offset (in mm) for inductive probe Y direction from nozzle
z_offset: 0.0
# Offset (in mm) for inductive probe in Z height
speed: 2.0
# Speed (in mm/s) of the Z axis when probing. The default is 5mm/s.
samples: 4
# Number of times to probe a point
sample_retract_dist: 2
sample_retract_dist: 3.0
# How far to retract (in mm) from the probe point for multi-probe samples
samples_result: average
# The calculation method when sampling more than once - either
# "median" or "average". The default is average.
#samples_tolerance: 0.100
# The maximum Z distance (in mm) that a sample may differ from other
# samples. If this tolerance is exceeded then either an error is
# reported or the attempt is restarted (see
# samples_tolerance_retries). The default is 0.100mm.
#samples_tolerance_retries: 0
# The number of times to retry if a sample is found that exceeds
# samples_tolerance. On a retry, all current samples are discarded
# and the probe attempt is restarted. If a valid set of samples are
# not obtained in the given number of retries then an error is
# reported. The default is zero which causes an error to be reported
# on the first sample that exceeds samples_tolerance.
[fan]
# Print cooling fan
pin: ar9
# D9 on mcu_xye
max_power: 1.0
# The maximum power (expressed as a value from 0.0 to 1.0) that the
# pin may be set to. The value 1.0 allows the pin to be set fully
# enabled for extended periods, while a value of 0.5 would allow the
# pin to be enabled for no more than half the time. This setting may
# be used to limit the total power output (over extended periods) to
# the fan. If this value is less than 1.0 then fan speed requests
# will be scaled between zero and max_power (for example, if
# max_power is .9 and a fan speed of 80% is requested then the fan
# power will be set to 72%). The default is 1.0.
shutdown_speed: 0
# The desired fan speed (expressed as a value from 0.0 to 1.0) if
# the micro-controller software enters an error state. The default
# is 0.
cycle_time: 0.010
# The amount of time (in seconds) for each PWM power cycle to the
# fan. It is recommended this be 10 milliseconds or greater when
# using software based PWM. The default is 0.010 seconds.
hardware_pwm: false
# Enable this to use hardware PWM instead of software PWM. The
# default is False.
kick_start_time: 0.500
cycle_time: 0.001
# Time (in seconds) to run the fan at full speed when first enabling
# it (helps get the fan spinning). The default is 0.100 seconds.
# See the "fan" section in example.cfg for a description of the
# above parameters.
[heater_fan hotend_fan]
# Hotend fan
# See the "heater_fan" section in example-extras.cfg for a complete
# description of this sections parameters.
pin: z:ar9
# D9 on mcu_z
max_power: 1.0
shutdown_speed: 1.0
cycle_time: 0.010
hardware_pwm: false
kick_start_time: 0.500
heater: extruder
heater_temp: 50.0
heater_temp: 75.0
# A temperature (in Celsius) that the heater must drop below before
# the fan is disabled. The default is 50 Celsius.
fan_speed: 1.0
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when its associated heater is enabled. The default
# is 1.0
[heater_fan controller_fan]
[controller_fan controller_fan]
# Controller fan
# See the "controller_fan" section in example-extras.cfg for a complete
# description of this sections parameters.
pin: z:ar10
# D10 on mcu_z
max_power: 1.0
shutdown_speed: 0
cycle_time: 0.010
hardware_pwm: false
kick_start_time: 0.500
heater: heater_bed
heater_temp: 40
idle_timeout: 30
# The ammount of time (in seconds) after a stepper driver or heater
# was active and the fan should be kept running. The default
# is 30 seconds.
idle_speed: 0.4
# The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# will be set to when a heater or stepper driver was active and before
# the idle_timeout is reached. This must be greater or equal
# max_power. The default is max_power
heater: extruder,heater_bed
# Name of the config section defining the heater that this fan is
# associated with. If a comma separated list of heater names is
# provided here, then the fan will be enabled when any of the given
# heaters are enabled. The default is "extruder".
#[controller_fan my_controller_fan]
#pin: z:ar10
## D10 on mcu_z
#max_power: 1.0
#shutdown_speed: 0
#kick_start_time:0.500
## See the "fan" section in example.cfg for a description of the
## above parameters.
#idle_timeout: 30
## The ammount of time (in seconds) after a stepper driver or heater
## was active and the fan should be kept running. The default
## is 30 seconds.
#idle_speed: 1.0
## The fan speed (expressed as a value from 0.0 to 1.0) that the fan
## will be set to when a heater or stepper driver was active and before
## the idle_timeout is reached. This must be greater or equal
## max_power. The default is max_power
#heater: extruder, heater_bed
## Name of the config section defining the heater that this fan is
## associated with. If a comma separated list of heater names is
## provided here, then the fan will be enabled when any of the given
## heaters are enabled. The default is "extruder".
[heater_fan exhaust_fan]
# Exhaust fan
pin: z:ar8
# D8 on mcu_z
kick_start_time: 0.500
heater: heater_bed
heater_temp: 60.0
# [temperature_fan chamber]
# # Chamber temp and Exhaust fan
# # See the "temperature_fan" section in example-extras.cfg for a complete
# # description of this sections parameters.
# pin: z:ar8
# # D8 on mcu_z
# max_power: 1.0
# shutdown_speed: 0
# cycle_time: 0.010
# hardware_pwm: false
# kick_start_time: 0.500
# sensor_type: ATC Semitec 104GT-2
# sensor_pin: analog15
# min_temp: 0
# max_temp: 100
# # The maximum range of valid temperatures (in Celsius) that the
# # sensor must remain within. This controls a safety feature
# # implemented in the micro-controller code - should the measured
# # temperature ever fall outside this range then the micro-controller
# # will go into a shutdown state. Set this range just wide enough so
# # that reasonable temperatures do not result in an error. These
# # parameters must be provided.
# target_temp: 50
# # A temperature (in Celsius) that will be the target temperature.
# # The default is 40 degrees.
# max_speed: 1.0
# # The fan speed (expressed as a value from 0.0 to 1.0) that the fan
# # will be set to when the sensor temperature exceeds the set value.
# # The default is 1.0.
# min_speed: 0
# # The minimum fan speed (expressed as a value from 0.0 to 1.0) that
# # the fan will be set to for PID temperature fans.
# # The default is 0.3.
# control: pid
# pid_Kp: 40
# pid_Ki: 0.2
# pid_Kd: 0.1
# pid_deriv_time: 2.0
# #pid_integral_max:
# # The maximum "windup" the integral term may accumulate. The default
# # is to use the same value as max_power.
# gcode_id: C
# # If set, the temperature will be reported in M105 queries using the
# # given id. The default is to not report the temperature via M105.
[heater_bed]
heater_pin: z:ar11
# D11 (servo) on mcu_z
sensor_type: NTC 100K beta 3950
sensor_type: NTC 100K MGB18-104F39050L32
# NTC 100K MGB18-104F39050L32 is for Keenovo thermistors
sensor_pin: z:analog15
# T2 on mcu_z
smooth_time: 3.0
@ -270,15 +422,43 @@ pid_Kp: 47.690
pid_Ki: 1.556
pid_Kd: 365.338
min_temp: 0
max_temp: 115
[idle_timeout]
# 30 min
timeout: 1800
max_temp: 110
[verify_heater heater_bed]
hysteresis: 0.5
check_gain_time: 120
max_error: 120
# The maximum "cumulative temperature error" before raising an
# error. Smaller values result in stricter checking and larger
# values allow for more time before an error is reported.
# Specifically, the temperature is inspected once a second and if it
# is close to the target temperature then an internal "error
# counter" is reset; otherwise, if the temperature is below the
# target range then the counter is increased by the amount the
# reported temperature differs from that range. Should the counter
# exceed this "max_error" then an error is raised. The default is
# 120.
check_gain_time: 60
# This controls heater verification during initial heating. Smaller
# values result in stricter checking and larger values allow for
# more time before an error is reported. Specifically, during
# initial heating, as long as the heater increases in temperature
# within this time frame (specified in seconds) then the internal
# "error counter" is reset. The default is 20 seconds for extruders
# and 60 seconds for heater_bed.
hysteresis: 5
# The maximum temperature difference (in Celsius) to a target
# temperature that is considered in range of the target. This
# controls the max_error range check. It is rare to customize this
# value. The default is 5.
heating_gain: 2
# The minimum temperature (in Celsius) that the heater must increase
# by during the check_gain_time check. It is rare to customize this
# value. The default is 2.
[verify_heater extruder]
max_error: 120
check_gain_time: 20
hysteresis: 5
heating_gain: 2
[homing_override]
axes: z
@ -296,44 +476,55 @@ gcode:
[quad_gantry_level]
# Use QUAD_GANTRY_LEVEL to level a gantry.
gantry_corners:
-60,-10
410,360
-60,-10
410,360
# Min & Max gantry corners - measure from nozzle at MIN (0,0) and MAX (250,250) to respective belt positions
points:
60,60
60,290
290,290
290,60
60,60
60,290
290,290
290,60
# Probe points
speed: 100
horizontal_move_z: 10
# The speed (in mm/s) of non-probing moves during the calibration.
# The default is 50.
horizontal_move_z: 5
# The height (in mm) that the head should be commanded to move to
# just prior to starting a probe operation. The default is 5
retries: 5
# number of times to retry if the stepper movements aren't within tolerance
retry_tolerance: 0.0075
# if retries are enabled then retry if any z_stepper movement was greater
# than the retry_tolerance
#[display]
## RepRapDiscount 128x64 Full Graphic Smart Controller
#lcd_type: st7920
#cs_pin: z:ar16
#sclk_pin: z:ar23
#sid_pin: z:ar17
## LCD connector on mcu_z
#menu_timeout: 40
#encoder_pins: ^z:ar33, ^z:ar31
#click_pin: ^!z:ar35
#kill_pin: ^!z:ar41
# [display]
# # RepRapDiscount 128x64 Full Graphic Smart Controller
# lcd_type: st7920
# cs_pin: z:ar16
# sclk_pin: z:ar23
# sid_pin: z:ar17
# # LCD connector on mcu_z
# menu_timeout: 40
# # Timeout for menu. Being inactive this amount of seconds will exit the menu
# # Default is 0 seconds (disabled)
# encoder_pins: ^z:ar33, ^z:ar31
# click_pin: ^!z:ar35
# kill_pin: ^!z:ar41
### Macros ###
[gcode_macro G32]
gcode:
G28
QUAD_GANTRY_LEVEL
G28 Z0
G0 X125 Y125 Z20 F6000
{% if printer.toolhead.status == "Ready" %}
G28
QUAD_GANTRY_LEVEL
G28 Z0
G0 X125 Y125 Z20 F6000
{% else %}
{ printer.gcode.action_respond_info("G32 is disabled while printing!") }
{% endif %}
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - PLEASE CUSTOMISE THE SCRIPT FOR YOUR SLICER OF CHOICE
@ -347,30 +538,41 @@ gcode:
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - PLEASE CUSTOMISE THE SCRIPT FOR YOUR SLICER OF CHOICE
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-4.0 F3600 ; retract
G91 ; relative positioning
G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing
M104 S0 ; turn off hotend
M140 S0 ; turn off bed
M106 S0 ; turn off fan
G1 Z2 F3000 ; move nozzle up 2mm
G90 ; absolute positioning
G0 X175 Y350 F3600 ; park nozzle at rear
M117 Finished! ; display message
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-4.0 F3600 ; retract filament
G91 ; relative positioning
G0 Z1.00 X20.0 Y20.0 F20000 ; move nozzle to remove stringing
TURN_OFF_HEATERS
M107 ; turn off fan
G1 Z5 F3000 ; move nozzle up 5mm
G90 ; absolute positioning
G0 X175 Y350 F3600 ; park nozzle at rear
M117 Finished! ; display message
[gcode_macro UNLOAD_FILAMENT]
# Extrusion lengths must be adjusted for your particular configuration before use
gcode:
M83
G1 E10 F300
G1 E-780 F1800
M82
{% if printer.toolhead.status == "Ready" %}
M83 ; set extruder to relative
G1 E10 F300 ; extrude a little to soften tip
G1 E-780 F1800 ; retract filament completely
M82 ; set extruder to absolute
{% else %}
{ printer.gcode.action_respond_info("Filament unloading disabled while printing!") }
{% endif %}
[gcode_macro LOAD_FILAMENT]
# Extrusion lengths must be adjusted for your particular configuration before use
gcode:
M83
G1 E750 F1800
G1 E30 F300
G1 E15 F150
M82
{% if printer.toolhead.status == "Ready" %}
M83 ; set extruder to relative
G1 E750 F1800 ; quickly load filament to down bowden
G1 E30 F300 ; slower extrusion for hotend path
G1 E15 F150 ; prime nozzle with filament
M82 ; set extruder to absolute
{% else %}
{ printer.gcode.action_respond_info("Filament loading disabled while printing!") }
{% endif %}