VORON 0.2 참고 구성
#####################################################################
# 변경/확인해야 할 항목
#####################################################################
## MCU 경로 [mcu]
## 프린터 작동 범위 xyz의 position
## 온도센서 종류 [extruder] 및 [heater_bed]
## Z축 엔드스탑 정지 위치 [safe_z_home]
## Z축 엔드스탑 오프셋 위치 [stepper_z]
## PID 교정 [extruder] 및 [heater_bed]
## 익스튜더 모터 스테핑 값 미세 조정 [extruder]
#####################################################################
# 파일 호출
#####################################################################
### fluid 또는 mainsail을 프론트엔드로 사용할 경우, #[include XXX.cfg] 앞의 '#'를 제거하십시오.
### When using fluidd or mainsail as the frontend, remove the '#' before #[include XXX.cfg].
[include fluidd.cfg]
#[include mainsail.cfg]
### 아래의 /home/fly에서 fly는 호스트 컴퓨터 사용자 이름으로 변경해야 하며, 루트 사용자가 아님에 유의하십시오.
### 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
#####################################################################
# 마스터 ID 구성
#####################################################################
[mcu]
serial: /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00
### USB 펌웨어 ID를 찾을 때는: ls /dev/serial/by-id/* 명령을 사용하고,
### /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
### CAN 펌웨어 ID 조회 명령: ~/klippy#env/bin/python ~/klipper/scripts/canbus_query.py can0
### 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
#####################################################################
# Tmodel 및 가속도
#####################################################################
[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 # 0.9° 스테퍼 모터는 400, 1.8° 스테퍼 모터는 200으로 설정
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 # 센서리스 홈 위치 설정 시 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 # Stealthchop 활성화는 999999, Spreadcycle 사용은 0
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:
#####################################################################
# extruder
#####################################################################
## https://www.klipper3d.org/Config_Reference.html#extruder
[extruder]
step_pin:
dir_pin:
enable_pin: !
rotation_distance: 21.84
## 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/zh/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: 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
#####################################################################
# 열판 히터
#####################################################################
[heater_bed]
heater_pin:
## 사용하는 열저항 종류 확인. 일반적인 열저항은 https://www.klipper3d.org/Config_Reference.html#common#thermistors 참조
## Keenovo 히터는 "Generic 3950" 사용
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: pid
pid_kp: 68.453
pid_ki: 2.749
pid_kd: 426.122
#####################################################################
# 팬 제어
#####################################################################
[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] V0.0 또는 V0.1 Z 엔드스탑 위치 사용 시에만 필요
#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: front screw
screw2: 5,115
screw2_name: back left
screw3: 115,115
screw3_name: back right
Probe_height: 0.1
#####################################################################
# 네오픽셀
#####################################################################
[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 오프셋 사용. 0~3 범위 가능
# #vcomh: 0
# # SSD1306/SH1106 디스플레이에서 Vcomh 값 설정. 일부 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:
# 센서리스 홈 위치 설정 시 A/B 스테퍼에서 동일한 run_current 사용
{% 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...