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

電源断によるシャットダウンとプリント再開

重要事項
  • 電源断によるシャットダウン機能とプリント再開機能は互いに競合し、同時に有効化することはできません。
  • 電源断によるシャットダウン機能のみを有効にした場合、プリント再開機能は使用できなくなります。
  • プリント再開機能が動作するためには、Klipperの接続が正しく設定され、維持されている必要があります。この機能がトリガーされると、自動的にシャットダウンプロセスが開始されます。

機能設定

電源断によるシャットダウン機能を無効化

注意事項
  • プリント再開機能を使用するには、電源断によるシャットダウン機能を無効にする必要があります。
  • プリント再開機能には、進捗を保存した後に自動的にシャットダウンする機能が含まれています。
  • 上位機に他の電源が接続されていないことを確認してください。そうでないと正常にシャットダウンできません。
  1. デバイス設定ページにアクセス

    • ブラウザのアドレスバーにデバイスのIPアドレスを入力します。例: http://192.168.1.2/
  2. 隠しファイルを表示

    • Fluidd: "隠しファイルとフォルダを除外" のチェックを外します。
    • Mainsail: "隠しファイルを表示" にチェックを入れます。
Loading...
Loading...
  1. 設定ファイルを編集
    • .flyos-config フォルダを見つけて開きます。
    • sys-config.conf ファイルを開きます。
Loading...
  1. 電源断シャットダウン設定をコメントアウト
  • shutdown_pin_stateshutdown_pin の設定項目を見つけます。
  • これらの設定の先頭に # を追加してコメントアウトします。
  1. 保存して再起動
  • 変更した設定ファイルを保存します。
  • ファイルを閉じてシステムを再起動します。
Loading...

プリント再開機能の設定

  1. plr.cfg設定ファイルを編集
    • プリンター設定ページで、plr.cfg ファイルを見つけるか、作成します。
    • ファイルの内容をクリアし、以下の設定を貼り付けます。
    • 実際に使用するGPIO番号に応じて power_pin パラメータを変更してください。
[mcu host]   
serial: /tmp/klipper_host_mcu

[power_loss_resume]
power_pin: xxxx
is_shutdown: True # シャットダウン操作を実行するかどうか。デフォルトは有効。
paused_recover_z: -2.0 # 停止時にプリントが一時停止していた場合、再開時のZ軸移動距離。デフォルトは移動なし。
start_gcode:
# 再開前に実行するgcode
# 電源断前に保存されたすべてのパラメータは {PLR} で取得できます。
# M118 {PLR} を使用してすべての利用可能なパラメータを出力できます。
# M118 {PLR}
M118 プリント再開開始: {PLR.print_stats.filename}
M118 中断位置: X:[{PLR.POS_X}] Y:[{PLR.POS_Y}] Z:[{PLR.POS_Z}] E:[{PLR.POS_E}]
{% if PLR.bed.target > 0 %}
M140 S{PLR.bed.target} ; ヒートベッド温度を設定
{% endif %}
{% if PLR.extruder.target > 50 %}
M104 S{PLR.extruder.target - 10} ; エクストルーダーを設定温度まで加熱
{% endif %}
G91 ; 相対座標
G1 Z2 F100 ; Z軸を上げ、X,Y軸の原点復帰準備
G90 ; 絶対座標
G28 X Y ; XY軸を原点復帰
{% if PLR.bed.target > 0 %}
M190 S{PLR.bed.target} ; ヒートベッドが設定温度になるまで待機
{% endif %}
{% if PLR.extruder.target > 0 %}
M109 S{PLR.extruder.target} ; エクストルーダーが設定温度になるまで待機
{% endif %}
M83 ; 相対押出し
# G1 E0.5 F400 ; 少し押出し
layer_count: 2 # 指定された層数を再開後にlayer_change_gcodeを実行
layer_change_gcode:
# {layer_count}層再開後に実行するgcode
M118 プリント速度を回復
M106 S{PLR.fan_speed} ; パーツ冷却ファンをオン
M220 S{PLR.move_speed_percent} ; 要求速度の割合を設定
M221 S{PLR.extrude_speed_percent} ; 要求押出速度の割合を設定
shutdown_gcode:
# シャットダウン前に実行するgcode
M118 電源電圧低下、シャットダウンします
# M112 ; 緊急停止
  1. 設定ファイルをインクルード
    • printer.cfg ファイルを開き、ファイルの先頭に以下を追加します:
[include plr.cfg]
  • 右上の保存をクリックし、再起動します。

原点復帰オーバーライドの設定

重要な注意事項
  • [homing_override] を使用する場合、設定内で原点復帰位置を任意に設定することはできません。
  • 誤った設定はプリント再開の失敗を引き起こす可能性があります。

設定説明

  • [force_move]: 強制移動機能を有効にし、指定位置への強制移動を許可します。
  • [force_move][homing_override] 内の set_position_z 機能に代わるものです。
  • 以下の設定により、プリント再開時に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 %}
{% 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 %}
G0 X{max_x / 2} Y{max_y / 2} F3600
G28 Z
G1 Z10 F2000
{% endif %}

Z軸リフトについての説明 この設定はZ軸が原点復帰していない場合にのみ実行され、通常使用には影響しません:

{% if 'z' not in printer.toolhead.homed_axes %}
SET_KINEMATIC_POSITION Z=0
G90
G0 Z5 F600
{% endif %}

機能テスト

ステップ1: 電源断シミュレーションテスト

  1. 任意のファイルのプリントを開始します。
  2. プリント中に緊急停止ボタンをクリックし、電源断をシミュレートします。
  3. ファームウェア再起動をクリックし、Klipperが再接続するのを待ちます。
  4. ウェブインターフェースにポップアップ通知が表示されるか確認します(表示されれば機能正常)。
  5. 後日、実際の電源断テストを行い、機能の信頼性を検証できます。

ステップ2: 実際の電源断テスト

  1. テスト準備: 上位機付近のインジケータLEDの状態を確認します(正常動作時はLEDが点滅しているはずです)。
  2. 電源断テスト: デバイスが正常に動作している状態で、直接電源を切ります。
  3. インジケータ確認: LEDが5秒以内に完全に消灯するか観察します。
  • 消灯: 電源断によるシャットダウン機能が正常に動作しています。
  • 消灯しない: 自動シャットダウン機能が有効になっていません。設定を確認してください。
  1. 復旧テスト: 少なくとも5秒待ってから、電源を再接続します。
  2. 機能検証:
  • ポップアップ表示: プリント再開機能が正常に動作しています。
  • 通知なし: プリント再開機能が起動していません。設定を確認してください。

Loading...