Сдвиги слоев по оси Y с недавним появлением Марлина на Эндере 3

С момента обновления firmare от производителя до недавнего Marlin (сначала 1.1.9, затем 2.0.x git HEAD) у меня наблюдалось значительное смещение слоя по оси Y, зависящее от модели (этого не произошло для первых нескольких вещей, которые я пытался напечатать; другие отпечатки надежно воспроизводят это). Он всегда находится в положительном направлении Y, обычно на 1-3 мм за раз.

aborted prints showing layer shifts

Сначала я заподозрил механические проблемы (см.: Ender 3 развил склонность пропускать шаги Y), но возврат прошивки подтвердил, что это проблема с прошивкой.

Ряд записей об отслеживании ошибок для Marlin указывает на наличие значительных текущих проблем со сдвигом слоев:

Но большинство в конечном итоге закрывается. Некоторые люди говорят, что возврат к 1.1.9 с 2.0.x помог; другие говорят, что 1.1.9-это EOL и использовать 2.0.x. Есть ли решение? Как мне получить рабочую версию Marlin (достаточно новую, чтобы иметь линейный прогресс 1.5, который был моей мотивацией для обновления) на Ender 3?

, 👍3


1 ответ


Лучший ответ:

1

Погрузившись в запись отслеживания ошибок по, казалось бы, не связанной с этим проблеме, я нашел то, что кажется решением:

@johanmga, я обнаружил, что скачки скорости здесь происходят из-за использования вычислений "классического рывка" и происходят независимо от того, включено или нет ускорение s-образной кривой.

Попробуйте раскомментировать //#define JUNCTION_DEVIATION в Configuration_adv.h; это отключит классический рывок и вместо этого будет использовать математику отклонения перехода.

Также для справки, выпуск № 12403 активно отслеживает проблему сдвига слоев (пожалуйста, прокомментируйте там также, если у вас есть дополнительная информация о проблемах/решениях), а в выпуске № 12540 есть дополнительная информация о классическом рывке и отклонении перехода.

https://github.com/MarlinFirmware/Marlin/issues/12491#issuecomment-443464603

Похоже, что код "классического рывка" больше не работает и при некоторых условиях приводит к ошибочному перемещению в степперы (в зависимости от содержимого G-кода), в то время как файл конфигурации по умолчанию Ender 3 все еще использует его.

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

Я опубликовал свои результаты в трекере в надежде, что они приведут к обнаружению основной причины: https://github.com/MarlinFirmware/Marlin/issues/12403#issuecomment-519305409

Еще одна проблема на трекере, похоже, содержит более подробную информацию:

https://github.com/MarlinFirmware/Marlin/issues/12540#issuecomment-442793326


,

Больше никаких сдвигов слоев с момента перестройки с отклонением соединения, поэтому я принимаю этот самоответ., @R.. GitHub STOP HELPING ICE

Впоследствии у меня было больше сдвигов слоев, и я так и не определил основную причину, но с тех пор, как я обновил плату контроллера до SKR mini E3, у меня не было ни одного., @R.. GitHub STOP HELPING ICE