電源断シャットダウンと電源断継続印刷
ご確認事項
1. 機能の概念とフロー
-
電源断シャットダウン
- 概念: 異常な電源断を検出した後、システムは現在の印刷状態を保存せず、直接安全にシャットダウンを実行します。
- 復旧フロー: 電力が回復した後、デバイスは自動的に再起動し待機状態になります。以前の印刷ジョブは中止されており、新しい印刷を手動で開始する必要があります。
-
電源断継続印刷
- 概念: 異常な電源断を検出した後、システムは直ちに現在の印刷進捗(位置、レイヤー高さなど)を保存し、その後シャットダウンします。
- 復旧フロー: 電力が回復した後、通常はユーザーの確認が必要で、その後デバイスは電源が切れた位置から未完了の印刷を継続して完了することができます。
2. コアルール
- 電源断シャットダウンと電源断継続印刷は排他的な機能であり、同時に有効化することはできません。
- 電源断シャットダウン機能を有効にした場合、電源断継続印刷機能は自動的に無効になります。
3. 選択方法
- 「電源断シャットダウン」を選択: 電気の安全により重点を置く場合、または電力回復後にデバイスが自動的に起動して待機状態になり、中断された印刷を復旧する必要がない場合は、この機能を有効にしてください。
- 「電源断継続印刷」を選択: 長時間を要し、失敗が許されない印刷タスクを頻繁に行い、電源断後に中断点から印刷を継続したい場合は、この機能を有効にしてください。
配線
重要な注意事項
- FLY C8 電源断シャットダウン/継続印刷機能に関する注意事項
- USB経由で他のメインボードに接続する場合、5V電源線を切断または絶縁する必要があります(例:ケーブルを切断する、データピンのみを含むUSBケーブルを使用する)
- KPPMモジュールを接続する必要があります。そうしないと正常に使用できません
- 下位機と上位機間の5V接続を切断できない場合は、メインボードの電源を完全に切った後にのみ再起動してください。そうしないと正常に起動できない可能性があります
- FLY-C8 配線
- FLY-C8 V1.2 配線
- FLY-C8 USB接続使用時
Loading...
- FLY-C8 V1.2
Loading...
設定
- 電源断シャットダウン
- 電源断継続印刷
電源断時のシャットダウン設定
注意
- 電源断時のシャットダウン設定方法
-
ブラウザのアドレスバーにデバイスのIPアドレスを入力します。例:
http://192.168.6.179 -
設定ページにアクセスします
- ブラウザでデバイスのIPアドレスを開きます。例:
http://192.168.1.2/ - fluiddでは、下図左のように「チェックを外す」→「隠しファイルとフォルダをフィルターにかける」を実行します。
- mainsailでは、下図右のように「チェックを入れる」→「隠しファイルを表示」を実行します。
Loading...Loading...- これで
.flyos-configフォルダが表示されます。このフォルダを開くとsys-config.confファイルがあります。 sys-config.confファイルは、リムーバブルディスクFlyOS-Conf内の設定ファイルconfig.txtのシンボリックリンクです。
Loading...sys-config.confファイルを開き、shutdown_pin_stateとshutdown_pin=の2つの設定を以下のように変更します。shutdown_pin=noneは削除するか、先頭に#を追加してください。
- ブラウザでデバイスのIPアドレスを開きます。例:
shutdown_pin_state=1
shutdown_pin=PA21
- その後
保存->閉じるを選択し、システムを再起動してください
Loading...
電源オフシャットダウンを無効にする
注意事項
- 電源オフシャットダウンを無効にする必要があります。無効にしないと、停電時の印刷再開機能を使用できません。
- 停電時印刷再開機能には、進捗保存後に自動シャットダウンする機能があります。
- 他の電源が上位機に接続されていないことを確認してください。そうしないと、電源が入りません。
-
ブラウザのアドレスバーにデバイスのIPアドレスを入力します(例:
http://192.168.6.179) -
設定ページにアクセスします
- ブラウザでデバイスのIPアドレスを開きます(例:
http://192.168.1.2/) - fluiddでは、下図左のように
チェックを外す->非表示のファイルとフォルダーをフィルターするを実行します。 - mainsailでは、下図右のように
チェックを入れる->隠しファイルを表示するを実行します。
Loading...Loading...- すると、
.flyos-configフォルダーが表示されます。このフォルダー内にsys-config.confファイルがあります。 sys-config.confファイルは、リムーバブルディスクFlyOS-Conf内の設定ファイルconfig.txtのソフトリンクです。
Loading...sys-config.confファイルを開き、shutdown_pin_stateとshutdown_pin=の2つの設定を見つけます。- これらの2つの設定の前に
#を追加します。 - その後、
保存->閉じるを実行し、再起動すれば完了です。
Loading... - ブラウザでデバイスのIPアドレスを開きます(例:
plr.cfg 設定ファイル
- プリンター設定ページで、
plr.cfgファイルを見つけます。 - その内容をすべて削除し、以下の設定を貼り付けます。
- 設定ファイルの内容は以下の通りです:
[mcu host]
serial: /tmp/klipper_host_mcu
[power_loss_resume]
power_pin: host:gpiochip1/gpio21
is_shutdown: True # シャットダウン操作を実行するかどうか、デフォルトは有効
paused_recover_z: -2.0 # 停止時に印刷が一時停止していた場合、再開時のZ軸移動距離、デフォルトは移動なし
start_gcode:
# 印刷再開前に実行するGコード
# 停電前に保存されたすべてのパラメータは{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}]
# すべてのヒーター温度を復元
{% for name, heater in PLR.heaters.items() %}
{% if heater.target > 0 %}
M118 ヒーター[{heater.name}]の目標温度を設定: {heater.target}
SET_HEATER_TEMPERATURE HEATER="{heater.name}" TARGET={heater.target}
{% endif %}
{% endfor %}
# エクストルーダー温度を待機
{% if PLR.toolhead.extruder in PLR.heaters and PLR.heaters[PLR.toolhead.extruder].target > 0 %}
{% set extruder = PLR.heaters[PLR.toolhead.extruder] %}
M118 [{extruder.name}]が目標温度に到達するのを待機: {extruder.target}
TEMPERATURE_WAIT SENSOR="{extruder.name}" MINIMUM={extruder.target-5} MAXIMUM={extruder.target+5}
{% endif %}
G91 ; 相対座標
G1 Z2 F100 ; Z軸を上昇させ、X,Y軸の原点復帰を準備
G90 ; 絶対座標
G28 X Y ; X,Y軸を原点復帰
M83 ; 相対押し出し
# G1 E0.5 F400 ; 少し押し出す
layer_count: 2 # 指定された層数を再開印刷後にlayer_change_gcodeを実行
layer_change_gcode:
# {layer_count}層再開印刷後に実行するGコード
M118 印刷速度を復元
M106 S{PLR.fan_speed} ; パーツ冷却ファンを起動
M220 S{PLR.move_speed_percent} ; 要求速度の割合を設定
M221 S{PLR.extrude_speed_percent} ; 要求押し出し速度の割合を設定
shutdown_gcode:
# シャットダウン前に実行するGコード
M118 電源電圧低下、シャットダウン
# M112 ; 緊急停止
-
上記の設定ファイルを保存した後
-
printer.cfgファイルを開き、ファイルの先頭に以下の内容を追加します:[include plr.cfg] -
右上の保存をクリックし、再起動します。
-
これで、Klipperの停電復帰機能の設定が完了しました。
[homing_override]について
注意
[homing_override]を使用する場合、[homing_override]内でホーミング位置を任意に設定しないでください。電源断復旧の失敗が発生しても責任は負いかねます。- 以下に
[homing_override]の設定説明があります。
- 説明
[force_move]:強制移動機能を有効にし、未ホーミング時に指定位置への強制移動を許可します。[force_move]は[homing_override]のset_position_z機能を代替します。この設定に従わない場合、電源断復旧に失敗する可能性があります。- 以下の
[homing_override]設定は、電源断復旧時に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軸が未ホーミングの場合のみ実行され、通常の使用には影響しません。
{% if 'z' not in printer.toolhead.homed_axes %}SET_KINEMATIC_POSITION Z=0G90G0 Z5 F600{% endif %}
- この設定は、Z軸が未ホーミングの場合のみ実行され、通常の使用には影響しません。
[gcode_macro _CLIENT_VARIABLE]の設定について
- 設定に
[gcode_macro _CLIENT_VARIABLE]マクロが含まれており、以下の変数が設定されている場合: - 参考
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos: True # カスタム位置を有効化
variable_custom_park_dz: 5 # カスタムパーク高さオフセットを設定
- [power_loss_resume] モジュールの
paused_recover_zパラメータ値を、上記のオフセット値と符号を逆にして、それに合わせて調整する必要があります。
設定の対応関係
| マクロ変数 | 一時停止/復旧モジュールパラメータ | 対応関係 |
|---|---|---|
variable_custom_park_dz: 5 | paused_recover_z: -5 | 符号が逆、数値は同じ |
variable_custom_park_dz: -3 | paused_recover_z: 3 | 符号が逆、数値は同じ |
設定例
[gcode_macro _CLIENT_VARIABLE]
variable_use_custom_pos: True
variable_custom_park_dz: 5
[power_loss_resume]
paused_recover_z: -5
重要: この対応関係が維持されない場合、電源断復旧や一時停止復旧時にZ軸の高さ計算が誤り、印刷に影響を与える可能性があります。
テスト
ステップ1テスト:緊急停止による停電シミュレーション
- 任意のファイルの印刷を開始し、印刷中に 緊急停止 ボタンをクリックして、停電状況をシミュレートします。
- 再度 ファームウェア再起動 をクリックし、
Klipperが再接続されて正常に復旧するのを待ちます。 - ウェブインターフェースにポップアップ通知が表示されるか確認します。通知があれば、電源断復旧機能は正常です。
- その後、実際の停電状況をさらにテストして、機能の信頼性を検証できます。
ステップ2テスト:実際の停電シミュレーションと機能検証
- テスト準備:システムが正常に起動し
Klipperに接続された後、まず上位機の横にあるインジケーターランプの状態を確認します。通常、システム稼働中はLEDが点滅しており、このインジケーターランプが後で確認すべき重要なランプです。 - デバイスが正常に動作し
Klipperに接続されている状態で、直接電源を切断し、実際の停電シナリオをシミュレートします。 - すぐに上位機の横にあるインジケーターランプが 5秒以内に完全に消灯 するか確認します。
- 消灯した場合:停電シャットダウン機能は正常です。次の手順に進んでください。
- 消灯しなかった場合:自動シャットダウン機能が有効になっていません。通常は関連設定(
kppmの配線や設定など)に誤りがあるため、重点的に確認しトラブルシューティングを行う必要があります。
- 少なくとも
5秒待ってから電源を再投入し、Klipperが自動的に再接続され正常に動作するか確認します。(データ保存とシャットダウンには3-5秒かかります) - ウェブインターフェースを確認します
- ポップアップ通知が表示された場合:電源断復旧機能が正常に有効化され動作しています。
- 何の通知もない場合:電源断復旧機能が期待通りに起動していません。上記の現象に基づいて、関連設定を体系的に確認してください。
Loading...