Полное извлечение нити при замене нити в процессе печати

Я пытался печатать двумя цветами, избегая M600 (мой Ender 3 V1 его не распознаёт). После прочтения, попыток и вопросов на других форумах, я так и не смог этого сделать.

Всё идёт нормально до второго M25 (паузы). В этот момент, вместо того чтобы ждать, сопло перемещается в следующую позицию и начинает продувку. Сразу после этого оно начинает «печатать» эти две линии; движение по осям X, Y и Z завершается, но нить продолжает втягиваться, пока полностью не выйдет из трубки Боудена.

Вот код:

; смена нити накала
M83 ; установить ось E в относительный режим
G1 E-5 F900; втягиваемая нить 5 мм
G0 X200 Y200 Z20 ; переместить в безопасное место
M25 ; приостановить печать, сменить нить
G1 E5 F900; нить накала для продувки
M82 ; восстановить ось E в абсолютный режим
M25 ; приостановить печать для очистки
G1 X180 Y180 Z0.3 F5000.0 ; Переместить в начальную позицию
G1 X180 Y20.0 Z0.3 F1500.0 E15 ; Нарисуйте первую линию
G1 X180.4 Y20.0 Z0.3 F5000.0 ; Отойдите немного в сторону
G1 X180.4 Y180 Z0.3 F1500.0 E30 ; Нарисуйте вторую линию
G92 E0 ; Сброс экструдера
; конец смены нити

Я понятия не имею, почему принтер так себя ведёт. Буду очень благодарен за любую подсказку!

Дополнительная информация:

После нескольких попыток я пришёл к этому коду, который привёл к результатам, показанным на картинках. Почему так происходит?

; filament change
;M83 ; set E axis to relative mode
G1 E-400 F900 ; retract filament out of Bowden tube
G0 X200 Y200 Z20 ; move to safe place
M25 ; pause print, change filament
;M82 ; restore E axis to absolute mode
G1 E3 F900 ; purge filament
M25 ; pause print to clear purge
;M109 R200 ; continue when nozzle temp is 200
G1 X180 Y180 Z0.3 F5000.0 ; Move to start position
G1 X180 Y20.0 Z0.3 F1500.0 E15 ; Draw the first line
G1 X180.4 Y20.0 Z0.3 F5000.0 ; Move to side a little
G1 X180.4 Y180 Z0.3 F1500.0 E30 ; Draw the second line
;G92 E0 ; Reset Extruder
; filament change end

; next auto Generated line
G0 X99.098 Y117.198 Z2.6 ; valor original Z = 2.1
;M204 S500
M204 P500 T500

M205 X20 Y20
;TYPE:WALL-OUTER
; rest of the code

Результаты:

P.S. Пытаюсь напечатать текст. Извините, не догадался сказать об этом раньше.

, 👍2


1 ответ


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

3

Ваш принтер работает именно так, как вы его запрограммировали.

; смена нити накала
M83 ; установить ось E в относительный режим

Переключает принтер в относительный режим, подразумевая, что вы указываете движения только относительно последней позиции.

G1 E-5 F900; втягиваемая нить 5 мм

Хорошо, нить втягивается всего на 5 мм, это значит, что вам нужно самостоятельно «выдернуть» нить, чтобы сменить цвет на другой в точке M25

Находясь в относительном режиме,

G0 X200 Y200 Z20

Не имеет смысла, это похоже на абсолютное перемещение! Понятно, о чём здесь идёт речь: головку нужно припарковать в безопасном месте. Лучше было бы переместить X и Y в абсолютные значения и переместить Z относительно (например, увеличить на 5 мм), но предполагается, что этот код не может быть выполнен, так как это может привести к перемещению за пределы стола (если только сопло не находилось близко к началу координат), поэтому это неверное утверждение.

M25 ; приостановить печать, сменить нить

Пока принтер находится в неопределённом положении (возможно, он не сдвинулся, так как может находиться за пределами области печати), вы теперь можете вручную заменить нить. На изображениях видно, что она действительно не сдвинулась, сопло осталось в последнем положении печати.

Итак, с новым цветом, подаваемым вручную, давайте подготовим хотэнд; вы пытаетесь выдавить каплю размером 5 мм (поверх вашей печати):

G1 E5 F900 ; purge filament

Теперь начинается самая сложная часть: вы возвращаетесь к абсолютному движению, чтобы все движение осуществлялось в абсолютных координатах:

M82 ; восстановить ось E в абсолютный режим

Клякса висит на хотэнде, поэтому инициируется вторая пауза:

M25 ; приостановить печать для очистки

Мы видим перемещение в исходное положение для начала линии очистки:

G1 X180 Y180 Z0.3 F5000.0 ; Переместить в начальную позицию

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

G1 X180 Y20.0 Z0.3 F1500.0 E15 ; Нарисуйте первую линию

устанавливает ваш экструдер (значение E) на 15 мм!

Если значение E было большим до начала замены нити, это фактически означает, что экструдер втягивается до тех пор, пока значение не достигнет 15 мм.

Вот почему экструдер втягивается. Следовательно, G-код замены нити работает неправильно.

Важно следить за тем, когда использовать относительное или абсолютное позиционирование. В первом коде это перепутано, второй тоже не лучше.


,