Welcome! Log In Create A New Profile

Advanced

ZProbe and multiple nozzles

Posted by andin 
ZProbe and multiple nozzles
March 08, 2014 07:27PM
Hi everyone,

In light of the increasing popularity of multple-nozzle designs, the following may be a relavant issue. With additional nozzles, the calibration complexitiy increases. Besides making sure that the bed is level, we also need to make sure that all nozzle-tips are aligned in a single plane, parallel to the bed. This additional requirement slightly puts down the value of the firmware-based bed-level correction which is done by probing the bed in 3 points. This means that after the bed has been z-probed, we still need to align all nozzles manually; making sure that all nozzle tips can "touch" the print-bed at any point. I have an impression that aligning nozzles is usually more cumbersome than leveling the print-bed. Am I missing something in my thinking, and has anyone already thought about some elegant way of solving this problem?

Cheers,
Andi
Re: ZProbe and multiple nozzles
March 10, 2014 10:13AM
An elegant way? Independant Z movement for each nozzle. That would also avoid the issue of dragging extra nozzles through the print.
Re: ZProbe and multiple nozzles
March 10, 2014 10:20AM
Move each extruder separately - sounds original, and would solve the problem.
The questions remains in how to guide separate extruders (e.g. guiding the belts). One could however stack them all on a single Y-axis, i.e. using two linear shafts for all extruders. The x-axis and all motors would have be separate for each extruder. Without some thinking and innovation, this would be an expensive system...
Re: ZProbe and multiple nozzles
March 10, 2014 08:46PM
You might spend 50 or 100 bucks per extruder head but a lot of machines use multiple steppers and ballscrews on the Z axis anyway. If you are after a professional quality machine it's not a big investment.
Re: ZProbe and multiple nozzles
March 11, 2014 10:45AM
I only have a single extruder but I made it an adjustable with a small THK linear rail and bearing behind the extruder in between the x-axis slide and the extruder with a fine thread bolt and nut for adjustment and that's how I set my Z height. So you could possibly have one in your extruders or possibly both adjustable in this manner. The weight of the extruder is the only thing that keeps mine down to the stop bolt but my extruder is very heavy I don't know if that would work with a very small extruder or definitely not just the hot end you would have to have it spring-loaded pushing it down against the stop. He is a picture I don't know if you can see the bolt and nut on the top in front of the 2 x 4 box beside the terminal strip

Edited 2 time(s). Last edit at 03/11/2014 10:49AM by cnc dick.
Re: ZProbe and multiple nozzles
March 11, 2014 05:32PM
@svdharma: I am not afraid of spending an extra buck for a good quality upgrade. It just feels as if there is definitely potential for a more elegant solution without separating each extruder from each other. The solution with multiple extruders which are controlled in X/Y independently leads to less build volume (or bigger machine) and increased complexity (more error prone).

@cnc dick: it's a nice setup you've got. It seems very robust, maybe a bit too robust for a 3D-printing application IMHO smiling smiley It's an interesting idea of adjusting the distance to print-bed for each extruder separately. I wonder if it's possible to do this automatically...
Re: ZProbe and multiple nozzles
March 12, 2014 10:28AM
Quote
andin
It's an interesting idea of adjusting the distance to print-bed for each extruder separately. I wonder if it's possible to do this automatically...

This is what I have been trying to get at the whole time.

Distance from bed = Z axis

The hard part, as you pointed out, is modifying your CAM software to take advantage of it.


@Dick,
I really like how rigid your printer is, you clearly come from a machining background. I can't tell you how much it bothers me seeing all these machines with critical frame components made out of plastic.

Edited 2 time(s). Last edit at 03/12/2014 10:41AM by Svdharma.
Re: ZProbe and multiple nozzles
March 12, 2014 02:11PM
@Dick,
I really like how rigid your printer is, you clearly come from a machining background. I can't tell you how much it bothers me seeing all these machines with critical frame components made out of plastic.


Thank you I needed something way more reliable than the standard reprap for prints that would take four or more days long 24 hours a day. I used to be a prototype technician for a large Pro audio company so it was my job to make prototype waveguides and horns. Skilled enough to do it the old-fashioned way but obviously that's a lot of work the Corporation owned a professional FDM but since they had many different companies there was always a waiting time. So I decided to build my own tool to help the Corporation out speed wise. Would be not good if after four days into a print it failed so I needed something super reliable. First thing was to develop a super reliable hot end and extruder which it turned out to be quite heavy so machine had to be robust

Edited 3 time(s). Last edit at 03/12/2014 02:15PM by cnc dick.
Re: ZProbe and multiple nozzles
March 12, 2014 02:46PM
Note: this is all assuming you want fully independent Z axes for each extruder. If you just want each extruder to be automatically adjusted over a short Z distance, with all of them tied to a single overall Z axis, then the problem is a bit simpler. Even a servo could be used to adjust each extruder's height, assuming the servo has a high repeatability and holding ability. The probe on each extruder would give the feedback necessary to give the servo the positioning accuracy needed.

Quote
Svdharma
The hard part, as you pointed out, is modifying your CAM software to take advantage of it.
This really should be quite simple, especially if you would only want to use one extruder at a time. Some simple firmware modifications and some tool-change gcode should be all that is necessary. I see three relatively easy options:

  1. If you want each extruder's Z position to be independently and fully controllable by gcode, but only need to move or control one extruder at a given time, then the tool-change gcode would just need to move the previously used extruder to its maximum Z (or whatever position you choose) to get it out of the way, switch tools with a tool change (Tnn) command, move the current extruder to the current Z print height, and then continue. The firmware would internally swap the Z and E axis movement commands to the new Z and E axes when the tool change command is given, so your gcode wouldn't need to accommodate extra axes.
  2. If you want each extruder's Z position to be independently controllable by gcode, but want to be able to move and control more than one extruder at a given time, then the tool-change gcode would just need to move the previously used extruder to its maximum Z (or whatever) to get it out of the way, switch Z and E axis control by using the new Z and E axis names (A, B, F, G, whatever), move the current extruder to the current Z print height, and then continue. The firmware and gcode generator would both need to be able to handle extra Z and E axes, since each Z and E axis would be independently and simultaneously controllable.
  3. If you don't care about being able to explicitly control each Z axis or extruder with gcode, then all of that can be done in firmware. A tool change command would have the firmware automatically move the previous extruder to its maximum Z position, move the current extruder to the Z height that the previous extruder was just at, then continue the print with all extrusion and Z movement commands being translated to the new extruder and Z axis.

Option 3 would be the easiest overall for the end user, requiring only a tool change command when switching extruders, but has the least machine control and the most complexity in firmware.
Option 2 gives the most control ability over the machine and minimal firmware changes (just adding extra axes definition), but is the most complex for the end user and/or gcode generator as it requires explicit control of all the extra axes (one new Z and one new E for each additional extruder).
Option 1 is a good compromise of control and complexity from the user's side. It allows for complete control of each Z axis and extruder, but does not allow for simultaneous control. Gcode generation would only require additional tool-change commands, and firmware would just need to be able to re-direct commands to the selected extruder and axis.

Z probing for each Z axis would be fairly trivial to add based on the existing bed leveling code. One Z axis would probe the whole bed just as is done now, then each additional Z would probe once, using a known X and Y offset for each extruder and probe.


Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Re: ZProbe and multiple nozzles
March 12, 2014 02:57PM
Awesome! I am learning python right now and also a little bit of C, so I might be able to get into this someday, but I really have not looked at slicer or the firmware yet so I don't know how complicated it is. Suppose you had multiples extruders with independant x and y axis movement, how hard do you think it would be to write algorythms to optimise the toolpaths of two extruder heads without interference between them? You could potentially double your print speed if you could pull that off.
Re: ZProbe and multiple nozzles
March 12, 2014 03:24PM
Quote
Svdharma
Suppose you had multiples extruders with independant x and y axis movement, how hard do you think it would be to write algorythms to optimise the toolpaths of two extruder heads without interference between them? You could potentially double your print speed if you could pull that off.
This gets really complex if you want all extruders to have axis to the full build platform. The problem is both mechanical and software. The X and Y axis mechanicals for each extruder would have to not interfere, which would likely mean a gantry-style machine with stacked X Y axes, and a Z axis attached to the carriage of each X Y axis set. You would essentially need a full 3 axis setup for each extruder. Each extruder setup would split the printing area into four quadrants, and each extruder would have to avoid crossing from one quadrant to another of any of the extruder setups below it. To cross from one quadrant to another of a lower extruder setup, the extruder would have to be raised up to clear the X Y mechanicals for the extruder setups below it, and then lower again to continue printing. I can imagine this would make for exceedingly complex software control, not to mention the mechanical complexity.

Now, if you only want each extruder to access independent portions of the build surface, this gets a bit easier. This would essentially be squishing two (or more) 3D printers together side-by-side. In this case I wouldn't see the advantage over just having separate printers.


Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Re: ZProbe and multiple nozzles
March 12, 2014 04:58PM
I don't want to get too far off topic, but I have a decent mechanical design in mind that avoids some of the interference issues.
Re: ZProbe and multiple nozzles
March 12, 2014 06:57PM
Quote
Svdharma
I don't want to get too far off topic, but I have a decent mechanical design in mind that avoids some of the interference issues.
Maybe start a new topic? It's always interesting to see different design ideas and solutions.


Help improve the RepRap wiki!
Just click "Edit" in the top-right corner of the page and start typing.
Anyone can edit the wiki!
Re: ZProbe and multiple nozzles
March 13, 2014 02:06AM
I just got a student edition of solidworks for free but I don't have a computer to run it yet. Right now all I have is a toughbook running Ubuntu. After I draw it I'll throw it out there and maybe we can get it to work.
Re: ZProbe and multiple nozzles
March 18, 2014 10:14AM
Quote
Svdharma
I just got a student edition of solidworks for free but I don't have a computer to run it yet. Right now all I have is a toughbook running Ubuntu. After I draw it I'll throw it out there and maybe we can get it to work.

Looking forward to seeing your suggestions!
Sorry, only registered users may post in this forum.

Click here to login