Ошибки системы, производительности и сервиса
На этой странице собраны вопросы, связанные с тайм-аутами связи, ошибками таймера MCU, производительностью хост-компьютера, прошивкой и запуском службы Klipper.
Проблема тайм-аута при хоминге (возврате в ноль)
Сообщение об ошибке: Во время хоминга появляется Communication timeout during homing, Error during homing xxx. Часто встречается при хоминге оси Z с несколькими MCU.
Распространенные причины:
- Высокая нагрузка на хост-компьютер при одновременной работе KlipperScreen, потока с камеры и т.д.
- Одновременное движение нескольких осей во время хоминга, приводящее к наводке тока от больших токов на линию связи CAN/USB, вызывая сбой связи.
- Нестабильный ответ от нескольких MCU.
- Проблемы с качеством или неправильная прокладка линий связи CAN/USB.
Методы решения:
Перед тем как переложить кабели CAN/USB, проверить экранирование или заземление, полностью выключите принтер и отключите его от источника питания. Не вносите самостоятельные изменения в заземляющий провод питания, сетевые соединения или внутреннюю структуру блока питания.
- Сначала исключите электромагнитные помехи: проверьте, проложены ли кабели CAN/USB отдельно от моторных и нагревательных проводов. Обратитесь к шагам поиска помех в разделе Настройка сети CAN и поиск ID.
- Попробуйте настроить параметр тайм-аута
TRSYNC_TIMEOUTили временно отключите KlipperScreen. Подробнее см. Проблема тайм-аута при хоминге. - Проверьте правильность заземления корпуса машины и экрана кабелей.
MCU 'mcu' shutdown: Stepper too far in past
Сообщение об ошибке: Событие шагового двигателя вышло за временные пределы обработки MCU, принтер переходит в состояние shutdown.
Типичные сценарии: Эта ошибка не обязательно вызвана конфигурацией сетки кровати. Фактическую причину необходимо определять с помощью klippy.log и текущих действий. При выполнении процедуры множественных точек измерения ("многоточечного ощупывания"), если probe_count в [bed_mesh] установлен слишком большим и одновременно настроено высокое значение mesh_pps, может генерироваться слишком плотная сетка данных, увеличивая нагрузку на вычисления хост-компьютера и планирование движения.
Методы решения:
- Если ошибка появляется во время многоточечного ощупывания, сначала уменьшите
probe_countв[bed_mesh], например, до7,7или9,9. - Если настроено высокое значение
mesh_pps, уменьшите или удалите эту настройку, например, установитеmesh_pps: 2,2. - Сохраните конфигурацию, перезапустите Klipper и повторите действие, которое вызывало ошибку.
- Если ошибка все еще появляется, проверьте нагрузку на хост-компьютер, скорость печати, ускорение, качество связи и выполняемые в данный момент макросы или G-код.
Связанные конфигурации: Введение в макросы, Часто используемые директивы отладки.
MCU 'mcu' shutdown: Timer too close
Сообщение об ошибке: Таймер MCU слишком близок, что приводит к тайм-ауту системы.
Причины ошибки: Высокая нагрузка на прошивку (MCU), тайм-аут ответа от хост-компьютера, слишком высокая скорость печати, слишком высокое микрошаговое разрешение, помехи синхронизации системного времени или помехи на линии связи MCU могут вызвать эту проблему.
Методы решения:
- Уменьшите микрошаговое разрешение шаговых двигателей, чтобы снизить нагрузку на MCU по генерации импульсов.
- Уменьшите скорость печати и ускорение и проверьте, исчезла ли проблема.
- Проверьте загрузку хост-компьютера, питание и качество связи USB/CAN.
- При выключенном питании проверьте, не проложены ли коммуникационные кабели между MCU и хост-компьютером рядом с моторными проводами, нагревательными проводами, проводами стола или силовыми кабелями. При необходимости переложите кабели или замените их на экранированные.
- При проверке заземления корпуса машины проверяйте только точки заземления, предоставленные производителем, и состояние розетки. Не разбирайте блок питания и не изменяйте заземление сети самостоятельно.
- Если проблема возникает на этапе хоминга, обратитесь к разделу Проблема тайм-аута при хоминге.
- Если проблема не исчезает, рассмотрите возможность переустановки системы хост-компьютера или перепрошивки прошивки.
Связанные конфигурации: Часто используемые директивы отладки, Руководство по хомингу и калибровке направления.
Rescheduled timer in the past
Сообщение об ошибке: В логах появляется Rescheduled timer in the past или аналогичное предупреждение.
Причины ошибки: Проблемы с системными часами хост-компьютера или высокая загрузка процессора, из-за чего фактическое время выполнения запланированной задачи отстает от запланированного.
Методы решения:
- Если включена синхронизация NTP, временно отключите ее для проверки.
- Снизьте нагрузку от других служб, работающих на хост-компьютере, например, закройте ненужные веб-интерфейсы, потоки с камер и т.д.
- Если работаете в виртуальной машине, рассмотрите возможность перехода на физическую машину или использования более стабильного источника синхронизации времени.
- Проверьте загрузку CPU хост-компьютера: с помощью
htopпосмотрите, нет ли аномального потребления CPU процессомklippy.
Связанные конфигурации: Часто используемые директивы отладки.
Internal error on command
Сообщение об ошибке: Internal error on command:"XXX", Klipper переходит в состояние shutdown.
Распространенные причины:
- Макрос или команда G-кода вызывают внутреннее исключение Python в Klipper.
- В конфигурационном файле есть некорректная ссылка на макрос или синтаксическая ошибка в шаблоне Jinja2.
- Несовместимость версии Klipper с форматом конфигурационного файла.
- Имя G-кода файла содержит специальные символы, вызывающие ошибку кодировки.
Методы решения:
- Просмотрите полную трассировку Python (Traceback) в
klippy.log, расположенную под сообщением Internal error. - По трассировке определите, какой конфигурационный файл или макрос вызвал проблему.
- Типичные причины включают синтаксические ошибки Jinja2 в
[gcode_macro], отсутствие конфигурации[respond], неверный путь в[virtual_sdcard]. - Если ошибка связана с
SDCARD_PRINT_FILEи содержитascii codec can't decode, переименуйте G-код файл, используя только латинские буквы, цифры, символы подчеркивания или дефиса.
Связанные конфигурации: Введение в макросы, Инструкция по изменению конфигурации.
Unable to open file
Сообщение об ошибке: При печати файла появляется сообщение Unable to open file.
Распространенные причины:
- G-код файл не существует, его имя было изменено, или загрузка не была завершена.
- Путь
[virtual_sdcard] pathуказывает на неверную директорию. - Неправильные права доступа к файлу, пользователь Klipper не может его прочитать.
- Имя файла содержит специальные символы, вызывающие проблемы в некоторых веб-интерфейсах или системной обработке путей.
Методы решения:
- Перезагрузите G-код файл через веб-интерфейс и убедитесь, что имя файла совпадает с именем, указанным в команде печати.
- Проверьте, указывает ли
[virtual_sdcard] pathна фактическую директорию хранения G-кодов. - Проверьте права доступа к директории:
ls -la ~/printer_data/gcodes/. - Переименуйте файл, используя только латинские буквы, цифры, символы подчеркивания или дефиса, и повторите попытку.
Связанные конфигурации: Инструкция по изменению конфигурации.
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'.
Методы решения:
- Выполните
FIRMWARE_RESTART, при необходимости полностью обесточьте устройство на 10 секунд, затем снова подайте питание. - Просмотрите в
klippy.logсамую первую ошибку, появившуюся ранее, и сначала устраните первопричину, приведшую к shutdown. - Для машин с несколькими MCU проверьте USB ID или CAN UUID для каждого
[mcu],[mcu xxx]. - Если вы недавно обновляли Klipper, перекомпилируйте и перепрошейте прошивки всех MCU.
Shutdown due to M112 command / webhooks request
Сообщение об ошибке: Shutdown due to M112 command или Shutdown due to webhooks request.
Методы решения:
- Проверьте, не была ли аварийная остановка вызвана человеком; если да, то после устранения риска выполните
FIRMWARE_RESTART. - Поищите в пользовательских макросах
M112,action_emergency_stop,emergency_stop. - Проверьте, не вызывает ли случайно аварийную остановку интерфейс веб-интерфейса, плагины удаленного управления или скрипты автоматизации.
Задержки печати из-за недостаточной производительности хост-компьютера
Сообщение об ошибке: Явных ошибок нет, но во время печати появляются периодические паузы, прерывистая экструзия.
Методы решения:
- Уменьшите скорость печати и ускорение.
- Отключите необязательные веб-службы, потоки с камер и т.д. на хост-компьютере.
- Уменьшите
probe_countиmesh_ppsв[bed_mesh]. - Если производительности хост-компьютера действительно не хватает, рассмотрите возможность замены на более мощный.
Постоянный перезапуск Klipper (мигание "Klippy not connected")
Сообщение об ошибке: В Mainsail/Fluidd постоянно появляется сообщение Klippy not connected, Klipper постоянно автоматически перезапускается и завершает работу в течение нескольких секунд. В логах может быть Klipper restarting too fast или каждый klippy.log очень короткий.
Методы диагностики:
-
Сначала просмотрите конец файла лога, чтобы определить причину последнего завершения:
tail -100 ~/printer_data/logs/klippy.log -
Если в конце лога есть трассировка Python (Python Traceback), это указывает на сбой из-за ошибки парсинга конфигурации или внутреннего исключения.
-
Не делайте вывод о первопричине только по сообщению
Klipper restarting too fast; часто это просто результат многократных неудачных попыток запуска systemd. Сначала обработайте первую реальную ошибку вklippy.log. -
Если в конце лога указано
MCU Protocol error,Unknown commandи т.п., это означает несоответствие версий прошивки; необходимо перекомпилировать и перепрошить прошивки MCU. -
Если лог очень короткий и без явных ошибок, попробуйте локализовать проблему с помощью минимальной конфигурации (бинарного поиска).
-
Проверьте отсутствие циклических ссылок в include-файлах конфигурации.