Перейти к основному содержанию

VORON 0.2 Эталонная конфигурация

#####################################################################
# Пункты для изменения/проверки
#####################################################################
##***Важно изменить/проверить:***
## Путь к MCU [mcu]
## Область перемещения принтера позиции xyz
## Тип термистора [extruder] и [heater_bed]
## Положение остановки концевика оси Z [safe_z_home]
## Смещение концевика оси Z [stepper_z]
## Калибровка PID [extruder] и [heater_bed]
## Калибровка шагов экструдера [extruder]

#####################################################################
# Подключение файлов
#####################################################################
### При использовании fluidd или mainsail в качестве интерфейса, удалите # перед #[include XXX.cfg].
### When using fluidd or mainsail as the frontend, remove the '#' before #[include XXX.cfg].
[include fluidd.cfg]
#[include mainsail.cfg]

### Замените 'fly' в /home/fly на имя пользователя вашего хост-компьютера, убедитесь, что это не ROOT пользователь.
### Replace 'fly' in /home/fly with your host computer username, ensuring it's not the ROOT user.
[virtual_sdcard]
path: /home/fly/printer_data/gcodes
on_error_gcode: CANCEL_PRINT


#####################################################################
# Конфигурация Master ID
#####################################################################
[mcu]
serial: /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00
### Используйте ls /dev/serial/by-id/* для поиска ID USB прошивки и замените
### /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00 на найденный ID.
### 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.

#canbus_uuid: 114514114514
### Запрос ID CAN прошивки: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
### В ID CAN нужно заменить 'serial:' на 'canbus_uuid:' и добавить ID.
### 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.

#####################################################################
# Мониторинг температуры
#####################################################################
[temperature_sensor motherboard]
sensor_type: temperature_mcu

[temperature_sensor Raspberry Pi]
sensor_type: temperature_host

#####################################################################
# Модель и ускорение
#####################################################################
[printer]
kinematics: corexy
max_velocity: 200
max_accel: 2000
max_z_velocity: 15
max_z_accel: 300
square_corner_velocity: 6.0

#####################################################################
# Настройки шаговых двигателей X/Y
#####################################################################

[stepper_x]
## См. https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin: # Проверьте направление двигателя по ссылке выше. Если инвертировано, добавьте ! перед gpio3
enable_pin:!
rotation_distance: 40
microsteps: 32
full_steps_per_rotation: 200 # Установите 400 для двигателя 0.9°, 200 для двигателей 1.8°
endstop_pin:
# endstop_pin: tmc2209_stepper_x:virtual_endstop
# endstop_pin: tmc5160_stepper_x:virtual_endstop
position_min: 0
position_endstop: 120
position_max: 120
homing_speed: 40 # Для бесконтактного хоминга не рекомендуется превышать 40 мм/с
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 # Установите 999999 для включения stealthchop, 0 для использования 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]
## См. https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin: # Проверьте направление двигателя по ссылке выше. Если инвертировано, добавьте ! перед 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: 120
position_max: 120
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_z]
## См. https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin:! # Проверьте направление двигателя по ссылке выше. Если инвертировано, добавьте ! перед gpio25
enable_pin: !
rotation_distance: 8 # Для винта T8x8 с интегрированной гайкой
microsteps: 32
endstop_pin: ^PA6
position_endstop: 120
position_max: 120
position_min: -1.5
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


#####################################################################
# Экструдер
#####################################################################
[extruder]
## Тип датчика. Распространенные термисторы: (Generic 3950, ATC Semitec 104GT#2)
## Type of sensor # common thermistors are (Generic 3950, ATC Semitec 104GT#2)
sensor_type: ATC Semitec 104GT-2
sensor_pin:
#####################################################################
## При использовании PT1000, подключите перемычку рядом с термистором.
## If using PT1000, please connect the jumper next to the thermal sensitivity.
# sensor_type:PT1000
# pullup_resistor: 1100
# sensor_pin:
#####################################################################
# Экструдер
#####################################################################
## https://www.klipper3d.org/Config_Reference.html#extruder
[extruder]
step_pin:
dir_pin:
enable_pin: !
rotation_distance: 21.84
## rotation_distance = Исходное rotation_distance, умноженное на фактическую длину экструзии, деленную на запрошенную длину экструзии.
## Калибровка шагов: 22.44=Старое значение 22 * Фактическое значение 102 / Целевое значение 100
gear_ratio:50:10
## Передаточное отношение (Галилео 7.5:1, закомментируйте эту строку; BMG 50:17, выходной вал спереди, входной сзади)
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/Pressure_Advance.html
pressure_advance_smooth_time: 0.040
#max_extrude_only_distance: 200.0 # При ошибке расхода можно закомментировать, но рекомендуется переслайсить
# Команда калибровки PID температуры сопла: PID_CALIBRATE HEATER=extruder TARGET=245
# Calibrate the nozzle temperature PID command : PID_CALIBRATE HEATER=extruder TARGET=245
control:watermark
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

#####################################################################
# Нагреватель стола
#####################################################################

[heater_bed]
heater_pin:
## Проверьте тип вашего термистора. См. https://www.klipper3d.org/Config_Reference.html#common#thermistors для распространенных типов.
## Используйте "Generic 3950" для нагревателей Keenovo.
sensor_type:
sensor_pin:
max_power: 1.0
min_temp: -50
max_temp: 120
# Команда калибровки PID температуры стола: PID_CALIBRATE HEATER=heater_bed TARGET=100
# Calibrate the heated bed temperature PID command: PID_CALIBRATE HEATER=heater_bed TARGET=100
control:watermark

#####################################################################
# Управление вентиляторами
#####################################################################
[fan]
pin:
max_power: 1.0
kick_start_time: 0.5 # В зависимости от вентилятора, может потребоваться увеличить это значение, если вентилятор не запускается.
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_switch_sensor Filament_Runout_Sensor]
#pause_on_runout: True
#runout_gcode: PAUSE
#switch_pin:

#####################################################################
# Процедуры хоминга и выравнивания портала
#####################################################################
### Можно использовать только safe_z_home или homing_override
### You can only use either safe_z_home or homing_override
#[safe_z_home] Необходимо только при использовании концевика Z в V0.0 или V0.1
#home_xy_position: 120,120
#speed: 50.0
#z_hop: 5


[homing_override]
axes: xyz
set_position_z: 0
gcode:
G90
G0 Z5 F600
{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}

{% if home_all or 'X' in params %}
_HOME_X
{% endif %}

{% if home_all or 'Y' in params %}
_HOME_Y
{% endif %}

{% if home_all or 'Z' in params %}
_HOME_Z
{% endif %}

## Для использования с BED_SCREWS_ADJUST
[bed_screws]
screw1: 60,5
screw1_name: передний винт
screw2: 5,115
screw2_name: задний левый
screw3: 115,115
screw3_name: задний правый
Probe_height: 0.1

#####################################################################
# Neopixel
#####################################################################

[neopixel board_rgb]
pin:
chain_count: 1
color_order: GRB
initial_RED: 0.0
initial_GREEN: 0.1
initial_BLUE: 0.0

#####################################################################
# Дисплей V0
#####################################################################
# [mcu display]
# serial: **ВСТАВЬТЕ СЮДА ВАШ СЕРИЙНЫЙ ПОРТ И РАСКОММЕНТИРУЙТЕ**
# restart_method: command

# [display]
# lcd_type: sh1106
# i2c_mcu: display
# i2c_bus: i2c1a
# # Установите направление колесика энкодера
# # Стандартное: Вправо (по часовой стрелке) прокручивает вниз или увеличивает значения. Влево (против часовой стрелки) прокручивает вверх или уменьшает значения.
# encoder_pins: ^display:PA3, ^display:PA4
# # Реверсивное: Вправо (по часовой стрелке) прокручивает вверх или уменьшает значения. Влево (против часовой стрелки) прокручивает вниз или увеличивает значения.
# #encoder_pins: ^display:PA4, ^display:PA3
# click_pin: ^!display:PA1
# kill_pin: ^!display:PA5
# #x_offset: 2
# # Используйте X offset для сдвига дисплея вправо. Значение может быть от 0 до 3.
# #vcomh: 0
# # Установите значение Vcomh на дисплеях SSD1306/SH1106.
# # Значение связано с эффектом "размазывания" на некоторых OLED-дисплеях.
# # Диапазон значений от 0 до 63. По умолчанию 0.
# # Отрегулируйте это значение, если на дисплее появляются вертикальные полосы. (Хорошим значением кажется 31).

# [neopixel displayStatus]
# pin: display:PA0
# chain_count: 1
# color_order: GRB
# initial_RED: 0.2
# initial_GREEN: 0.05
# initial_BLUE: 0

#####################################################################
# Макросы
#####################################################################

[idle_timeout]
### Если принтер бездействует более 30 минут, нагреватель стола будет выключен.
### If idle for more than 30 minutes, heated bed will be turned off.
timeout: 1800

[gcode_macro PRINT_START]
# Используйте PRINT_START для стартового скрипта слайсера - настройте под свой слайсер
gcode:
G28 ; хоминг всех осей
G90 ; абсолютное позиционирование
G1 Z20 F3000 ; поднять сопло от стола

[gcode_macro PRINT_END]
# Используйте PRINT_END для завершающего скрипта слайсера - настройте под свой слайсер
gcode:
M400 ; дождаться очистки буфера
G92 E0 ; обнулить экструдер
G1 E-4.0 F3600 ; втянуть филамент
G91 ; относительное позиционирование

# Получить границы
{% 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 %}

# Проверить конечное положение для определения безопасного направления движения
{% 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 %}

G0 Z{z_safe} F3600 ; поднять сопло
G0 X{x_safe} Y{y_safe} F20000 ; переместить сопло для удаления нитей
TURN_OFF_HEATERS
M107 ; выключить вентилятор
G90 ; абсолютное позиционирование
G0 X60 Y{max_y-10} F3600 ; припарковать сопло сзади

[gcode_macro LOAD_FILAMENT]
gcode:
M83 ; установить экструдер в относительный режим
G1 E30 F300 ; загрузка
G1 E15 F150 ; заправить сопло филаментом
M82 ; установить экструдер в абсолютный режим

[gcode_macro UNLOAD_FILAMENT]
gcode:
M83 ; установить экструдер в относительный режим
G1 E10 F300 ; немного выдавить для размягчения кончика
G1 E-40 F1800 ; втянуть немного, но не слишком много, чтобы не заклинило
M82 ; установить экструдер в абсолютный режим

[gcode_macro _HOME_X]
gcode:
# Всегда используйте согласованный run_current на шаговых двигателях A/B во время бесконтактного хоминга
{% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
{% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
{% set HOME_CURRENT_RATIO = 0.7 %} # по умолчанию снижаем ток двигателя во время хоминга. вы можете отрегулировать это значение, если возникают пропуски шагов при хоминге.
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y}

# Хоминг
G28 X
# Отойти
G91
G1 X-10 F1200

# Дождаться очистки регистров StallGuard
M400
G90
# Установить ток для печати
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}

[gcode_macro _HOME_Y]
gcode:
# Установить ток для бесконтактного хоминга
{% set RUN_CURRENT_X = printer.configfile.settings['tmc2209 stepper_x'].run_current|float %}
{% set RUN_CURRENT_Y = printer.configfile.settings['tmc2209 stepper_y'].run_current|float %}
{% set HOME_CURRENT_RATIO = 0.7 %} # по умолчанию снижаем ток двигателя во время хоминга. вы можете отрегулировать это значение, если возникают пропуски шагов при хоминге.
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={HOME_CURRENT_RATIO * RUN_CURRENT_Y}

# Хоминг
G28 Y
# Отойти
G91
G1 Y-10 F1200

# Дождаться очистки регистров StallGuard
M400
G90
# Установить ток для печати
SET_TMC_CURRENT STEPPER=stepper_x CURRENT={RUN_CURRENT_X}
SET_TMC_CURRENT STEPPER=stepper_y CURRENT={RUN_CURRENT_Y}



[gcode_macro _HOME_Z]
gcode:
G90
G28 Z
G1 Z30
Loading...