Homing Override - ホーミングオーバーライド設定
概要
このページでは、3Dプリンターのホーミングプロセスを最適化し、安全性と精度を向上させるための2つのKlipperホーミングオーバーライド(Homing Override)参考設定を提供します。
設定一覧
| 設定 | 機能説明 | 適用シーン |
|---|---|---|
| 設定一 | 基本ホーミングオーバーライド + ヒートベッド中央揃え | 標準ホーミングプロセスの最適化 |
| 設定二 | ノズル温度チェック + 安全ホーミング | 高温環境下での安全ホーミング |
設定一:基本ホーミングオーバーライド
機能説明
- Z軸がホーミング済みか自動検出し、未ホーミング時は仮想Z位置を設定
- Z軸ホーミング前に自動的にヒートベッド中央に移動
- 独立したX、Y、Zのホーミングコマンドをサポート
- printer.configfile.config を使用してプリンターの最大ストロークを読み取り
完全設定
[force_move]
enable_force_move: true
[homing_override]
axes: z
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
; Z軸がホーミングされていない場合、仮想位置を設定し上昇
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}
{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}
{% if home_all or 'X' in params %}
G28 X
{% endif %}
{% if home_all or 'Y' in params %}
G28 Y
{% endif %}
{% if home_all or 'Z' in params %}
; ヒートベッド中央に移動【重要】Zホーミング時の衝突を防止
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000
{% endif %}
主要コード説明
G0 X{max_x / 2} Y{max_y / 2} F3600
このコード行の役割は、Z軸をホーミングする前に、ノズルをヒートベッドの中央位置に移動することです。
X{max_x / 2}:X軸を最大ストロークの半分(ヒートベッド中央X座標)に移動Y{max_y / 2}:Y軸を最大ストロークの半分(ヒートベッド中央Y座標)に移動- F3600:移動速度3600mm/min(60mm/s)、高速移動
なぜヒートベッド中央に移動する必要があるのか?
- 衝突回避:ノズルがヒートベッド端でホーミングする際に、レベリングノブやその他の障害物に衝突するのを防止
- 精度向上:ヒートベッド中央は通常、最も平らな領域であり、ホーミングがより正確
- 互換性:ALPS、BL-Touch、EDDYなど、さまざまなプローブをサポート
移動速度を変更するには?
G0 X{max_x / 2} Y{max_y / 2} F3600という行を見つけてくださいF3600を必要な速度値に変更してください- 推奨範囲:F1800-F3600(30-60mm/s)
使用例
G28 ; 全軸ホーミング → Z検出 → XYホーミング → 中央移動 → Zホーミング → 上昇
設定二:温度保護付きホーミングオーバーライド
機能説明
- 設定一の全機能を含む
- ノズル温度チェックを追加
- 温度が高すぎる場合、自動的に安全温度まで降温
- ホーミング完了後、元の温度設定を復元
完全設定
[force_move]
enable_force_move: true
[homing_override]
axes: z
gcode:
{% set max_x = printer.configfile.config["stepper_x"]["position_max"]|float %}
{% set max_y = printer.configfile.config["stepper_y"]["position_max"]|float %}
{% set e_target = printer.extruder.target %} ; ターゲット温度を保存
{% set fan_speed = printer.fan.speed %} ; ファン速度を保存
; Z軸がホーミングされていない場合、仮想位置を設定し上昇
{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}
{% set home_all = 'X' not in params and 'Y' not in params and 'Z' not in params %}
{% if home_all or 'X' in params %}
G28 X
{% endif %}
{% if home_all or 'Y' in params %}
G28 Y
{% endif %}
{% if home_all or 'Z' in params %}
; 温度チェック【変更可能】150 を希望の温度しきい値に変更
{% if e_target >= 150 or printer.extruder.temperature >= 150 %}
M106 S255 ; ファンを回して降温を補助
M109 S150 ; 150°C まで降温を待機【変更可能】
{% endif %}
M106 S0 ; ファンを停止
; ヒートベッド中央に移動【重要】Zホーミング時の衝突を防止
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000
; 温度とファン速度を復元
M109 S{e_target}
M106 S{fan_speed}
{% endif %}
温度保護ロジック
- 温度チェック:ノズルのターゲット温度または実際の温度が150°C以上か判定
- ファン起動:M106 S255 で冷却ファンを全速回転
- 降温待機:M109 S150 でノズルが150°Cに冷えるまで待機
- ファン停止:M106 S0 でファンを停止し、ホーミング準備
- ホーミング実行:中央移動 → Zホーミング → 上昇
- 状態復元:元のターゲット温度とファン速度に復元
温度しきい値の変更方法
- 【変更可能】 と記載された2箇所を見つけてください
150を希望の温度値に変更してください- 両方の場所を同じ値に変更する必要があります
- 保存してKlipperを再起動してください
使用例
G28 ; 全軸ホーミング → 温度チェック → 降温(必要に応じて)→ 中央移動 → Zホーミング → 温度復元
関連リソース
Loading...