온도, 가열 및 압출 오류
이 페이지에서는 온도 센서, 히터, 히트 베드, 압출 및 필러 감지 관련 오류를 정리합니다. 온도 보호 관련 오류는 먼저 하드웨어와 온도 곡선을 확인해야 하며, 보호 기능을 비활성화하여 문제를 우회해서는 안 됩니다.
'XXX mcu' 셧다운 오류: ADC 범위 초과 / 유효하지 않은 ADC 핀
오류 메시지: ADC out of range, Not a valid ADC pin, 온도 감지 이상.
오류 원인: Klipper가 구성 허용 범위를 초과하는 온도를 감지했거나 sensor_pin으로 지정된 핀이 ADC 샘플링 기능을 지원하지 않습니다. 서미스터 개방, 단락, 배선 오류, 서미스터 모델 구성 오류, 핀 구성 오류 또는 핀 번호 입력 오류에서 흔히 발생합니다.
min_temp와 max_temp를 임시로 완화하는 것은 문제 해결을 위한 용도로만 사용해야 하며, 장기적인 구성으로 사용할 수 없습니다. 문제를 확인한 후에는 반드시 안전 범위로 복원하여 온도 보호가 무효화되지 않도록 해야 합니다.
확인 순서:
서미스터, 히터 봉, 히트 베드, 퓨즈, SSR, MOS 트랜지스터 또는 전원 관련 배선을 검사하기 전에 프린터를 완전히 종료하고 전원 공급을 차단한 후, 핫엔드와 히트 베드가 식을 때까지 기다리십시오. 전원 공급 장치를 분해하거나 노출된 전원 단자에 접촉하거나, AC 전원 히트 베드의 고압 배선을 점검하지 마십시오.
- 전원을 차단하고 식을 때까지 기다린 후, 서미스터가 제대로 꽂혀 있는지, 와이어가 파손되었거나 단락되지 않았는지 확인하십시오.
- 서미스터 모델과 핀 구성이 실제 하드웨어와 일치하는지 확인하십시오.
- 필요시 임시로 온도 범위를 완화하여 판독값 변화를 확인하십시오. 예:
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/MOS 트랜지스터 출력 이상.
- 서미스터 접촉 불량, 와이어 반단선 또는 판독값 변동.
- 팬이 핫엔드, 히트 베드 또는 가열 영역을 직접 냉각하여 승온 속도 저하.
- 히트 베드 전력 부족 또는
max_power제한이 너무 낮음. - PID 매개변수가 적절하지 않아 목표 온도 근처에서 변동이 큼.
해결 방법:
히터, 서미스터, 히트 베드, 퓨즈, SSR, MOS 트랜지스터 또는 전원 관련 배선을 검사하기 전에 프린터를 완전히 종료하고 전원 공급을 차단한 후, 핫엔드와 히트 베드가 식을 때까지 기다리십시오. 전원 공급 장치를 분해하거나 노출된 전원 단자에 접촉하거나, AC 전원 히트 베드의 고압 배선을 점검하지 마십시오.
- 전원을 차단하고 식을 때까지 기다린 후, 히터와 서미스터 배선이 견고하게 연결되었는지 확인하십시오.
- 온도 곡선을 관찰하여 승온이 연속적인지, 비정상적인 변동이 있는지 확인하십시오.
- 팬이 핫엔드나 히트 베드를 직접 냉각하고 있는지 확인하십시오.
- SSR, MOS 트랜지스터, 전원 전력 또는 고압 히트 베드 문제의 경우, 일반 사용자는 완제품 모듈 교체, 웹 온도 곡선 확인 및 판매 후 연락을 통해 우선적으로 문제를 해결해야 하며, 스스로 분해하거나 전기적 검사를 수행하지 마십시오.
- 하드웨어가 정상임을 확인한 후 PID 교정을 다시 수행하십시오.
- 대형 히트 베드나 특수 구조로 인해 승온이 느린 것만 확인된 경우, verify_heater 최적화를 참조하십시오.
온도 판독값 이상 (온도 0°C 표시 또는 지속적 변동)
오류 메시지: 온도가 0°C, 음수로 표시되거나 판독값이 지속적으로 크게 변동합니다(±10°C 이상).
일반적인 원인:
- 서미스터 단선 (0 또는 매우 낮은 값 표시).
- 서미스터 단락 (매우 높은 값 표시 또는 ADC 범위 초과 트리거).
sensor_type구성이 실제 서미스터 모델과 일치하지 않음.- PT100 센서에
pullup_resistor구성 누락. - 열전대 신호 간섭,
filter_length또는thermocouple_max_error구성 필요. - ADC 노이즈 간섭.
해결 방법:
QUERY_ADC SENSOR=extruder_temp를 실행하여 원시 ADC 판독값을 확인하십시오.M105를 실행하여 현재 온도 판독값을 확인하십시오.sensor_type이 하드웨어와 일치하는지 확인하십시오. 일반적으로NTC 100K beta 3950,PT100,MAX31865등입니다.- PT100 센서는
sensor_pin,rtd_reference_r,rtd_num_of_wires를 확인해야 합니다. - 열전대는
thermocouple_max_error를 확인할 수 있으며, ADC 노이즈가 큰 경우filter_length를 확인할 수 있습니다.
관련 구성 참조: 가열 관련.
MCU 셧다운: 히터 압출기/히트 베드 확인 (Verify heater extruder/heater_bed)
오류 메시지: MCU 'mcu' shutdown: Verify heater extruder 또는 Verify heater heater_bed.
오류 원인: Klipper 내장 verify_heater 안전 검사가 히터 온도 변화가 예상과 일치하지 않음을 감지했습니다. 이는 히터 출력 이상, 서미스터 판독값 신뢰 불가, SSR 응답 지연 또는 대형 히트 베드 승온 곡선이 기본 감지 매개변수와 일치하지 않기 때문일 수 있습니다.
오류를 우회하기 위해 verify_heater 기능을 직접 비활성화하거나 임계값을 극도로 불합리한 값으로 설정하지 마십시오. 이는 Klipper의 히터 및 서미스터에 대한 최종 안전 검증을 제거합니다.
일반적인 시나리오:
- 대형 히트 베드 + SSR: SSR 스위칭 응답, 히트 베드 열용량 및 기본
heating_gain불일치. - 히터 봉, 히트 베드 또는 서미스터 교체 후, 새 하드웨어의 열 특성이 기존 PID 및 검증 매개변수와 호환되지 않음.
- 팬이 핫엔드를 직접 냉각하여 환경 기류로 인해 온도 변동이
max_error범위를 초과함. - 서미스터 접촉 불량 또는 장착 느슨함으로 인한 판독값 간헐적 변동.
- 공급 전압 불안정 또는 전원 공급 장치 전력 부족.
문제 해결 방법:
히터, 서미스터, SSR, MOS 트랜지스터, 퓨즈 또는 전원 관련 배선을 검사하기 전에 프린터를 완전히 종료하고 전원 공급을 차단한 후, 핫엔드와 히트 베드가 식을 때까지 기다리십시오. 전원 공급 장치를 분해하거나 노출된 단자에 접촉하거나, AC 전원 히트 베드의 고압 배선을 점검하지 마십시오.
- 먼저 전원을 차단하고 서미스터가 제대로 꽂혀 있는지, 히터 배선이 견고하게 연결되었는지 확인하십시오.
klippy.log에서 셧다운 전 온도 곡선을 관찰하십시오. 곡선이 안정적으로 상승하고 변동이 없다면 매개변수가 너무 민감한 것일 가능성이 높습니다. 간헐적 변동, 0으로 떨어짐 또는 급등이 있다면 하드웨어 문제를 우선 처리하십시오.[verify_heater extruder]또는[verify_heater heater_bed]구성 섹션을 확인하십시오.- 하드웨어가 정상임을 확인한 후 PID 교정을 다시 수행하고, 여전히 오탐지(false positive)가 발생하는지 관찰하십시오.
- 더 자세한 매개변수 설명 및 튜닝 예제는 verify_heater 최적화를 참조하십시오.
호스트 온도 최대 온도 초과
오류 메시지: HOST temperature xx above maximum temperature 또는 MCU temperature not supported on xxx.
일반적인 원인:
- 호스트 CPU 온도가
[temperature_host]의max_temp를 초과함. - 메인보드 MCU 내장 온도 센서가 현재 펌웨어/칩에서 지원되지 않음.
- 호스트의 방열 불량, 밀폐된 케이스, 팬 정지 또는 높은 주변 온도.
해결 방법:
- 호스트의 방열판, 팬 및 케이스 통풍을 확인하십시오.
vcgencmd measure_temp,sensors또는 시스템 모니터링을 사용하여 CPU 온도를 확인하십시오.- 임계값 설정이 너무 낮은 경우에만 적절히
[temperature_host] max_temp를 조정하되, 온도 보호를 비활성화하지 마십시오. MCU temperature not supported오류가 발생하면, 지원되지 않는 MCU의[temperature_mcu]구성을 삭제하거나 주석 처리하십시오.
관련 구성 참조: 팬 참조 구성.
요청 온도 범위 초과
오류 메시지: Requested temperature (285.0) out of range (0.0:130.0), Requested temperature (-5.0) out of range (0.0:300.0), Unknown temperature sensor 'xxx', Sensor 'xxx' temperature xxx not in range, Unable to open temperature file 'xxx'.
일반적인 원인:
- 매크로가 노즐 온도를 히트 베드로 전달하거나 히트 베드 온도를 노즐로 전달하여 목표 온도가 해당 히터의 범위를 초과함.
- 슬라이서 변수 이름과 Klipper 매크로 매개변수 이름이 일치하지 않아 매크로가 빈 값, 기본값 또는 잘못된 계산 결과를 가져옴.
[extruder],[heater_bed],[temperature_sensor]의min_temp/max_temp설정이 불합리함.TEMPERATURE_WAIT,SET_HEATER_TEMPERATURE또는 온도 제어 팬 명령에 존재하지 않는 센서 이름을 입력함.[temperature_host]가 가리키는 시스템 온도 파일이 존재하지 않거나 현재 시스템이 지원하지 않음.- Klipper 업그레이드 후, 이전 구성 또는 제조사 구성에서 더 이상 일치하지 않는 온습도 센서 이름(예:
AHT20_F)을 계속 사용함. 해결 방법:
- 오류 메시지의 온도 범위를 확인하여 노즐, 히트베드, 메인보드 또는 호스트 컴퓨터 온도 중 어느 것이 한계를 초과했는지 먼저 판단합니다.
- 시작 매크로와 슬라이서 전달 인자를 확인하여
BED,BED_TEMP,HOTEND,EXTRUDER_TEMP등의 매개변수 이름이 올바르게 대응되는지 확인합니다. - 매크로 내 온도 매개변수에 합리적인 기본값을 설정하고
|float변환을 사용합니다. - 오류를 회피하기 위해 무작정
max_temp값을 크게 높이지 마십시오. 먼저 인자 전달과 센서 설정이 올바른지 확인합니다. Unknown temperature sensor오류가 발생하면 명령어의 센서 이름이 설정 섹션 이름과 일치하는지 확인합니다.Unknown temperature sensor 'AHT20_F'오류가 발생하면 먼저printer.cfg와 모든[include]파일에서AHT20_F를 검색하여 어떤[heater_generic],[temperature_sensor]또는 제조사 확장 설정 섹션에 속하는지 확인합니다.
알 수 없는 온도 센서
오류 정보: Unknown temperature sensor 'AHT20_F', Unknown temperature sensor 'xxx'.
일반적인 원인:
- 명령어, 매크로 또는 온도 제어 팬이 존재하지 않는 센서 섹션 이름을 참조합니다.
- 설정 파일이
[include]를 통해 구버전 제조사 설정을 불러왔으며, Klipper 업그레이드 후 센서 이름이 더 이상 호환되지 않습니다. - AHT10 / AHT20 / AHT21 / AHT30 온습도 센서의
sensor_type표기법이 현재 Klipper 버전과 일치하지 않습니다. - 특정 온도 센서 설정 섹션을 삭제했지만, 매크로,
[verify_heater],[temperature_fan]또는 제조사 확장에서 여전히 이를 참조하고 있습니다.
해결 방법:
printer.cfg와 모든 include 파일에서 오류 메시지의 센서 이름을 검색하십시오. 메인 설정 파일만 보지 마십시오.- 오류 이름이
sensor_type인지 설정 섹션 이름인지 확인합니다. 예를 들어[temperature_sensor chamber]의 명령어 참조 이름은 일반적으로chamber입니다. - AHT 시리즈 센서는 우선 현재 Klipper 설정 참고 자료에 따라 작성합니다. 구버전 설정의
AHT20_F는 일반적인 표기법이 아니므로, 업그레이드 후 실제 지원 상황에 따라AHT10또는AHT2X로 변경하여 테스트합니다. - 해당 센서가 제조사 확장 기능에서 온 것이라면, 현재 시스템에 해당 확장 모듈이 여전히 포함되어 있는지 먼저 확인합니다. 모듈이 누락된 경우 이름만 변경하지 말고, 전체 제조사 설정이 현재 Klipper와 호환되는지 함께 확인해야 합니다.
- 수정 후
RESTART를 실행하고klippy.log에 다른 설정 오류가 있는지 다시 확인합니다.
써모커플 리더 오류
오류 정보: MCU 'mcu' shutdown: Thermocouple reader fault, 로그에 max31865 또는 max31855 관련 필드가 함께 나타날 수 있습니다.
일반적인 원인:
- MAX31865는 PT100 / PT1000 백금 저항 프로브만 지원하며, NTC100K 서미스터를 연결하면 바로 이 오류가 발생합니다.
- 온도가
max_temp설정값을 순간적으로 초과합니다 (1–2°C의 변동만으로도 트리거됨). - MAX31865 / MAX31855 모듈의 SPI 배선 불량,
spi_bus또는cs_pin설정 오류. - 프로브 와이어 파손, 접촉 불량 또는 연결 단자 산화.
rtd_nominal_r,rtd_reference_r,rtd_num_of_wires매개변수가 실제 모듈과 일치하지 않습니다.
해결 방법:
온도 센서, 히터 카트리지 또는 SPI 배선을 점검하기 전에 프린터를 완전히 끄고 전원 공급을 차단한 후 핫엔드가 식을 때까지 기다리십시오.
- 센서 유형 확인: MAX31865는 PT100 / PT1000과만 호환되며 NTC 서미스터는 사용할 수 없습니다. NTC100K 프로브를 사용하는 경우 메인보드의 일반 서미스터 인터페이스(TH0/TH1)에 연결해야 하며 MAX31865를 사용하지 마십시오.
max_temp에 여유분이 있는지 확인합니다. 예를 들어 실제 인쇄 온도가 250°C인 경우, PID 변동이 즉시 보호 기능을 트리거하는 것을 방지하기 위해max_temp를 260–280으로 설정하는 것이 좋습니다.- 전원을 차단한 후 MAX31865 모듈의 SPI 배선(MOSI, MISO, SCK, CS)이 견고한지,
cs_pin이 설정과 일치하는지 확인합니다. rtd_nominal_r(PT100은100, PT1000은1000)과rtd_reference_r(일반적으로430또는4300, 모듈 실크스크린 또는 설명서 기준)을 확인합니다.rtd_num_of_wires가 실제 프로브 와이어 수(2선 / 3선 / 4선)와 일치하는지 확인합니다.- 수정 후
FIRMWARE_RESTART를 실행하여 온도 판독값이 정상인지 관찰합니다.
설정 예시 (PT1000 + MAX31865):
[temperature_sensor extruder]
sensor_type: MAX31865
sensor_pin: toolboard:PA4
spi_bus: spi1
rtd_nominal_r: 1000
rtd_reference_r: 4300
rtd_num_of_wires: 2
참고:
sensor_pin,spi_bus등의 핀은 사용 중인 메인보드 또는 툴보드의 실제 실크스크린을 기준으로 해야 하며, 예시를 그대로 따라하지 마십시오.
관련 설정 참고: 열 관련.
목표 온도에 도달했으나 오래 기다리며 인쇄를 시작하지 않음
현상: 인쇄 시작 후 노즐 또는 히트베드가 목표 온도 근처까지 가열되지만 인쇄가 좀처럼 시작되지 않고, 온도가 목표값 주변에서 반복적으로 변동하며 대기 시간이 눈에 띄게 깁니다(때로는 수 분에서 10분까지). klippy.log에는 !! 오류가 없습니다.
일반적인 원인:
- Klipper의
M109/M190은 목표 온도에 한 번 도달하면 계속 진행되는 것이 아니라, 온도가 목표값 주변에서 안정화(settle) 될 때까지 기다립니다. 공식 G-Codes 문서는M109 always waits for temperature to settle at requested value라고 명시합니다. - 목표값 주변에서 온도 진동이 빠르게 안정화되지 않습니다: PID 매개변수가 적절하지 않거나, 가열 전력이 너무 강하거나, 서미스터가 히터에 너무 밀착되어 있는 경우(열 질량이 작고 응답이 빠름) 안정화 시간이 길어집니다.
- 슬라이서 시작 G-code에서 먼저
M190으로 히트베드를 기다린 후M109로 노즐을 기다리는 직렬 대기는 전체 대기 시간을 누적시킵니다.
해결 방법:
- 먼저 PID 교정(
PID_CALIBRATE)을 수행하여 보다 안정적인 온도 제어를 얻습니다. 이는 온도 진동을 줄이는 기본입니다. - "완전한 안정화 대기" 대신 허용 오차 창 대기를 사용합니다: 목표 온도 근처의 합리적인 구간에 도달하면 계속 진행하고, 온도가 완전히 안정될 때까지 기다리지 않습니다. 구체적인 매크로는 M109 / M190 온도 대기 최적화를 참조하십시오. 이 매크로는 먼저
M104/M140으로 온도를 설정한 후,TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-5} MAXIMUM={s+5}를 사용하여 허용 오차 범위에 들어오면 계속 진행합니다. - 진동이 심한 경우 히터의
max_power를 적절히 낮추거나(예: 0.9–0.95)pwm_cycle_time을 늘린(예: 0.05) 후, 다시 PID 교정을 수행합니다. - 노즐과 히트베드를 병렬로 가열합니다: 시작 매크로에서 먼저
M140/M104로 동시에 온도를 설정한 후, 각각M190/M109로 대기하여 직렬 대기 누적을 방지합니다. - 고온 히트베드(70°C 이상)는 변형에 시간이 필요하므로, 목표 온도에 도달한 후
G4 P30000으로 약 30초간 추가 대기한 후 귀환이나 레벨링을 수행합니다.
온도 곡선에서 관찰: 온도가 이미 목표값에 도달했지만 목표값 주변에서 계속 변동하고, 오랜 시간 안정적인 구간에 머물지 못하며 klippy.log에 !! 오류가 없다면, 일반적으로 하드웨어 오류가 아닌 '온도 안정화 대기'로 인한 긴 대기 시간입니다.
관련 문서: M109 / M190 온도 대기 최적화, 열 관련, 매크로 소개
압출 문제
최소 온도 이하에서 압출
오류 정보: 노즐 온도가 압출 허용 최저 온도보다 낮습니다. 로그에 Extrude below minimum temp 또는 Extruder not hot enough이 나타날 수 있습니다.
일반적인 원인:
- 슬라이서 시작 G-code가
PRINT_START를 호출할 때 온도 매개변수(예:EXTRUDER_TEMP,BED_TEMP)를 전달하지 않아, 매크로 내default(0)로 인해M109 S0이 히터를 끄고, 이후 압출 동작이 오류를 트리거합니다. - 시작 매크로에서 압출(예: 노즐 닦기, 선 긋기)을 먼저 실행하지만 노즐이 여전히 예열 온도(예: 150°C)에 있어
min_extrude_temp(기본값 170°C)보다 낮습니다. PAUSE/RESUME/M600매크로에 온도 회복을 기다리는 명령어가 없어, 재개 후 바로 압출을 시도합니다.- 인쇄 중 온도가 예기치 않게
min_extrude_temp아래로 떨어집니다(서미스터 접촉 불량, 팬 직사, PID 이상).
해결 방법:
- 슬라이서 시작 G-code를 확인하여
PRINT_START호출 시 올바른 온도 매개변수가 전달되는지 확인합니다. 예:PRINT_START EXTRUDER_TEMP={first_layer_temperature[initial_extruder]} BED_TEMP={first_layer_bed_temperature[initial_extruder]}. PRINT_START매크로 정의 내 온도 변수의 기본값을 확인합니다.default(0)로 인해M109 S0이 히터를 끄는 것을 방지합니다. 기본값을 합리적인 저온(예:default(190))으로 설정하거나 매개변수가 0일 때 대기를 건너뛰는 것이 좋습니다.- 시작 매크로 내 압출 동작(노즐 닦기, 선 긋기)이
M109가 인쇄 온도를 기다린 후에 실행되는지, 예열 온도 단계에서 실행되는 것이 아닌지 확인합니다. M600,PAUSE,RESUME등의 매크로에 온도 대기 명령어가 있는지 확인합니다. 재개 전에 먼저M109로 노즐이 작업 온도로 돌아오길 기다려야 합니다.- 서미스터와 온도 곡선을 확인하여 온도 판독값이 안정적인지 확인합니다.
- 오류를 회피하기 위해
min_extrude_temp를 장기간 낮추는 것은 권장되지 않습니다.
klippy.log에서 오류 발생 직전의 Stats 라인을 검색: extruder: target=0이거나 target이 인쇄 온도(예: 150)보다 훨씬 낮은데 슬라이서 설정 인쇄 온도가 200°C 이상이라면, 보통 시작 매크로 매개변수가 제대로 전달되지 않은 것입니다.
Extrude only move too long
오류 정보: Extrude only move too long (xxmm vs xxmm).
해결 방법:
- 슬라이서의 리트랙트 길이를 확인하세요. 보우덴 원격 압출의 경우에도 과도하게 설정하지 마십시오.
- 필터 교체, 장전, 배출 또는 노즐 닦기 매크로에서 한 번에 너무 긴 압출/리트랙트 거리가 있는지 확인하세요.
- 인쇄 재개 시 E 좌표 상태가 올바른지 확인하여 이전 E 값을 새로운 상대 압출 거리로 사용하지 않도록 하세요.
- 매크로에서
M82/M83및G92 E0이 올바르게 사용되었는지 확인하세요. - 장거리 순수 압출이 실제로 필요한 경우
[extruder]에서max_extrude_only_distance를 적절히 늘릴 수 있지만, 매크로 상태 오류를 극단적인 값으로 가리지 마십시오.
Move exceeds maximum extrusion
오류 정보: Move exceeds maximum extrusion (xxmm^2 vs xxmm^2).
해결 방법:
- 슬라이서의 필라멘트 직경, 노즐 직경, 압출 배율 및 라인 폭이 비정상적인지 확인하세요.
- 시작선, 노즐 닦기선, 필터 교체, 필터 타워 또는 퍼지 매크로에서 비정상적으로 큰 E 값이 생성되었는지 확인하세요.
- 시작/일시 정지/재개 매크로의
M82/M83압출 모드 및G92 E0이 슬라이서와 일치하는지 확인하세요. [extruder]의nozzle_diameter,filament_diameter또는max_extrude_cross_section을 확인하세요.- 노즐 직경을 교체한 후, Klipper 설정과 슬라이서 노즐, 라인 폭, 압출 배율을 동시에 수정하세요.
max_extrude_cross_section을 직접 크게 늘리지 않는 것이 좋습니다. 먼저 G-code 및 슬라이스 매개변수가 정상인지 확인하세요.
Extrude when no extruder present / Extruder not configured
오류 정보: Extrude when no extruder present, Extruder not configured 또는 Active extruder does not have a stepper.
해결 방법:
- 주 압출기 설정 섹션 이름이
[extruder]인지 확인하세요. - 다중 압출 또는 동기 압출 시나리오에서
[extruder_stepper]및SYNC_EXTRUDER_MOTION을 확인하세요. - 매크로의
ACTIVATE_EXTRUDER,T0/T1또는 사용자 정의 전환 명령이 실제 설정 섹션을 가리키는지 확인하세요.
관련 설정 참고: 압출기 참조 설정.
필라멘트 감지 및 M600 필터 교체 오류
오류 정보: Filament sensor: runout detected, M600 필터 교체 매크로 실행 후 인쇄 중단 및 복구 불가, 필라멘트 감지 스위치가 항상 트리거 또는 미트리거 상태, 필터 교체 후 일정 시간 대기 후 Timer too close 트리거.
해결 방법:
필라멘트 감지 센서 배선을 점검, 분리 또는 교체하기 전에 프린터 전원을 완전히 끄고 전원 공급을 차단하십시오. 전원이 켜진 상태에서 센서 모듈을 연결/분리하거나 인터페이스 배선 순서를 정리하지 마십시오.
QUERY_FILAMENT_SENSOR SENSOR=<센서명>을 실행하여 필라멘트 삽입 시 상태가open(또는not triggered)이고, 제거 시 상태가 변하는지 확인하세요.- 상태가 계속 변하지 않으면 전원을 차단한 후 센서 배선,
switch_pin및 풀업 설정을 확인하세요. - 인쇄 중 잦은 오작동이 발생하면 배선이 케이블 체인에서 과도하게 구부러지거나 운동축에 의해 당겨지지 않는지 확인하세요.
M600매크로 로직을 확인하여 일시 정지, 리트랙트, 상승 및 복구 절차가 정상적인지 확인하세요.- 다중 압출기 시나리오에서
ACTIVATE_EXTRUDER와 필라멘트 감지 로직이 동일한 압출기에 적용되는지 확인하세요. - 필터 교체를 위해 일정 시간 대기 후 계속을 클릭해야
Timer too close가 트리거되는 경우, 필터 교체 매크로가 일시 정지 중에PAUSE를 반복 호출하거나 필라멘트 감지를 반복 활성화하거나, 재개 직후 대량의 압출/이동 명령을 실행하는지 확인하세요. SAVE_GCODE_STATE/RESTORE_GCODE_STATE이름이 일치하는지 확인하고, 필요한 경우 재개 전후에 경고음, 조명 효과, 지연 매크로 및 원격 플러그인 동작을 줄이세요.
M600 필터 교체 후 Timer too close
오류 정보: M600, 필라멘트 부족 일시 정지 또는 수동 필터 교체 실행 후 수십 초 기다렸다가 계속을 클릭하면 MCU 'mcu' shutdown: Timer too close 발생.
일반적인 원인:
- 필터 교체 매크로, 필라멘트 감지 및 프런트엔드 일시 정지/재개 로직이 서로 중첩되어 인쇄가 이미 일시 정지된 상태에서 다시 일시 정지됨.
- 재개 시 장거리 압출, 노즐 닦기, 부저, 조명 효과 또는
UPDATE_DELAYED_GCODE를 즉시 실행하여 저성능 호스트의 스케줄링 부하가 증가함. - 필터 교체 중에 필라멘트 감지 센서가 일시적으로 비활성화되지 않아 필라멘트 장전 과정에서 다시 runout이 트리거됨.
- Klipper 업데이트 후, 기존 매크로의 일시 정지/재개 상태 및 모션 큐에 대한 가정이 현재 버전에 더 이상 적합하지 않음.
해결 방법:
- 먼저 전체
klippy.log를 확인하여Timer too close전에Print already paused,Unknown g-code state,Filament sensor또는 매크로 템플릿 오류가 있는지 확인하세요. M600,PAUSE,RESUME,LOAD_FILAMENT,UNLOAD_FILAMENT매크로에서SAVE_GCODE_STATE,RESTORE_GCODE_STATE및UPDATE_DELAYED_GCODE를 검색하세요.- 필터 교체 중에 필라멘트 감지를 일시적으로 비활성화하고, 안정화된 후에 다시 활성화하세요.
- 재개 단계의 압출 길이, 속도 및 연속 동작 수를 줄여 재개 순간에 많은 모션 명령이 쌓이지 않도록 하세요.
- 저성능 호스트에서만 발생하는 경우, 카메라, KlipperScreen 및 원격 제어 플러그인을 일시적으로 비활성화한 후 재테스트하세요.
시스템 관련排查: Timer too close
관련 설정 참고: 매크로 소개, 필라멘트 감지 참조 설정.