メインコンテンツにスキップ

VORON 0.2 参考設定

使用前必読
  • このページは VORON 0.2 の Klipper 参考設定テンプレートであり、そのまま使用できる完成品の設定ではありません。
  • serialcanbus_uuid、全てのピン、サーミスタモデル、ストローク、リミット方向、モーター方向は、実際のハードウェアに合わせて修正する必要があります。
  • 初回通電調整時は、まず STEPPER_BUZZ を使用して各モーターを確認し、いきなりマシン全体の原点復帰を行わないでください。

適用範囲

構造説明
VORON 0.2小型 CoreXY 構造
単一 Z 構造例では主に単一 Z 設定に基づく
物理リミット / センサーレスリミット例では物理リミットと TMC センサーレスリミットの参考記述を残しています

事前に修正が必要な項目

項目場所説明
マザーボード ID[mcu]USB ファームウェアは serial、CAN ファームウェアは canbus_uuid を使用
上位機ユーザー[virtual_sdcard]/home/flyfly を実際のユーザー名に変更
マシンサイズ[stepper_x][stepper_y][stepper_z]実際の印刷範囲に応じて position_max を修正
モーター方向dir_pin方向が逆の場合は、対応するピンの前に ! を追加または削除
リミット方式endstop_pin物理リミットとセンサーレスリミットはどちらか一方のみ記述
ドライバーモデル[tmc2209] / [tmc5160]実際のドライバーと一致させる必要あり。未使用のドライバーセクションは削除またはコメントアウト
サーミスタモデル[extruder][heater_bed]ホットエンドとヒートベッドの実際のセンサーに従って記入
PID パラメータ[extruder][heater_bed]初回調整完了後、PID キャリブレーションを実行し保存

調整手順

  1. [mcu] を修正し、Klipper がマザーボードに接続できることを確認。
  2. ホットエンド、ヒートベッド、マザーボード、上位機の温度表示が正常か確認。
  3. STEPPER_BUZZ を使用して X/Y/Z/押出機のモーター方向を確認。
  4. QUERY_ENDSTOPS を使用してリミット状態を確認。
  5. 低速で G28 XG28 YG28 Z を実行し、単軸の原点復帰が正常かを確認。
  6. ホットエンドとヒートベッドの PID キャリブレーションを実行。
  7. 押出機の rotation_distance を校正。
  8. Z オフセット、ヒートベッドメッシュ、プレッシャーアドバンスのキャリブレーションを完了。

完全な参考設定

#####################################################################
# Items to be changed/checked
#####################################################################
##***変更/確認が必要な項目:***
## MCU パス [mcu]
## プリンターの動作範囲 xyzのposition
## サーミスタの種類 [extruder] と [heater_bed]
## Z軸リミットスイッチ停止位置 [safe_z_home]
## Z軸リミットスイッチオフセット位置 [stepper_z]
## PID キャリブレーション [extruder] と [heater_bed]
## 押出機モーターのステップ値微調整 [extruder]

#####################################################################
# file invocation
#####################################################################
### 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]

### 下記の/home/flyの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 Configuration
#####################################################################
[mcu]
serial: /dev/serial/by-id/usb-Klipper_rp2040_MELLOW-if00
### ls /dev/serial/by-id/* でUSBファームウェア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: xxxxxxxxxxxx
### canファームウェアIDの確認方法: ~/klippy-env/bin/python ~/klipper/scripts/canbus_query.py can0
### canのIDは、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 monitoring
#####################################################################
[temperature_sensor motherboard]
sensor_type: temperature_mcu

[temperature_sensor Raspberry Pi]
sensor_type: temperature_host

#####################################################################
# Model and acceleration
#####################################################################
[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 Settings
#####################################################################

[stepper_x]
## Refer to https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin: # 上記リンクでモーター方向を確認。反転している場合は、実際のピンの前に!を追加
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 # ステルスチョップを有効にするには999999、無効(スプレッドサイクル)にするには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]
## Refer to https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin: # 上記リンクでモーター方向を確認。反転している場合は、実際のピンの前に!を追加
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 Settings
#####################################################################

[stepper_z]
## Refer to https://docs.vorondesign.com/build/startup/#v0
step_pin:
dir_pin:! # 上記リンクでモーター方向を確認。反転している場合は、実際のピンの前に!を追加
enable_pin: !
rotation_distance: 8 # T8x8一体型リードスクリュー用
microsteps: 32
endstop_pin:
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
#####################################################################
[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 = 元の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:
uart_address:3
interpolate: False
run_current: 0.8
sense_resistor: 0.110
stealthchop_threshold: 0

#####################################################################
# Bed Heater
#####################################################################

[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:watermark

#####################################################################
# Fan Control
#####################################################################
[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 Runout Sensor
#####################################################################

#[filament_switch_sensor Filament_Runout_Sensor]
#pause_on_runout: True
#runout_gcode: PAUSE
#switch_pin:

#####################################################################
# Homing and Gantry Adjustment Routines
#####################################################################
### 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
#####################################################################

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

#####################################################################
# V0 Display
#####################################################################
# [mcu display]
# serial:
# restart_method: command

# [display]
# lcd_type: sh1106
# i2c_mcu: display
# i2c_bus: i2c1a
# # エンコーダーホイールの方向を設定
# # 標準: 右回り(時計回り)でスクロールダウンまたは値増加。左回り(反時計回り)でスクロールアップまたは値減少。
# encoder_pins:
# # 反転: 右回り(時計回り)でスクロールアップまたは値減少。左回り(反時計回り)でスクロールダウンまたは値増加。
# #encoder_pins:
# click_pin:
# kill_pin:
# #x_offset: 2
# # Xオフセットを使用してディスプレイを右にシフト。値は0~3
# #vcomh: 0
# # SSD1306/SH1106ディスプレイのVcomh値を設定。この値は一部のOLEDディスプレイで「にじみ」効果に関連。
# # 値は0~63。デフォルトは0。
# # ディスプレイに縦縞が表示される場合はこの値を調整。(31が良い値のようです)

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

#####################################################################
# Macros
#####################################################################

[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...