Welcome! Log In Create A New Profile

Advanced

Dual extrusion firmware

Posted by GoSharks 
Dual extrusion firmware
January 16, 2014 11:46PM
We are looking to extrude using two extruders simultaneously. As far as I can tell, the stock Marlin firmware does not allow for this and instead requires one to switch extruders using T0/T1. Does anybody have experience either modifying the firmware such that we can independently control the E0 and E1 outputs at the same time, or know of a different firmware that will allow for that.

Alternatively, we can look into tying together the two outputs such that an E command will extrude from both E0 and E1. Any tips for this would be appreciated if independent control is going to be immensely involved.

Currently running Marlin with Ramps 1.4 on an Arduino Mega.

Edited 1 time(s). Last edit at 01/16/2014 11:47PM by GoSharks.
Re: Dual extrusion firmware
May 28, 2014 01:32PM
I am currently looking into defining a fifth axis parameter 'Q' so I can print simultaneously using: G1 X-- Y-- E-- Q-- etc. Though I am stuck with several errors in the firmware as I am trying to update.

Also, checkout the M160 code for multiple mixed material printing: [reprap.org]. Maybe this helps. And were you able to figure out how to use E0 & E1 to print simultaneously?
Re: Dual extrusion firmware
May 29, 2014 07:48PM
Quote
pras_pune
I am currently looking into defining a fifth axis parameter 'Q' so I can print simultaneously using: G1 X-- Y-- E-- Q-- etc. Though I am stuck with several errors in the firmware as I am trying to update.

Also, checkout the M160 code for multiple mixed material printing: [reprap.org]. Maybe this helps. And were you able to figure out how to use E0 & E1 to print simultaneously?

We had a couple programmers on our team reconfigure the Marlin firmware to our needs:

[github.com]

The E1 stepper driver is accessed using parameter "I"

Quote
from our programmers
Hi All,

William and I have manage to get the firmware to controlled each extruder independently via G-Code.

G1 X10.000 Y34.000 Z22.00 E32.00 I32.000 J12.000 F100.0000

[github.com] (Make sure you are using the bioprinter branch)

A couple things to note:
* Board doesn't require you to have a thermistor plugged in.
* Cold extrusion is now enabled by default
* There is no longer a concept of an active extruder, they are all active. So the T command does nothing.
* You now can have up to 5 extruders to independently control, if you board physically supports it. They are labeled as such E, I, J, K, L.
* Designed to work ONLY on a cartesian 3d printer.
* Some 3d specific things such as ADVANCE settings or COREXY have been disabled.

Instructions for configuration.h changes:
[github.com]
1. MOTHERBOARD - should be changed to your board
a) BUAD_RATE - if you need to.
2. EXTRUDERS - max number of extruders your board can support
3. NUM_AXIS - this should be number of axis (x, y, z) + EXTRUDERS
4. HOMING_FEEDRATE - each number represents an axis just make sure you have a default value there, 0 is fine. There should be a total of NUM_AXIS values.
5. DEFAULT_AXIS_STEPS - same thing as HOMING_RATE but the default should be the last value in the enumerable.
6. DEFAULT_MAX_FEED_RATE - "
7. DEFAULT_MAX_ACCELERATION - "

The code is litter with "NOTE" comments indicating we were unsure what was suppose to happen here.

Especially here: [github.com]

It is the Euclidean distance in mm for all the extruders. I believe the distance is use as a basis to determine the rate at which all the axis should travel.
So does N-dimension distance formula makes sense for N-extruders?

Known Issues:
1. Sometimes your G1 command will do nothing after a couple of commands especially if you are only issuing commands to move the extruders.
I believe this is a failsafe mechanism to prevent over extrusion of material in one spot, I still need to investigate this further.
A workaround of now is to issue a G91, G90, or G92 before your G1 code and it should reset the extrusion hard limit.
2. Steps per mm for extruders needs to be mapped to the ratio with syringe pumps.

Feel free to fork the source code (or make a pull request).
Feedback/bug finds are encouraged smiling smiley

Thanks,
Chris
Re: Dual extrusion firmware
May 30, 2014 04:27PM
Thanks man. The firmware works after a few modifications in the configuration.h file. Although as mentioned it is difficult to move only the extruders using a G1 command. Is there a version of this firmware that exists with the couple of mentioned issues fixed?

Appreciate your help a lot. Thanks again.
Sorry, only registered users may post in this forum.

Click here to login