Сдвиги слоев по оси Y с недавним появлением Марлина на Эндере 3
С момента обновления firmare от производителя до недавнего Marlin (сначала 1.1.9, затем 2.0.x git HEAD) у меня наблюдалось значительное смещение слоя по оси Y, зависящее от модели (этого не произошло для первых нескольких вещей, которые я пытался напечатать; другие отпечатки надежно воспроизводят это). Он всегда находится в положительном направлении Y, обычно на 1-3 мм за раз.
Сначала я заподозрил механические проблемы (см.: Ender 3 развил склонность пропускать шаги Y), но возврат прошивки подтвердил, что это проблема с прошивкой.
Ряд записей об отслеживании ошибок для Marlin указывает на наличие значительных текущих проблем со сдвигом слоев:
- https://github.com/MarlinFirmware/Marlin/issues/9768
- https://github.com/MarlinFirmware/Marlin/issues/10446
- https://github.com/MarlinFirmware/Marlin/issues/12403
Но большинство в конечном итоге закрывается. Некоторые люди говорят, что возврат к 1.1.9 с 2.0.x помог; другие говорят, что 1.1.9-это EOL и использовать 2.0.x. Есть ли решение? Как мне получить рабочую версию Marlin (достаточно новую, чтобы иметь линейный прогресс 1.5, который был моей мотивацией для обновления) на Ender 3?
@R.. GitHub STOP HELPING ICE, 👍3
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
- Настройка Marlin 2.x с помощью Ender 3 4.2.2 и BLTouch
- Проблема с перемещением Creality Ender 3 Pro - Z с прошивкой TH3D
- Marlin 1.1.x на Ender 3 изменение скорости PREHEAT_1_FAN_SPEED не влияет?
- Ender 3 CR Touch UBL не может создать сетку
- Не удается настроить шаг E по умолчанию для экструдера на TH3D
- Marlin 2.1 перезагружается перед печатью модели, когда включено восстановление питания
- Идентификация этой платы ATmega1284P
- Показать дату и время сборки в прошивке Marlin 2.1?
Больше никаких сдвигов слоев с момента перестройки с отклонением соединения, поэтому я принимаю этот самоответ., @R.. GitHub STOP HELPING ICE
Впоследствии у меня было больше сдвигов слоев, и я так и не определил основную причину, но с тех пор, как я обновил плату контроллера до SKR mini E3, у меня не было ни одного., @R.. GitHub STOP HELPING ICE