M109 / M190 温度待機の最適化
機能説明
本設定では、TEMPERATURE_WAIT を使用してスマートな温度待機を実現し、温度オーバーシュートによる長時間の待機を回避します:
-
ノズル (M109):待機温度範囲は
目標温度 ±5°C- 例:200°C に設定した場合、温度が 195-205°C の範囲に達した時点で待機を開始
-
ヒートベッド (M190):待機温度範囲は
目標温度 -2°C から +5°C- 例:60°C に設定した場合、温度が 58-65°C の範囲に達した時点で待機を開始
- ヒートベッドの許容範囲が大きいのは、熱慣性が強く、昇温/降温プロセスがより緩やかなためです
動作原理
- 非ブロッキング設定: マクロはまず
M104/M140で即座に目標温度を設定し、温度上昇を待ちません - スマート待機:
TEMPERATURE_WAITを使用して、目標温度に近い妥当な範囲内で待機を開始 - オーバーシュート待機の回避: 従来の M109/M190 は温度が完全に安定するのを待ちますが、この設定では温度が許容範囲に入った時点で実行を継続し、効率を向上させます
設定例
以下のマクロを printer.cfg または独立したマクロファイルに追加してください。このマクロは Klipper のネイティブな M109 / M190 の動作を上書きします。
printer.cfg
[gcode_macro M109]
rename_existing: M109.1
gcode:
{% set s = params.S|float %}
M104 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} # ノズル温度を設定
{% if s != 0 %}
TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-5} MAXIMUM={s+5}
{% endif %}
[gcode_macro M190]
rename_existing: M190.1
gcode:
{% set s = params.S|float %}
M140 {% for p in params %}{'%s%s' % (p, params[p])}{% endfor %} # ヒートベッド温度を設定
{% if s != 0 %}
TEMPERATURE_WAIT SENSOR=heater_bed MINIMUM={s-2} MAXIMUM={s+5}
{% endif %}
注意事項
- より安定した温度制御を得るために、まず PID キャリブレーションを実施することを推奨します
- この設定は Klipper のネイティブな
M109/M190コマンドを上書きします - 温度変動が大きい場合は、まずサーミスタ、ヒーター、PID パラメータを確認してください
Loading...