본문으로 건너뛰기

전원 차단 시 종료 및 전원 복구 후 재개

알아두세요

1. 기능 개념과 절차

  • 전원 차단 시 종료

    • 개념: 비정상적인 전원 차단을 감지하면, 시스템은 현재 인쇄 상태를 저장하지 않고 바로 안전 종료를 실행합니다.
    • 복구 절차: 전원이 복구된 후, 장치는 자동으로 재시작하여 대기 상태가 됩니다. 이전 인쇄 작업은 중단되었으므로, 새로운 인쇄를 수동으로 시작해야 합니다.
  • 전원 복구 후 재개

    • 개념: 비정상적인 전원 차단을 감지하면, 시스템은 현재 인쇄 진행 상황(예: 위치, 레이어 높이)을 즉시 저장한 후 종료합니다.
    • 복구 절차: 전원이 복구된 후, 일반적으로 사용자 확인이 필요하며, 장치는 전원이 차단된 지점부터 미완성된 인쇄를 계속 완료할 수 있습니다.

2. 핵심 규칙

  • 전원 차단 시 종료와 전원 복구 후 재개는 상호 배타적인 기능으로, 동시에 활성화할 수 없습니다.
  • 전원 차단 시 종료 기능을 활성화하면, 전원 복구 후 재개 기능은 자동으로 비활성화됩니다.

3. 선택 방법

  • "전원 차단 시 종료" 선택: 전기 안전에 더 중점을 두거나, 전원 복구 후 장치가 자동으로 시작하여 대기 상태가 되길 원하며, 중단된 인쇄를 복구할 필요가 없는 경우 이 기능을 활성화하세요.
  • "전원 복구 후 재개" 선택: 시간이 오래 걸리고 실패가 용납되지 않는 인쇄 작업을 자주 수행하며, 전원 차단 후 중단 지점부터 인쇄를 계속하기를 원하는 경우 이 기능을 활성화하세요.

설정

전원 차단 종료 비활성화

참고 사항
  • 전원 차단 시 종료 기능을 비활성화해야 하며, 그렇지 않으면 전원 차단 이어출력 기능을 사용할 수 없습니다.
  • 전원 차단 이어출력 기능에는 진행 상황을 저장한 후 자동으로 종료하는 기능이 포함됩니다.
  • 다른 전원 공급이 상위 장치에 연결되어 있지 않은지 확인하십시오. 그렇지 않으면 장치를 켤 수 없습니다.
  • 브라우저 주소창에 장치의 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_stateshutdown_pin= 설정 항목을 찾습니다.
    • 이 설정들 앞에 # 기호를 추가합니다.
    • 그런 다음 저장 -> 닫기를 클릭하고 장치를 재시작합니다.
    Loading...

plr.cfg 配置文件

  • 在打印机配置页面中,找到plr.cfg 文件。
  • 将里面内容请空,然后将下方配置粘贴进去
  • 配置文件内容如下:
[mcu host]   
serial: /tmp/klipper_host_mcu

[power_loss_resume]
power_pin: host:gpiochip0/gpio260
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}]
# 恢复所有加热器温度
{% 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 ; 归零XY
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 ; 紧急停止
  • 保存上面的配置文件后

  • 打开 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 %}

  • 리프트(Lift)에 대한 설명
    • 이 설정은 Z축이 홈 위치에 있지 않을 때만 실행되는 동작입니다. 이 설정은 정상적인 사용에는 영향을 미치지 않습니다.
      {% if 'z' not in printer.toolhead.homed_axes %}
      SET_KINEMATIC_POSITION Z=0
      G90
      G0 Z5 F600
      {% endif %}

[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: 5paused_recover_z: -5부호 반대, 값 동일
variable_custom_park_dz: -3paused_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. 아무 파일이나 인쇄를 시작하고, 인쇄 중에 긴급 정지 버튼을 클릭하여 전원 차단 상황을 시뮬레이션합니다.
  2. 펌웨어 재시작을 다시 클릭하고, Klipper가 재연결되어 정상 상태로 돌아올 때까지 기다립니다.
  3. 웹 인터페이스에 팝업 알림이 나타나는지 관찰합니다. 알림이 있으면 전원 복구 후 재개 기능이 정상 작동함을 의미합니다.
  4. 이후 실제 전원 차단 상황을 추가로 테스트하여 기능의 신뢰성을 검증할 수 있습니다.

두 번째 테스트: 실제 전원 차단 시뮬레이션 및 기능 검증

  1. 테스트 준비: 시스템이 정상적으로 부팅되고 Klipper에 연결된 후, 상위 컴퓨터(호스트) 옆의 표시등 상태를 먼저 확인합니다. 일반적으로 시스템이 실행 중일 때 깜박이는 LED가 있으며, 이 표시등이 이후 관찰해야 할 핵심 표시등입니다.
  2. 장치가 정상 작동 중이고 Klipper에 연결된 상태에서 직접 전원을 차단하여 실제 전원 차단 시나리오를 시뮬레이션합니다.
  3. 즉시 상위 컴퓨터 옆의 표시등이 5초 이내에 완전히 꺼지는지 확인합니다.
    • 꺼진 경우: 전원 차단 및 종료 기능이 정상 작동함을 의미합니다. 다음 단계를 계속 진행하세요.
    • 꺼지지 않은 경우: 자동 종료 기능이 작동하지 않았음을 의미하며, 일반적으로 관련 구성(예: kppm의 배선 또는 구성)에 오류가 있어 이를 중점적으로 점검하고 문제를 해결해야 합니다.
  4. 최소 5초 이상 기다린 후 전원을 다시 연결하고, Klipper가 자동으로 재연결되어 정상 작동으로 돌아오는지 관찰합니다. (데이터 저장 및 종료에는 3-5초가 필요합니다.)
  5. 웹 인터페이스 확인
    • 팝업 알림이 나타난 경우: 전원 복구 후 재개 기능이 성공적으로 활성화되고 정상 작동 중임을 의미합니다.
    • 아무런 알림이 없는 경우: 전원 복구 후 재개 기능이 예상대로 시작되지 않았음을 나타냅니다. 위 현상을 바탕으로 관련 구성을 체계적으로 점검하세요.

Loading...