본문으로 건너뛰기

정전 시 종료 및 정전 후 재개 인쇄

주의사항

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:gpiochip1/gpio8
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...