Files
klipper-voron/printer_data/config/printer.cfg
T

656 lines
19 KiB
INI
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# This file contains common pin mappings for the BigTreeTech OctoPus V1.
# To use this config, the firmware should be compiled for the STM32F446 with a "32KiB bootloader"
# Enable "extra low-level configuration options" and select the "12MHz crystal" as clock reference
# after running "make", copy the generated "klipper/out/klipper.bin" file to a
# file named "firmware.bin" on an SD card and then restart the OctoPus with that SD card.
# See docs/Config_Reference.md for a description of parameters.
## Voron Design VORON2 250/300/350mm BigTreeTech OctoPus V1 TMC2209 UART config
## *** THINGS TO CHANGE/CHECK: ***
## MCU paths [mcu] section
## Thermistor types [extruder] and [heater_bed] sections - See 'sensor types' list at end of file
## Z Endstop Switch location [safe_z_home] section
## Homing end position [gcode_macro G32] section
## Z Endstop Switch offset for Z0 [stepper_z] section
## Probe points [quad_gantry_level] section
## Min & Max gantry corner postions [quad_gantry_level] section
## PID tune [extruder] and [heater_bed] sections
## Fine tune E steps [extruder] section
[include ./TOOLHEAD/*.cfg]
[include ./SYSTEM/*.cfg]
[include ./CUSTOM/*.cfg]
[mcu]
## [X in MOTOR0] - B Motor
## [Y in MOTOR1] - A Motor
## [E in MOTOR6] - Extruder
## Obtain definition by "ls -l /dev/serial/by-id/" then unplug to verify
##--------------------------------------------------------------------
serial: /dev/serial/by-id/usb-Klipper_stm32f446xx_360026001950534146373920-if00
restart_method: command
##--------------------------------------------------------------------
[printer]
kinematics: corexy
max_velocity: 500
max_accel: 4200 #Max 4000
#max_y_accel: 4200
#max_x_accel: 8000
#max_accel: 10000 #Testing - revert back to above line after!
#max_accel_to_decel: 10000 #Testing - revert back to above line after!
max_z_velocity: 30 #Max 15 for 12V TMC Drivers, can increase for 24V
max_z_accel: 500
square_corner_velocity: 2.0
minimum_cruise_ratio: 0
[force_move]
enable_force_move: True
[skew_correction]
[exclude_object]
[firmware_retraction]
[gcode_arcs]
resolution: 0.1
#####################################################################
# X/Y Stepper Settings
#####################################################################
## X Stepper on MOTOR0(B Motor)
[stepper_x]
step_pin: PF13
dir_pin: PF12
enable_pin: !PF14
rotation_distance: 40
microsteps: 16
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: tmc2209_stepper_x:virtual_endstop
position_min: 0
position_endstop: 352
position_max: 352
##--------------------------------------------------------------------
homing_speed: 50 #Max 100
homing_retract_dist: 0
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_x]
uart_pin: PC4
interpolate: False
run_current: 0.9
hold_current: 0.7
sense_resistor: 0.110
#stealthchop_threshold: 400
diag_pin: ^PG6
driver_SGTHRS: 60 #255 Most Sensitive 0 Least Sensitive
## Y Stepper on MOTOR1 (A Motor)
[stepper_y]
step_pin: PG0
dir_pin: PG1
enable_pin: !PF15
rotation_distance: 40
microsteps: 16
full_steps_per_rotation:200 #set to 400 for 0.9 degree stepper
endstop_pin: tmc2209_stepper_y:virtual_endstop
position_min: 0
position_endstop: 359
position_max: 359
##--------------------------------------------------------------------
homing_speed: 50 #Max 100
homing_retract_dist: 0
homing_positive_dir: true
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_y]
uart_pin: PD11
interpolate: False
run_current: 0.9
hold_current: 0.7
sense_resistor: 0.110
#stealthchop_threshold: 400
diag_pin: ^PG9
driver_SGTHRS: 63 #255 Most Sensitive 0 Least Sensitive
#####################################################################
# Z Stepper Settings
#####################################################################
## Z0 Stepper - Front Left on MOTOR2_1
[stepper_z]
step_pin: PF9
dir_pin: PF10
enable_pin: !PG2
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
#endstop_pin: probe:z_virtual_endstop
endstop_pin: EBB:gpio6
## Z-position of nozzle (in mm) to z-endstop trigger point relative to print surface (Z0)
## (+) value = endstop above Z0, (-) value = endstop below
## Increasing position_endstop brings nozzle closer to the bed
## After you run Z_ENDSTOP_CALIBRATE, position_endstop will be stored at the very end of your config
#position_endstop: -0.5
##--------------------------------------------------------------------
## Uncomment below for 250mm build
#position_max: 240
## Uncomment below for 300mm build
#position_max: 290
## Uncomment below for 350mm build
position_max: 300
##--------------------------------------------------------------------
position_min: -1
homing_speed: 10
second_homing_speed: 1
homing_retract_dist: 2
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z]
uart_pin: PF2
interpolate: true
run_current: 0.8
hold_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z1 Stepper - Rear Left on MOTOR3
[stepper_z1]
step_pin: PC13
dir_pin: !PF0
enable_pin: !PF1
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z1]
uart_pin: PE4
interpolate: true
run_current: 0.8
hold_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
## Z2 Stepper - Rear Right on MOTOR4
[stepper_z2]
step_pin: PE2
dir_pin: PE3
enable_pin: !PD4
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z2]
uart_pin: PE1
interpolate: true
run_current: 0.8
hold_current: 0.80
sense_resistor: 0.110
stealthchop_threshold: 0
## Z3 Stepper - Front Right on MOTOR5
[stepper_z3]
step_pin: PE6
dir_pin: !PA14
enable_pin: !PE0
rotation_distance: 40
gear_ratio: 80:16
microsteps: 16
## Make sure to update below for your relevant driver (2208 or 2209)
[tmc2209 stepper_z3]
uart_pin: PD3
interpolate: true
run_current: 0.8
hold_current: 0.80
sense_resistor: 0.110
stealthchop_threshold: 0
#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
## SSR Pin - BED_OUT
heater_pin: PA1
sensor_type: Generic 3950
sensor_pin: PF3
## Adjust Max Power so your heater doesn't warp your bed
max_power: 1.0
min_temp: 0
max_temp: 125
#control: pid
#pid_kp: 58.437
#pid_ki: 2.347
#pid_kd: 363.769
#####################################################################
# Fan Control
#####################################################################
[fan]
## Part Cooling Fan - CPAP 7040
pin: PG15
max_power: 1.0
kick_start_time: 0.05
hardware_pwm: False
cycle_time: 0.005
off_below: 0.1
[controller_fan stepper_fan]
## Controller fan - CNC_FAN2
pin: PD12
max_power: 0.9
kick_start_time: 0.5
fan_speed: 0.7
[controller_fan electronic_chamber_fans]
## Controller fan - CNC_FAN2
pin: PD13
max_power: 0.8
kick_start_time: 0.5
fan_speed: 0.4
[temperature_fan exhaust_fan]
pin: PE5
shutdown_speed: 0.0
kick_start_time: 5.0
cycle_time: 0.05
hardware_pwm: True
off_below: 0.15
sensor_type: temperature_combined
sensor_list: temperature_sensor _chamber_1, temperature_sensor _chamber_2, temperature_sensor _chamber_3, temperature_sensor _chamber_4
combination_method: mean
maximum_deviation: 999
control: pid
pid_Kp: 35.0
pid_Ki: 12
pid_Kd: 4.0
pid_deriv_time: 2.0
target_temp: 50.0
min_temp: 0
max_temp: 110
min_speed: 0.149
max_speed: 1.0
gcode_id: C
#[temperature_fan exhaust_fan]
## Exhaust fan - CNC_FAN3
#pin: PE5
#max_power: 1.0
#shutdown_speed: 0.0
#kick_start_time: 5.0
#cycle_time:0.05
#off_below:0.1
#sensor_type: temperature_combined
#sensor_list: temperature_sensor _chamber_1,temperature_sensor _chamber_2,temperature_sensor _chamber_3,temperature_sensor _chamber_4
#combination_method: mean
#maximum_deviation: 999
#min_temp: 0
#max_temp: 80
#target_temp: 35.0
#max_delta: 0.5
#max_speed: 1.0
#min_speed: 0.3
#control: watermark
#gcode_id: C
[gcode_macro M141]
gcode:
{% set s = params.S|default(0)|float %}
SET_TEMPERATURE_FAN_TARGET temperature_fan="exhaust_fan" target={s}
[fan_generic nevermore_fan]
pin: PD15
max_power: 1.0
kick_start_time: 1.0
cycle_time: 0.05
off_below: 0.13
#####################################################################
# LED Control
#####################################################################
#[output_pin caselight]
# Chamber Lighting - HE1 Connector (Optional)
#pin: PB11
#pwm:true
#shutdown_value: 0
#value:1
#cycle_time: 0.01
[output_pin daylight]
pin: PB11
pwm: True
cycle_time: 0.01
#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
[idle_timeout]
timeout: 1800
#[safe_z_home]
## XY Location of the Z Endstop Switch
## Update -10,-10 to the XY coordinates of your endstop pin
## (such as 157,305) after going through Z Endstop Pin
## Location Definition step.
#home_xy_position:175,175
#speed:100
#z_hop:10
[quad_gantry_level]
## Use QUAD_GANTRY_LEVEL to level a gantry.
## Min & Max gantry corners - measure from nozzle at MIN (0,0) and
## MAX (250, 250), (300,300), or (350,350) depending on your printer size
## to respective belt positions
#--------------------------------------------------------------------
## Gantry Corners for 250mm Build
## Uncomment for 250mm build
#gantry_corners:
# -60,-10
# 310, 320
## Probe points
#points:
# 50,25
# 50,175
# 200,175
# 200,25
## Gantry Corners for 300mm Build
## Uncomment for 300mm build
#gantry_corners:
# -60,-10
# 360,370
## Probe points
#points:
# 50,25
# 50,225
# 250,225
# 250,25
## Gantry Corners for 350mm Build
## Uncomment for 350mm build
gantry_corners:
-60,-10
410,420
# Probe points
points:
50,25
50,275
300,275
300,25
#--------------------------------------------------------------------
speed: 200
horizontal_move_z: 2
retries: 15
retry_tolerance: 0.015
max_adjust: 5
#--------------------------------------------------------------------
[neopixel front_logo]
pin: PB0
# The pin connected to the neopixel. This parameter must be
# provided.
chain_count: 7
# The number of Neopixel chips that are "daisy chained" to the
# provided pin. The default is 1 (which indicates only a single
# Neopixel is connected to the pin).
color_order: GRB
# Set the pixel order required by the LED hardware (using a string
# containing the letters R, G, B, W with W optional). Alternatively,
# this may be a comma separated list of pixel orders - one for each
# LED in the chain. The default is GRB.
initial_RED: 1.0
initial_GREEN: 0.0
initial_BLUE: 0.0
initial_WHITE: 0.0
# See the "led" section for information on these parameters.
#--------------------------------------------------------------------
#####################################################################
# Macros
#####################################################################
[gcode_macro G32]
description: Home XYZ mesh calibrate
gcode:
STATUS_HOMING
BED_MESH_CLEAR
G28
QUAD_GANTRY_LEVEL
STATUS_MESHING
BED_MESH_CALIBRATE
G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } Z30 F4500
CARTOGRAPHER_TOUCH
STATUS_READY
#--------------------------------------------------------------------
[gcode_macro FAST_CALIBRATE]
description: >
Quickly home axis and mesh the print area.
• Caps nozzle temp at 150 °C (warns if over‑requested)
• Heats bed & nozzle, non‑blocking wait (via WAIT_HEAT_ALL)
• Clears old mesh, homes, then runs adaptive mesh
• Moves to center & probes, with step‑by‑step logs
gcode:
# ─── STEP 1: Read & Cap Requested Temps ─────────────────────────── #
{% set extruder_req = params.EXTRUDER|default(0)|int %}
{% set bed_req = params.BED |default(0)|int %}
{% if extruder_req > 150 %}
{% set capped_extruder = 150 %}
{% set warn_msg = "⚠️ Nozzle temp request " ~ extruder_req|string ~ "°C capped to " ~ capped_extruder|string ~ "°C" %}
RESPOND MSG="{warn_msg}"
{% else %}
{% set capped_extruder = extruder_req %}
{% endif %}
# ─── STEP 2: Status Overview ──────────────────────────────────────── #
{% set status_msg =
"⚙️ Fast Calibrate Starting | Bed → " ~ bed_req|string ~ "°C" ~ " | Nozzle → " ~ capped_extruder|string ~ "°C" %}
RESPOND MSG="{status_msg}"
# ─── STEP 3: Begin Heating Heaters ───────────────────────────────── #
{% if capped_extruder > 0 %}
{% set heat_nozzle_msg = "🔥 Heating nozzle to " ~ capped_extruder|string ~ "°C" %}
RESPOND MSG="{heat_nozzle_msg}"
M104 S{capped_extruder}
{% else %}
RESPOND MSG="ℹ️ Nozzle heating skipped (0°C requested)"
{% endif %}
{% if bed_req > 0 %}
{% set heat_bed_msg = "🔥 Heating bed to " ~ bed_req|string ~ "°C" %}
RESPOND MSG="{heat_bed_msg}"
M140 S{bed_req}
{% else %}
RESPOND MSG="ℹ️ Bed heating skipped (0°C requested)"
{% endif %}
# ─── STEP 4: Non‑blocking Wait for Both Temps ─────────────────────── #
WAIT_HEAT_ALL
# ─── STEP 5: Clear Mesh & Home Axes ───────────────────────────────── #
RESPOND MSG="🧹 Clearing old mesh"
BED_MESH_CLEAR
RESPOND MSG="🏠 Homing all axes"
_CG28
{% if printer.quad_gantry_level.applied|lower == 'false' %}
RESPOND MSG="📏 Running quad gantry level"
STATUS_LEVELING
QUAD_GANTRY_LEVEL
{% else %}
RESPOND MSG="✔️ Gantry already leveled"
{% endif %}
# ─── STEP 6: Adaptive Mesh Scan ──────────────────────────────────── #
RESPOND MSG="🔍 Starting adaptive mesh scan"
STATUS_MESHING
BED_MESH_CALIBRATE ADAPTIVE=1
# ─── STEP 7: Final Probe Touch ───────────────────────────────────── #
RESPOND MSG="📍 Moving to center for probe touch"
G1 X{ printer.toolhead.axis_maximum.x/2 } Y{ printer.toolhead.axis_maximum.y/2 } F4500
CARTOGRAPHER_TOUCH
# ─── STEP 8: Restore original nozzle temp & wait ────────────────── #
{% if extruder_req > 0 %}
{% set restore_msg = "🔁 Restoring nozzle temp to " ~ extruder_req|string ~ "°C" %}
RESPOND MSG="{restore_msg}"
M104 S{extruder_req}
WAIT_HEAT_EXTRUDER
{% endif %}
RESPOND MSG="✅ Fast calibration complete"
[gcode_macro WAIT_HEAT_ALL]
description: Wait for bed and nozzle to reach target temps
gcode:
RESPOND MSG="⏳ Waiting for bed and nozzle to heat..."
M190 S{printer.heater_bed.target}
M109 S{printer.extruder.target}
RESPOND MSG="🔥 Bed and nozzle ready."
[gcode_macro WAIT_HEAT_EXTRUDER]
description: Wait for nozzle to reach target temps
gcode:
RESPOND MSG="⏳ Waiting for nozzle to heat..."
M109 S{printer.extruder.target}
RESPOND MSG="🔥 Nozzle ready."
[gcode_macro PRINT_START]
# Use PRINT_START for the slicer starting script - please customise for your slicer of choice
gcode:
RESPOND MSG="🚦 Waiting for bed/chamber readiness..."
SET_MATERIAL {rawparams}
FAST_CALIBRATE {rawparams}
CLEAN_NOZZLE
STATUS_PRINTING
LINE_PURGE
[gcode_macro PRINT_END]
# Use PRINT_END for the slicer ending script - please customise for your slicer of choice
gcode:
M400 ; wait for buffer to clear
G92 E0 ; zero the extruder
G1 E-10.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
M106 S0
G1 Z5 F3000 ; move nozzle up 5mm
G90 ; absolute positioning
BED_MESH_CLEAR
SET_PIN PIN=daylight VALUE=0.0
## Thermistor 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"
#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#
#*# [extruder]
#*# control = pid
#*# pid_kp = 15.921
#*# pid_ki = 3.553
#*# pid_kd = 12.717
#*#
#*# [heater_bed]
#*# control = pid
#*# pid_kp = 38.431
#*# pid_ki = 1.601
#*# pid_kd = 230.586
#*#
#*# [stepper_z]
#*# position_endstop = -0.65
#*#
#*# [input_shaper]
#*# shaper_type_x = mzv
#*# shaper_freq_x = 52.2
#*# shaper_type_y = mzv
#*# shaper_freq_y = 37.8
#*#
#*# [scanner]
#*# mode = touch
#*# scanner_touch_threshold = 2250
#*# scanner_touch_speed = 3
#*#
#*# [scanner model default]
#*# model_coef = 1.503616458401332,
#*# 1.8307346475213917,
#*# 0.7262664387406956,
#*# 0.2835099604869052,
#*# 0.49907486591585376,
#*# 0.6866272569538326,
#*# -0.4090974133486076,
#*# -0.7852408625740519,
#*# 0.33079701878632656,
#*# 0.4362887326279605
#*# model_domain = 3.241918166319436e-07,3.3488126441795064e-07
#*# model_range = 0.200000,5.100000
#*# model_temp = 32.343261
#*# model_offset = 0.00000
#*# model_mode = touch
#*# model_fw_version = CARTOGRAPHER 5.1.0
#*#
#*# [bed_mesh default]
#*# version = 1
#*# points =
#*# 0.072398, 0.066187, 0.119609, 0.134320, 0.132330, 0.124682, 0.100382, 0.086712, 0.077852, 0.074655
#*# 0.039626, 0.036818, 0.092077, 0.101400, 0.103115, 0.087366, 0.059710, 0.045081, 0.039742, 0.020377
#*# 0.007233, 0.011211, 0.055786, 0.061958, 0.054488, 0.046772, 0.017405, 0.006026, 0.001332, -0.019181
#*# -0.015451, -0.008911, 0.036741, 0.037070, 0.022559, 0.018322, -0.002258, -0.016678, -0.023943, -0.036462
#*# -0.032068, -0.040985, 0.033854, 0.035543, 0.009602, -0.000700, -0.021671, -0.027756, -0.038461, -0.058526
#*# -0.036397, -0.034285, 0.032927, 0.026578, -0.003679, -0.002466, -0.023670, -0.034656, -0.036612, -0.054150
#*# -0.021564, -0.030095, 0.022793, 0.029899, 0.010114, 0.000905, -0.013579, -0.025803, -0.025878, -0.035988
#*# 0.007332, 0.002438, 0.063747, 0.059245, 0.045247, 0.033976, 0.020512, 0.012343, 0.014880, -0.002763
#*# 0.044449, 0.033778, 0.080687, 0.087097, 0.085445, 0.074759, 0.065539, 0.054285, 0.054044, 0.039216
#*# 0.045665, 0.049666, 0.111007, 0.114869, 0.103424, 0.098449, 0.091647, 0.084339, 0.083037, 0.062745
#*# x_count = 10
#*# y_count = 10
#*# mesh_x_pps = 2
#*# mesh_y_pps = 2
#*# algo = bicubic
#*# tension = 0.2
#*# min_x = 15.0
#*# max_x = 334.95
#*# min_y = 25.0
#*# max_y = 334.96