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

Ошибки системы, производительности и сервиса

На этой странице собраны вопросы, связанные с тайм-аутами связи, ошибками таймера MCU, производительностью хост-компьютера, прошивкой и запуском службы Klipper.

Проблема тайм-аута при хоминге (возврате в ноль)

Сообщение об ошибке: Во время хоминга появляется Communication timeout during homing, Error during homing xxx. Часто встречается при хоминге оси Z с несколькими MCU.

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

  • Высокая нагрузка на хост-компьютер при одновременной работе KlipperScreen, потока с камеры и т.д.
  • Одновременное движение нескольких осей во время хоминга, приводящее к наводке тока от больших токов на линию связи CAN/USB, вызывая сбой связи.
  • Нестабильный ответ от нескольких MCU.
  • Проблемы с качеством или неправильная прокладка линий связи CAN/USB.

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

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

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

  1. Сначала исключите электромагнитные помехи: проверьте, проложены ли кабели CAN/USB отдельно от моторных и нагревательных проводов. Обратитесь к шагам поиска помех в разделе Настройка сети CAN и поиск ID.
  2. Попробуйте настроить параметр тайм-аута TRSYNC_TIMEOUT или временно отключите KlipperScreen. Подробнее см. Проблема тайм-аута при хоминге.
  3. Проверьте правильность заземления корпуса машины и экрана кабелей.

MCU 'mcu' shutdown: Stepper too far in past

Сообщение об ошибке: Событие шагового двигателя вышло за временные пределы обработки MCU, принтер переходит в состояние shutdown.

Loading...

Типичные сценарии: Эта ошибка не обязательно вызвана конфигурацией сетки кровати. Фактическую причину необходимо определять с помощью klippy.log и текущих действий. При выполнении процедуры множественных точек измерения ("многоточечного ощупывания"), если probe_count в [bed_mesh] установлен слишком большим и одновременно настроено высокое значение mesh_pps, может генерироваться слишком плотная сетка данных, увеличивая нагрузку на вычисления хост-компьютера и планирование движения.

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

  1. Если ошибка появляется во время многоточечного ощупывания, сначала уменьшите probe_count в [bed_mesh], например, до 7,7 или 9,9.
  2. Если настроено высокое значение mesh_pps, уменьшите или удалите эту настройку, например, установите mesh_pps: 2,2.
  3. Сохраните конфигурацию, перезапустите Klipper и повторите действие, которое вызывало ошибку.
  4. Если ошибка все еще появляется, проверьте нагрузку на хост-компьютер, скорость печати, ускорение, качество связи и выполняемые в данный момент макросы или G-код.

Связанные конфигурации: Введение в макросы, Часто используемые директивы отладки.

MCU 'mcu' shutdown: Timer too close

Сообщение об ошибке: Таймер MCU слишком близок, что приводит к тайм-ауту системы.

Loading...

Причины ошибки: Высокая нагрузка на прошивку (MCU), тайм-аут ответа от хост-компьютера, слишком высокая скорость печати, слишком высокое микрошаговое разрешение, помехи синхронизации системного времени или помехи на линии связи MCU могут вызвать эту проблему.

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

  1. Уменьшите микрошаговое разрешение шаговых двигателей, чтобы снизить нагрузку на MCU по генерации импульсов.
  2. Уменьшите скорость печати и ускорение и проверьте, исчезла ли проблема.
  3. Проверьте загрузку хост-компьютера, питание и качество связи USB/CAN.
  4. При выключенном питании проверьте, не проложены ли коммуникационные кабели между MCU и хост-компьютером рядом с моторными проводами, нагревательными проводами, проводами стола или силовыми кабелями. При необходимости переложите кабели или замените их на экранированные.
  5. При проверке заземления корпуса машины проверяйте только точки заземления, предоставленные производителем, и состояние розетки. Не разбирайте блок питания и не изменяйте заземление сети самостоятельно.
  6. Если проблема возникает на этапе хоминга, обратитесь к разделу Проблема тайм-аута при хоминге.
  7. Если проблема не исчезает, рассмотрите возможность переустановки системы хост-компьютера или перепрошивки прошивки.

Связанные конфигурации: Часто используемые директивы отладки, Руководство по хомингу и калибровке направления.

Rescheduled timer in the past

Сообщение об ошибке: В логах появляется Rescheduled timer in the past или аналогичное предупреждение.

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

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

  1. Если включена синхронизация NTP, временно отключите ее для проверки.
  2. Снизьте нагрузку от других служб, работающих на хост-компьютере, например, закройте ненужные веб-интерфейсы, потоки с камер и т.д.
  3. Если работаете в виртуальной машине, рассмотрите возможность перехода на физическую машину или использования более стабильного источника синхронизации времени.
  4. Проверьте загрузку CPU хост-компьютера: с помощью htop посмотрите, нет ли аномального потребления CPU процессом klippy.

Связанные конфигурации: Часто используемые директивы отладки.

Internal error on command

Сообщение об ошибке: Internal error on command:"XXX", Klipper переходит в состояние shutdown.

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

  • Макрос или команда G-кода вызывают внутреннее исключение Python в Klipper.
  • В конфигурационном файле есть некорректная ссылка на макрос или синтаксическая ошибка в шаблоне Jinja2.
  • Несовместимость версии Klipper с форматом конфигурационного файла.
  • Имя G-кода файла содержит специальные символы, вызывающие ошибку кодировки.

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

  1. Просмотрите полную трассировку Python (Traceback) в klippy.log, расположенную под сообщением Internal error.
  2. По трассировке определите, какой конфигурационный файл или макрос вызвал проблему.
  3. Типичные причины включают синтаксические ошибки Jinja2 в [gcode_macro], отсутствие конфигурации [respond], неверный путь в [virtual_sdcard].
  4. Если ошибка связана с SDCARD_PRINT_FILE и содержит ascii codec can't decode, переименуйте G-код файл, используя только латинские буквы, цифры, символы подчеркивания или дефиса.

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

Unable to open file

Сообщение об ошибке: При печати файла появляется сообщение Unable to open file.

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

  • G-код файл не существует, его имя было изменено, или загрузка не была завершена.
  • Путь [virtual_sdcard] path указывает на неверную директорию.
  • Неправильные права доступа к файлу, пользователь Klipper не может его прочитать.
  • Имя файла содержит специальные символы, вызывающие проблемы в некоторых веб-интерфейсах или системной обработке путей.

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

  1. Перезагрузите G-код файл через веб-интерфейс и убедитесь, что имя файла совпадает с именем, указанным в команде печати.
  2. Проверьте, указывает ли [virtual_sdcard] path на фактическую директорию хранения G-кодов.
  3. Проверьте права доступа к директории: ls -la ~/printer_data/gcodes/.
  4. Переименуйте файл, используя только латинские буквы, цифры, символы подчеркивания или дефиса, и повторите попытку.

Связанные конфигурации: Инструкция по изменению конфигурации.

MCU CRC does not match config / Can not update MCU config

Сообщение об ошибке: MCU 'xxx' CRC does not match config, Can not update MCU 'xxx' config as it is shutdown, Unable to configure MCU 'xxx'.

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

  1. Выполните FIRMWARE_RESTART, при необходимости полностью обесточьте устройство на 10 секунд, затем снова подайте питание.
  2. Просмотрите в klippy.log самую первую ошибку, появившуюся ранее, и сначала устраните первопричину, приведшую к shutdown.
  3. Для машин с несколькими MCU проверьте USB ID или CAN UUID для каждого [mcu], [mcu xxx].
  4. Если вы недавно обновляли Klipper, перекомпилируйте и перепрошейте прошивки всех MCU.

Shutdown due to M112 command / webhooks request

Сообщение об ошибке: Shutdown due to M112 command или Shutdown due to webhooks request.

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

  1. Проверьте, не была ли аварийная остановка вызвана человеком; если да, то после устранения риска выполните FIRMWARE_RESTART.
  2. Поищите в пользовательских макросах M112, action_emergency_stop, emergency_stop.
  3. Проверьте, не вызывает ли случайно аварийную остановку интерфейс веб-интерфейса, плагины удаленного управления или скрипты автоматизации.

Задержки печати из-за недостаточной производительности хост-компьютера

Сообщение об ошибке: Явных ошибок нет, но во время печати появляются периодические паузы, прерывистая экструзия.

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

  1. Уменьшите скорость печати и ускорение.
  2. Отключите необязательные веб-службы, потоки с камер и т.д. на хост-компьютере.
  3. Уменьшите probe_count и mesh_pps в [bed_mesh].
  4. Если производительности хост-компьютера действительно не хватает, рассмотрите возможность замены на более мощный.

Постоянный перезапуск Klipper (мигание "Klippy not connected")

Сообщение об ошибке: В Mainsail/Fluidd постоянно появляется сообщение Klippy not connected, Klipper постоянно автоматически перезапускается и завершает работу в течение нескольких секунд. В логах может быть Klipper restarting too fast или каждый klippy.log очень короткий.

Методы диагностики:

  1. Сначала просмотрите конец файла лога, чтобы определить причину последнего завершения:

    tail -100 ~/printer_data/logs/klippy.log
  2. Если в конце лога есть трассировка Python (Python Traceback), это указывает на сбой из-за ошибки парсинга конфигурации или внутреннего исключения.

  3. Не делайте вывод о первопричине только по сообщению Klipper restarting too fast; часто это просто результат многократных неудачных попыток запуска systemd. Сначала обработайте первую реальную ошибку в klippy.log.

  4. Если в конце лога указано MCU Protocol error, Unknown command и т.п., это означает несоответствие версий прошивки; необходимо перекомпилировать и перепрошить прошивки MCU.

  5. Если лог очень короткий и без явных ошибок, попробуйте локализовать проблему с помощью минимальной конфигурации (бинарного поиска).

  6. Проверьте отсутствие циклических ссылок в include-файлах конфигурации.

Loading...