Есть ли G-код для ожидания?

У моего принтера есть функция автоматического выравнивания, которая работает, касаясь пластины сборки кончиком сопла.

Я начал использовать поверхность BuildTak, и BuildTak повреждается, когда ее косается hotend.

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

Но ABS не прилипает к поверхности сборки, если предварительно не разогреьб хотенд и не подождать около минуты.

Теперь я ищу команду G-code, чтобы поместить ее в конец начального G-кода, который заставит принтер подождать минуту перед печатью

Последовательность, которую я ищу, такова:

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

Любой способ вставить задержку в G-код?

Я использую Cura для нарезки/печати, мой принтер - Robo3D R1+

, 👍36

Обсуждение

G4 P60000 как описано здесь:http://reprap.org/wiki/Gcode#G4:_Dwell, @Lars Pötter

Привет, @Nir! Итак, вы хотите установить температуру hotend и подождать, пока она не нагреется перед печатью (в конце start.gcode)? Я вообще сомневаюсь, что вам действительно нужно явно устанавливать задержку - это в основном хак, чтобы преодолеть (а не исправить) проблему!, @Tormod Haugene

@LarsPötter Это должен быть ответ, а не комментарий!, @Tom van der Zanden

@LarsPötter спасибо, если вы оставите свой комментарий в качестве ответа, я его приму, @Nir

@TormodHaugene - Я написал всю предысторию о том, почему я ищу это, если у вас есть лучшее решение, я готов попробовать его, @Nir

@Nir, я думаю, что ответил на этот предыдущий вопрос. Сейчас уже поздно, но я могу взглянуть на него завтра, если хотите! :-), @Tormod Haugene

@Nir, не могли бы вы опубликовать код в start.gcode, который вы сейчас используете? Я считаю, что M109 S{print_temperature} - это та команда, которую вы ищете, как было опубликовано в предыдущем вопросе. Сработало ли это? http://3d-printery.ru/topics/454/how-to-configure-cura-to-run-the-z-probe-before-heating/469#469, @Tormod Haugene

@TormodHaugene - да, M 109 работает, все работает идеально для PLA, но ABS не прилипает к столу, если я предварительно нагрею хотенд (и удалю M 109), то ABS действительно прилипнет к столу-так что мое рабочее предположение (которое я должен проверить) заключается в том, что требуется немного дополнительного времени, чтобы тепло дошло от термистора до кончика сопла., @Nir

@Nir, О, понятно. В этом случае вы, вероятно, правы, что добавление задержки или "Dwell" (с G4) - это правильный путь. :-), @Tormod Haugene


4 ответа


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

30

G-код для задержки-G4.

G4 P60000 будет ждать одну минуту. Р находится в миллисекундах. Некоторые прошивки также принимают параметр S с секундами. Таким образом, при поддержке G4 S60 сделал бы то же самое.

Детали этого и всех других G-кодов задокументированы вот.


,

В моем end-G-коде я отключаю hotend и жду несколько минут, прежде чем выключить вентилятор. Я получал ошибки тайм-аута связи, и вентилятор никогда не отключался от кода (используя Monoprice Select Mini с Octoprint). Если это произойдет для вас перед печатью, она вообще не будет печататься. Я решил эту проблему, просто разбив ее на ряд более коротких задержек., @mbmcavoy

Например, для cncjs команда G4 P0.5 на полсекунды, т. е. Это float, а не int., @Gavin Simpson

таким образом, P на самом деле ведет себя как параметр S (секунды вместо миллисекунд). Можете ли вы также поместить эту информацию сюда: https://reprap.org/wiki/G-code#G4:_Dwell, @Lars Pötter

Прошивка 3D-принтера обычно использует P<миллисекунды>, тогда как прошивка ЧПУ (например, LinuxCNC, GRBL и т. д.) использует P<секунды> с плавающей запятой. Чтобы убедиться в этом, вам придется протестировать его на своей конкретной прошивке., @CR.


14

Альтернативным решением использования жесткой задержки с командой G4 dwellявляется увеличение времени удержания температуры, установленной с помощью M109, прежде чем она будет продолжена следующей командой.

В Marlin этот параметр называется TEMP_RESIDENCY_TIMEи может быть найден в строке 150 в файле Configuration.h. По умолчанию это значение равно 5 секундам, что выглядит следующим образом:

// Фактическая температура должна быть близка к целевой задолго до того, как M109 вернет успех
#define TEMP_RESIDENCY_TIME 5  // (seconds)

Если увеличение этого параметра решит вашу точную проблему, я не могу сказать, но на это стоит обратить внимание.

,

1

Я использую этот код для своих отпечатков.

 G29 ; Автонивель
    M190 S35 ; установить настольную температуру
    G1 Z4 F240 ; подъемное сопло
    M109 S195 ; дождитесь достижения температуры
    G21 ; установить единицы измерения в миллиметрах
    G90 ; использовать абсолютные координаты
    M82 ; используйте абсолютные расстояния для экструзии
    M104 S210 ; заданная температура
    G92 E0
G1 E-1.5000 F1800
G1 Z0.225 F240

На M190 с S35, сопло все еще находится на низкой позиции (1.2 мм), затем идет до 4мм, затем ждет экструдера температура экс. 195°С; при экструдера до 195°C в течение 10 секунд, затем принтеры начинают печатать буду сопла до 0,22 мм, а сопло до второй температуры 210°С. На этот раз ее позволяют прочистить форсунку и нормализовать температуру для хорошего отпечатка.

Примечание: Чтобы избежать длительного пребывания сопла в низком положении (1,2 мм), обычно я предварительно нагреваю стол при температуре 35°C. Иногда нагревание стола занимает больше времени, чем нагрев сопла. Это главная причина, по которой я предпочитаю предварительно разогревать принтер.

,

1

Спасибо, Фернандо Бальтазар, за G-код, который вы использовали для решения проблемы с охлаждением горячей части после проверки выравнивания стола. Я заменил M190 на S60, но оставил все остальное. Это сработало.

G29 ; Autonivel
M190 S35 ; set bed temperature
G1 Z4 F240 ; lift nozzle
M109 S195 ; wait for temperature to be reached
G21 ; set units to millimeters
G90 ; use absolute coordinates
M82 ; use absolute distances for extrusion
M104 S210 ; set temperature
G92 E0
G1 E-1.5000 F1800
G1 Z0.225 F240
,