Welcome! Log In Create A New Profile

Advanced

dual x carriage enable in Marlin not working

Posted by Jason_WI 
dual x carriage enable in Marlin not working
June 04, 2015 05:45PM
I am building a custom printer of mendel design. The extruders are set 300mm apart on the same x axis. I want to have extruder E1 to share the same movement as E0 to basically print 2 of the same parts at the same time.

I have the latest version of Marlin from github loaded onto a Rambo 1.3L board. I have dual x carriage enabled in configuration_adv.h and the mode set to 2 in duplication mode. I am using Slic3r 1.1.7 and have 2 extruders enabled. In the start gcode I have the command M605 S2 X300 R000 in the start code of slic3r.

The temp is set for both extruders and homing is delayed due to it thinking there is another x endstop at x max. When it starts to print only E0 is extruding. I was hoping to enable duplication with software but if this feature is not fully implemented I guess I'll have to hack the Rambo hardware to make it work.

Anyone on here ever use this feature and get it working?

Code snippet below.


// Enable this for dual x-carriage printers.
// A dual x-carriage design has the advantage that the inactive extruder can be parked which
// prevents hot-end ooze contaminating the print. It also reduces the weight of each x-carriage
// allowing faster printing speeds.
#define DUAL_X_CARRIAGE
#ifdef 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 80 // set minimum to ensure second x-carriage doesn't hit the parked first X-carriage
#define X2_MAX_POS 353 // 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 EXTRUDER_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).
// Remember: you should set the second extruder x-offset to 0 in your slicer.

// Pins for second x-carriage stepper driver (defined here to avoid further complicating pins.h)
#define X2_ENABLE_PIN 29
#define X2_STEP_PIN 25
#define X2_DIR_PIN 23

// 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
// as long as it supports dual x-carriages. (M605 S0)
// Mode 1: Auto-park mode. The firmware will automatically park and unpark the x-carriages on tool changes so
// that additional slicer support is not required. (M605 S1)
// Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
// actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
// once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])

// This is the default power-up mode which can be later using M605.
#define DEFAULT_DUAL_X_CARRIAGE_MODE 2

// As the x-carriages are independent we can now account for any relative Z offset
#define EXTRUDER1_Z_OFFSET 0.0 // z offset relative to extruder 0

// Default settings in "Auto-park Mode"
#define TOOLCHANGE_PARK_ZLIFT 0.2 // the distance to raise Z axis when parking an extruder
#define TOOLCHANGE_UNPARK_ZLIFT 1 // the distance to raise Z axis when unparking an extruder

// Default x offset in duplication mode (typically set to half print bed width)
#define DEFAULT_DUPLICATION_X_OFFSET 100

#endif //DUAL_X_CARRIAGE
Re: dual x carriage enable in Marlin not working
June 05, 2015 10:41PM
Do you have two actually discrete X-carriages or just two extruders on the same X axis drive?
Re: dual x carriage enable in Marlin not working
June 05, 2015 11:19PM
2 extruders on the same x drive spaced apart 300mm. Not sure that would make a difference unless its looking for the max home position for the second x carriage for it to be enabled.
Re: dual x carriage enable in Marlin not working
June 06, 2015 12:34AM
Okay, this feature is for when you actually have 2 separate X carriages so it wouldn't be applicable for what you're trying to do. AFAIK there's no direct support for this type of behaviour in marlin either, but it may be possible with a little bit of hacking. What happens when it's E1's turn to print? Does it do nothing or does it sit still and extrude filament?
Re: dual x carriage enable in Marlin not working
June 06, 2015 12:41AM
This would basically print 2 parts at the same time. E0 would be the master extruder and E1 would be the slave.

//Mode 2: Duplication mode. The firmware will transparently make the second x-carriage and extruder copy all
// actions of the first x-carriage. This allows the printer to print 2 arbitrary items at
// once. (2nd extruder x offset and temp offset are set using: M605 S2 [Xnnn] [Rmmm])

Edited 1 time(s). Last edit at 06/06/2015 12:42AM by Jason_WI.
Re: dual x carriage enable in Marlin not working
August 11, 2015 11:02PM
Got it to work so our dual extruder prints 2 things at the same time (not 2 carriages just 1 dual extruder carriage). I had everything working fine but 2nd extruder wouldn't extrude.

The fix:

Make sure in Configuration.h you set

#define DISABLE_INACTIVE_EXTRUDER false

Or else the 2nd extruder is inactive.
Sorry, only registered users may post in this forum.

Click here to login