Настройка корректной работы двух независимых экструдеров (аналогично IDEX).
Приветствую! Прошу совета у знатоков в настройке прошивки и корректной работы двух независимых экструдеров (аналогично IDEX).
Переделал кинематику принтера по оси X под 2 независимых директ-экструдера (аналогично тому, что реализовано у BCN3D, LeapFrog Bolt, Cyber Dragon). Соответственно, левая каретка (T0) паркуется в крайнем положении слева (Xmin), правая (T1) - в крайнем положении справа (X2max). По отдельности каждая головка работает нормально, печать идет в штатном одноэкструдерном режиме. Но пока никак не получается настроить совместную работу двух экструдеров (собственно, ради чего вся переделка оси X и затевалась).
Режим автопарковки M605 S1 в используемой версии прошивки Marlin 1.1-RC7 у меня не работает, поэтому в прошивке задан режим M605 S0 (dual x-carriage slicer full control mode) для управления через слайсер. В итоге следующая ситуация: в режиме двухэкструдерной печати (T0 - модель, T1 - рафт, поддержка) левая головка выезжает из ноля и начинает нормально печатать слой модели, затем к ней подъезжает правая для печати слоя поддержек, но левая при этом в свой ноль обратно не паркуется, и они начинают мешать др.др., соударяются. Использую слайсер Simplify3d.
Мне нужно добиться следующего условия: в момент печати по оси X левой головкой правая должна быть в своем нуле и наоборот. Прошу совета с устранением ошибки.
Исходные данные следующие:
в configuration:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1
// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 420
#define Y_MAX_POS 405
#define Z_MAX_POS 505
(на X_MIN_POS установлен оптический датчик, X_MAX_POS - программный, соответственно, 420 мм - максимальное расстояние, на которое может двигаться левая каретка (T0), до безопасной близости с правой (T1)).
в configuration_adv:
#define DUAL_X_CARRIAGE
#if ENABLED(DUAL_X_CARRIAGE)
// Configuration for second X-carriage
// Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
// the second x-carriage always homes to the maximum endstop.
#define X2_MIN_POS 5 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
#define X2_MAX_POS 420 // set maximum to the distance between toolheads when both heads are homed
#define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position
#define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position
// However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software
// override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops
// without modifying the firmware (through the 'M218 T1 X???' command).
// There are a few selectable movement modes for dual x-carriages using M605 S
// Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
#define DEFAULT_DUAL_X_CARRIAGE_MODE 0
(на X2_MAX_POS установлен оптический датчик, X2_MIN_POS - программный, соответственно, 5 мм - минимальное расстояние, на которое может двигаться правая каретка (T1), до безопасной близости с левой (T0)).
Начальный gcode в Simplify3d (Starting Script):
G21 ; set units to millimetres
G90 ; set to absolute positioning
M107 ; start with the fan off
G28 X0 Y0 ; move to the X/Y origin (home)
G28 Z0 ; move to the Z origin (home)
G1 Z15.0 F600 ; move Z to safety position 15.0 mm
T1 ; switch to the 2nd (right) extruder
G92 E0 ; zero the extruded length
G1 E20 F100 ; extrude 20mm of feed stock
G92 E0 ; zero the extruded length again
T0 ; switch to the 1st (left) extruder
G92 E0 ; zero the extruded length
G1 E20 F100 ; extrude 20mm of feed stock
G92 E0 ; zero the extruded length again
Переключение экструдеров (Tool Change Script):
{IF NEWTOOL=0}T0; start tool switch 0
{IF NEWTOOL=0}G1 X0 F800; travel X to home
{IF NEWTOOL=1}T1; start tool switch 1
{IF NEWTOOL=1}G1 X0 F800; travel X to home
Мне кажется, ошибка в скрипте переключения, но как он должен выглядеть в корректном виде?
Переделал кинематику принтера по оси X под 2 независимых директ-экструдера (аналогично тому, что реализовано у BCN3D, LeapFrog Bolt, Cyber Dragon). Соответственно, левая каретка (T0) паркуется в крайнем положении слева (Xmin), правая (T1) - в крайнем положении справа (X2max). По отдельности каждая головка работает нормально, печать идет в штатном одноэкструдерном режиме. Но пока никак не получается настроить совместную работу двух экструдеров (собственно, ради чего вся переделка оси X и затевалась).
Режим автопарковки M605 S1 в используемой версии прошивки Marlin 1.1-RC7 у меня не работает, поэтому в прошивке задан режим M605 S0 (dual x-carriage slicer full control mode) для управления через слайсер. В итоге следующая ситуация: в режиме двухэкструдерной печати (T0 - модель, T1 - рафт, поддержка) левая головка выезжает из ноля и начинает нормально печатать слой модели, затем к ней подъезжает правая для печати слоя поддержек, но левая при этом в свой ноль обратно не паркуется, и они начинают мешать др.др., соударяются. Использую слайсер Simplify3d.
Мне нужно добиться следующего условия: в момент печати по оси X левой головкой правая должна быть в своем нуле и наоборот. Прошу совета с устранением ошибки.
Исходные данные следующие:
в configuration:
// Sets direction of endstops when homing; 1=MAX, -1=MIN
// :[-1,1]
#define X_HOME_DIR -1
#define Y_HOME_DIR 1
#define Z_HOME_DIR -1
// Travel limits after homing (units are in mm)
#define X_MIN_POS 0
#define Y_MIN_POS 0
#define Z_MIN_POS 0
#define X_MAX_POS 420
#define Y_MAX_POS 405
#define Z_MAX_POS 505
(на X_MIN_POS установлен оптический датчик, X_MAX_POS - программный, соответственно, 420 мм - максимальное расстояние, на которое может двигаться левая каретка (T0), до безопасной близости с правой (T1)).
в configuration_adv:
#define DUAL_X_CARRIAGE
#if ENABLED(DUAL_X_CARRIAGE)
// Configuration for second X-carriage
// Note: the first x-carriage is defined as the x-carriage which homes to the minimum endstop;
// the second x-carriage always homes to the maximum endstop.
#define X2_MIN_POS 5 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
#define X2_MAX_POS 420 // set maximum to the distance between toolheads when both heads are homed
#define X2_HOME_DIR 1 // the second X-carriage always homes to the maximum endstop position
#define X2_HOME_POS X2_MAX_POS // default home position is the maximum carriage position
// However: In this mode the HOTEND_OFFSET_X value for the second extruder provides a software
// override for X2_HOME_POS. This also allow recalibration of the distance between the two endstops
// without modifying the firmware (through the 'M218 T1 X???' command).
// There are a few selectable movement modes for dual x-carriages using M605 S
// Mode 0: Full control. The slicer has full control over both x-carriages and can achieve optimal travel results
#define DEFAULT_DUAL_X_CARRIAGE_MODE 0
(на X2_MAX_POS установлен оптический датчик, X2_MIN_POS - программный, соответственно, 5 мм - минимальное расстояние, на которое может двигаться правая каретка (T1), до безопасной близости с левой (T0)).
Начальный gcode в Simplify3d (Starting Script):
G21 ; set units to millimetres
G90 ; set to absolute positioning
M107 ; start with the fan off
G28 X0 Y0 ; move to the X/Y origin (home)
G28 Z0 ; move to the Z origin (home)
G1 Z15.0 F600 ; move Z to safety position 15.0 mm
T1 ; switch to the 2nd (right) extruder
G92 E0 ; zero the extruded length
G1 E20 F100 ; extrude 20mm of feed stock
G92 E0 ; zero the extruded length again
T0 ; switch to the 1st (left) extruder
G92 E0 ; zero the extruded length
G1 E20 F100 ; extrude 20mm of feed stock
G92 E0 ; zero the extruded length again
Переключение экструдеров (Tool Change Script):
{IF NEWTOOL=0}T0; start tool switch 0
{IF NEWTOOL=0}G1 X0 F800; travel X to home
{IF NEWTOOL=1}T1; start tool switch 1
{IF NEWTOOL=1}G1 X0 F800; travel X to home
Мне кажется, ошибка в скрипте переключения, но как он должен выглядеть в корректном виде?
Популярные вопросы
Задратые углы на моделях
Всем здрасьте. Проблема следующего характера, все более менее массивные коробушки получаются с загнутыми вверх углами. Дефект не сильный, но если очен...
Есть ли смысл менять валы на 2020 с роликами?
задумался вот немного дрыгстол свой поапгрейдить. Сейчас линейки на 8-ых валах. Посмотрел - вроде можно малой кровью на ролики по профилям перевести....
нужна консультация
Решаю купить принтер, думаю но пока не решил какую выбрать конструкцию. На али нашел вот такой вариант ru.aliexpress.com/item/2016-Newest-TEVO-Tarant...

Комментарии и вопросы
Так в K10 из коробки ж есть пи...
А что, пришлось PD-триггер зам...
Ну у меня два варианта:Кто-то....
Возникла сложность понимая.Рас...
Здравствуйте , уважаемый форум...
Коллеги. Пришло время менять о...
Всем привет! Ранее задавал воп...