Dual Extrusion- Two extruders at once

400 views
Skip to first unread message

Greg Thorstad

unread,
May 23, 2012, 8:05:42 PM5/23/12
to make...@googlegroups.com

I reposted- figured it was better with a subject line

Has anyone tried printing two long skinny parts at the same time by having both extruders on the Replicator turn on at the same time?   The 2nd extruder is making all the proper motions for the 2nd part-  It just needs to turn itself on and off at the same time as the 1st extruder.     I should be able to run the gcode thru a script that everytime it sees an extruder on/off command it adds another line to turn the other extruder on/off as well.   Before I start down that road does anyone see any reason why it won't work.   It seems like an easy way to double the production of the machine for some prints.

 
 
Greg Thorstad, B. Comm.
Thorstad Computer/Thor3d.ca/Canadian Makerbot Distributor
Box 268
Outlook, SK
S0L 2N0
306 867-9596

Rob Giseburt

unread,
May 23, 2012, 8:33:07 PM5/23/12
to make...@googlegroups.com
As long as the parts are close enough to fit between the nozzles, it should work.

If you skein it using 5D, then replace all of the "Ennn" with "Annn Bnnn" where nnn is a number, and assuming the filament sizes are close enough to the same size that it won't matter, then it should work.

If the filament sizes are actually different, which is the most likely case, and you are indeed making tall thin objects, which is required, then the difference will most likely appear as a "wobble" higher on the print on the extruder that is extruding too much. (0.1% would be a big enough difference.)

IOW, other than very few odd use-cases, this isn't very practical, and will be more difficult then it sounds to get great results.

That said, if you get it working I wan to hear about it! Sounds like an awesome experiment!

  -Rob
--
You received this message because you are subscribed to the Google Groups "MakerBot Operators" group.
To post to this group, send email to make...@googlegroups.com.
To unsubscribe from this group, send email to makerbot+u...@googlegroups.com.
For more options, visit this group at http://groups.google.com/group/makerbot?hl=en.

PrettySmallThings

unread,
May 23, 2012, 10:32:54 PM5/23/12
to MakerBot Operators
This would be amazing - it's something I've thought about but don't
have the skills to do myself. I realize I might not represent the
majority, but I could use this functionality on upwards of 50% of my
prints. Not to mention that it might open up some awesome design
options. Prints don't just have to be tall and skinny... just
carefully planned. I'm excited to hear what you find Greg.

Shawn

unread,
May 23, 2012, 11:34:45 PM5/23/12
to make...@googlegroups.com
I had to mass-produce some keychains that would have benefitted from
this (http://www.thingiverse.com/thing:21883). Each keychain object fit
within the space between the nozzles. It would have been FAST to have
both nozzles firing at once. One-offs are non-issues, but when you
consider bulk production, this would be a great bonus. For smaller
parts at least.

Whosawhatsis

unread,
May 24, 2012, 1:08:13 PM5/24/12
to make...@googlegroups.com
You could also re-mount the extruders so that the nozzles are farther apart. Not sure about the replicator (I think it uses a single cooling block), but the dual extruder configuration for ToM could just as easily be reversed (assuming you're not using my upgrade) so that the nozzles are on the far side from the other extruder. This would make the method possible with much larger objects.

I don't know of anyone who has tried this, but I've thought about doing it on a Mendel-style printer using two X carriages mounted to the same belt.

Greg Thorstad

unread,
May 24, 2012, 7:07:49 PM5/24/12
to make...@googlegroups.com
Well dualextrusion with both extruders at once seems to work fine.  I still have some fine tuning to do but I followed Robs advice and with Dimension turned on replaced Ennn with Annn Bnnn.  I also set the temperature where needed for the 2nd extruder for it to warm up.  ReplicatorG is still yelling at me that I am going to fast on one of the axis so I have to do a little more gcode research to find out where to specify the max speeds when I switch from Ennn to Annn Bnnn.   I also need to setup to do an anchor to prime the extruders-  it should probably come straight in from the front so that one extruder is not cutting over the path of the other.
 
I think this approach will work for anything under 30mm in width(the space between the heads) and up to the front to back length of the bed.  
 
I will keep testing and let you know if I run into any issues.
 
Greg Thorstad, B. Comm.
Thorstad Computer/Thor3d.ca/Canadian Makerbot Distributor
Box 268
Outlook, SK
S0L 2N0
306 867-9596

Greg Thorstad

unread,
May 26, 2012, 1:22:18 PM5/26/12
to make...@googlegroups.com
I am still working on having both extruders on the replicator extrude at once to get 2 prints of the same item at once, it seems to be working well but just need to fix a couple of things.  The printed items when printing with both extruders seem to be idential to when you only print with 1.   For multiple skinny(30 mm or less) parts I think it will work great, I think we can even use multiply with it and have Multiply on Steroids.
 
In order to finish it I need some 5D advice.
 
 
1. First of all is there a good reference document for 5D gcode,  I have been picking up snippets of how it works everywhere but nothing that has all the Gcode commands.
 
2. After changing all the E000 to A000 B000  skeinforge was complaining that I was moving an axis too fast.  I arbitrarily changed the maximum speed for A and B from 1600 to 4600 and the problem disappeared.   Does anyone know what the proper maximums should be- I don't think it really matters other than if you specified a feedrate that was way to high then skeinforge would not know enough to complain.
 
3.   If you turn on Dimension it only kicks in once your start.gcode is done.  The start.gcode is getting the extruders primed and creating an anchor.  But because dimension is not being used yet it only preps one extruder.  I think the proper solution to this is to do the priming and anchor with dimension.  2 questions arise out of that:
        do I need the M108 R3.0  commands that set the speeds if I use dimension instead? My guess would be no
        If I use dimension to do the anchors then I would think I would have to reset the dimension filament counter back to zero when done or the first few commands of the print would not do anything or add the filament used by the anchor to all the subsequent E amounts.
 
 
4.  Once I have this working any suggestions as to how distribute it.   Currently I am working in VB because that is what I program in regularily but having to install a VB program to gain access to this conversion does not seem right.  The proper place for it is probably in ReplicatorG alongside the code to swap the Toolhead for a  gcode file but I have no Java experience.  The code actually looks like it is going to be fairly trivial but writing it in a new programming language tied into a something like ReplicatorG would take me a long time.   I had thought about just a VBscript but that probably excludes the Linux guys and I am not sure about the Mac people.
 
In points 2 and 3 if I am misunderstanding 5D please correct me.  
 
Thanks in advance.

Whosawhatsis

unread,
May 26, 2012, 4:56:51 PM5/26/12
to make...@googlegroups.com
1. The reprap wiki has a lot of information, though most of it will predate the transition to volumetric 5D, meaning the E values will be in terms of expected filament out rather than filament in, so those numbers will be wrong.

2. The maximum speed you can extrude depends on a lot of factors. I'd just set it high enough to keep RepG from complaining and forget about it.

3. It "only kicks in" after the start.gcode because that code is not being generated by skeinforge, it's just including an external file. If you want to move your extruder in start.gcode, you'll need a start.gcode written in 5D. The same goes for end.gcode and any other files being included, and of course you don't need M108 in any of these. My start.gcode ends with a move to my wipe position with an E0, and my homing offset retrieved from EEPROM for that axis is -10 so that it has to extrude to get to 0.

4. I would use python, so it uses the same thing you need to run skeinforge.

Rob Giseburt

unread,
May 26, 2012, 6:06:01 PM5/26/12
to make...@googlegroups.com
Also of not that the driver in ReplicatirG for the Replicator allows a mixing of 5D and rpm, where the Gen3/4 drivers do not.

The only difference in RPM and and 5D is the use of the E axis, which simply maps to A or B. Usually the E commands have an M108 Tn, with n being 0 or 1 on a replicator. After an M108 T0 all Exxx are remapped (internally in RepG) to Axxx. (I might have the T0/T1 -> A/B mapping backwards. I also don't like that T0 is the right extruder, and T1 is the left. I read left-to-right, and prefer things numbered that way too.)

  -Rob

Rob Giseburt

unread,
May 26, 2012, 11:56:33 PM5/26/12
to make...@googlegroups.com
Could you post photos? I'm excited to see how this turns out.

On a separate but related note, for those of you interested, I'm experimenting with switching the support structures to a second extruder:




ABS printed on PLA support is working pretty well. The PLA peels right off. (Off topic, since I'm not running both extruders simultaneously, but still of interest to the same group.)

  -Rob
image.png

Ar

unread,
May 27, 2012, 5:41:30 AM5/27/12
to make...@googlegroups.com, make...@googlegroups.com
this is awesome, how are you accomplishing this? 
I thought skeinforge/repG couldnt build support for dual extrusion, yet.

Also, whats all that black stuff on your build platform? Abs glue?


Sent from my iPad

On May 26, 2012, at 8:56 PM, Rob Giseburt <gise...@gmail.com> wrote:

Could you post photos? I'm excited to see how this turns out.

On a separate but related note, for those of you interested, I'm experimenting with switching the support structures to a second extruder:


  -Rob

TSDF-3D

unread,
May 27, 2012, 8:47:09 AM5/27/12
to make...@googlegroups.com
Greg,
This will be a great innovation for Rplicator users.

To point 4:

If you can make your post process an executable, even of it runs in a command prompt I'd use it!
Ideally, and I'm out of school here: it seems like having it run as a python script inside Skeinforge as another of its plug-ins would be the best use case but is probably a much more ambitious effort.

-ts

Rob Giseburt

unread,
May 27, 2012, 1:40:55 PM5/27/12
to make...@googlegroups.com
On May 27, 2012, at 4:28 AM, Ar <ganst...@gmail.com> wrote:

this is awesome, how are you accomplishing this? 
I thought skeinforge/repG couldnt build support for dual extrusion, yet.

They can't. Not like this. I'm putting it in skeinforge.

It needs some tweaking. I think I will have to modify Skirt to do two paths, one for each extruder, and I think it'll have to have a skirt all the way up. 

Also, whats all that black stuff on your build platform? Abs glue?

Yes. It's just old and scraps dissolved in acetone and it makes a gravy-thick soup that works like a paint-on raft. 

Andy

unread,
May 27, 2012, 3:28:25 PM5/27/12
to make...@googlegroups.com, make...@googlegroups.com
Very cool , thanks for the explanation.

-Andy

Greg Thorstad

unread,
May 27, 2012, 6:00:12 PM5/27/12
to make...@googlegroups.com
I have published some instructions, pictures and a script on how to enable both extruders at the same time  to thingiverse.
 
 
The scripts are windows based for now but if anyone wants to either move them to something more universal (Java and Python have been suggested) or do a Mac and Linux alternative let me know. 
 
The dual extrusion should work for anything that is less than 32 millimeters wide on the x axis at a given point even if the overall x width is more than 32 mm. 
 
You should also be able to turn on multiply if you set the margin between the prints to be more than 32 mm.   If you are using two different colors you may see the same color contamination that you see on any dual extrusion print but with two spools of the same color it would not be an issue.
 
Let me know if you run into any issues.  
Reply all
Reply to author
Forward
0 new messages