Skip to main content

VORON 2.4 Reference Configuration


#####################################################################
# Items to be changed/checked
#####################################################################
##***Items to be changed/checked:***
## MCU path [mcu]
## Printer active range xyz's position
## Thermistor type [extruder] and [heater_bed]
## Z-axis limit switch stop position [safe_z_home]
## Z-axis limit switch offset position [stepper_z]
## PID calibration [extruder] and [heater_bed]
## Adjust extruder motor step value [extruder]

#####################################################################
# File invocation
#####################################################################
### When using fuidd or mainsail as the frontend, remove the '#' before #[include XXX.cfg].
### 当您使用fuidd或者mainsail作为前端时,请删除#[include XXX.cfg]前面的#。
[include fluidd.cfg]
#[include mainsail.cfg]

### Replace 'fly' in /home/fly with your host computer username, ensuring it's not the ROOT user.
### 下面/home/fly中的fly需要替换成你的上位机用户,请注意不是ROOT用户。
[virtual_sdcard]
path: /home/fly/printer_data/gcodes
on_error_gcode: CANCEL_PRINT


#####################################################################
# Master ID Configuration
#####################################################################
[mcu]
serial: /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00
### Find the USB firmware ID with: ls /dev/serial/by-id/* and replace
### /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00 with the ID you discover.
### 使用is/dev/Serial/by-id/*查找USB固件ID,并将
### /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00替换为您发现的ID。

#canbus_uuid: 114514114514
### Query the CAN firmware ID with: ~/klippy#env/bin/python ~/klipper/scripts/canbus_query.py can0
### Replace 'serial:' in the CAN ID with 'canbus_uuid:', then append the ID.
### can的id需要把serial: 替换成canbus_uuid: 后面添加id
### 查询can固件id是:~/klippy#env/bin/python ~/klipper/scripts/canbus_query.py can0

#####################################################################
# Temperature monitoring
#####################################################################
[temperature_sensor motherboard]
sensor_type: temperature_mcu

[temperature_sensor Raspberry Pi]
sensor_type: temperature_host

#####################################################################
# Tmodel and acceleration
#####################################################################
[printer]
kinematics: corexy
max_velocity: 300
max_accel: 2000
max_z_velocity: 15
max_z_accel: 300
square_corner_velocity: 6.0

#####################################################################
# X/Y Stepper Settings
#####################################################################

[stepper_x]
## Refer to https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin: # Check motor direction in link above. If inverted, add a ! before gpio3
enable_pin:!
rotation_distance: 40
microsteps: 32
full_steps_per_rotation: 200 # Set to 400 for 0.9° degree stepper motor, 200 is for 1.8° stepper motors
endstop_pin:
# endstop_pin: tmc2209_stepper_x:virtual_endstop
# endstop_pin: tmc5160_stepper_x:virtual_endstop
position_min: 0
position_endstop: 300 # (250mm-300mm-350mm)
position_max: 300 # (250mm-300mm-350mm)
homing_speed: 40 # for sensorless homing it is recommended not to go above 40mm/s
homing_retract_dist: 0
homing_positive_dir: true

[tmc2209 stepper_x]
uart_pin:
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0 # Set to 999999 to turn stealthchop on, and 0 to use spreadcycle
diag_pin: ^
driver_SGTHRS: 80

[tmc5160 stepper_x]
cs_pin:
### spi_bus与spi_software只能使用其中一个
### spi_bus and spi_software can only use one of them.
# spi_bus:
spi_software_mosi_pin:
spi_software_miso_pin:
spi_software_sclk_pin:
run_current: 1.0
interpolate: False
### 驱动采样电阻需要按着驱动来修改
### The driver sampling resistor needs to be modified according to the driver
sense_resistor: 0.075
stealthchop_threshold: 0
diag0_pin: ^!
driver_SGT: 1

[stepper_y]
## Refer to https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin: # Check motor direction in link above. If inverted, add a ! before gpio0
enable_pin:!
rotation_distance: 40
microsteps: 32
full_steps_per_rotation: 200
endstop_pin:
# endstop_pin: tmc2209_stepper_y:virtual_endstop
# endstop_pin: tmc5160_stepper_y:virtual_endstop
position_min: 0
position_endstop: 300
position_max: 300
homing_speed: 40
homing_retract_dist: 0
homing_positive_dir: true

[tmc2209 stepper_y]
uart_pin:
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0
diag_pin: ^
driver_SGTHRS: 80

[tmc5160 stepper_y]
cs_pin:
### spi_bus与spi_software只能使用其中一个
### spi_bus and spi_software can only use one of them.
# spi_bus:
spi_software_mosi_pin:
spi_software_miso_pin:
spi_software_sclk_pin:
run_current: 1.0
interpolate: False
### 驱动采样电阻需要按着驱动来修改
### The driver sampling resistor needs to be modified according to the driver
sense_resistor: 0.075
stealthchop_threshold: 0
diag0_pin: ^!
driver_SGT: 1

#####################################################################
# Z Stepper Settings
#####################################################################

[stepper_z]
## Refer to https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin:! # Check motor direction in link above. If inverted, add a ! before gpio25
enable_pin: !
rotation_distance: 8
microsteps: 32
endstop_pin: ^
# endstop_pin: probe:z_virtual_endstop
position_endstop:-0.5
position_max: 270
position_min: -15
homing_speed: 20
second_homing_speed: 3.0
homing_retract_dist: 3.0

[tmc2209 stepper_z]
uart_pin:
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0

[stepper_z1]
step_pin:
dir_pin:
enable_pin: !
rotation_distance: 40
gear_ratio: 80:16
full_steps_per_rotation: 200
microsteps: 16


[tmc2209 stepper_z1]
uart_pin:
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0

## Z2 Stepper Motor - Rear Right on Driver5
[stepper_z2]
step_pin:
dir_pin:
enable_pin:!
rotation_distance: 40
gear_ratio: 80:16
full_steps_per_rotation: 200
microsteps: 16


[tmc2209 stepper_z2]
uart_pin:
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0


[stepper_z3]
step_pin:
dir_pin:
enable_pin: !
rotation_distance: 40
gear_ratio: 80:16
full_steps_per_rotation: 200
microsteps: 16


[tmc2209 stepper_z3]
uart_pin:
interpolate: false
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0



#####################################################################
# Extruder
#####################################################################
[extruder]
## Type of sensor # common thermistors are (Generic 3950, ATC Semitec 104GT#2)
## 传感器类型#常见的热敏电阻器是 (Generic 3950, ATC Semitec 104GT#2)
sensor_type: ATC Semitec 104GT-2
sensor_pin:
#####################################################################
## If using PT1000, please connect the jumper next to the thermal sensitivity.
## 如果使用PT1000请将热敏旁边跳线接上
# sensor_type:PT1000
# pullup_resistor: 1100
# sensor_pin:
#####################################################################
# Extruder
#####################################################################
## https://www.klipper3d.org/Config_Reference.html#extruder
[extruder]
step_pin:
dir_pin:
enable_pin: !
rotation_distance: 21.84
## rotation_distance = The original rotation_distance multiplied by the actual extrusion length divided by the requested extrusion length.
## 校准步进值: 22.44=旧值22*实际值102/目标值100
gear_ratio:50:10
## Reduction ratio (Galileo gear ratio 7.5:1 and comment out this line; BMG is 50:17, output shaft in front, input shaft in back)
microsteps:16
full_steps_per_rotation: 200
nozzle_diameter:0.400
filament_diameter:1.75
heater_pin:
min_temp: -50
max_temp: 300
max_power: 1.0
min_extrude_temp: 150
pressure_advance: 0.05
##Pressure in advance
##压力提前
##https://www.klipper3d.org/zh/Pressure_Advance.html
pressure_advance_smooth_time: 0.040
#max_extrude_only_distance: 200.0 # Extrusion flow error can be commented out, but it is recommended to re-slice
# 校准喷嘴温度PID命令: PID_CALIBRATE HEATER=extruder TARGET=245
# Calibrate the nozzle temperature PID command : PID_CALIBRATE HEATER=extruder TARGET=245
control: pid
pid_kp: 26.213
pid_ki:1.304
pid_kd: 131.721
step_pulse_duration: 0.000004

[tmc2209 extruder]
uart_pin:gpio9
uart_address:3
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0


#####################################################################
# Bed Heater
#####################################################################
[heater_bed]
heater_pin:
## Check what thermistor type you have. See https://www.klipper3d.org/Config_Reference.html#common#thermistors for common thermistor types.
## Use "Generic 3950" for Keenovo heaters
sensor_type:
sensor_pin:
max_power: 1.0
min_temp: -50
max_temp: 120
# Heated bed temperature PID calibration command: PID_CALIBRATE HEATER=heater_bed TARGET=100
# 校准热床温度PID命令: PID_CALIBRATE HEATER=heater_bed TARGET=100
control: pid
pid_kp: 68.453
pid_ki: 2.749
pid_kd: 426.122

#####################################################################
# Fan Control
#####################################################################
[fan]
pin:
max_power: 1.0
kick_start_time: 0.5 # Depending on your fan, you may need to increase this value if your fan will not start
off_below: 0.13
cycle_time: 0.010
#####################################################################
[heater_fan hotend_fan]
pin:
max_power: 1.0
kick_start_time: 0.5
heater: extruder
heater_temp: 50.0

#####################################################################
# Filament Runout Sensor
#####################################################################
#[filament_switch_sensor Filament_Runout_Sensor]
#pause_on_runout: True
#runout_gcode: PAUSE
#switch_pin:

#####################################################################
# Probe
#####################################################################
### TAP
[probe]
pin:
x_offset: 0
y_offset: 0
# z_offset: 0
speed: 10.0
samples: 3
samples_result: median
sample_retract_dist: 4.0
samples_tolerance: 0.006
samples_tolerance_retries: 3

### EDDY
# [probe_eddy_current fly_eddy_probe]
# sensor_type: ldc1612
# z_offset: 0.8
# i2c_address: 43
# i2c_mcu:
# i2c_bus:
# x_offset: 0
# y_offset: 0
# speed:40
# lift_speed: 5


#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
### You can only use either safe_z_home or homing_override
### 只能使用safe_z_homehoming_override中的一个
#[safe_z_home]
#home_xy_position: 206,300
#speed: 100
#z_hop: 5

#[homing_override]
#axes: z
#set_position_z: 0
#gcode:
# G90
# G0 Z15 F600
# G28 X Y
# ## Z limit switch XY position
# ## Update X0 and Y0 to your values after probing (e.g., X157, Y305)
# ## Z axis limit switch position definition
# G0 X185 Y250 F3600 #250mm
# G28 Z
# G0 Z10 F1800

#####################################################################
# Quad Gantry Level
#####################################################################
[quad_gantry_level]
#gantry_corners:
# -60,-10
# 310,320
#points: # 250mm
# 50,25
# 50,175
# 200,175
# 200,25

gantry_corners: # 300mm
-60,-10
360,370
points:
50,25
50,225
250,225
250,25

#gantry_corners: # 350mm
# -60,-10
# 410,420
#points:
# 50,25
# 50,275
# 300,275
# 300,25

speed: 100
horizontal_move_z: 1
retry_tolerance: 0.0075
retries: 5
max_adjust: 10


#####################################################################
# Macros
#####################################################################
[idle_timeout]
### If idle for more than 30 minutes, heated bed will be turned off.
### 如果空闲超过30分钟,则关闭加热床。
timeout: 1800

#[gcode_arcs]
#### Allowing arc interpolation
#### 允许圆弧插补
#resolution: 1.0

[gcode_macro PRINT_START]
### Set PRINT_START as a macro for the start of printing, customize actions before printing.
### 将 PRINT_START 设置为开始打印时的宏,自定义打印前的动作
gcode:
G92 E0
BED_MESH_CLEAR
G28
quad_gantry_level
G28
G1 Z20 F3000
#BED_MESH_PROFILE LOAD=default
BED_MESH_CALIBRATE adaptive=1 METHOD=scan SCAN_MODE=rapid

[gcode_macro PRINT_END]
### Set PRINT_END as a macro for the end of printing, customize actions after printing completion
### 将 PRINT_END 设置为打印结束时的宏,自定义打印完成之后动作
gcode:
# Get Boundaries
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set max_z = printer.configfile.config["stepper_z"]["position_max"]|float %}

# Check end position to determine safe directions to move
{% if printer.toolhead.position.x < (max_x - 20) %}
{% set x_safe = 20.0 %}
{% else %}
{% set x_safe = -20.0 %}
{% endif %}

{% if printer.toolhead.position.y < (max_y - 20) %}
{% set y_safe = 20.0 %}
{% else %}
{% set y_safe = -20.0 %}
{% endif %}

{% if printer.toolhead.position.z < (max_z - 2) %}
{% set z_safe = 2.0 %}
{% else %}
{% set z_safe = max_z - printer.toolhead.position.z %}
{% endif %}

M400 # Wait for buffer to clear
G92 E0 # Zero extruder
G1 E-10.0 F3600 # Retract filament
G91 # Relative positioning
G0 Z{z_safe} F3600 # Lift gantry
G0 X{x_safe} Y{y_safe} F20000 # Move nozzle to remove stringing
M104 S0 # Turn off extruder
M140 S0 # Turn off heated bed
M106 S0 # Turn off model fan
G90 # Set absolute coordinate system
G0 X{max_x / 2} Y{max_y} F3600 # Park nozzle at rear
BED_MESH_CLEAR # Unload mesh bed


#*# <---------------------- SAVE_CONFIG ---------------------->
#*# DO NOT EDIT THIS BLOCK OR BELOW. The contents are auto-generated.
#*#