New and different dual extruder idea

The official subforum for discussion of the installation and use of the official M2 Dual Extruder upgrade.
User avatar
Tim
Posts: 1205
Joined: Thu Apr 10, 2014 2:19 pm
Location: Poolesville, Maryland
Contact:

Re: New and different dual extruder idea

Post by Tim » Sat Jun 11, 2016 2:59 pm

MikeA wrote: The metal mount normally uses the front 2 holes in the carriage. I just flipped it around and used the back 2 holes. This requires drilling 2 new holes in the motor mount with the new holes being just behind the old ones. You would need to measure and make sure, but I think I remember them being about .160" behind the old holes. The mount is stainless, I used a mill to get them in the exact location. This setup will allow the two motors to actually slide up against each other and touch.
Nice to know. I'll have to try that (except I don't have a mill).
Update: I had some time this afternoon to play with the firmare and was able to make a few changes and get the M605 S2 command to work as I wanted it to. When the command option S2 is sent the 2nd extruder extrudes in sync with the 1st allowing dual prints. When the S0 option is sent it defaults back to its normal behavior. I also looked more in depth at adding a second motor/belt for the second extruder and the firmware seems to support it. It looks like it will also require a second home switch. For anyone interested look in Configuration_adv.h and scroll down or search for #define DUAL_X_CARRIAGE. The next several lines of code and comments after that describe how the 2nd X carriage works.
Since I'm using a Smoothieboard with Smoothieware, I actually made a fork of Smoothieware on github and implemented a version of M605 S2 myself. It's good to know that this is already properly implemented in Marlin. It's easy enough to do for ditto printing, since you don't need to do anything to the gcode. It's a bit more difficult to avoid exceeding the print surface boundaries, since you don't see the right extruder print on the preview. But completely independent dual extruders on separate belts and motors is a whole different story. It's one thing to configure the firmware to run an independent motor and extruder. However, (1) the RAMBo doesn't have enough power MOSFET outputs to support a 2nd X carriage, so you'd have to find another controller board, and (2) there's no real consensus on how to support the dual operation in the gcode. With standard gcode, there's no real support for it at all, although I guess you can manage by running only one of the X motors / extruders at any given time; there wouldn't be any overriding need to run both at the same time (and figure out how not to crash them into each other). But then that's what I like about my magnetic coupling solution with one X motor and belt: it's only slightly less efficient than having two X motors and belts, but the hardware, firmware, and electronics are all a heck of a lot simpler.

MikeA
Posts: 12
Joined: Fri Apr 22, 2016 1:58 am

Re: New and different dual extruder idea

Post by MikeA » Sat Jun 11, 2016 8:52 pm

You may be able to do drill the holes with a good bit/center punch if your careful. I just used a mill because it was available. I purchased the metal mounts from Makergear, I think they were around $20.

A suggestion for drilling them without a mill would be to buy 2 of the mounts and carefully mark one of them where you want to drill it. Then clamp the other one to it aligning the holes in it with the marks on the other one. With them clamped together just drill through them using the existing holes as alignment or starter holes. With Stainless run the drill slow and keep firm pressure on it with positive feed rate at all times.

The Rambo board has an expansion port broken out that provides the signals to drive 3 additions stepper drivers. These would provide the drive signals to an external stepper driver chip which are readily available for a few $ from any robotics store. They are on the same physical port of the processor as the other 5 steppers are driven from so they all update on a single port write ensuring synchronous moves.

In Marlin the M605 S1 option also appears to fully functional. The S1 option provides complete firmware control of both X axis motors, there doesn't appear to be any need for the slicer to do anything other than send Tool # it wants to print with. The firmware will then park/unpark and position the correct carriage based on the active tool selected. There is some defined parameters in this section of the firmware where you enter some parameters from your X carriages and the firmware will prevent them from interfering with each other.

User avatar
Tim
Posts: 1205
Joined: Thu Apr 10, 2014 2:19 pm
Location: Poolesville, Maryland
Contact:

Re: New and different dual extruder idea

Post by Tim » Sat Jun 11, 2016 11:21 pm

MikeA wrote:A suggestion for drilling them without a mill would be to buy 2 of the mounts and carefully mark one of them where you want to drill it. Then clamp the other one to it aligning the holes in it with the marks on the other one. With them clamped together just drill through them using the existing holes as alignment or starter holes. With Stainless run the drill slow and keep firm pressure on it with positive feed rate at all times.
Thanks, I think I'll try that. Really, it's only the proof of concept that was critical. I didn't think I could use the metal mounts and now I know I can. Nice!
The Rambo board has an expansion port broken out that provides the signals to drive 3 additions stepper drivers. These would provide the drive signals to an external stepper driver chip which are readily available for a few $ from any robotics store. They are on the same physical port of the processor as the other 5 steppers are driven from so they all update on a single port write ensuring synchronous moves.

In Marlin the M605 S1 option also appears to fully functional. The S1 option provides complete firmware control of both X axis motors, there doesn't appear to be any need for the slicer to do anything other than send Tool # it wants to print with. The firmware will then park/unpark and position the correct carriage based on the active tool selected. There is some defined parameters in this section of the firmware where you enter some parameters from your X carriages and the firmware will prevent them from interfering with each other.
The Marlin implementation is better developed than I was aware. As long as you have the know-how to put together something to connect to the RAMBo expansion port, then it sounds like you have a plan. So now we're all waiting for you to do it, and post pictures. . .

User avatar
tks546
Posts: 43
Joined: Thu May 05, 2016 4:20 am
Location: Springfield, Illinois

Re: New and different dual extruder idea

Post by tks546 » Sun Jun 12, 2016 4:59 am

That's funny this was posted today as I was using two clamped mounts and a drill press to make a reversed mount myself. I printed a 2.4mm spacer to go between the upright parts of the mounts to get the spacing. Make sure you use lots of oil and a sharp bit when drilling the steel. My reversed mount came out great.

-Tom

User avatar
tks546
Posts: 43
Joined: Thu May 05, 2016 4:20 am
Location: Springfield, Illinois

Re: New and different dual extruder idea

Post by tks546 » Sat Jun 18, 2016 2:50 am

Tim,

What type of filament did you print your parking plates and mount couplings out of? I printed them in PLA and the magnets pull out when I separate them.

Thanks,

-Tom

User avatar
Tim
Posts: 1205
Joined: Thu Apr 10, 2014 2:19 pm
Location: Poolesville, Maryland
Contact:

Re: New and different dual extruder idea

Post by Tim » Sat Jun 18, 2016 3:38 pm

tks546 wrote:What type of filament did you print your parking plates and mount couplings out of? I printed them in PLA and the magnets pull out when I separate them.
I printed them in PETg, which is what I use almost exclusively. ABS should be okay, too. I would tend to recommend PETg for the mount couplings, because it's just flexible enough to give the magnets a snug fit (I am not as familiar with the properties of printed ABS, but I think they are similar to PETg); but I would recommend PC (e.g., ePC) for the parking plates, because the nozzle is standing close to all parts of the parking plate, making them very warm, and the nozzle is in direct contact with the metal plate which is therefore dissipating heat from the nozzle directly into the parking plate. I was a bit concerned with using PETg, although I have not had any problem with it, but ePC would be better. Note that PLA will deform if you get a cup of coffee close to it (this has happened to me), so parking plates made of PLA are going to deform almost immediately under normal use.

User avatar
tks546
Posts: 43
Joined: Thu May 05, 2016 4:20 am
Location: Springfield, Illinois

Re: New and different dual extruder idea

Post by tks546 » Sat Jun 18, 2016 4:03 pm

Thanks Tim,

I just finished printing the parts in ePC and I think I'll go ahead and make a set in PETg before I tear the M2 down and start modding it for dual.

-Tom

User avatar
Tim
Posts: 1205
Joined: Thu Apr 10, 2014 2:19 pm
Location: Poolesville, Maryland
Contact:

Re: New and different dual extruder idea

Post by Tim » Sat Jun 18, 2016 6:45 pm

tks546 wrote:I just finished printing the parts in ePC and I think I'll go ahead and make a set in PETg before I tear the M2 down and start modding it for dual.
The hardest part of the project was having to field-strip and reassemble my M2 multiple times, since most of the project was a lot of guess-work. Having to do it only once is definitely a plus.

bruce356
Posts: 1
Joined: Thu Jul 28, 2016 3:50 pm

Re: New and different dual extruder idea

Post by bruce356 » Thu Jul 28, 2016 4:13 pm

Hi Tim, very interesting project, thanks for making the details available, I would like to attempt separating my dual to 2 independent.
One question about the X axis end stop, how is this supposed to function in operation and in homing.
Is the end stop meant to trigger at the same time as the left extruder comes in contact with the left parking or just before.
Being a mechanical switch there is also a limit to the distance of further travel after triggering.
Thanks and regards - bruce

User avatar
Tim
Posts: 1205
Joined: Thu Apr 10, 2014 2:19 pm
Location: Poolesville, Maryland
Contact:

Re: New and different dual extruder idea

Post by Tim » Fri Jul 29, 2016 3:01 pm

bruce356 wrote:One question about the X axis end stop, how is this supposed to function in operation and in homing.
Is the end stop meant to trigger at the same time as the left extruder comes in contact with the left parking or just before.
Being a mechanical switch there is also a limit to the distance of further travel after triggering.
Yes, there's not any way I can think of to get around the fact that the switch must trigger when the left extruder is in the fully parked position. That means that the switch triggers at X < 0 and so the home position is not at X = 0 like it usually is on the M2. Fortunately the firmware is able to handle that; it just needs to know the offset between the trigger point and X = 0. And that's all a relative measurement, anyway. Getting it exactly on means that X = 0 is defined as exactly at the edge of the bed plate, but unless you're printing something that goes to the exact edge of the plate, that's not going to matter much. But with the dual independent extruder setup, some of the tolerances do become more important, because there are a few places where a couple of millimeters is the difference between latching onto a magnet and crashing into something. But the magnets are pretty strong and they do attract from a couple of millimeters away, so working out all the head positions to a few millimeters tolerance is pretty easy for a finely-tuned piece of machinery like the M2.

It's somewhat tedious to write the startup script, keeping in mind where all the coordinates are and remembering that each extruder has its own coordinate system. Obviously the left extruder's coordinate system is defined by its parking position, which is where the X stop switch triggers. But unlike the standard dual extruder, you can't figure out what the coordinate system of the right extruder by measuring the distance between it and the left extruder to get a rough estimate. To get a rough estimate, you have to attach the left extruder, put it somewhere in the middle of its travel, and mark the position; then attach the right extruder, and figure out how far you have to move it to get the nozzle to the same point. However, for the design files I posted, the offset between the extruders is approximately 20.6mm, so that can be used as a ballpark estimate; and in any case, you will end up running a calibration test to refine that value. I guess the main difference is that the MakerGear dual extruder has the offset distance defined by the holes drilled into the mount plate, which is precision-machined, so if you put the default value into firmware, there's almost no point in running a calibration test. The independent dual extruder setup has multiple contributors to the offset value, so the offset calibration is definitely needed, and can easily be off by a millimeter in both X and Y. Once dialed in, though, it should be good as long as you don't unscrew the mount plate from the rail carriages.

Post Reply