일반적인 오류 안내
이 페이지는 Klipper의 일반적인 오류를 신속하게 찾는 데 사용됩니다. 먼저 klippy.log에서 전체 오류를 찾은 후 해당 설명을 확인하세요.
연결 문제
mcu 'xxx': Unable to connect
오류 정보: 상위 컴퓨터가 메인보드를 찾거나 연결할 수 없습니다.
일반적인 원인:
- USB 장치 ID가 입력되지 않았거나 잘못 입력되었습니다.
- CAN UUID가 입력되지 않았거나, 잘못 입력되었거나, 장치가 온라인 상태가 아닙니다.
- UTOC, USB 케이블, CAN 브리지 펌웨어 또는 전원 공급이 비정상입니다.
- CAN0이 시작되지 않았거나 CAN 네트워크 구성이 비정상입니다.
처리 방법:
-
klippy.log를 열어 맨 아래로 스크롤하여 구체적인 오류 정보를 확인합니다. -
[Errno 2]가 나타나면, 일반적으로 검색된 USB 장치 ID가printer.cfg에 추가되지 않았음을 의미합니다.Loading... -
Serial connection closed가 나타나면, 일반적으로 CAN ID를 다시 검색하고 CAN 네트워크를 확인해야 합니다.Loading... -
Unable to open CAN port: [Errno 19] No such device가 나타나면, 일반적으로 UTOC 장치, USB 브리지 CAN 펌웨어 또는 CAN0 장치가 없음을 의미합니다.Loading... -
[Errno 100] Network is down또는[Errno 105] No buffer space available가 나타나면, CAN 네트워크 및 ID 검색에 따라 CAN0 구성을 다시 확인하세요.
mcu 'mcu': Invalid CAN uuid
오류 정보: CAN UUID가 유효하지 않거나 인식할 수 없습니다.
오류 원인: canbus_uuid:가 잘못 입력되었거나, 장치가 온라인 상태가 아니거나, CAN 네트워크가 정상적으로 통신하지 않습니다.
해결 방법:
- CAN 네트워크 및 ID 검색에 따라 CAN UUID를 다시 검색합니다.
printer.cfg에 실제 검색된 UUID가 입력되었는지 확인합니다.- 동일한
[mcu]에serial:과canbus_uuid:가 동시에 활성화되지 않았는지 확인합니다. - CAN-H, CAN-L, 종단 저항, 전원 공급 및 펌웨어 CAN 속도를 확인합니다.
Option 'serial' in section 'mcu' must be specified
오류 정보: [mcu] 구성 섹션에서 serial을 지정해야 합니다.
오류 원인: USB 펌웨어 연결 시 serial:을 입력하지 않았거나, [mcu] 구성 섹션이 실수로 삭제되었습니다.
해결 방법:
- USB 장치 ID를 다시 검색합니다.
printer.cfg의[mcu]구성 섹션에 다음을 입력합니다.
[mcu]
serial: /dev/serial/by-id/실제검색된ID
- 저장하고 Klipper를 재시작합니다.
현재 메인보드가 CAN 펌웨어를 플래시한 경우 canbus_uuid:를 사용하고 serial:을 계속 입력하지 마세요.
Lost communication with MCU
오류 정보: Klipper와 MCU 간의 통신이 중단되었습니다. 로그에 Lost communication with MCU, Lost communication with mcu 또는 유사한 메시지가 나타날 수 있습니다.
일반적인 시나리오: 귀환 또는 이동 중에 엔드스톱이 트리거되면 메인보드나 툴보드가 연결이 끊어집니다. 전원을 다시 켜면 다시 연결됩니다.
일반적인 원인:
- 엔드스톱 스위치 배선 오류로 인해 트리거 시 신호 핀이 전원 또는 접지와 비정상적으로 단락됩니다.
- 3선식 엔드스톱, 광전식 엔드스톱 또는 홀 엔드스톱 사용 시 전원, 접지, 신호선 순서가 잘못 연결되었습니다.
- 엔드스톱 와이어링 하네스가 손상되었거나, 압착되었거나, 케이블 체인 이동 중 단락되었습니다.
- 엔드스톱 트리거 순간 메인보드 전원 공급이 불안정하여 MCU가 재시작되거나 USB/CAN 통신이 중단됩니다.
- MCU와 상위 컴퓨터 간의 USB/CAN 통신선이 강한 간섭원 근처에 있어 엔드스톱 트리거나 이동 시 연결이 끊어지기 쉽습니다.
- 구성의 엔드스톱 핀이 실제 배선과 일치하지 않아 잘못된 인터페이스가 트리거됩니다.
문제 해결 방법:
- 전원을 차단하고 엔드스톱 스위치 배선 순서, 특히 3선식 엔드스톱의
VCC,GND,Signal이 잘못 연결되었는지 확인합니다. - 해당 엔드스톱 와이어를 임시로 분리하고 전원을 다시 켜서 메인보드가 여전히 연결이 끊어지는지 테스트합니다.
- 멀티미터를 사용하여 엔드스톱 트리거 전후에 단락이 있는지 확인하고, 신호 핀이 전원에 연결되었는지 중점적으로 확인합니다.
- 케이블 체인, 커넥터 및 와이어링 하네스의 굽힘 부분을 확인하여 트리거나 이동 중에 와이어가 압착되어 단락되지 않는지 확인합니다.
- MCU와 상위 컴퓨터 간의 USB/CAN 통신선이 모터선, 히터선, 히트베드선 및 전원선과 멀리 떨어져 있는지 확인합니다.
- 기기 케이스, 전원 공급 장치 또는 차폐가 제대로 접지되지 않은 경우 간섭에 더 취약할 수 있으므로 장비 전기 안전 요구 사항에 따라 접지를 확인하세요.
- 구성의 엔드스톱 핀이 메인보드 문서 및 실제 배선과 일치하는지 확인합니다.
- 문제를 수정한 후
QUERY_ENDSTOPS를 실행하여 엔드스톱 상태가open에서TRIGGERED로 정상적으로 변경되는지 확인합니다.
MCU Protocol error
오류 정보: MCU 프로토콜 오류입니다. 로그에 MCU Protocol error, Unknown command 또는 Command format mismatch가 나타날 수 있습니다.
일반적인 원인:
- 상위 컴퓨터 Klipper를 업데이트했지만 메인보드나 툴보드 펌웨어를 다시 컴파일하여 플래시하지 않았습니다.
- 메인보드, 툴보드, EDDY, ADXL 등 주변 MCU의 펌웨어 버전이 상위 컴퓨터 Klipper와 일치하지 않습니다.
- 맞춤형 시스템 또는 타사 플러그인을 사용하여 Klipper 호스트 측이 MCU에서 지원하는 명령과 일치하지 않습니다.
해결 방법:
- 최근에 Klipper, 시스템 이미지 또는 플러그인을 업데이트했는지 확인합니다.
- 해당 MCU의 Klipper 펌웨어를 다시 컴파일하여 플래시합니다.
- 툴보드, EDDY, ADXL 등 주변 MCU인 경우 해당 주변 장치 펌웨어를 동시에 업데이트하세요.
- 맞춤형 시스템을 사용하는 경우 해당 시스템이 현재 Klipper 버전을 지원하는지 확인합니다.
- 플래시가 완료되면
FIRMWARE_RESTART를 실행하고 다시 연결하여 테스트합니다.
구성 충돌 문제
homing override method always homes X and Y before homing Z. The safe_z_home
오류 정보: 안전 Z 귀환과 귀환 오버라이드 구성이 충돌합니다.
오류 원인: [safe_z_home]과 [homing_override]가 동시에 구성되어 Klipper가 어떤 귀환 로직을 사용할지 확인할 수 없습니다.
해결 방법:
- 구성 파일에서
[safe_z_home]과[homing_override]를 검색합니다. - 기기의 실제 귀환 로직에 따라 하나만 유지합니다.
- 저장하고 Klipper를 재시작합니다.
이동 및 귀환 문제
Move out of range
오류 정보: 대상 좌표가 Klipper 허용 이동 범위를 벗어났습니다. 로그에 일반적으로 Move out of range: X Y Z [E]와 유사한 내용이 표시됩니다.
일반적인 원인:
- 슬라이서의 기기 크기가 Klipper 구성의
position_min/position_max와 일치하지 않습니다. - 시작 G-code, 종료 G-code, 필터 교체 매크로 또는 일시 중지 매크로가 기기 범위 밖으로 이동했습니다.
M600,PAUSE,CANCEL_PRINT등의 매크로 정차 위치가 경계에 너무 가깝습니다.- 스큐 보정, 프로브 오프셋 또는 메시 베드 구성을 사용한 후 실제 계산된 좌표가 음수 값이 되거나 최대 스트로크를 초과합니다.
- 모델 높이가 Z축 최대 스트로크를 초과합니다.
해결 방법:
- 오류의 좌표를 확인하여 어떤 축이 범위를 벗어났는지 판단합니다.
- 해당 축의
position_min,position_max및 슬라이서 기기 크기를 확인합니다. - 시작, 종료, 일시 중지, 필터 교체 등의 매크로에서 정차 좌표를 확인하고
0,0또는 최대 경계에 정차하지 않도록 합니다. - 베드 메싱 중 오류가 발생하면
[bed_mesh]의mesh_min,mesh_max및 프로브 오프셋을 확인합니다. - 구성을 저장하고 Klipper를 재시작한 후 다시 테스트합니다.
Must home axis first
오류 정보: 축이 아직 귀환되지 않아 현재 이동 명령을 실행할 수 없습니다.
일반적인 원인:
- 부팅 또는
FIRMWARE_RESTART후G28을 실행하지 않았습니다. - 매크로에서 이동 명령을 먼저 실행한 후 귀환 명령을 실행합니다.
- 인쇄 일시 중지, 재개 또는 취소 후 기기 상태가 재설정되었습니다.
- 귀환 매크로, 프로브 매크로 또는 엔드스톱 없는 귀환 구성이 비정상적이어서 Klipper가 귀환 상태를 올바르게 기록하지 못했습니다.
해결 방법:
- 수동으로
G28을 실행한 후 해당 축을 이동합니다. - 시작 G-code 및 매크로를 확인하여 이동 명령 전에 귀환이 완료되었는지 확인합니다.
- Klipper 또는 펌웨어를 업데이트한 경우 귀환 관련 매크로가 현재 버전과 여전히 호환되는지 확인합니다.
- 엔드스톱 없는 귀환을 사용하는 경우 드라이버 전류, 감도 및
homing_retract_dist를 확인합니다.
Endstop still triggered after retract
오류 정보: 귀환 중 엔드스톱이 트리거된 후, 후퇴 거리가 끝날 때까지 엔드스톱이 여전히 트리거된 상태입니다.
일반적인 원인:
- 엔드스톱 스위치의 NO(노멀 오픈)/NC(노멀 클로즈) 로직 구성이 반대로 되었습니다.
- 엔드스톱 스위치가 걸렸거나, 손상되었거나, 배선 순서가 잘못되었습니다.
homing_retract_dist가 너무 작아 후퇴 후에도 여전히 엔드스톱을 누르고 있습니다.- 엔드스톱 없는 귀환 감도가 너무 높아 후퇴 후에도 여전히 트리거된 것으로 판단됩니다.
- 드라이버
enable_pin, 모터 방향 또는 엔드스톱 핀 구성이 잘못되어 귀환 동작이 비정상적입니다.
해결 방법:
QUERY_ENDSTOPS를 실행하여 트리거되지 않은 상태에서open이고, 수동으로 트리거한 후에는TRIGGERED인지 확인합니다.- 상태가 반대인 경우 엔드스톱 핀 앞의
!를 조정합니다. - 엔드스톱 스위치의 기계적 상태, 배선 순서 및 플러그를 확인합니다.
homing_retract_dist를 적절히 늘린 후 다시 테스트합니다.- 엔드스톱 없는 귀환을 사용하는 경우 감도를 낮추고 귀환 전류가 적절한지 확인합니다.
No trigger on probe after full movement
오류 정보: 프로브가 전체 하강 스트로크 내에서 트리거되지 않았습니다.
일반적인 원인:
- 프로브 배선, 전원 공급 또는 핀 구성이 잘못되었습니다.
- 프로브 설치 높이가 적절하지 않아 하강 스트로크 내에서 트리거할 수 없습니다.
- Z축 방향, 프로브 오프셋 또는 레벨링 영역 구성이 잘못되었습니다.
- 프로브 자체 결함 또는 이동 중 배선 접촉 불량입니다.
- 히트베드, 노즐 또는 프로브 위치가 감지 가능한 범위를 벗어났습니다.
해결 방법:
QUERY_PROBE를 실행하고 수동으로 프로브를 트리거하여 상태가 정상적으로 변경되는지 확인합니다.- 프로브 전원 공급, 신호선 및 구성 핀을 확인합니다.
- 프로브 설치 높이를 확인하고 하강 전에 프로브가 트리거 가능한 범위에 있는지 확인합니다.
[probe],[bed_mesh],[z_tilt]또는[quad_gantry_level]의 감지 지점이 히트베드를 벗어나지 않는지 확인합니다.- 특정 위치에서만 문제가 발생하는 경우 배선 드래그 및 프로브 오프셋을 중점적으로 확인합니다.
온도 감지 문제
Error 'XXX mcu' shutdown: ADC out of range
오류 정보: ADC가 측정 범위를 벗어나 온도 감지가 비정상적입니다.
오류 원인: Klipper가 구성에서 허용하는 범위를 초과하는 온도를 감지했습니다. 일반적으로 서미스터 개방, 단락, 배선 오류, 서미스터 모델 구성 오류 또는 핀 구성 오류로 인해 발생합니다.
min_temp 및 max_temp를 임시로 완화하는 것은 문제 해결에만 사용해야 하며 장기적인 구성으로 사용할 수 없습니다. 문제를 확인한 후에는 안전 범위를 복원하여 온도 보호가 비활성화되지 않도록 해야 합니다.
문제 해결 순서:
- 서미스터가 단단히 연결되었는지, 와이어가 끊어졌거나 단락되었는지 확인합니다.
- 서미스터 모델 및 핀 구성이 실제 하드웨어와 일치하는지 확인합니다.
- 필요한 경우 판독값 변화를 확인하기 위해 임시로 온도 범위를 완화합니다. 예를 들어
min_temp를 낮추고max_temp를 높입니다. - 배선 또는 구성 문제를 찾아 해결한 후 즉시 원래의 안전 온도 제한을 복원합니다.
- 저장하고 Klipper를 재시작합니다.
Heater not heating at expected rate
오류 정보: 히터가 예상 속도로 가열되지 않습니다. 로그에 Heater extruder not heating at expected rate 또는 Heater heater_bed not heating at expected rate가 나타날 수 있습니다.
일반적인 원인:
- 히터 카트리지, 히트베드 또는 SSR/MOSFET 출력이 비정상적입니다.
- 서미스터 접촉 불량, 와이어 반단선 또는 판독값 변동.
- 팬이 핫엔드, 히트베드 또는 가열 영역을 직접 향해 불어 가열 속도가 너무 느립니다.
- 히트베드 전력 부족 또는
max_power제한이 너무 낮습니다. - PID 파라미터가 적절하지 않아 목표 온도 근처에서 변동이 너무 큽니다.
해결 방법:
- 히터 및 서미스터 배선이 단단한지 확인합니다.
- 온도 곡선을 관찰하여 가열이 연속적인지, 비정상적인 변동이 있는지 확인합니다.
- 팬이 핫엔드 또는 히트베드를 직접 향해 불고 있는지 확인합니다.
- 히터 전력, 전원 공급, 퓨즈, SSR/MOSFET 및
max_power설정을 확인합니다. - 하드웨어가 정상임을 확인한 후 PID 교정을 다시 실행합니다.
- 대형 히트베드 또는 특수 구조로 인해 가열 속도가 느린 것이 확인된 경우 verify_heater 최적화를 참조하세요.
압출 문제
Extrude below minimum temp
오류 정보: 노즐 온도가 압출 허용 최저 온도보다 낮습니다. 로그에 Extrude below minimum temp 또는 Extruder not hot enough가 나타날 수 있습니다.
일반적인 원인:
- 노즐을 가열하지 않고 압출 명령을 실행했습니다.
- 시작 G-code, 필터 교체 매크로, 일시 중지/재개 매크로에 온도 대기 명령이 없습니다.
- 목표 온도에 아직 도달하지 않았는데 매크로가 압출 또는 리트랙션을 조기에 실행했습니다.
- 온도 센서 판독값이 비정상적이어서 Klipper가 노즐이 압출 가능 온도에 도달하지 못했다고 판단합니다.
해결 방법:
- 압출을 실행하기 전에 노즐이 필라멘트에 필요한 온도에 도달했는지 확인합니다.
- 시작 G-code,
M600,PAUSE,RESUME등의 매크로에 온도 대기 로직이 있는지 확인합니다. - 온도 대기가 필요한 위치에
M109또는 Klipper 등가 대기 명령을 사용합니다. - 서미스터 및 온도 곡선을 확인하여 온도 판독값이 안정적인지 확인합니다.
- 오류를 우회하기 위해 장기적으로
min_extrude_temp를 낮추는 것은 권장되지 않습니다.
성능 및 타임아웃 문제
귀환 타임아웃 문제
귀환 중 통신 타임아웃, MCU 연결 끊김 또는 다중 MCU 귀환 오류가 발생하면 귀환 타임아웃 문제를 참조하세요.
MCU 'mcu' shutdown: Stepper too far in past
오류 정보: 스테퍼 이벤트가 MCU가 처리할 수 있는 시간 범위를 초과하여 프린터가 shutdown 상태가 됩니다.
참조 시나리오: 이 오류가 반드시 메시 베드 구성으로 인해 발생하는 것은 아닙니다. 실제 원인은 klippy.log 및 현재 작업과 함께 판단해야 합니다. 다중 지점 베드 메싱을 수행할 때 [bed_mesh]의 probe_count 설정이 너무 큰 경우(예: 20,20) 동시에 높은 mesh_pps(예: mesh_pps: 4,4)가 구성되면 지나치게 조밀한 그리드 데이터가 생성되어 상위 컴퓨터 계산 및 모션 계획 부하가 증가하여 유사한 오류가 발생할 수 있습니다.
해결 방법:
- 오류가 다중 지점 베드 메싱 프로세스 중에 발생하는 경우 먼저
[bed_mesh]의probe_count를 줄여서 테스트합니다(예:7,7또는9,9). - 높은
mesh_pps가 구성된 경우 줄이거나 해당 구성을 삭제합니다(예:mesh_pps: 2,2). 보간이 필요하지 않은 경우 실제 필요에 따라0,0으로 설정할 수 있습니다. - 구성을 저장하고 Klipper를 재시작한 후 오류가 발생하기 전의 작업을 다시 실행합니다.
- 여전히 오류가 발생하면 상위 컴퓨터 부하, 인쇄 속도, 가속도, 통신 품질 및 현재 실행 중인 매크로 또는 G-code를 계속 확인합니다.
MCU 'mcu' shutdown: Timer too close
오류 정보: MCU 타이머가 너무 가까워 시스템 타임아웃이 발생했습니다.
오류 원인: 하위 컴퓨터 처리 부하 과다, 상위 컴퓨터 응답 타임아웃, 인쇄 속도 과다, 마이크로스텝 과다, 시스템 시간 동기화 간섭 또는 MCU 통신선 간섭으로 인해 이 문제가 발생할 수 있습니다.
해결 방법:
- 스테퍼 모터 마이크로스텝을 줄여 MCU 펄스 처리 부하를 줄입니다.
- 인쇄 속도와 가속도를 낮추고 문제가 사라지는지 관찰합니다.
- 상위 컴퓨터 부하, 전원 공급 및 USB/CAN 통신 품질을 확인합니다.
- MCU와 상위 컴퓨터 간의 통신선이 모터선, 히터선, 히트베드선 또는 전원선 근처에 있는지 확인하고 필요한 경우 다시 배선하거나 차폐된 통신선으로 교체합니다.
- 기기 접지 상태를 확인합니다. 제대로 접지되지 않은 기기는 통신 간섭이 발생하기 더 쉬울 수 있습니다.
- 문제가 귀환 단계에서 발생하는 경우 귀환 타임아웃 문제를 참조하세요.
- 문제가 지속되면 상위 컴퓨터 시스템 또는 펌웨어를 다시 플래시하는 것을 고려하세요.
라즈베리 파이 사용자는 NTP 시간 동기화 상태를 확인할 수 있습니다.
sudo timedatectl status | grep "NTP service"
NTP 동기화를 임시로 비활성화해야 하는 경우 다음 명령을 실행합니다.
sudo timedatectl set-ntp false
문제가 NTP와 관련이 없는지 확인한 후 실제 필요에 따라 다시 활성화합니다.
sudo timedatectl set-ntp true