Принтер случайным образом перемещается в режим "Домой" во время печати, а затем возобновляет работу в обычном режиме

Во время печати мой принтер иногда совершает какие-то загадочные движения: он очень медленно перемещает ось X или Y влево/вперед, а затем очень медленно возвращается в исходное положение и возобновляет печать в обычном режиме. Я проверил свои файлы G-кода, и эти ходы определенно не являются частью G-кода. Что может быть причиной этого?

Я печатаю с SD-карты на декартовом принтере.

, 👍6

Обсуждение

Какая прошивка(Марлин,..)? Какой принтер(декартов, дельта,..)? Расширения(вне датчика накаливания,..) ? Источник G-кодов (Печать с SD-карты или с последовательного интерфейса)? Похоже, принтер приостанавливает печать. Причинами могут быть отсутствие G-кодов (медленное последовательное соединение) или какой-либо другой сигнал(срабатывание датчика отсутствия нити)., @Lars Pötter

Вопрос помечен марлином. Я отредактировал вопрос, чтобы включить, откуда я печатаю. У меня нет датчика накала., @Tom van der Zanden

Просто у меня была такая же проблема. Я мог бы нормально печатать с компьютера, но загрузить тот же файл на диск и получить случайное перемещение в 0 точек на x и y совершенно случайным образом., @Tad McDole


2 ответа


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

6

Проблема была связана с поврежденной SD-картой, с которой иногда считывался какой-то мусор. Оказывается, Марлин попытается интерпретировать поврежденную команду перемещения, такую как G0 X1q3.54, и все равно прочитает столько чисел, сколько сможет. В этом примере он будет интерпретироваться как G0 X1, а не (как могло бы быть задумано) G0 X103.54.

Это прекрасно объясняет мои симптомы:

  • X и Y всегда перемещались (приблизительно) на свои исходные позиции, но это всегда был только один из них (маловероятно, что оба хода повреждены).

  • Z не был затронут, потому что Z-ходы гораздо реже встречаются в G-коде (только при изменении слоя), и поэтому было очень маловероятно, что на Z-ход повлияет.

  • E не был затронут, так как запрос на перемещение E почти до 0 был бы предотвращен длительным предотвращением экструзии Марлина.


,

Евргх! Мне не нравится, что Марлин так делает. Однако интересная находка. Хотелось бы знать, как вы это выяснили., @PostEpoch

Что такое коррупция в G0 X1y3.54?, @Wirewrap

@Wirewrap Мое намерение состояло в том, чтобы "неисправленный" G-код был бы чем-то вроде "G0 X103.54", и я заменил 0 случайным символом. К сожалению, я выбрал действительно запутанного случайного символа. Спасибо, что указали на это., @Tom van der Zanden


1

Будь то поврежденная SD-карта, на которой хранятся устаревшие биты, приводящие к абсурдным командам, также возможно, что ее части в создании файла скомпрометированы:

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

Более случайное распределение плохих команд возникнет, если сам процесс записи неисправен, например, если порт SD неисправен или адаптер имеет ошибку. Еще один способ, при котором запись может завершиться ошибкой, - это повреждение драйверов адаптера/порта SD-карты.

Обнаружить плохой файл или поврежденную карту можно, повторно импортировав G-код в срез (например, CURA позволяет это) и взглянув на пути к инструменту. Если какой-либо порт делает это с какой-либо картой, виновато программное обеспечение: посмотрите, сохраняется ли оно после обновления драйвера (редко!) и переустановки слайсера. Если он выходит из строя в одном порту, но работает в другом, порт или адаптер могут быть неисправны и, возможно, потребуется замена. Если это характерно для одной карты, то эта карта повреждена и должна быть выброшена. Если это характерно для одного файла, перезапишите его новым - иногда запись не удается по причинам, которые почти невозможно понять.

Если файл и карта в порядке, но неправильно считаны на принтере, то виноват считыватель карт в принтере или плата.

,