Настройка корректной работы двух независимых экструдеров (аналогично 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
Мне кажется, ошибка в скрипте переключения, но как он должен выглядеть в корректном виде?
Популярные вопросы
Fusion 360
Со вчерашнего дня fusion не хочет подключаться к серверам, хотя интернет стабильный. Никакие впны не помогают, пишет что-то вроде "не удалось проверит...
kp3s kliper по uart
принтер kingroon kp3s v3.0
плата kingroon kp3 v1.3
сейчас по usb все скачет и прыгает в нужную сторону....
плата kingroon kp3 v1.3
сейчас по usb все скачет и прыгает в нужную сторону....
нужна консультация
Решаю купить принтер, думаю но пока не решил какую выбрать конструкцию. На али нашел вот такой вариант ru.aliexpress.com/item/2016-Newest-TEVO-Tarant...

Комментарии и вопросы
Я знаю как сделать вывод с кул...
Ещё подкину идею, кмк, более ж...
Зато он использует энтер для п...
При первой же печати появились...
После полной очистки микроконт...
Доброго дня! Коллега на работе...
Хочу купить второй принтер Any...