Прошивка Marlin: выгрузка нити с помощью G-кода
Я модернизировал свой ER-20 с помощью двойного шестеренчатого фидера Bondtech. Загрузить/выгрузить нить вручную с помощью этого питателя невозможно или едва ли возможно, поэтому для этого требуется некоторый файл .gcode. Я хотел реализовать что-то похожее на метод атомной очистки для разгрузки: https://ultimakernasupport.zendesk.com/hc/en-us/articles/115004187066-Atomic-Cleaning-Method
Вот мой текущий .gcode:
G21 ; Метрические значения
G90 ; Абсолютное позиционирование
M82 ; Абсолютный режим экструдера
G28 ; Автоматический дом
M420 S1
G1 X100 Y100 Z100 F1000
; M92 E415 ; 415 шагов/мм
M302 S105 ; Разрешить экструзию выше 105C
M109 S218 ; Нагрев hotend до 218C
М400
G92 E0 ; Сброс положения экструдера
M104 S160 ; Начните охлаждение
M117 Выдавливание первичного сгустка
G1 E10 F100 ; Выдавливайте короткое время перед разгрузкой, чтобы избежать образования капель
M109 S160 ; Дождитесь 160C
M104 S110
G92 E0
G1 E0.2 F100 ; Надавить на хотенд
M117 Наддув hotend
M109 S110 ; Нагревайте hotend до 110C
G92 E0 ; Сброс положения экструдера
M117 медленно выдвигается
G1 E-3 F200 ; Немного отступите назад, медленно
М117 Быстро вытаскивай
G1 E-430 F2000 ; Вытяните назад 43 см с 2000 мм/мин
G92 E0 ; Сброс положения экструдера
M400 ; Дождитесь окончания команды
M117 Немедленно снимите филамент
; M400 ; Дождитесь окончания команды
M302 S170 ; Разрешить экструзию выше 170C
M104 S0
Это не работает:
- автоматическое выравнивание стола всегда выполняется, я не знаю, как его отключить
- когда я вижу, что происходит событие "Extrude a short before unload to avoid blob forming", я также вижу сообщение "Pull out fast" на дисплее и процесс "print" заканчивается
Кто-нибудь может взглянуть на этот код, пожалуйста? Или где-то есть валидатор .gcode для Marlin?
Что я намерен делать с этим кодом:
- нагрейте хотенд до 218 °C
- выдавливайте какой-то материал, пока уже началось охлаждение до 160 °C
- когда температура достигнет 160 °C, начните процесс охлаждения до 110 °C и подтолкните немного материала к питателю (под давлением).
- когда температура достигнет 110 °C, медленно вытащите какой-нибудь материал из хотенда (возможно, питатель не будет достаточно прочным, чтобы сделать это, но я никогда не достигал этой точки, чтобы проверить).
- затем быстро вытащите нить из Боудена и подающего устройства
@Endre, 👍2
1 ответ
Лучший ответ:
Есть три вещи, которые нужно исправить, и одно предложение:
Измените следующие строки
M109, используя параметрRвместоS, потому что последний не ждет остывания:M109 R160 ; Дождитесь 160С ... M109 R110 ; Нагревайте hotend до 110CПоведение
М420будет зависеть от типа выравнивания стола, сохраненной сетки и т. Д. Это вне темы для устранения неполадок. Принтер работает на высоте 10 см над поверхностью.G28отключает выравнивание стола. Почему вам нужно повторно включить его? Просто удалите эту строку:; M420 S1 - удалить (или закомментировать)Переопределите максимальную длину экструзии в конфигурации.h, чтобы разрешить сценарий длинного вытягивания (
G1 E-430), например:#define EXTRUDE_MAXLENGTH 450Предложение: Используйте относительный режим для экструзии (
M83) вместо абсолютного позиционирования (M82). Это значительно упростит ваш код. Вы просто хотите выразить расстояние впараметре E. Тогда вам не придется время от времени сбрасывать позицию сG92 E0(сделайте это только один раз на старте). (Я использую этот режим экструзии также для нарезки, потому что он облегчает повторный запуск печати в случае сбоя).
- В чем разница между M420 S и M420 S1?
- Как изменить E0 на E1 на Marlin 1.1?
- M502 сбросит все настраиваемые настройки к их "заводским настройкам по умолчанию", какие это настройки?
- Как установить размер буфера G-кода на Marlin?
- Что такое команда M73 Q17 S43 G-code?
- Двигатель экструдера не вращается
- Решение Cura заменить углы->дуги для увеличения угловой скорости?
- Как установить смещение Z?
Примечание: 160 может быть ниже температуры, которая позволяет перемещать extruder.. К счастью, операция включила " M302 S105` перед восстановлением., @Trish
Да, сценарий выглядит довольно зрелым и последовательным. Кстати. Я добавил "#определить USER_DESC_7" Разрешить холодное выдавливание "" #определить USER_GCODE_7 "M302 P1"` в свои пользовательские команды в *Configuration_adv.h* и с тех пор использовал его довольно часто., @octopus8
Спасибо @octopus8. Я использую заводскую прошивку для своего EryOne ER-20. Как я вижу, разработка Marlin FW ориентирована на Windows. Инструмент прошивки даже не работал для меня в Linux, мне пришлось позаимствовать машину с Windows, чтобы прошить принтер с новым заводским выпуском FW., @Endre
Возможно, я попытаюсь настроить какое-то последовательное ведение журнала отладки (если это возможно), и я надеюсь, что получу некоторые значимые сообщения об ошибках (например, M302 не поддерживается этой конфигурацией)., @Endre
Но чтобы изменить строки в G-коде - как описано в ответе - и, возможно, заставить ваш сценарий работать, вам не нужно повторно прошивать Marlin. Или вы делаете это по какой-то причине, которую я не понимаю? Но для настройки пользовательского меню-да, действительно., @octopus8
Спасибо за совет "использовать параметр R вместо S". Теперь я вижу последовательность охлаждения. Но никакого выдавливания (вытягивания) не происходит. Может быть, это просто не включено в FW. Еще одна досадная вещь, что выравнивание стола всегда происходит. Есть ли какой-нибудь способ отключить это? Насколько я помню, когда я работал над запуском g-кода для слайсера Cura, мне нужно было выяснить, как перейти на уровень стола из кода. Теперь я должен выяснить, как не спать на уровне стола :), @Endre
M302 S105, за которым следует "G1 E-1", работает для меня при температуре 145 °C, я только что проверил это с помощью шпатлевки. *(Может быть, вы хотели бы попробовать выполнить свой скрипт построчно, вручную с терминала? Марлин дает ценную текстовую обратную связь, более подробную информацию об отладке с помощью "M111 S247".)* Что касается автоматического выравнивания стола, у меня нет ответа под рукой, я был слишком ленив, чтобы проверить все эти настройки на практике... но: может быть, вы никогда не сохраняли сетку в EEPROM после выполнения выравнивания, и поэтому он хочет повторить этот процесс?, @octopus8Привет, кажется, я понял. Я проверил источник заводского FW и увидел, что максимальная длина экструзии установлена на 200. Поэтому я разделил свою длинную экструзию из одного куска на 3 меньших, и теперь откат работает., @Endre