Welcome! Log In Create A New Profile

Advanced

Arcus3D M2 - Six material, active mixing linear delta 3d printer.

Posted by darenschwenke 
Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 07, 2016 11:08PM
I've also been working on an active mixing 3D printer for the last 1.5 years.


The all-metal, water cooled print head used below is at revision 14.2. smiling smiley


  • 6 materials under gcode control
  • Active mixing, generating it's own extrusion pressure (no back-feeding into idle ports)
  • Uses a standard, interchangeable nozzle.
  • 1 cubic mm total mixed volume for fast color changes (about 20mm of 0.4mm extrusion)
  • Mixing hotend weighs in at 49g, with the entire assembled end effector at 150g
  • Print head can be removed/assembled in under 2 minutes with 2 screws. The entire assembly uses 4.
  • Flying 6 extruders via a clockspring counterbalance so no additional load on carriages
  • Short bowden tubes so no complicated math for compensation
  • 346mm x 370mm cylindrical build volume
  • Ceramic mains powered heated bed
  • 200mm/sec motion and 120mm/sec printing with no resonance issues (it can go faster, but the code needs to 'see the future'. WIP)

Last Sunday at the Barnes and Noble Mini Makerfaire:

Video version

Using a huge nozzle here so I could print 'requests' in a timely fashion.
The model had bits starting in mid-air, but that's what I get for printing something directly from thingiverse. smiling smiley

Vase, manually changing colors:


Assembled end effector:


6 extruders flying on the clockspring counterbalance:


Extruders and print head from above:


More photos:
https://goo.gl/photos/sMs8b1eMJB5UPNY16

Currently based on Machinekit, velocity extrusion branch (not volumetric, there is no E) and running on a Beaglebone Black.
Printer control/Mixing ratio selectable via published network interface. Of course also controllable with gcode. I used: M163 S1 P100 (extrude filament 1 at 100%)
Experiment in colorizing the gcode itself via this: [github.com]
I'm still working on proper amf support in software (all open source) and on an expansion board version to allow upgrading existing linear-delta printers.
Coming soon...

Edited 9 time(s). Last edit at 11/09/2016 06:50PM by darenschwenke.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 04:56AM
eye popping smiley
Awesome!

The expansion board would suit all ( 32bit ) controller platforms or would it require a BB black?
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 06:30AM
Looks fantastic! Are you going to show how the mixing head works, or is that something you want to keep to yourself?
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 11:00AM
There are two ways I've come up with for universally handling the expansion board, neither of which work yet. smiling smiley

For low quality 8 bit boards, intercept the serial or add a second usb-serial data stream.

For 32 bit boards, re-assign the one set of step/dir pins to instead output a stream of the serial commands needed at the expansion board. (E, M162, M163 commands)

Both ideas offload just the generation of the step/dir pulses for the 6 extruder channels to the daughter board, which currently is just an 8 bit nano.

Look-ahead, and thus the math for handling the pressure-advance required to print at high speed, will not exist here though. But.. you guys are used to that.

Ok.. here comes the soap box...
Yes, you have code variations that do a pretty good job of approximating look-ahead, and you'll still have that...
Eventually though, you'll get to the point where you really need to be building pressure in the print head X amount of time before you even start the next print move.
So the current way of handling that is to either print more slowly, or to put the advance into the gcode itself. Problem is if you do the latter, you've now created code where that advance will only work properly at the target speed you coded for.

But... Machinekit has the spare cycles to be able to dynamically 'create E' based on the motion, and a proper motion planner so I can 'see the future'.
They are calling this 'velocity extrusion', again not to be confused with 'volumetric extrusion'.
The instantaneous velocity of the print head is calculated and this combined with pressure advance curves, is what is generating the required steps.
That is what you really need to accurately predict the advance required for any given speed/motion.

There is no E in this gcode, just X,Y,Z and a target extrude cross-sectional area, which gets set only when it changes. It also means for a given layer height that generated gcode is completely portable!
I can vary the speed from 50% to 300% while printing and for the most part, it's doing the right thing already. Well, I can vary any parameter, while printing... smiling smiley Very useful for tuning exactly the correct amount to extrude on a prototype that keeps changing.
The math for going faster (increasing the look-ahead), requires some ringbuffers to shift the timescale of the motion.
Yeah, you can do that too and others have already. I'm just behind.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 11:48AM
Basically, no. I'm not releasing the head design at this time.

I have no issue with individuals duplicating the design for personal use.
The problem is that is not where it would stop.
Until it is properly protected from patent trolls which would ruin this for everyone involved, it is staying under wraps.

It also requires tolerances barely attainable in a normal shop and specially designed tooling to do so.
I have a box full of various levels of failure for just the print head. Making this simple for you, has been complicated...

We are getting set up to build these (just the print head currently) ourselves and have already invested a good chunk of change to do it.
But... we should still be able to put this out for a tiny fraction of what it would take to buy the commercial equivalent, and in my opinion, ours is better.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 12:19PM
Quote
darenschwenke
I can vary the speed from 50% to 300% while printing and for the most part, it's doing the right thing already. Well, I can vary any parameter, while printing... smiling smiley Very useful for tuning exactly the correct amount to extrude on a prototype that keeps changing.
The math for going faster (increasing the look-ahead), requires some ringbuffers to shift the timescale of the motion.
Yeah, you can do that too and others have already. I'm just behind.

Sounds like you might eventually catch up with RepRapFirmware smiling smiley

What I don't see is any details of the active mixing hardware, which is the interesting bit sad smiley Still, if you can sell the head at a reasonable price then it may be popular with Duet WiFi users. With the expansion board it already supports up to 8 extruders, so no additional electronics needed.

Edited 4 time(s). Last edit at 11/08/2016 12:28PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 12:33PM
I'm working on allowing you to use your existing controller... if you are happy with it.

For development purposes, Machinekit was a lot easier to modify for this.
It can generate 9 channels of 1/32 microstepped step/dir signals and 5 channels of PWM, and has a proper motion planner to do the look-ahead on one board, right out of the box.
Also still uses < 30% processor at 200mm/sec so I'm not even close to hitting any limits.
You can probably tell... I'm liking this platform.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 12:35PM
I thought the expansion was a multiplexer... in other words... select a single channel and output. Not output to 6 at the same time.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 01:20PM
Quote
darenschwenke
I'm working on allowing you to use your existing controller... if you are happy with it.

Sounds good!

Quote
darenschwenke
For development purposes, Machinekit was a lot easier to modify for this.
It can generate 9 channels of 1/32 microstepped step/dir signals and 5 channels of PWM, and has a proper motion planner to do the look-ahead on one board, right out of the box.

RepRapFirmware on Duet 0.8.5 + DueX4 has done all of that (and more - Ethernet, touch screen, fast delta auto calibration etc.) for a long time and would probably have needed no modification at all. Duet WiFi + DueX5 expansion board is even better.

Quote
darenschwenke
I thought the expansion was a multiplexer... in other words... select a single channel and output. Not output to 6 at the same time.

No, it's 6 extruders running simultaneously (7 on the Duet WiFi + DueX5), with full mixing capability.

Edited 3 time(s). Last edit at 11/08/2016 01:24PM by dc42.



Large delta printer [miscsolutions.wordpress.com], E3D tool changer, Robotdigg SCARA printer, Crane Quad and Ormerod

Disclosure: I design Duet electronics and work on RepRapFirmware, [duet3d.com].
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 02:12PM
Whatever can do the job at hand. Sounds like the Duet + expansion would handle it just fine.

I have no financial ties to Machinekit or Beaglebone.

Machinekit/BBB/BBGW also does ethernet, wireless, touchscreens, SPI/I2C, HDMI with audio, runs Debian linux, has 3 different network or local front ends you can pick from, non time critical code is just python and you can write modules in a few lines, I still have about 20 spare I/O pins, and I'm not even using one programmable realtime unit. It's also quite a bit cheaper.
I built the last prototype like a tank as it gets dropped on it's side in my vehicle on a daily basis. As such, I have yet to need to re-calibrate it, so auto-calibration never got done, yet. Should be about 20 lines of python once I get to it.
Look-ahead in RepRapFirmware last time I looked used acceleration to approximate. Velocity extrusion IS NOT the same as volumetric extrusion, and I know that no-one but Machinekit is currently doing that. That makes the numbers I need to control the mixer itself, just numbers... already calculated for me.

That being said.... I'm not here to start a hardware/firmware war. Whatever works... smiling smiley

Machinekit was designed in the space where errors can kill people, and for this is kinda like using a sledge hammer to pound in a nail.
But when it comes down to it, having that extra weight available to throw around was pretty handy.

Edited 2 time(s). Last edit at 11/10/2016 12:11AM by darenschwenke.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 04:25PM
Want one. I have Duet plus Duex5 (or will have any day now). Currently using a Diamond (3 input, one output) which sort of mixes if you count stripey toothpaste as mixing. I have a CoreXY which can be modified. So, when and how can I buy the mixing hot end?
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 08, 2016 05:08PM
The current design uses short, 1.8mm id bowden tubes to pretty much negate the effects of using bowden tubes at all.
That wouldn't hold true if you went longer and would require increased advance/retraction and probably the use of 2.0mm id bowden tubes.
The 1.8mm tubes fit the filament pretty tightly, which was fine for the ~30 degree total bend and pushing it a foot.

I can pretty much ignore the tubes in the current design.
Long/loose tubes will introduce more springyness/slop and would require more math, which I have not done and may be complicated when mixing.

As for when you will be able to buy one... I'm still 6 months from that point right now. Logistics..
The residual excitement from the Makerfaire and the preceding post combined to make me jump the gun here. smiling bouncing smiley

Edited 1 time(s). Last edit at 11/08/2016 05:18PM by darenschwenke.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 11, 2016 03:01PM
Printed a vase yesterday. Same rainbow pattern injected by script, with a vertical gradient applied to saturation.

Video version
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 12, 2016 09:40AM
I'd give the video a thumb up, but the music was so annoying winking smiley

Do you use RGB colors or CMY? I have trouble finding a set of three spools, where I truly know the RAL code.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 12, 2016 02:07PM
I removed the music.

CYMKW, and they are approximate.
Not enough saturation and magenta/cyan contain black and yellow contains white. I've been working with a local filament provider on it, but testing is expensive and they won't have a lot of motivation until it's needed. smiling smiley

I have also tried RYB, which gave more saturated colors, but the red and blue also still contained black. This was an experiment to print a logo so I'm not sure if the full pallet is even possible doing this.
I'm pretty sure the improvement in saturation was just due to the initial saturation of my source filament.

Edited 1 time(s). Last edit at 11/12/2016 07:03PM by darenschwenke.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 13, 2016 05:27AM
Actually I like the decent pale colors, much more than the usual kiddy-toy colors.

Do you plan to print a checkered part, like a chess board soon? I'd like to see how machinekit handles sharp color changes in one layer.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 13, 2016 07:38AM
Quote
o_lampe
Actually I like the decent pale colors, much more than the usual kiddy-toy colors.

Do you plan to print a checkered part, like a chess board soon? I'd like to see how machinekit handles sharp color changes in one layer.

Can any mixing head handle sharp color changes in one layer?

Edited 1 time(s). Last edit at 11/13/2016 07:38AM by JamesK.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 13, 2016 12:36PM
Quote
JamesK
Quote
o_lampe
Actually I like the decent pale colors, much more than the usual kiddy-toy colors.

Do you plan to print a checkered part, like a chess board soon? I'd like to see how machinekit handles sharp color changes in one layer.

Can any mixing head handle sharp color changes in one layer?
Basically, no. You'll always have some volume of filament in the mixing area/nozzle you need to purge to get to the target color.
The good news is it's predictable and for all but the top layer, you can use the infill for purging.
I also gave up a reduction in volume for the sake of having interchangeable, standard nozzles work, and I'm glad I did.

~90% transition for 0.4mm extrusion (some measured, some guessed):
White -> Black: 15mm
Black -> White: 60mm or more..
Magenta -> Yellow: 40mm
Yellow -> Magenta: 20mm
Cyan -> Magenta: 30mm
Magenta -> Cyan: 35mm
Cyan -> Yellow: 40mm
Yellow -> Cyan: 20mm

Basically the higher the relative saturation of the color you are purging, the longer it will take.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 13, 2016 07:00PM
Quote
JamesK
Quote
o_lampe
Actually I like the decent pale colors, much more than the usual kiddy-toy colors.

Do you plan to print a checkered part, like a chess board soon? I'd like to see how machinekit handles sharp color changes in one layer.

Can any mixing head handle sharp color changes in one layer?
Challenge accepted?
Changing color 3 times within each layer:

Video Version

On inspection, I got nowhere near my previous performance here. sad smiley
But, this is using a mismatched impeller/mixing head as I have removed the latest pair for a sealing experiment.
I finally got smart and started to machine my parts to good tolerances so I could interchange them. smiling smiley

The impeller used here is from an older build, and is about 50% too small for this chamber as I snapped the last mating impeller made for it in a cold start accident. That's a significant amount of filament allowed to cling to the inside of the chamber, and it made a much larger difference than I anticipated.

The latest version performs much better than this. It has both a lower mixed volume and the mixer precisely fits the chamber.
I'll replace this video once I have the latest back up and running.

Edited 1 time(s). Last edit at 11/14/2016 03:20PM by darenschwenke.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
November 14, 2016 01:56PM
Of course, I was talking about a purge tower or as you mentioned using the infill area to change colors.
But sometimes a little residue of the old color can spoil the whole print.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
December 01, 2016 08:56PM
I am as much inspired by the process details you provided as the undertaking itself . I was especially keen on your statement about your willingness to share the idea while acknowleging the sad reality of those with no regard for intellectual property taking this to market without your participation or approval.
I also like that you made use of off the shelf nozzles.
Keep up the good work!

Cheers,

Neil
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
December 02, 2016 03:36AM
Actually he said, they will not share details about the mixing process for now. (which I fully understand and agree with)
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
December 02, 2016 10:20AM
Thank you for your understanding.

The poorly fitting mixer impeller is allowing for too much back-pressure.
This is resulting in the unused ports jamming up and the seeming inability to successfully print anything that takes more than ~6 hours.

The good news is the latest all-metal visco-seal we were testing is working flawlessly, eliminating the last non-metal part in the entire assembly.
It is allowing higher print speeds without eating itself, but is currently being limited by the delay incurred in spinning up/stopping the mixer motor (and I can't seem to cool the part fast enough). As the extrusion pressure is directly tied to the mixing speed, having the motor at the correct speed is critical.
The existing mixing motor never needs to run above ~10% power, so reducing it's size is going to happen prior to further adjustment of the look-ahead math.
A smaller BLDC motor was used for a previous revision, but that revision also implemented direct-drive with the impeller and the BLDC motor shaft being machined from a single stainless rod.

It did not prove to be strong enough (at 2mm) and was scrapped.

We are taking a break and will return after the holidays.

Edited 2 time(s). Last edit at 12/02/2016 01:36PM by darenschwenke.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
December 02, 2016 11:44AM
thumbs up Very nice work! I like the mixing motor, does it not interfere however with the x/y motion the faster it turns (inertia) ?
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
December 02, 2016 12:46PM
A spinning mass will resist rotation not on it's own axis. I'm not changing the rotation, I'm translating the entire motor so it might as well be a solid mass.

As for forces introduced by accelerating/stopping the mixer motor, they are not great enough to cause any issues with the current magball setup.
With lesser joints, the effect should still be negligible provided your nozzle is on the centerline of the end-effector. The rotation forces introduced around the z axis will cancel each other out as the joints will all be biased in the same direction (theoretically).

The M1 version ran with a trim-router on the end effector for a while. (in the background here)

I opted for adding nylon cords to reinforce the magballs on that, but I still had to soft-start that motor. Not doing so would result in the 2-3 of the magballs coming loose and the router on it's side or worse...

Edited 1 time(s). Last edit at 12/02/2016 01:38PM by darenschwenke.
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
January 10, 2017 03:27PM
Still taking a break, but I've been busy printing stuff with the M2 pretty much every day.
Latest was a shadow box Circus sign, and the simple shapes gave me the opportunity to try turning up the speed.
This was printing at 180mm/sec using a 0.6mm nozzle.



Video version

Some artifacts appeared as the generated gcode contained some extra 'move' segments inline which caused the mixer to stop unnecessarily, but not bad at all.
Consistent color (this is 40% magenta, 30% black, 30% white) at any feedrate.
Going from 3.5 hours per print to 45min each was well worth it for the 6 prints I needed for this project.
fma
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
February 28, 2017 02:04PM
Very promising!

Do you plan to sell the hotend alone, or only with the complete Delta printer?


Frédéric
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
March 01, 2017 02:19AM
We have explored offering everything 'special' about this as a kit, but it is doubtful you'll be able to purchase it as a completed unit in the next two years.
You can duplicate everything but the printhead with commodity hardware, although it would probably cost you more that way.
Liability will be difficult/impossible to manage when you let the user do whatever they want in the software realm, but we believe that being open source will advance the state of the software much faster.

Speaking of which, we finally figured out a silly bug which was preventing the 6th extruder from working properly, and then modified the extruder design a bit to allow feeding TPU (ninjaflex).
This involved changing the bowden tube from 1.8mm to 2.0mm ID and extending it through the fitting right up to the extruder drive gears. Feeds well, but has a lower max extrusion rate. I don't know if this is 'normal' or not.

We then tried mixing TPU with PLA with 'interesting' results. The extrusion expanded to about 3x the normal diameter right as it left the nozzle.
We never tried to get that to print though as even 15% PLA resulted in an almost complete loss of flexibility. We haven't gotten around to trying ABS + TPU yet. I hope that works better.

Also tried mixing ABS and nylon 50/50 with some great results! Layer adhesion was better than with straight nylon and the resulting parts were much stiffer.
I printed a couple ring gears for planetary transmissions this way. I do not know how these parts will stand up, or if the abrasion resistance of the nylon has been compromised by mixing it.
The transmissions are going into another project though and will be well loaded, so I guess I'll find out.
I took some pictures/videos. I'll upload them here when I get the chance.

The mixer required almost 40% more power than normal to maintain proper speed when mixing ABS/nylon. This uncovered the real need for a non-linear relationship between extrusion rate and the power applied to the mixer. Printing slower/faster with the increased load required tweaking the mixer power each time. Added to the list..

We then attempted to make gradient material parts with ABS as the interior, and nylon as the surface. That didn't work so well.
Straight nylon would not bond properly to the ABS/nylon mixed substrate. Perhaps I just need to tweak the speed of the transition, but adding the code controlling the mixture is still a pretty manual process so this was not tried yet.
If I can get that sorted, now those will be some useful parts...

Going on ~5 months now running the printer daily, and it's still using the same impeller shaft seal with no leaks. Think we got a winner.
fma
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
March 01, 2017 02:33AM
Thanks for your answer!


Frédéric
Re: Arcus3D M2 - Six material, active mixing linear delta 3d printer.
March 09, 2017 07:32AM
Wow!
Im am very imressed sir!
Solid R&D! You need to go comersial with this!

Just my 2cent..
Sorry, only registered users may post in this forum.

Click here to login