Перейти к основному содержанию

Ошибки температуры, нагрева и экструзии

На этой странице собраны ошибки, связанные с датчиками температуры, нагревателями, нагревательным столом, экструзией и детекцией отсутствия филамента. При ошибках температурной защиты сначала необходимо проверить аппаратное обеспечение и кривые температуры, не пытайтесь обходить проблему отключением защиты.

Ошибка выключения «XXX mcu»: ADC out of range / Not a valid ADC pin

Сообщение об ошибке: ADC out of range, Not a valid ADC pin, аномалия измерения температуры.

Loading...

Причина ошибки: Klipper обнаружил, что температура выходит за пределы допустимого диапазона конфигурации, или указанный в sensor_pin вывод не поддерживает выборку ADC. Обычно это связано с обрывом термистора, коротким замыканием, ошибкой подключения, неверной конфигурацией модели термистора, ошибкой конфигурации вывода или опечаткой в номере вывода.

Внимание

Временное расширение границ min_temp и max_temp допустимо только для диагностики, но не в качестве долгосрочной конфигурации. После выявления проблемы необходимо вернуть безопасные значения, чтобы не отключать температурную защиту.

Порядок диагностики:

Отключение питания

Перед проверкой термистора, нагревательного стержня, нагревательного стола, предохранителя, SSR, MOS-транзистора или проводки, связанной с источником питания, полностью выключите принтер и отключите его от сети, а также дождитесь охлаждения хотэнда и нагревательного стола. Не разбирайте источник питания, не прикасайтесь к оголенным клеммам и не проверяйте высоковольтную проводку нагревательного стола, работающего от сети переменного тока.

  1. Выключите питание и дождитесь охлаждения, затем проверьте, надежно ли вставлен термистор, нет ли обрывов или коротких замыканий проводов.
  2. Проверьте, соответствует ли модель термистора и конфигурация выводов фактическому аппаратному обеспечению.
  3. При необходимости временно расширьте температурный диапазон для проверки показаний, например, уменьшите min_temp или увеличьте max_temp.
  4. После обнаружения и устранения проблемы с подключением или конфигурацией немедленно верните исходные безопасные температурные ограничения.
  5. Сохраните конфигурацию и перезапустите Klipper.

Связанная конфигурация: Нагрев.

Аномальная скорость нагрева нагревателя (Heater not heating at expected rate)

Сообщение об ошибке: Нагреватель не нагревается с ожидаемой скоростью, в логе может появиться Heater extruder not heating at expected rate или Heater heater_bed not heating at expected rate.

Loading...

Распространенные причины:

  • Неисправность нагревательного стержня, нагревательного стола или выхода SSR / MOS-транзистора.
  • Плохой контакт термистора, частичный обрыв провода или скачкообразные показания.
  • Вентилятор, дующий непосредственно на хотэнд, нагревательный стол или зону нагрева, вызывающий слишком медленный нагрев.
  • Недостаточная мощность нагревательного стола или слишком низкое ограничение max_power.
  • Неподходящие параметры PID, большие колебания температуры при приближении к целевой.

Методы решения:

Отключение питания

Перед проверкой нагревателя, термистора, нагревательного стола, предохранителя, SSR, MOS-транзистора или проводки, связанной с источником питания, полностью выключите принтер и отключите его от сети, а также дождитесь охлаждения хотэнда и нагревательного стола. Не разбирайте источник питания, не прикасайтесь к оголенным клеммам и не проверяйте высоковольтную проводку нагревательного стола, работающего от сети переменного тока.

  1. Выключите питание и дождитесь охлаждения, затем проверьте надежность подключения нагревателя и термистора.
  2. Наблюдайте за кривой температуры, убедитесь, что нагрев непрерывный и нет аномальных скачков.
  3. Проверьте, не дует ли вентилятор непосредственно на хотэнд или нагревательный стол.
  4. При проблемах с SSR, MOS-транзистором, мощностью источника питания или высоковольтным нагревательным столом обычным пользователям следует в первую очередь заменить готовый модуль, проверить веб-кривые температуры и обратиться в службу поддержки, не разбирая устройство самостоятельно и не проводя электрические измерения.
  5. После подтверждения исправности аппаратного обеспечения выполните калибровку PID заново.
  6. Если точно известно, что медленный нагрев вызван только большим размером нагревательного стола или особой конструкцией, можно обратиться к оптимизации verify_heater.

Связанная конфигурация: Нагрев, Оптимизация M109.

Аномальные показания температуры (температура отображается как 0°C или постоянно скачет)

Сообщение об ошибке: Температура отображается как 0°C, отрицательное значение или показания постоянно и сильно скачут (более ±10°C).

Распространенные причины:

  • Обрыв термистора (показывает 0 или очень низкое значение).
  • Короткое замыкание термистора (показывает очень высокое значение или вызывает ADC out of range).
  • Несоответствие sensor_type фактической модели термистора.
  • Отсутствие конфигурации pullup_resistor для датчика PT100.
  • Помехи сигнала термопары, требующие настройки filter_length или thermocouple_max_error.
  • Шум ADC.

Методы решения:

  1. Выполните QUERY_ADC SENSOR=extruder_temp для просмотра исходных показаний ADC.
  2. Выполните M105 для просмотра текущих показаний температуры.
  3. Убедитесь, что sensor_type соответствует аппаратному обеспечению, распространенные варианты: NTC 100K beta 3950, PT100, MAX31865 и т.д.
  4. Для датчика PT100 проверьте sensor_pin, rtd_reference_r, rtd_num_of_wires.
  5. Для термопары проверьте 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-транзистора, предохранителя или проводки, связанной с источником питания, полностью выключите принтер и отключите его от сети, а также дождитесь охлаждения хотэнда и нагревательного стола. Не разбирайте источник питания, не прикасайтесь к оголенным клеммам и не проверяйте высоковольтную проводку нагревательного стола, работающего от сети переменного тока.

  1. Сначала выключите питание и проверьте, надежно ли вставлен термистор и прочно ли подключен нагреватель.
  2. Просмотрите кривую температуры перед выключением в klippy.log. Если кривая стабильно растет без скачков, скорее всего, параметры слишком чувствительны; если есть прерывистые скачки, обнуление или резкий рост, в первую очередь решайте аппаратные проблемы.
  3. Проверьте секции конфигурации [verify_heater extruder] или [verify_heater heater_bed].
  4. После подтверждения исправности аппаратного обеспечения выполните калибровку PID заново и проверьте, не происходит ли ложного срабатывания.
  5. Более подробное описание параметров и примеры настройки см. в разделе Оптимизация verify_heater.

HOST temperature above maximum temperature

Сообщение об ошибке: HOST temperature xx above maximum temperature или MCU temperature not supported on xxx.

Распространенные причины:

  • Слишком высокая температура процессора хост-системы, превышающая max_temp в [temperature_host].
  • Встроенный датчик температуры MCU материнской платы не поддерживается текущей прошивкой/чипом.
  • Недостаточное охлаждение хост-системы: герметичный корпус, остановка вентилятора или высокая температура окружающей среды.

Методы решения:

  1. Проверьте радиатор, вентилятор и вентиляцию корпуса хост-системы.
  2. Используйте vcgencmd measure_temp, sensors или системный мониторинг для проверки температуры процессора.
  3. Если порог установлен слишком низко, соответствующим образом отрегулируйте [temperature_host] max_temp, но не отключайте температурную защиту.
  4. Если появляется сообщение MCU temperature not supported, удалите или закомментируйте конфигурацию [temperature_mcu] для неподдерживаемого 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, в результате макрос получает пустое значение, значение по умолчанию или ошибочный результат вычисления.
  • Нерациональная настройка min_temp / max_temp в [extruder], [heater_bed], [temperature_sensor].
  • В командах TEMPERATURE_WAIT, SET_HEATER_TEMPERATURE или для терморегулируемого вентилятора указано имя несуществующего датчика.
  • Файл системной температуры, указанный в [temperature_host], не существует или не поддерживается текущей системой.
  • После обновления Klipper в старой конфигурации или конфигурации производителя все еще используются имена датчиков температуры и влажности, которые больше не совпадают, например AHT20_F. Методы решения:
  1. Просмотрите диапазон температуры в сообщении об ошибке, сначала определите, превышен ли лимит температуры сопла, нагревательного стола, платы или верхнего компьютера.
  2. Проверьте стартовый макрос и параметры, передаваемые слайсером, убедитесь, что имена параметров, такие как BED, BED_TEMP, HOTEND, EXTRUDER_TEMP, соответствуют правильным.
  3. Установите разумные значения по умолчанию для параметров температуры в макросе и используйте преобразование |float.
  4. Не увеличивайте резко max_temp, чтобы обойти ошибку; сначала убедитесь в правильности передачи параметров и конфигурации датчика.
  5. Если появляется ошибка Unknown temperature sensor, проверьте, соответствует ли имя датчика в команде имени секции в конфигурации.
  6. Если появляется ошибка Unknown temperature sensor 'AHT20_F', сначала выполните поиск AHT20_F в файле printer.cfg и всех файлах [include], чтобы определить, к какой секции [heater_generic], [temperature_sensor] или расширению производителя он относится.

Неизвестный датчик температуры

Сообщение об ошибке: Unknown temperature sensor 'AHT20_F', Unknown temperature sensor 'xxx'.

Распространенные причины:

  • В команде, макросе или терморегулируемом вентиляторе указано имя несуществующей секции датчика.
  • Конфигурационный файл через [include] импортирует устаревшую конфигурацию производителя, и после обновления Klipper имена датчиков стали несовместимы.
  • Написание sensor_type для датчиков температуры и влажности AHT10 / AHT20 / AHT21 / AHT30 не соответствует текущей версии Klipper.
  • Была удалена секция конфигурации датчика температуры, но на нее по-прежнему ссылаются макросы, [verify_heater], [temperature_fan] или расширение производителя.

Методы решения:

  1. Выполните поиск имени датчика из сообщения об ошибке в printer.cfg и всех include-файлах, не ограничивайтесь основным конфигурационным файлом.
  2. Определите, является ли имя в ошибке sensor_type или именем секции. Например, для секции [temperature_sensor chamber] имя для ссылки в командах обычно chamber.
  3. Для датчиков серии AHT в первую очередь заполняйте параметры в соответствии с текущей конфигурацией Klipper; AHT20_F в старых конфигурациях не является общепринятым написанием, после обновления можно попробовать изменить на AHT10 или AHT2X в зависимости от реальной поддержки.
  4. Если датчик происходит из расширения функционала производителя, сначала убедитесь, что текущая система все еще содержит соответствующий модуль расширения; при отсутствии модуля не меняйте только имя, а синхронно проверьте совместимость всей конфигурации производителя с текущим Klipper.
  5. После внесения изменений выполните RESTART, затем проверьте klippy.log на наличие других ошибок конфигурации.

Справочная информация по конфигурации: Нагрев, Введение в макросы.

Ошибка считывателя термопары

Сообщение об ошибке: MCU 'mcu' shutdown: Thermocouple reader fault, в логе могут присутствовать поля, связанные с max31865 или max31855.

Распространенные причины:

  • MAX31865 поддерживает только платиновые датчики PT100 / PT1000, подключение термистора NTC100K напрямую вызовет эту ошибку.
  • Мгновенное превышение заданного значения max_temp (даже колебание на 1–2°C может вызвать срабатывание).
  • Неправильное подключение SPI (MOSI, MISO, SCK, CS) модуля MAX31865 / MAX31855, ошибка в конфигурации spi_bus или cs_pin.
  • Обрыв провода датчика, плохой контакт или окисление клемм.
  • Несоответствие параметров rtd_nominal_r, rtd_reference_r, rtd_num_of_wires фактическому модулю.

Методы решения:

Работы при отключенном питании

Перед проверкой датчика температуры, нагревателя или подключения SPI полностью выключите принтер и отключите источник питания, дождитесь остывания горячего конца.

  1. Убедитесь в типе датчика: MAX31865 можно использовать только с PT100 / PT1000, не с NTC-термисторами. Если вы используете датчик NTC100K, его следует подключать к обычному разъему термистора на плате (TH0/TH1), а не через MAX31865.
  2. Проверьте, достаточен ли запас по max_temp. Например, при фактической печати 250°C рекомендуется установить max_temp на 260–280, чтобы избежать срабатывания защиты при колебаниях PID.
  3. При отключенном питании проверьте надежность подключения SPI (MOSI, MISO, SCK, CS) модуля MAX31865, соответствует ли cs_pin конфигурации.
  4. Сверьте значения rtd_nominal_r (для PT100 укажите 100, для PT1000 — 1000) и rtd_reference_r (обычно 430 или 4300, уточните по маркировке модуля или документации).
  5. Убедитесь, что rtd_num_of_wires соответствует фактическому количеству проводов датчика (2-проводная / 3-проводная / 4-проводная схема).
  6. После внесения изменений выполните 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 нет ошибок !!.

Распространенные причины:

  • Команды M109 / M190 в Klipper не ждут однократного достижения целевой температуры, а ожидают ее стабилизации (settle) вблизи заданного значения. В официальной документации по G-Codes указано: M109 always waits for temperature to settle at requested value.
  • Колебания температуры вокруг заданного значения не позволяют быстро стабилизироваться: неподходящие параметры PID, слишком высокая мощность нагрева или термистор, плотно прилегающий к нагревателю (малая тепловая масса, быстрая реакция), увеличивают время стабилизации.
  • В стартовом G-коде слайсера сначала выполняется M190 (ожидание стола), затем M109 (ожидание сопла), последовательное ожидание суммируется, увеличивая общее время.

Методы решения:

  1. Сначала выполните калибровку PID (PID_CALIBRATE) для получения более стабильного управления температурой — это основа для уменьшения колебаний.
  2. Замените ожидание полной стабилизации на ожидание с допуском: продолжить выполнение, как только температура войдет в разумный интервал вокруг заданного значения, не дожидаясь полной стабилизации. Подробный макрос см. в Оптимизация ожидания температуры M109 / M190. Этот макрос сначала задает температуру с помощью M104/M140, а затем использует TEMPERATURE_WAIT SENSOR=extruder MINIMUM={s-5} MAXIMUM={s+5}, чтобы продолжить при входе в допуск.
  3. Если колебания значительны, можно немного снизить max_power нагревателя (например, до 0.9–0.95) или увеличить pwm_cycle_time (например, до 0.05), после изменения повторно выполнить калибровку PID.
  4. Организуйте параллельный нагрев сопла и стола: в стартовом макросе сначала задайте температуру одновременно с помощью M140/M104, затем раздельно выполните M190/M109 для ожидания, избегая последовательного сложения ожиданий.
  5. Для горячего стола (выше 70°C), которому требуется время на деформацию, после достижения температуры можно добавить дополнительное ожидание с помощью G4 P30000 (около 30 секунд) перед возвратом в ноль или калибровкой.
Как определить данную проблему

На графике температуры: если температура уже достигла целевого значения, но продолжает колебаться вокруг него в течение длительного времени, не стабилизируясь, и в klippy.log нет ошибок !!, это, скорее всего, длительное ожидание из-за "стабилизации температуры", а не аппаратная неисправность.

Связанная документация: Оптимизация ожидания температуры M109 / M190, Нагрев, Введение в макросы

Проблемы с экструзией

Экструзия ниже минимальной температуры

Сообщение об ошибке: Температура сопла ниже минимально допустимой для экструзии, в логе может появиться Extrude below minimum temp или Extruder not hot enough.

Распространенные причины:

  • В стартовом G-коде слайсера при вызове PRINT_START не передаются параметры температуры (например, EXTRUDER_TEMP, BED_TEMP), и default(0) в макросе приводит к выполнению M109 S0, отключающему нагрев, после чего попытка экструзии вызывает ошибку.
  • В стартовом макросе сначала выполняется экструзия (например, обтирание сопла, рисование линии), когда сопло еще находится при температуре пропитки (например, 150°C), что ниже min_extrude_temp (по умолчанию 170°C).
  • В макросах PAUSE / RESUME / M600 отсутствует команда ожидания восстановления температуры, и экструзия выполняется сразу после возобновления.
  • Во время печати температура случайно падает ниже min_extrude_temp (плохой контакт термистора, обдув вентилятором, аномалия PID).

Методы решения:

  1. Проверьте стартовый G-код слайсера, убедитесь, что при вызове PRINT_START передаются правильные параметры температуры, например: PRINT_START EXTRUDER_TEMP={first_layer_temperature[initial_extruder]} BED_TEMP={first_layer_bed_temperature[initial_extruder]}.
  2. Проверьте значения по умолчанию для переменных температуры в определении макроса PRINT_START, избегайте default(0), который приводит к M109 S0, отключающему нагрев; рекомендуется установить разумное низкое значение по умолчанию (например, default(190)) или пропускать ожидание, если параметр равен 0.
  3. Убедитесь, что действия по экструзии (обтирание сопла, рисование линии) в стартовом макросе выполняются после M109 с ожиданием температуры печати, а не на этапе температуры пропитки.
  4. Проверьте макросы M600, PAUSE, RESUME и т.д. на наличие команд ожидания температуры; перед возобновлением печати следует выполнить M109 для ожидания возврата сопла к рабочей температуре.
  5. Проверьте термистор и кривую температуры, убедитесь в стабильности показаний.
  6. Не рекомендуется длительное снижение min_extrude_temp для обхода ошибки.
Как определить, относится ли проблема к передаче параметров

Найдите строки Stats перед ошибкой в klippy.log: если extruder: target=0 или target значительно ниже температуры печати (например, 150), в то время как в слайсере задана температура печати выше 200°C, то обычно это означает, что начальные параметры макроса не были переданы должным образом.

Соответствующая конфигурация: Оптимизация M109, Введение в макросы.

Extrude only move too long

Сообщение об ошибке: Extrude only move too long (xxmm vs xxmm).

Методы решения:

  1. Проверьте длину ретракта в слайсере. Даже для Bowden-экструдеров не следует слепо устанавливать слишком большие значения.
  2. Проверьте макросы замены, загрузки, выгрузки или обтирания сопла: не слишком ли велика длина экструзии/ретракта за один раз.
  3. Проверьте правильность состояния координаты E при возобновлении печати, чтобы не использовать историческое значение E в качестве нового относительного расстояния экструзии.
  4. Проверьте правильность использования M82 / M83 и G92 E0 в макросах.
  5. Если действительно необходима длительная чистая экструзия, можно увеличить max_extrude_only_distance в разделе [extruder], но не используйте чрезмерно большие значения для маскировки ошибок состояния макроса.

Соответствующая конфигурация: Эталонная конфигурация экструдера, Введение в макросы.

Move exceeds maximum extrusion

Сообщение об ошибке: Move exceeds maximum extrusion (xxmm^2 vs xxmm^2).

Методы решения:

  1. Проверьте, нет ли аномалий в диаметре филамента, диаметре сопла, коэффициенте экструзии и ширине линии в слайсере.
  2. Проверьте, не генерируют ли макросы начальной линии, обтирания сопла, замены филамента, башни обтирания или purge аномально большие значения E.
  3. Проверьте, соответствуют ли режимы экструзии M82 / M83 и G92 E0 в макросах начала/паузы/возобновления настройкам слайсера.
  4. Проверьте параметры nozzle_diameter, filament_diameter или max_extrude_cross_section в разделе [extruder].
  5. После замены сопла синхронизируйте изменения в конфигурации Klipper, а также в слайсере (диаметр сопла, ширина линии, коэффициент экструзии).
  6. Не рекомендуется напрямую значительно увеличивать 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.

Методы решения:

  1. Убедитесь, что имя раздела конфигурации основного экструдера — [extruder].
  2. При использовании нескольких экструдеров или синхронной экструзии проверьте [extruder_stepper] и SYNC_EXTRUDER_MOTION.
  3. Проверьте, указывают ли ACTIVATE_EXTRUDER, T0/T1 или пользовательские команды переключения в макросах на реально существующие разделы конфигурации.

Соответствующая конфигурация: Эталонная конфигурация экструдера.

Ошибка обнаружения обрыва филамента и замены филамента M600

Сообщение об ошибке: Filament sensor: runout detected, прерывание печати после выполнения макроса замены филамента M600 без возможности возобновления, датчик обрыва филамента постоянно находится в сработанном или несработанном состоянии, срабатывание Timer too close после некоторого времени ожидания замены филамента.

Методы решения:

Отключение питания

Перед проверкой, подключением или заменой жгута проводов датчика обрыва филамента полностью выключите принтер и отключите его от источника питания. Не подключайте и не отключайте датчик во время работы оборудования.

  1. Выполните QUERY_FILAMENT_SENSOR SENSOR=<имя_датчика>, чтобы убедиться, что при вставленном филаменте состояние open (или not triggered) меняется при его извлечении.
  2. Если состояние не меняется, выключите питание и проверьте подключение проводов датчика, switch_pin и конфигурацию подтяжки.
  3. Если во время печати происходят частые ложные срабатывания, проверьте, не перегибается ли жгут в кабель-канале и не натягивается ли он движущимися осями.
  4. Проверьте логику макроса M600, убедитесь, что процессы паузы, ретракта, подъема и возобновления работают корректно.
  5. В сценариях с несколькими экструдерами убедитесь, что ACTIVATE_EXTRUDER и логика обнаружения обрыва филамента воздействуют на один и тот же экструдер.
  6. Если Timer too close срабатывает только после нажатия кнопки продолжения через некоторое время ожидания замены филамента, проверьте, не вызывает ли макрос замены многократно PAUSE во время паузы, не включает ли повторно обнаружение обрыва или не выполняет ли сразу после возобновления слишком много команд экструзии/перемещения.
  7. Проверьте, совпадают ли имена SAVE_GCODE_STATE / RESTORE_GCODE_STATE. При необходимости сократите действия звуковых сигналов, световых эффектов, макросов задержки и удаленных плагинов до и после возобновления.

Timer too close после M600

Сообщение об ошибке: После выполнения M600, паузы по обрыву филамента или ручной замены филамента, при нажатии кнопки продолжения через несколько десятков секунд появляется ошибка MCU 'mcu' shutdown: Timer too close.

Распространенные причины:

  • Вложенность макросов замены филамента, обнаружения обрыва и логики паузы/возобновления со стороны интерфейса, приводящая к повторной паузе, когда печать уже приостановлена.
  • Немедленное выполнение длинной экструзии, обтирания сопла, звукового сигнала, светового эффекта или UPDATE_DELAYED_GCODE при возобновлении, что повышает нагрузку на планировщик низкопроизводительного хост-компьютера.
  • Датчик обрыва филамента не был временно отключен во время замены, и процесс загрузки филамента снова вызвал runout.
  • После обновления Klipper старые макросы могут делать предположения о состоянии паузы/возобновления и очереди движений, несовместимые с текущей версией.

Методы решения:

  1. Сначала просмотрите полный журнал klippy.log, чтобы определить, есть ли перед Timer too close ошибки типа Print already paused, Unknown g-code state, Filament sensor или ошибки шаблонов макросов.
  2. Найдите в макросах M600, PAUSE, RESUME, LOAD_FILAMENT, UNLOAD_FILAMENT команды SAVE_GCODE_STATE, RESTORE_GCODE_STATE и UPDATE_DELAYED_GCODE.
  3. Временно отключите обнаружение обрыва филамента во время замены и повторно включите его после стабилизации.
  4. Уменьшите длину экструзии, скорость и количество последовательных действий на этапе возобновления, чтобы избежать накопления большого количества команд движения в момент возобновления.
  5. Если ошибка возникает только на низкопроизводительных хост-компьютерах, временно отключите камеру, KlipperScreen и плагины удаленного управления и проведите повторное тестирование.

Системная диагностика: Timer too close

Соответствующая конфигурация: Введение в макросы, Эталонная конфигурация датчика обрыва филамента.

Loading...